aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2017-10-09 15:30:05 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2017-10-09 15:30:05 +0900
commitc913dcdec775094daa9a64fa40034b3122320660 (patch)
tree978f2ad2581bc069e9369b28fe743b91c09f18a3 /src
parent355c0c64575adad4886647a1df3da173598b558b (diff)
parse json in settings
Diffstat (limited to 'src')
-rw-r--r--src/background/actions/settings.js0
-rw-r--r--src/background/components/background.js12
-rw-r--r--src/content/index.js3
-rw-r--r--src/settings/actions/setting.js12
-rw-r--r--src/settings/components/setting.js3
-rw-r--r--src/settings/reducers/setting.js10
6 files changed, 18 insertions, 22 deletions
diff --git a/src/background/actions/settings.js b/src/background/actions/settings.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/background/actions/settings.js
diff --git a/src/background/components/background.js b/src/background/components/background.js
index 0570a5a..06b6900 100644
--- a/src/background/components/background.js
+++ b/src/background/components/background.js
@@ -22,15 +22,7 @@ export default class BackgroundComponent {
}
update() {
- let state = this.store.getState();
- this.updateSettings(state);
- }
-
- updateSettings(setting) {
- if (!setting.settings.json) {
- return;
- }
- this.settings = JSON.parse(setting.settings.json);
+ this.settings = this.store.getState();
}
onMessage(message, sender) {
@@ -58,7 +50,7 @@ export default class BackgroundComponent {
});
});
case messages.SETTINGS_QUERY:
- return Promise.resolve(this.store.getState().settings);
+ return Promise.resolve(this.store.getState().value);
case messages.CONSOLE_QUERY_COMPLETIONS:
return commands.complete(message.text, this.settings);
case messages.SETTINGS_RELOAD:
diff --git a/src/content/index.js b/src/content/index.js
index 1ed8463..64d86bb 100644
--- a/src/content/index.js
+++ b/src/content/index.js
@@ -34,8 +34,7 @@ const reloadSettings = () => {
return browser.runtime.sendMessage({
type: messages.SETTINGS_QUERY,
}).then((settings) => {
- let keymaps = JSON.parse(settings.json).keymaps;
- store.dispatch(inputActions.setKeymaps(keymaps));
+ store.dispatch(inputActions.setKeymaps(settings.keymaps));
});
};
diff --git a/src/settings/actions/setting.js b/src/settings/actions/setting.js
index 697bcf0..3525f0a 100644
--- a/src/settings/actions/setting.js
+++ b/src/settings/actions/setting.js
@@ -4,8 +4,9 @@ import DefaultSettings from 'shared/default-settings';
const load = () => {
return browser.storage.local.get('settings').then((value) => {
- if (value.settings) {
- return set(value.settings);
+ let settings = value.settings;
+ if (settings) {
+ return set(settings);
}
return set(DefaultSettings);
}, console.error);
@@ -13,7 +14,7 @@ const load = () => {
const save = (settings) => {
return browser.storage.local.set({
- settings
+ settings,
}).then(() => {
return browser.runtime.sendMessage({
type: messages.SETTINGS_RELOAD
@@ -24,8 +25,9 @@ const save = (settings) => {
const set = (settings) => {
return {
type: actions.SETTING_SET_SETTINGS,
- settings,
+ json: settings.json,
+ value: JSON.parse(settings.json),
};
};
-export { load, save, set };
+export { load, save };
diff --git a/src/settings/components/setting.js b/src/settings/components/setting.js
index 14482a3..cf1538f 100644
--- a/src/settings/components/setting.js
+++ b/src/settings/components/setting.js
@@ -35,11 +35,12 @@ export default class SettingComponent {
}
update() {
- let { settings } = this.store.getState();
+ let settings = this.store.getState();
let doc = this.wrapper.ownerDocument;
let form = doc.getElementById('vimvixen-settings-form');
let plainJsonInput = form.elements['plain-json'];
plainJsonInput.value = settings.json;
+
}
}
diff --git a/src/settings/reducers/setting.js b/src/settings/reducers/setting.js
index f7d9242..7f32f72 100644
--- a/src/settings/reducers/setting.js
+++ b/src/settings/reducers/setting.js
@@ -1,15 +1,17 @@
import actions from 'settings/actions';
const defaultState = {
- settings: {}
+ json: '',
+ value: {}
};
export default function reducer(state = defaultState, action = {}) {
switch (action.type) {
case actions.SETTING_SET_SETTINGS:
- return Object.assign({}, state, {
- settings: action.settings,
- });
+ return {
+ json: action.json,
+ value: action.value,
+ };
default:
return state;
}