loop-modules
Version:
Shared modules for the Loop product suite.
33 lines (32 loc) • 1.15 kB
JavaScript
import { initialState } from '../states/loop-scenario.state';
import { ActionTypes } from '../actions/loop-scenario.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.TOGGLE_SELECTED:
var 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;
}
}