Просмотр исходного кода

impl to save with SavePageControls

Yuki Takei 6 лет назад
Родитель
Сommit
e9efb294b1

+ 7 - 2
src/client/js/components/SavePageControls.jsx

@@ -46,11 +46,16 @@ class SavePageControls extends React.Component {
   }
 
   save() {
-    this.props.pageContainer.saveAndReload();
+    const { pageContainer, editorContainer } = this.props;
+    pageContainer.saveAndReload(editorContainer.getCurrentOptionsToSave());
   }
 
   saveAndOverwriteScopesOfDescendants() {
-    this.props.pageContainer.saveAndReload({ overwriteScopesOfDescendants: true });
+    const { pageContainer, editorContainer } = this.props;
+    const optionsToSave = Object.assign(editorContainer.getCurrentOptionsToSave(), {
+      overwriteScopesOfDescendants: true,
+    });
+    pageContainer.saveAndReload(optionsToSave);
   }
 
   render() {

+ 6 - 1
src/client/js/services/PageContainer.js

@@ -183,9 +183,14 @@ export default class PageContainer extends Container {
   }
 
   async saveAndReload(optionsToSave) {
+    if (optionsToSave == null) {
+      const msg = '\'saveAndReload\' requires the \'optionsToSave\' param';
+      throw new Error(msg);
+    }
+
     const { editorMode } = this.appContainer.state;
     if (editorMode == null) {
-      logger.warn('do nothing because \'errorMode\' is null');
+      logger.warn('\'saveAndReload\' requires the \'errorMode\' param');
       return;
     }