confirm before setting migration

jh-changes
Shin'ya Ueoka 7 years ago
parent 26777d9e30
commit c23333110d
  1. 1
      .eslintrc
  2. 9
      src/settings/components/index.jsx

@ -36,6 +36,7 @@
"newline-after-var": "off", "newline-after-var": "off",
"newline-before-return": "off", "newline-before-return": "off",
"newline-per-chained-call": "off", "newline-per-chained-call": "off",
"no-alert": "off",
"no-bitwise": "off", "no-bitwise": "off",
"no-console": ["error", { "allow": ["warn", "error"] }], "no-console": ["error", { "allow": ["warn", "error"] }],
"no-empty-function": "off", "no-empty-function": "off",

@ -8,6 +8,10 @@ import * as settingActions from 'settings/actions/setting';
import * as validator from 'shared/validators/setting'; import * as validator from 'shared/validators/setting';
import * as settingsValues from 'shared/settings/values'; import * as settingsValues from 'shared/settings/values';
const DO_YOU_WANT_TO_CONTINUE =
'Some settings in JSON can be lose on migrating. ' +
'Do you want to continue ?';
class SettingsComponent extends Component { class SettingsComponent extends Component {
constructor(props, context) { constructor(props, context) {
super(props, context); super(props, context);
@ -154,6 +158,11 @@ class SettingsComponent extends Component {
next.settings.json = next.settings.json =
settingsValues.jsonFromForm(this.state.settings.form); settingsValues.jsonFromForm(this.state.settings.form);
} else if (from === 'json' && to === 'form') { } else if (from === 'json' && to === 'form') {
let b = window.confirm(DO_YOU_WANT_TO_CONTINUE);
if (!b) {
this.setState(this.state);
return;
}
next.settings.form = next.settings.form =
settingsValues.formFromJson(this.state.settings.json); settingsValues.formFromJson(this.state.settings.json);
} }