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

Merge pull request #1608 from weseek/imprv/1594-show-toastr-when-empty

show toastr when error is occured
Yuki Takei 6 лет назад
Родитель
Сommit
68c8329dc4
2 измененных файлов с 14 добавлено и 3 удалено
  1. 1 0
      CHANGES.md
  2. 13 3
      src/client/js/components/SavePageControls.jsx

+ 1 - 0
CHANGES.md

@@ -2,6 +2,7 @@
 
 ## 3.6.7-RC
 
+* Imprv: Show error toastr when saving page is failed because of empty document
 * Fix: Admin Customise missed preview functions
     * Introduced by 3.6.2
 * Fix: AWS doesn't work

+ 13 - 3
src/client/js/components/SavePageControls.jsx

@@ -7,6 +7,8 @@ import ButtonToolbar from 'react-bootstrap/es/ButtonToolbar';
 import SplitButton from 'react-bootstrap/es/SplitButton';
 import MenuItem from 'react-bootstrap/es/MenuItem';
 
+import loggerFactory from '@alias/logger';
+
 import PageContainer from '../services/PageContainer';
 import AppContainer from '../services/AppContainer';
 import EditorContainer from '../services/EditorContainer';
@@ -15,6 +17,7 @@ import { createSubscribedElement } from './UnstatedUtils';
 import SlackNotification from './SlackNotification';
 import GrantSelector from './SavePageControls/GrantSelector';
 
+const logger = loggerFactory('growi:SavePageControls');
 
 class SavePageControls extends React.Component {
 
@@ -45,12 +48,19 @@ class SavePageControls extends React.Component {
     this.props.editorContainer.setState(data);
   }
 
-  save() {
+  async save() {
     const { pageContainer, editorContainer } = this.props;
     // disable unsaved warning
     editorContainer.disableUnsavedWarning();
-    // save
-    pageContainer.saveAndReload(editorContainer.getCurrentOptionsToSave());
+
+    try {
+      // save
+      await pageContainer.saveAndReload(editorContainer.getCurrentOptionsToSave());
+    }
+    catch (error) {
+      logger.error('failed to save', error);
+      pageContainer.showErrorToastr(error);
+    }
   }
 
   saveAndOverwriteScopesOfDescendants() {