فهرست منبع

switch enabled/disabled GrowiZipImportConfigurationButton

Yuki Takei 6 سال پیش
والد
کامیت
fe36ca0405

+ 5 - 1
src/client/js/components/Admin/ImportData/GrowiZipImportForm.jsx

@@ -12,7 +12,7 @@ import { toastSuccess, toastError } from '../../../util/apiNotification';
 
 
 
 
 import GrowiZipImportItem, { DEFAULT_MODE, MODE_RESTRICTED_COLLECTION } from './GrowiZipImportItem';
 import GrowiZipImportItem, { DEFAULT_MODE, MODE_RESTRICTED_COLLECTION } from './GrowiZipImportItem';
-import GrowiZipImportConfigurationModal from './GrowiZipImportConfigurationModal';
+import GrowiZipImportConfigurationModal, { AVAILABLE_COLLECTION_NAMES as CONFIGMODAL_AVAILABLE_COLLECTION_NAMES } from './GrowiZipImportConfigurationModal';
 import ErrorViewer from './ErrorViewer';
 import ErrorViewer from './ErrorViewer';
 
 
 
 
@@ -362,6 +362,7 @@ class GrowiImportForm extends React.Component {
         {collectionNames.map((collectionName) => {
         {collectionNames.map((collectionName) => {
           const collectionProgress = progressMap[collectionName];
           const collectionProgress = progressMap[collectionName];
           const errors = errorsMap[collectionName];
           const errors = errorsMap[collectionName];
+          const isConfigButtonAvailable = CONFIGMODAL_AVAILABLE_COLLECTION_NAMES.includes(collectionName);
 
 
           return (
           return (
             <div className="col-xs-6 my-1" key={collectionName}>
             <div className="col-xs-6 my-1" key={collectionName}>
@@ -375,6 +376,9 @@ class GrowiImportForm extends React.Component {
                 collectionName={collectionName}
                 collectionName={collectionName}
                 isSelected={selectedCollections.has(collectionName)}
                 isSelected={selectedCollections.has(collectionName)}
                 option={optionsMap[collectionName]}
                 option={optionsMap[collectionName]}
+
+                isConfigButtonAvailable={isConfigButtonAvailable}
+
                 onChange={this.toggleCheckbox}
                 onChange={this.toggleCheckbox}
                 onOptionChange={this.updateOption}
                 onOptionChange={this.updateOption}
                 onConfigButtonClicked={this.openConfigurationModal}
                 onConfigButtonClicked={this.openConfigurationModal}

+ 10 - 1
src/client/js/components/Admin/ImportData/GrowiZipImportItem.jsx

@@ -144,8 +144,15 @@ export default class GrowiZipImportItem extends React.Component {
   }
   }
 
 
   renderConfigButton() {
   renderConfigButton() {
+    const { isConfigButtonAvailable } = this.props;
+
     return (
     return (
-      <button type="button" className="btn btn-default btn-xs ml-2" onClick={this.configButtonClickedHandler}>
+      <button
+        type="button"
+        className="btn btn-default btn-xs ml-2"
+        disabled={!isConfigButtonAvailable}
+        onClick={isConfigButtonAvailable ? this.configButtonClickedHandler : null}
+      >
         <i className="icon-settings"></i>
         <i className="icon-settings"></i>
       </button>
       </button>
     );
     );
@@ -231,6 +238,8 @@ GrowiZipImportItem.propTypes = {
   modifiedCount: PropTypes.number,
   modifiedCount: PropTypes.number,
   errorsCount: PropTypes.number,
   errorsCount: PropTypes.number,
 
 
+  isConfigButtonAvailable: PropTypes.bool,
+
   onChange: PropTypes.func,
   onChange: PropTypes.func,
   onOptionChange: PropTypes.func,
   onOptionChange: PropTypes.func,
   onConfigButtonClicked: PropTypes.func,
   onConfigButtonClicked: PropTypes.func,