Browse Source

Merge pull request #4267 from weseek/imprv/7349-refactor-optionsselector

GW-7349 OptionsSelector.jsxでretrieveEditorSettingsの返り値を使わずcontainerから値を取ってくる
Yuki Takei 4 years ago
parent
commit
76c467b74e
1 changed files with 3 additions and 17 deletions
  1. 3 17
      packages/app/src/components/PageEditor/OptionsSelector.jsx

+ 3 - 17
packages/app/src/components/PageEditor/OptionsSelector.jsx

@@ -34,7 +34,6 @@ class OptionsSelector extends React.Component {
     this.state = {
     this.state = {
       isCddMenuOpened: false,
       isCddMenuOpened: false,
       isMathJaxEnabled,
       isMathJaxEnabled,
-      isTextlintEnabled: false,
     };
     };
 
 
     this.availableThemes = [
     this.availableThemes = [
@@ -59,14 +58,6 @@ class OptionsSelector extends React.Component {
     this.onChangeIndentSize = this.onChangeIndentSize.bind(this);
     this.onChangeIndentSize = this.onChangeIndentSize.bind(this);
   }
   }
 
 
-
-  async componentDidMount() {
-    const { editorContainer } = this.props;
-    const isTextlintEnabled = await editorContainer.retrieveEditorSettings();
-    this.setState({ isTextlintEnabled });
-  }
-
-
   onChangeTheme(newValue) {
   onChangeTheme(newValue) {
     const { editorContainer } = this.props;
     const { editorContainer } = this.props;
 
 
@@ -121,25 +112,21 @@ class OptionsSelector extends React.Component {
 
 
     // save to localStorage
     // save to localStorage
     editorContainer.saveOptsToLocalStorage();
     editorContainer.saveOptsToLocalStorage();
-
-
   }
   }
 
 
   async updateIsTextlintEnabledToDB(newVal) {
   async updateIsTextlintEnabledToDB(newVal) {
     const { appContainer } = this.props;
     const { appContainer } = this.props;
     try {
     try {
-      await appContainer.apiv3Put('/personal-setting/editor-settings', { isTextlintEnabled: newVal });
+      await appContainer.apiv3Put('/personal-setting/editor-settings', { textlintSettings: { isTextlintEnabled: newVal } });
     }
     }
     catch (err) {
     catch (err) {
       toastError(err);
       toastError(err);
     }
     }
-
   }
   }
 
 
   async switchTextlintEnabledHandler() {
   async switchTextlintEnabledHandler() {
     const { editorContainer } = this.props;
     const { editorContainer } = this.props;
-    const newVal = !this.state.isTextlintEnabled;
-    this.setState({ isTextlintEnabled: newVal });
+    const newVal = !editorContainer.state.isTextlintEnabled;
     editorContainer.setState({ isTextlintEnabled: newVal });
     editorContainer.setState({ isTextlintEnabled: newVal });
     this.updateIsTextlintEnabledToDB(newVal);
     this.updateIsTextlintEnabledToDB(newVal);
   }
   }
@@ -321,7 +308,7 @@ class OptionsSelector extends React.Component {
   }
   }
 
 
   renderIsTextlintEnabledMenuItem() {
   renderIsTextlintEnabledMenuItem() {
-    const isActive = this.state.isTextlintEnabled;
+    const isActive = this.props.editorContainer.state.isTextlintEnabled;
 
 
     const iconClasses = ['text-info'];
     const iconClasses = ['text-info'];
     if (isActive) {
     if (isActive) {
@@ -330,7 +317,6 @@ class OptionsSelector extends React.Component {
     const iconClassName = iconClasses.join(' ');
     const iconClassName = iconClasses.join(' ');
 
 
     return (
     return (
-      // eslint-disable-next-line no-console
       <DropdownItem toggle={false} onClick={this.switchTextlintEnabledHandler}>
       <DropdownItem toggle={false} onClick={this.switchTextlintEnabledHandler}>
         <div className="d-flex justify-content-between">
         <div className="d-flex justify-content-between">
           <span className="icon-container"></span>
           <span className="icon-container"></span>