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

WIP: GC-529 invoke saveOnHackmd API

* invoke hackmd.saveOnHackmd API
Yuki Takei 7 лет назад
Родитель
Сommit
e82e28b6f6
1 измененных файлов с 25 добавлено и 0 удалено
  1. 25 0
      resource/js/components/PageEditorByHackmd.jsx

+ 25 - 0
resource/js/components/PageEditorByHackmd.jsx

@@ -19,6 +19,7 @@ export default class PageEditorByHackmd extends React.PureComponent {
     this.getHackmdUri = this.getHackmdUri.bind(this);
     this.getHackmdUri = this.getHackmdUri.bind(this);
     this.startToEdit = this.startToEdit.bind(this);
     this.startToEdit = this.startToEdit.bind(this);
     this.resumeToEdit = this.resumeToEdit.bind(this);
     this.resumeToEdit = this.resumeToEdit.bind(this);
+    this.hackmdEditorChangeHandler = this.hackmdEditorChangeHandler.bind(this);
 
 
     this.apiErrorHandler = this.apiErrorHandler.bind(this);
     this.apiErrorHandler = this.apiErrorHandler.bind(this);
   }
   }
@@ -75,6 +76,29 @@ export default class PageEditorByHackmd extends React.PureComponent {
     this.setState({isInitialized: true});
     this.setState({isInitialized: true});
   }
   }
 
 
+  /**
+   * onChange event of HackmdEditor handler
+   */
+  hackmdEditorChangeHandler() {
+    const hackmdUri = this.getHackmdUri();
+
+    if (hackmdUri == null) {
+      // do nothing
+      return;
+    }
+
+    const params = {
+      pageId: this.props.pageId,
+    };
+    this.props.crowi.apiPost('/hackmd.saveOnHackmd', params)
+      .then(res => {
+        // do nothing
+      })
+      .catch(err => {
+        // do nothing
+      });
+  }
+
   apiErrorHandler(error) {
   apiErrorHandler(error) {
     toastr.error(error.message, 'Error occured', {
     toastr.error(error.message, 'Error occured', {
       closeButton: true,
       closeButton: true,
@@ -95,6 +119,7 @@ export default class PageEditorByHackmd extends React.PureComponent {
           markdown={this.props.markdown}
           markdown={this.props.markdown}
           hackmdUri={hackmdUri}
           hackmdUri={hackmdUri}
           pageIdOnHackmd={this.state.pageIdOnHackmd}
           pageIdOnHackmd={this.state.pageIdOnHackmd}
+          onChange={this.hackmdEditorChangeHandler}
         >
         >
         </HackmdEditor>
         </HackmdEditor>
       );
       );