Select Git revision
companionWindows.js
companionWindows.js 681 B
import {
removeIn, setIn, updateIn, merge,
} from 'immutable';
import ActionTypes from '../actions/action-types';
/** */
export function companionWindowsReducer(state = {}, action) {
switch (action.type) {
case ActionTypes.ADD_COMPANION_WINDOW:
return setIn(state, [action.id], action.payload);
case ActionTypes.ADD_WINDOW:
return setIn(state, [action.companionWindow.id], action.companionWindow);
case ActionTypes.UPDATE_COMPANION_WINDOW:
return updateIn(state, [action.id], orig => merge(orig, action.payload));
case ActionTypes.REMOVE_COMPANION_WINDOW:
return removeIn(state, [action.id]);
default:
return state;
}
}