summaryrefslogtreecommitdiffstats
path: root/webapp/components/admin_console/admin_settings.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/admin_console/admin_settings.jsx')
-rw-r--r--webapp/components/admin_console/admin_settings.jsx13
1 files changed, 9 insertions, 4 deletions
diff --git a/webapp/components/admin_console/admin_settings.jsx b/webapp/components/admin_console/admin_settings.jsx
index 2ab2c6332..e11d843a7 100644
--- a/webapp/components/admin_console/admin_settings.jsx
+++ b/webapp/components/admin_console/admin_settings.jsx
@@ -24,11 +24,11 @@ export default class AdminSettings extends React.Component {
this.handleSubmit = this.handleSubmit.bind(this);
this.onKeyDown = this.onKeyDown.bind(this);
- this.state = {
+ this.state = Object.assign(this.getStateFromConfig(props.config), {
saveNeeded: false,
saving: false,
serverError: null
- };
+ });
}
handleChange(id, value) {
@@ -60,12 +60,17 @@ export default class AdminSettings extends React.Component {
serverError: null
});
- const config = this.getConfigFromState(this.props.config);
+ // clone config so that we aren't modifying data in the stores
+ let config = JSON.parse(JSON.stringify(this.props.config));
+ config = this.getConfigFromState(config);
Client.saveConfig(
config,
() => {
- AsyncClient.getConfig();
+ AsyncClient.getConfig((savedConfig) => {
+ this.setState(this.getStateFromConfig(savedConfig));
+ });
+
this.setState({
saveNeeded: false,
saving: false