aboutsummaryrefslogtreecommitdiff
path: root/src/settings/actions
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2017-11-25 18:03:15 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2017-11-26 11:45:05 +0900
commitf27d21908a2b402e3274288d4411a48160f38e4c (patch)
tree9aaebc9c1c0869009daa5eff43773cfb2bc52579 /src/settings/actions
parent507000619377f82ca63251c8c5db98af690a5ed2 (diff)
load settiongs from form
Diffstat (limited to 'src/settings/actions')
-rw-r--r--src/settings/actions/setting.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/settings/actions/setting.js b/src/settings/actions/setting.js
index fa158a3..1d4ef34 100644
--- a/src/settings/actions/setting.js
+++ b/src/settings/actions/setting.js
@@ -1,6 +1,7 @@
import actions from 'settings/actions';
import messages from 'shared/messages';
-import DefaultSettings from 'shared/default-settings';
+import DefaultSettings from 'shared/settings/default';
+import * as settingsValues from 'shared/settings/values';
const load = () => {
return browser.storage.local.get('settings').then(({ settings }) => {
@@ -24,12 +25,19 @@ const save = (settings) => {
};
const set = (settings) => {
+ let value = JSON.parse(DefaultSettings.json);
+ if (settings.source === 'json') {
+ value = settingsValues.fromJson(settings.json);
+ } else if (settings.source === 'form') {
+ value = settingsValues.fromForm(settings.form);
+ }
+
return {
type: actions.SETTING_SET_SETTINGS,
source: settings.source,
json: settings.json,
form: settings.form,
- value: JSON.parse(settings.json),
+ value,
};
};