import { LoopScenarioState, initialState } from '../states/loop-scenario.state'; import { Actions, ActionTypes } from '../actions/loop-scenario.action'; export function reducer( state: LoopScenarioState = initialState, action: Actions ): LoopScenarioState { switch (action.type) { case ActionTypes.QUERY: return (Object).assign({}, state, { entries: [...state.entries, ...action.payload] }); case ActionTypes.TOGGLE_SELECTED: let selectedEntries = state.selectedEntries; if(selectedEntries.indexOf(action.payload) === -1) { selectedEntries = [action.payload]; } else { selectedEntries = []; } return (Object).assign({}, state, { selectedEntries: selectedEntries }); 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; } }