From 156def3138d4eb48c5405380507e76f1296779ee Mon Sep 17 00:00:00 2001 From: Qstick Date: Mon, 5 Jul 2021 13:12:06 -0400 Subject: [PATCH] New: Advanced settings toggle in indexer edit/add modal (cherry picked from commit 94a8ef63044f47b615facbb6e04200bdd3797189) Fixes #8538 --- .../src/Settings/AdvancedSettingsButton.js | 24 +++++++++++++------ .../Indexers/EditIndexerModalContent.js | 9 +++++++ .../EditIndexerModalContentConnector.js | 11 +++++++-- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/frontend/src/Settings/AdvancedSettingsButton.js b/frontend/src/Settings/AdvancedSettingsButton.js index 15dcf2dd6..6ba40f6d7 100644 --- a/frontend/src/Settings/AdvancedSettingsButton.js +++ b/frontend/src/Settings/AdvancedSettingsButton.js @@ -10,7 +10,8 @@ import styles from './AdvancedSettingsButton.css'; function AdvancedSettingsButton(props) { const { advancedSettings, - onAdvancedSettingsPress + onAdvancedSettingsPress, + showLabel } = props; return ( @@ -43,18 +44,27 @@ function AdvancedSettingsButton(props) { /> -
-
- {advancedSettings ? translate('HideAdvanced') : translate('ShowAdvanced')} -
-
+ { + showLabel ? +
+
+ {advancedSettings ? translate('HideAdvanced') : translate('ShowAdvanced')} +
+
: + null + } ); } AdvancedSettingsButton.propTypes = { advancedSettings: PropTypes.bool.isRequired, - onAdvancedSettingsPress: PropTypes.func.isRequired + onAdvancedSettingsPress: PropTypes.func.isRequired, + showLabel: PropTypes.bool.isRequired +}; + +AdvancedSettingsButton.defaultProps = { + showLabel: true }; export default AdvancedSettingsButton; diff --git a/frontend/src/Settings/Indexers/Indexers/EditIndexerModalContent.js b/frontend/src/Settings/Indexers/Indexers/EditIndexerModalContent.js index 6dbe3c579..46f616049 100644 --- a/frontend/src/Settings/Indexers/Indexers/EditIndexerModalContent.js +++ b/frontend/src/Settings/Indexers/Indexers/EditIndexerModalContent.js @@ -13,6 +13,7 @@ import ModalContent from 'Components/Modal/ModalContent'; import ModalFooter from 'Components/Modal/ModalFooter'; import ModalHeader from 'Components/Modal/ModalHeader'; import { inputTypes, kinds } from 'Helpers/Props'; +import AdvancedSettingsButton from 'Settings/AdvancedSettingsButton'; import translate from 'Utilities/String/translate'; import styles from './EditIndexerModalContent.css'; @@ -31,6 +32,7 @@ function EditIndexerModalContent(props) { onSavePress, onTestPress, onDeleteIndexerPress, + onAdvancedSettingsPress, ...otherProps } = props; @@ -200,6 +202,12 @@ function EditIndexerModalContent(props) { } + + { + this.props.toggleAdvancedSettings(); + }; + // // Render @@ -65,6 +70,7 @@ class EditIndexerModalContentConnector extends Component { {...this.props} onSavePress={this.onSavePress} onTestPress={this.onTestPress} + onAdvancedSettingsPress={this.onAdvancedSettingsPress} onInputChange={this.onInputChange} onFieldChange={this.onFieldChange} /> @@ -80,6 +86,7 @@ EditIndexerModalContentConnector.propTypes = { item: PropTypes.object.isRequired, setIndexerValue: PropTypes.func.isRequired, setIndexerFieldValue: PropTypes.func.isRequired, + toggleAdvancedSettings: PropTypes.func.isRequired, saveIndexer: PropTypes.func.isRequired, testIndexer: PropTypes.func.isRequired, onModalClose: PropTypes.func.isRequired