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

update markdown on page editor by pagecontainer resolveconflict

yuto-oweseek 4 лет назад
Родитель
Сommit
0a0a4f005f

+ 5 - 0
packages/app/src/client/services/PageContainer.js

@@ -658,6 +658,7 @@ export default class PageContainer extends Container {
 
     const { pageId, remoteRevisionId, path } = this.state;
     const editorContainer = this.appContainer.getContainer('EditorContainer');
+    const pageEditor = this.appContainer.getComponentInstance('PageEditor');
     const options = editorContainer.getCurrentOptionsToSave();
     const optionsToSave = Object.assign({}, options);
 
@@ -666,6 +667,10 @@ export default class PageContainer extends Container {
     editorContainer.clearDraft(path);
     this.updateStateAfterSave(res.page, res.tags, res.revision, editorMode);
 
+    if (pageEditor != null) {
+      pageEditor.updateEditorValue(markdown);
+    }
+
     editorContainer.setState({ tags: res.tags });
 
     return res;

+ 4 - 1
packages/app/src/components/PageEditor/ConflictDiffModal.tsx

@@ -14,6 +14,8 @@ import PageContainer from '../../client/services/PageContainer';
 import AppContainer from '../../client/services/AppContainer';
 import ExpandOrContractButton from '../ExpandOrContractButton';
 
+import { useEditorMode } from '~/stores/ui';
+
 import { IRevisionOnConflict } from '../../interfaces/revision';
 import { UncontrolledCodeMirror } from '../UncontrolledCodeMirror';
 
@@ -43,6 +45,8 @@ export const ConflictDiffModal: FC<ConflictDiffModalProps> = (props) => {
   const [isModalExpanded, setIsModalExpanded] = useState<boolean>(false);
   const [codeMirrorRef, setCodeMirrorRef] = useState<HTMLDivElement | null>(null);
 
+  const { data: editorMode } = useEditorMode();
+
   const uncontrolledRef = useRef<CodeMirror>(null);
 
   const { pageContainer, appContainer } = props;
@@ -98,7 +102,6 @@ export const ConflictDiffModal: FC<ConflictDiffModalProps> = (props) => {
     const codeMirrorVal = uncontrolledRef.current?.editor.doc.getValue();
 
     try {
-      const editorMode = 'editorOnResolveConflictModal';
       await pageContainer.resolveConflict(codeMirrorVal, editorMode);
       onClose();
       pageContainer.showSuccessToastr();