itizawa 6 роки тому
батько
коміт
59652c93d8

+ 1 - 1
src/client/js/app.jsx

@@ -45,6 +45,7 @@ import Customize from './components/Admin/Customize/Customize';
 import ImportDataPage from './components/Admin/ImportDataPage';
 import ImportDataPage from './components/Admin/ImportDataPage';
 import ExportArchiveDataPage from './components/Admin/ExportArchiveDataPage';
 import ExportArchiveDataPage from './components/Admin/ExportArchiveDataPage';
 import FullTextSearchManagement from './components/Admin/FullTextSearchManagement';
 import FullTextSearchManagement from './components/Admin/FullTextSearchManagement';
+import PersonalSettings from './components/Me/PersonalSettings';
 
 
 import AppContainer from './services/AppContainer';
 import AppContainer from './services/AppContainer';
 import PageContainer from './services/PageContainer';
 import PageContainer from './services/PageContainer';
@@ -59,7 +60,6 @@ import AdminAppContainer from './services/AdminAppContainer';
 import WebsocketContainer from './services/WebsocketContainer';
 import WebsocketContainer from './services/WebsocketContainer';
 import AdminMarkDownContainer from './services/AdminMarkDownContainer';
 import AdminMarkDownContainer from './services/AdminMarkDownContainer';
 import AdminExternalAccountsContainer from './services/AdminExternalAccountsContainer';
 import AdminExternalAccountsContainer from './services/AdminExternalAccountsContainer';
-import PersonalSettings from './components/Me/PersonalSettings';
 import PersonalContainer from './services/PersonalContainer';
 import PersonalContainer from './services/PersonalContainer';
 
 
 const logger = loggerFactory('growi:app');
 const logger = loggerFactory('growi:app');

+ 4 - 4
src/client/js/components/Me/BasicInfoSettings.jsx

@@ -85,7 +85,7 @@ class BasicInfoSettings extends React.Component {
                 id="radioEmailShow"
                 id="radioEmailShow"
                 name="userForm[isEmailPublished]"
                 name="userForm[isEmailPublished]"
                 checked={personalContainer.state.isEmailPublished}
                 checked={personalContainer.state.isEmailPublished}
-                onClick={() => { personalContainer.changeIsEmailPublished(true) }}
+                onChange={() => { personalContainer.changeIsEmailPublished(true) }}
               />
               />
               <label htmlFor="radioEmailShow">{t('Show')}</label>
               <label htmlFor="radioEmailShow">{t('Show')}</label>
             </div>
             </div>
@@ -95,7 +95,7 @@ class BasicInfoSettings extends React.Component {
                 id="radioEmailHide"
                 id="radioEmailHide"
                 name="userForm[isEmailPublished]"
                 name="userForm[isEmailPublished]"
                 checked={!personalContainer.state.isEmailPublished}
                 checked={!personalContainer.state.isEmailPublished}
-                onClick={() => { personalContainer.changeIsEmailPublished(false) }}
+                onChange={() => { personalContainer.changeIsEmailPublished(false) }}
               />
               />
               <label htmlFor="radioEmailHide">{t('Hide')}</label>
               <label htmlFor="radioEmailHide">{t('Hide')}</label>
             </div>
             </div>
@@ -111,7 +111,7 @@ class BasicInfoSettings extends React.Component {
                 id="radioLangEn"
                 id="radioLangEn"
                 name="userForm[lang]"
                 name="userForm[lang]"
                 checked={personalContainer.state.lang === 'English'}
                 checked={personalContainer.state.lang === 'English'}
-                onClick={() => { personalContainer.changeLang('English') }}
+                onChange={() => { personalContainer.changeLang('English') }}
               />
               />
               <label htmlFor="radioLangEn">{t('English')}</label>
               <label htmlFor="radioLangEn">{t('English')}</label>
             </div>
             </div>
@@ -121,7 +121,7 @@ class BasicInfoSettings extends React.Component {
                 id="radioLangJa"
                 id="radioLangJa"
                 name="userForm[lang]"
                 name="userForm[lang]"
                 checked={personalContainer.state.lang === 'Japanese'}
                 checked={personalContainer.state.lang === 'Japanese'}
-                onClick={() => { personalContainer.changeLang('Japanese') }}
+                onChange={() => { personalContainer.changeLang('Japanese') }}
               />
               />
               <label htmlFor="radioLangJa">{t('Japanese')}</label>
               <label htmlFor="radioLangJa">{t('Japanese')}</label>
             </div>
             </div>

+ 15 - 0
src/client/js/services/PersonalContainer.js

@@ -2,6 +2,8 @@ import { Container } from 'unstated';
 
 
 import loggerFactory from '@alias/logger';
 import loggerFactory from '@alias/logger';
 
 
+import { toastError } from '../util/apiNotification';
+
 // eslint-disable-next-line no-unused-vars
 // eslint-disable-next-line no-unused-vars
 const logger = loggerFactory('growi:services:PersonalContainer');
 const logger = loggerFactory('growi:services:PersonalContainer');
 
 
@@ -33,6 +35,19 @@ export default class PersonalContainer extends Container {
     return 'PersonalContainer';
     return 'PersonalContainer';
   }
   }
 
 
+  /**
+ * retrieve personal data
+ */
+  async retrievePersonalData() {
+    try {
+      // TODO GW-1036 retrieve data
+    }
+    catch (err) {
+      logger.error(err);
+      toastError(new Error('Failed to fetch data'));
+    }
+  }
+
   /**
   /**
    * Change name
    * Change name
    */
    */