UNPKG

loop-modules

Version:

Shared modules for the Loop product suite.

32 lines (31 loc) 1.19 kB
import { initialState } from '../states/loop-document.state'; import { ActionTypes } from '../actions/loop-document.action'; export function reducer(state, action) { if (state === void 0) { state = initialState; } switch (action.type) { case ActionTypes.QUERY: return Object.assign({}, state, { entries: state.entries.concat(action.payload) }); case ActionTypes.ADD_SELECTED: return Object.assign({}, state, { selectedEntries: state.selectedEntries.concat(action.payload) }); case ActionTypes.REMOVE_SELECTED: return Object.assign({}, state, { selectedEntries: state.selectedEntries.filter(function (value) { return (action.payload.indexOf(value) === -1); }) }); case ActionTypes.SET_ENTRIES: return Object.assign({}, state, { entries: action.payload }); case ActionTypes.SET_SELECTED: return Object.assign({}, state, { selectedEntries: action.payload }); default: return state; } }