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

modify PageEditorByHackMD behavior when update page

Yuki Takei 7 лет назад
Родитель
Сommit
903ce3d0e7

+ 8 - 4
resource/js/app.js

@@ -193,16 +193,20 @@ const saveWithShortcutSuccessHandler = function(page) {
   // PageEditorByHackmd component
   if (componentInstances.pageEditorByHackmd != null) {
     // clear state of PageEditorByHackmd
-    componentInstances.pageEditorByHackmd.clearStatus(pageRevisionId, pageRevisionIdHackmdSynced);
+    componentInstances.pageEditorByHackmd.clearRevisionStatus(pageRevisionId, pageRevisionIdHackmdSynced);
 
-    const updateEditorValue = (editorMode !== 'hackmd');
-    componentInstances.pageEditorByHackmd.setMarkdown(page.revision.body, updateEditorValue);
+    //// ensure not to update HackMD content being edited and reset -- 2018.08.06 Yuki Takei
+    // const updateEditorValue = (editorMode !== 'hackmd');
+    // componentInstances.pageEditorByHackmd.setMarkdown(page.revision.body, updateEditorValue);
+    if (editorMode !== 'hackmd') {
+      componentInstances.pageEditorByHackmd.reset();
+    }
   }
   // PageStatusAlert component
   const pageStatusAlert = componentInstances.pageStatusAlert;
   // clear state of PageStatusAlert
   if (componentInstances.pageStatusAlert != null) {
-    pageStatusAlert.clearStatus(pageRevisionId, pageRevisionIdHackmdSynced);
+    pageStatusAlert.clearRevisionStatus(pageRevisionId, pageRevisionIdHackmdSynced);
   }
 };
 

+ 9 - 3
resource/js/components/PageEditorByHackmd.jsx

@@ -59,14 +59,20 @@ export default class PageEditorByHackmd extends React.PureComponent {
   }
 
   /**
-   * clear status (invoked when page is updated by myself)
+   * reset initialized status
    */
-  clearStatus(updatedRevisionId, updatedRevisionIdHackmdSynced) {
+  reset() {
+    this.setState({ isInitialized: false });
+  }
+
+  /**
+   * clear revision status (invoked when page is updated by myself)
+   */
+  clearRevisionStatus(updatedRevisionId, updatedRevisionIdHackmdSynced) {
     this.setState({
       initialRevisionId: updatedRevisionId,
       revisionId: updatedRevisionId,
       revisionIdHackmdSynced: updatedRevisionIdHackmdSynced,
-      hasDraftOnHackmd: false,
       isDraftUpdatingInRealtime: false,
     });
   }

+ 1 - 1
resource/js/components/PageStatusAlert.jsx

@@ -33,7 +33,7 @@ class PageStatusAlert extends React.Component {
   /**
    * clear status (invoked when page is updated by myself)
    */
-  clearStatus(updatedRevisionId, updatedRevisionIdHackmdSynced) {
+  clearRevisionStatus(updatedRevisionId, updatedRevisionIdHackmdSynced) {
     this.setState({
       initialRevisionId: updatedRevisionId,
       revisionId: updatedRevisionId,