UNPKG

loop-modules

Version:

Shared modules for the Loop product suite.

40 lines (39 loc) 1.51 kB
import { initialState } from '../states/employee.state'; import { ActionTypes } from '../actions/employee.action'; export function reducer(state, action) { if (state === void 0) { state = initialState; } switch (action.type) { case ActionTypes.SUBORDINATES: return Object.assign({}, state, { entries: state.entries.concat(action.payload) }); case ActionTypes.SET_ENTRIES: return Object.assign({}, state, { entries: action.payload }); case ActionTypes.SET_SELECTED: return Object.assign({}, state, { selectedEntries: action.payload }); case ActionTypes.TOGGLE_SELECTED: var selectedEntries = state.selectedEntries.slice(); if (selectedEntries.indexOf(action.payload) !== -1) { selectedEntries.splice(selectedEntries.indexOf(action.payload), 1); } else { selectedEntries.push(action.payload); } selectedEntries.sort(function (a, b) { return (a.first_name + ' ' + a.last_name).localeCompare(b.first_name + ' ' + b.last_name); }); return Object.assign({}, state, { selectedEntries: selectedEntries }); case ActionTypes.ACTIVE: return Object.assign({}, state, { active: action.payload }); default: return state; } }