diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2017-10-01 10:59:47 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2017-10-01 11:09:29 +0900 |
commit | 61806a4e7ff01e8b5fdfdcef0308a2c41fc98778 (patch) | |
tree | 0aa0588c7380d88cfa7d394856cd07a153e61dcf /src/pages | |
parent | 709fa95aa383b75e88fb12512f772ea55d757b06 (diff) |
setting as redux
Diffstat (limited to 'src/pages')
-rw-r--r-- | src/pages/settings.js | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/src/pages/settings.js b/src/pages/settings.js index 6e00ed3..9bad967 100644 --- a/src/pages/settings.js +++ b/src/pages/settings.js @@ -1,22 +1,15 @@ import './settings.scss'; -import messages from '../content/messages'; +import SettingComponent from '../components/setting'; +import settingReducer from '../reducers/setting'; +import * as store from '../store'; -document.addEventListener('DOMContentLoaded', () => { - let form = document.getElementById('vimvixen-settings-form'); - form.addEventListener('submit', (e) => { - e.preventDefault(); - browser.storage.local.set({ - settings: { - json: e.target.elements['plain-json'].value - } - }).then(() => { - return browser.runtime.sendMessage({ - type: messages.SETTINGS_RELOAD - }); - }); - }); +const settingStore = store.createStore(settingReducer); +let settingComponent = null; + +settingStore.subscribe(() => { + settingComponent.update(); +}); - browser.storage.local.get('settings').then((value) => { - form.elements['plain-json'].value = value.settings.json; - }, console.error); +document.addEventListener('DOMContentLoaded', () => { + settingComponent = new SettingComponent(document.body, settingStore); }); |