console state as action/reducer in redux

This commit is contained in:
Shin'ya Ueoka 2017-09-09 22:07:27 +09:00
parent 8593b3f5cd
commit e8056d2a70
6 changed files with 129 additions and 84 deletions

39
src/reducers/console.js Normal file
View file

@ -0,0 +1,39 @@
import actions from '../actions';
export const defaultState = {
errorText: '',
errorShown: false,
commandText: '',
commandShown: false,
completions: [],
};
export default function reducer(state = defaultState, action = {}) {
switch (action.type) {
case actions.CONSOLE_SHOW_COMMAND:
return Object.assign({}, state, {
commandShown: true,
commandText: action.text,
errorShow: false,
completions: []
});
case actions.CONSOLE_SET_COMPLETIONS:
return Object.assign({}, state, {
completions: action.completions
});
case actions.CONSOLE_SHOW_ERROR:
return Object.assign({}, state, {
errorText: action.message,
errorShow: true,
commandShown: false,
});
case actions.CONSOLE_HIDE:
return Object.assign({}, state, {
errorShown: false,
commandShown: false
});
default:
return state;
}
}