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

ExportPagerename funcs and call api in

mizozobu 6 лет назад
Родитель
Сommit
dbf499f8e8

+ 9 - 7
src/client/js/components/Admin/Export/ExportPage.jsx

@@ -17,18 +17,18 @@ class ExportPage extends React.Component {
       zipFileStats: [],
     };
 
-    this.addZipFileStat = this.addZipFileStat.bind(this);
-    this.removeZipFileStat = this.removeZipFileStat.bind(this);
+    this.onZipFileStatAdd = this.onZipFileStatAdd.bind(this);
+    this.onZipFileStatRemove = this.onZipFileStatRemove.bind(this);
   }
 
   async componentDidMount() {
-    // TODO: use apive.get
+    // TODO: use apiv3.get
     const { zipFileStats } = await this.props.appContainer.apiGet('/v3/export/status', {});
     this.setState({ zipFileStats });
     // TODO toastSuccess, toastError
   }
 
-  addZipFileStat(newStat) {
+  onZipFileStatAdd(newStat) {
     this.setState((prevState) => {
       return {
         zipFileStats: [...prevState.zipFileStats, newStat],
@@ -36,7 +36,9 @@ class ExportPage extends React.Component {
     });
   }
 
-  removeZipFileStat(fileName) {
+  async onZipFileStatRemove(fileName) {
+    await this.props.appContainer.apiRequest('delete', `/v3/export/${fileName}`, {});
+
     this.setState((prevState) => {
       return {
         zipFileStats: prevState.zipFileStats.filter(stat => stat.fileName !== fileName),
@@ -52,11 +54,11 @@ class ExportPage extends React.Component {
         <h2>{t('export_management.export_as_zip')}</h2>
         <ExportZipForm
           zipFileStats={this.state.zipFileStats}
-          addZipFileStat={this.addZipFileStat}
+          onZipFileStatAdd={this.onZipFileStatAdd}
         />
         <ZipFileTable
           zipFileStats={this.state.zipFileStats}
-          removeZipFileStat={this.removeZipFileStat}
+          onZipFileStatRemove={this.onZipFileStatRemove}
         />
       </Fragment>
     );

+ 2 - 16
src/client/js/components/Admin/Export/ExportTableMenu.jsx

@@ -8,20 +8,6 @@ import AppContainer from '../../../services/AppContainer';
 
 class ExportTableMenu extends React.Component {
 
-  constructor(props) {
-    super(props);
-
-    this.deleteZipFile = this.deleteZipFile.bind(this);
-  }
-
-  async deleteZipFile(fileName) {
-    // TODO use appContainer.apiv3.delete
-    await this.props.appContainer.apiRequest('delete', `/v3/export/${fileName}`, {});
-
-    this.props.removeZipFileStat(fileName);
-    // TODO toastSuccess, toastError
-  }
-
   render() {
     const { t } = this.props;
 
@@ -37,7 +23,7 @@ class ExportTableMenu extends React.Component {
               <i className="icon-cloud-download" /> {t('export_management.download')}
             </a>
           </li>
-          <li onClick={() => this.deleteZipFile(this.props.fileName)}>
+          <li onClick={() => this.props.onZipFileStatRemove(this.props.fileName)}>
             <a>
               <span className="text-danger"><i className="icon-trash" /> {t('export_management.delete')}</span>
             </a>
@@ -53,7 +39,7 @@ ExportTableMenu.propTypes = {
   t: PropTypes.func.isRequired, // i18next
   appContainer: PropTypes.instanceOf(AppContainer).isRequired,
   fileName: PropTypes.string.isRequired,
-  removeZipFileStat: PropTypes.func.isRequired,
+  onZipFileStatRemove: PropTypes.func.isRequired,
 };
 
 /**

+ 2 - 2
src/client/js/components/Admin/Export/ExportZipForm.jsx

@@ -55,7 +55,7 @@ class ExportZipForm extends React.Component {
     // TODO use appContainer.apiv3.post
     const { zipFileStat } = await this.props.appContainer.apiPost('/v3/export', { collections: Array.from(this.state.collections) });
     // TODO toastSuccess, toastError
-    this.props.addZipFileStat(zipFileStat);
+    this.props.onZipFileStatAdd(zipFileStat);
   }
 
   validateForm() {
@@ -112,7 +112,7 @@ ExportZipForm.propTypes = {
   t: PropTypes.func.isRequired, // i18next
   appContainer: PropTypes.instanceOf(AppContainer).isRequired,
   zipFileStats: PropTypes.arrayOf(PropTypes.object).isRequired,
-  addZipFileStat: PropTypes.func.isRequired,
+  onZipFileStatAdd: PropTypes.func.isRequired,
 };
 
 /**

+ 2 - 2
src/client/js/components/Admin/Export/ZipFileTable.jsx

@@ -36,7 +36,7 @@ class ZipFileTable extends React.Component {
                 <td>
                   <ExportTableMenu
                     fileName={fileName}
-                    removeZipFileStat={this.props.removeZipFileStat}
+                    onZipFileStatRemove={this.props.onZipFileStatRemove}
                   />
                 </td>
               </tr>
@@ -53,7 +53,7 @@ ZipFileTable.propTypes = {
   t: PropTypes.func.isRequired, // i18next
   appContainer: PropTypes.instanceOf(AppContainer).isRequired,
   zipFileStats: PropTypes.arrayOf(PropTypes.object).isRequired,
-  removeZipFileStat: PropTypes.func.isRequired,
+  onZipFileStatRemove: PropTypes.func.isRequired,
 };
 
 /**