瀏覽代碼

check editor mode

itizawa 5 年之前
父節點
當前提交
11ac76db77
共有 1 個文件被更改,包括 10 次插入2 次删除
  1. 10 2
      src/client/js/components/PageEditor.jsx

+ 10 - 2
src/client/js/components/PageEditor.jsx

@@ -14,6 +14,7 @@ import Editor from './PageEditor/Editor';
 import Preview from './PageEditor/Preview';
 import Preview from './PageEditor/Preview';
 import scrollSyncHelper from './PageEditor/ScrollSyncHelper';
 import scrollSyncHelper from './PageEditor/ScrollSyncHelper';
 import EditorContainer from '../services/EditorContainer';
 import EditorContainer from '../services/EditorContainer';
+import NavigationContainer from '../services/NavigationContainer';
 
 
 const logger = loggerFactory('growi:PageEditor');
 const logger = loggerFactory('growi:PageEditor');
 
 
@@ -101,13 +102,19 @@ class PageEditor extends React.Component {
    * @param {string} value
    * @param {string} value
    */
    */
   onMarkdownChanged(value) {
   onMarkdownChanged(value) {
+    const { editorMode } = this.props.navigationContainer.state;
+
     const { pageContainer, editorContainer } = this.props;
     const { pageContainer, editorContainer } = this.props;
     this.setMarkdownStateWithDebounce(value);
     this.setMarkdownStateWithDebounce(value);
     // only when the first time to edit
     // only when the first time to edit
     if (!pageContainer.state.revisionId) {
     if (!pageContainer.state.revisionId) {
       this.saveDraftWithDebounce();
       this.saveDraftWithDebounce();
     }
     }
-    editorContainer.enableUnsavedWarning();
+
+    // If it's updated in the view mode, it is considered to have already been saved and no alert is displayed.
+    if (editorMode !== 'view') {
+      editorContainer.enableUnsavedWarning();
+    }
   }
   }
 
 
   /**
   /**
@@ -337,12 +344,13 @@ class PageEditor extends React.Component {
 /**
 /**
  * Wrapper component for using unstated
  * Wrapper component for using unstated
  */
  */
-const PageEditorWrapper = withUnstatedContainers(PageEditor, [AppContainer, PageContainer, EditorContainer]);
+const PageEditorWrapper = withUnstatedContainers(PageEditor, [AppContainer, PageContainer, EditorContainer, NavigationContainer]);
 
 
 PageEditor.propTypes = {
 PageEditor.propTypes = {
   appContainer: PropTypes.instanceOf(AppContainer).isRequired,
   appContainer: PropTypes.instanceOf(AppContainer).isRequired,
   pageContainer: PropTypes.instanceOf(PageContainer).isRequired,
   pageContainer: PropTypes.instanceOf(PageContainer).isRequired,
   editorContainer: PropTypes.instanceOf(EditorContainer).isRequired,
   editorContainer: PropTypes.instanceOf(EditorContainer).isRequired,
+  navigationContainer: PropTypes.instanceOf(NavigationContainer).isRequired,
 };
 };
 
 
 export default PageEditorWrapper;
 export default PageEditorWrapper;