Skip to content
Snippets Groups Projects
Commit 2832fcd0 authored by Tom Robinson's avatar Tom Robinson
Browse files

Fixes stuck metabot setting

parent 5686042e
No related branches found
No related tags found
No related merge requests found
......@@ -181,12 +181,12 @@ export default class SettingsEmailForm extends Component {
let settings = elements.map((element, index) => {
// merge together data from a couple places to provide a complete view of the Element state
let errorMessage = (formErrors && formErrors.elements) ? formErrors.elements[element.key] : validationErrors[element.key],
value = formData[element.key] || element.defaultValue;
let errorMessage = (formErrors && formErrors.elements) ? formErrors.elements[element.key] : validationErrors[element.key];
let value = formData[element.key] == null ? element.defaultValue : formData[element.key];
return <SettingsEmailFormElement
key={element.key}
element={_.extend(element, {value, errorMessage })}
element={{ ...element, value, errorMessage }}
handleChangeEvent={this.handleChangeEvent.bind(this)} />
});
......
......@@ -35,7 +35,7 @@ export default class SettingsSlackForm extends Component {
// this gives us an opportunity to load up our formData with any existing values for elements
let formData = {};
this.props.elements.forEach(function(element) {
formData[element.key] = element.value || element.defaultValue;
formData[element.key] = element.value == null ? element.defaultValue : element.value;
});
this.setState({formData});
......@@ -158,21 +158,21 @@ export default class SettingsSlackForm extends Component {
let settings = elements.map((element, index) => {
// merge together data from a couple places to provide a complete view of the Element state
let errorMessage = (formErrors && formErrors.elements) ? formErrors.elements[element.key] : validationErrors[element.key],
value = formData[element.key] || element.defaultValue;
let errorMessage = (formErrors && formErrors.elements) ? formErrors.elements[element.key] : validationErrors[element.key];
let value = formData[element.key] == null ? element.defaultValue : formData[element.key];
if (element.key === "slack-token") {
return (
<SettingsEmailFormElement
key={element.key}
element={_.extend(element, {value, errorMessage, fireOnChange: true })}
element={{ ...element, value, errorMessage, fireOnChange: true }}
handleChangeEvent={this.handleChangeEvent.bind(this)} />
);
} else if (element.key === "metabot-enabled") {
return (
<SettingsSetting
key={element.key}
setting={_.extend(element, {value, errorMessage })}
setting={{ ...element, value, errorMessage }}
updateSetting={(setting, value) => this.handleChangeEvent(setting, value)}
disabled={!this.state.formData["slack-token"]}
/>
......
......@@ -132,7 +132,7 @@ const SECTIONS = [
key: "metabot-enabled",
display_name: "Metabot",
type: "boolean",
defaultValue: "true",
defaultValue: true,
required: true,
autoFocus: false
},
......@@ -183,14 +183,17 @@ export const getSections = createSelector(
let sectionSettings = section.settings.map(function(setting) {
const apiSetting = settingsByKey[setting.key][0];
if (apiSetting) {
apiSetting.placeholder = apiSetting.default;
return _.extend(apiSetting, setting);
return {
placeholder: apiSetting.default,
...apiSetting,
...setting
};
}
});
let updatedSection = _.clone(section);
updatedSection.settings = sectionSettings;
return updatedSection;
return {
...section,
settings: sectionSettings
};
});
}
);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment