diff options
Diffstat (limited to 'src/reducers')
-rw-r--r-- | src/reducers/console.js | 94 | ||||
-rw-r--r-- | src/reducers/index.js | 3 |
2 files changed, 0 insertions, 97 deletions
diff --git a/src/reducers/console.js b/src/reducers/console.js deleted file mode 100644 index b9ed5b8..0000000 --- a/src/reducers/console.js +++ /dev/null @@ -1,94 +0,0 @@ -import actions from 'actions'; - -const defaultState = { - errorShown: false, - errorText: '', - commandShown: false, - commandText: '', - completions: [], - groupSelection: -1, - itemSelection: -1, -}; - -const nextSelection = (state) => { - if (state.groupSelection < 0) { - return [0, 0]; - } - - let group = state.completions[state.groupSelection]; - if (state.groupSelection + 1 >= state.completions.length && - state.itemSelection + 1 >= group.items.length) { - return [-1, -1]; - } - if (state.itemSelection + 1 >= group.items.length) { - return [state.groupSelection + 1, 0]; - } - return [state.groupSelection, state.itemSelection + 1]; -}; - -const prevSelection = (state) => { - if (state.groupSelection < 0) { - return [ - state.completions.length - 1, - state.completions[state.completions.length - 1].items.length - 1 - ]; - } - if (state.groupSelection === 0 && state.itemSelection === 0) { - return [-1, -1]; - } else if (state.itemSelection === 0) { - return [ - state.groupSelection - 1, - state.completions[state.groupSelection - 1].items.length - 1 - ]; - } - return [state.groupSelection, state.itemSelection - 1]; -}; - -export default function reducer(state = defaultState, action = {}) { - switch (action.type) { - case actions.CONSOLE_SHOW_COMMAND: - return Object.assign({}, state, { - commandShown: true, - commandText: action.text, - errorShown: false, - completions: [] - }); - case actions.CONSOLE_SHOW_ERROR: - return Object.assign({}, state, { - errorText: action.text, - errorShown: true, - commandShown: false, - }); - case actions.CONSOLE_HIDE: - if (state.errorShown) { - // keep error message if shown - return state; - } - return Object.assign({}, state, { - errorShown: false, - commandShown: false - }); - case actions.CONSOLE_SET_COMPLETIONS: - return Object.assign({}, state, { - completions: action.completions, - groupSelection: -1, - itemSelection: -1, - }); - case actions.CONSOLE_COMPLETION_NEXT: { - let next = nextSelection(state); - return Object.assign({}, state, { - groupSelection: next[0], - itemSelection: next[1], - }); - } - case actions.CONSOLE_COMPLETION_PREV: { - let next = prevSelection(state); - return Object.assign({}, state, { - groupSelection: next[0], - itemSelection: next[1], - }); - } - default: - return state; - } -} diff --git a/src/reducers/index.js b/src/reducers/index.js index 8ed6452..3ebe491 100644 --- a/src/reducers/index.js +++ b/src/reducers/index.js @@ -1,11 +1,9 @@ import inputReducer from 'reducers/input'; -import consoleReducer from 'reducers/console'; import settingReducer from 'reducers/setting'; import followReducer from 'reducers/follow'; const defaultState = { input: inputReducer(undefined, {}), - console: consoleReducer(undefined, {}), setting: settingReducer(undefined, {}), follow: followReducer(undefined, {}), }; @@ -13,7 +11,6 @@ const defaultState = { export default function reducer(state = defaultState, action = {}) { return Object.assign({}, state, { input: inputReducer(state.input, action), - console: consoleReducer(state.console, action), setting: settingReducer(state.setting, action), follow: followReducer(state.follow, action), }); |