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

move part to retrieve markdown on edit

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

+ 3 - 3
packages/app/src/components/PageEditor/ConflictDiffModal.tsx

@@ -27,6 +27,7 @@ type ConflictDiffModalProps = {
   pageContainer: PageContainer;
   editorContainer: EditorContainer;
   appContainer: AppContainer;
+  markdownOnEdit: string;
 };
 
 type IRevisionOnConflictWithStringDate = Omit<IRevisionOnConflict, 'createdAt'> & {
@@ -40,14 +41,12 @@ export const ConflictDiffModal: FC<ConflictDiffModalProps> = (props) => {
 
   const { pageContainer, editorContainer, appContainer } = props;
 
-  const pageEditor = appContainer.getComponentInstance('PageEditor');
-  const markdownOnEdit: string = pageEditor.getMarkdown();
 
   const currentTime: Date = new Date();
 
   const request: IRevisionOnConflictWithStringDate = {
     revisionId: '',
-    revisionBody: markdownOnEdit,
+    revisionBody: props.markdownOnEdit,
     createdAt: format(currentTime, 'yyyy/MM/dd HH:mm:ss'),
     user: appContainer.currentUser,
   };
@@ -240,6 +239,7 @@ ConflictDiffModal.propTypes = {
   pageContainer: PropTypes.instanceOf(PageContainer).isRequired,
   editorContainer:  PropTypes.instanceOf(EditorContainer).isRequired,
   appContainer: PropTypes.instanceOf(AppContainer).isRequired,
+  markdownOnEdit: PropTypes.string.isRequired,
 };
 
 ConflictDiffModal.defaultProps = {

+ 9 - 0
packages/app/src/components/PageEditor/Editor.jsx

@@ -279,6 +279,14 @@ class Editor extends AbstractEditor {
     );
   }
 
+  retrieveMarkdownOnEdit = () => {
+    if (this.props.pageContainer.state.isConflictDiffModalOpen) {
+      const pageEditor = this.props.appContainer.getComponentInstance('PageEditor');
+      return pageEditor.getMarkdown();
+    }
+    return '';
+  }
+
   render() {
     const flexContainer = {
       height: '100%',
@@ -378,6 +386,7 @@ class Editor extends AbstractEditor {
           appContainer={this.props.appContainer}
           pageContainer={this.props.pageContainer}
           editorContainer={this.props.editorContainer}
+          markdownOnEdit={this.retrieveMarkdownOnEdit()}
         />
       </>
     );