From: Pascal Mugnier Date: Thu, 29 Mar 2018 14:38:27 +0000 (+0200) Subject: Fix reset button on settings page X-Git-Tag: 7.5~1410 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e2e069237203558e6db52f946d6b4564f30652fe;p=sonarqube.git Fix reset button on settings page --- diff --git a/server/sonar-web/src/main/js/apps/settings/components/Definition.js b/server/sonar-web/src/main/js/apps/settings/components/Definition.js index b1a1f32503b..ab25a45251b 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/Definition.js +++ b/server/sonar-web/src/main/js/apps/settings/components/Definition.js @@ -82,11 +82,7 @@ class Definition extends React.PureComponent { handleChange = value => { clearTimeout(this.timeout); this.props.changeValue(this.props.setting.definition.key, value); - if (this.props.setting.definition.type === TYPE_PASSWORD) { - this.handleSave(); - } else { - this.handleCheck(); - } + this.handleCheck(); }; handleReset = () => { @@ -145,7 +141,7 @@ class Definition extends React.PureComponent { const effectiveValue = hasValueChanged ? changedValue : getSettingValue(setting); - const isDefault = isDefaultOrInherited(setting) && !hasValueChanged; + const isDefault = isDefaultOrInherited(setting); return (
@@ -197,9 +193,9 @@ class Definition extends React.PureComponent {
@@ -207,6 +203,7 @@ class Definition extends React.PureComponent { void; onReset: () => void; @@ -75,19 +76,22 @@ export default class DefinitionActions extends React.PureComponent } render() { - const { setting, isDefault, changedValue } = this.props; - const hasValueChanged = changedValue != null; - const canBeReset = !isDefault && isEmptyValue(setting.definition, changedValue); - const isExplicitlySet = - !isDefault && !isEmptyValue(setting.definition, getSettingValue(setting)); + const { setting, isDefault, changedValue, hasValueChanged } = this.props; + + const hasValueToResetTo = !isEmptyValue(setting.definition, getSettingValue(setting)); + const hasBeenChangedToEmptyValue = + changedValue != null && isEmptyValue(setting.definition, changedValue); + const showReset = + hasValueToResetTo && (hasBeenChangedToEmptyValue || (!isDefault && !hasValueChanged)); return ( <> - {isDefault && ( -
- {translate('settings._default')} -
- )} + {isDefault && + !hasValueChanged && ( +
+ {translate('settings._default')} +
+ )}
{hasValueChanged && ( )} - {canBeReset && ( + {showReset && ( @@ -110,7 +114,7 @@ export default class DefinitionActions extends React.PureComponent )} - {isExplicitlySet && ( + {showReset && ( {translate('default')} {': '}