add addon actions

This commit is contained in:
Shin'ya Ueoka 2017-10-21 13:26:36 +09:00
parent cd6f7e7788
commit 59f7ef205d
5 changed files with 107 additions and 0 deletions

View file

@ -0,0 +1,15 @@
import actions from 'content/actions';
const enable = () => {
return { type: actions.ADDON_ENABLE };
};
const disable = () => {
return { type: actions.ADDON_DISABLE };
};
const toggleEnabled = () => {
return { type: actions.ADDON_TOGGLE_ENABLED };
};
export { enable, disable, toggleEnabled };

View file

@ -1,5 +1,9 @@
export default {
// User input
ADDON_ENABLE: 'addon.enable',
ADDON_DISABLE: 'addon.disable',
ADDON_TOGGLE_ENABLED: 'addon.toggle.enabled',
INPUT_KEY_PRESS: 'input.key,press',
INPUT_CLEAR_KEYS: 'input.clear.keys',
INPUT_SET_KEYMAPS: 'input.set.keymaps',

View file

@ -0,0 +1,24 @@
import actions from 'content/actions';
const defaultState = {
enabled: true,
};
export default function reducer(state = defaultState, action = {}) {
switch (action.type) {
case actions.ADDON_ENABLE:
return Object.assign({}, state, {
enabled: true,
});
case actions.ADDON_DISABLE:
return Object.assign({}, state, {
enabled: false,
});
case actions.ADDON_TOGGLE_ENABLED:
return Object.assign({}, state, {
enabled: !state.enabled,
});
default:
return state;
}
}