UNPKG

cluedin-widget

Version:

This project contains all the pages needed for browsing entities and searching them. The aim is to replace the CluedIn.Webapp project with this one when all the pages ( including the Admin page ) will be ported to REACT.

56 lines (48 loc) 1.79 kB
import constants from '../constants'; const initialState = { genericLastTasks: {}, isFetchingGenericTasks: true, isFakeGenericTasks: false, pageNumber: 0, currentTimeStamp: void 0, currentTasks: [], }; export default function update(state = initialState, action = {}) { switch (action.type) { case constants.task.REQUEST_GENERIC_LAST_TASKS: let timeStamp = action.data.timeStamp; let pageNumber = state.pageNumber; let currentTasks = state.currentTasks; let cleanGenericLastTasks = Object.assign({}, state.genericLastTasks); if (state.currentTimeStamp && state.currentTimeStamp !== action.data.timeStamp) { cleanGenericLastTasks[timeStamp] = void 0; pageNumber = 0; currentTasks = []; } return Object.assign({}, { genericLastTasks: cleanGenericLastTasks, isFetchingGenericTasks: true, isFakeGenericTasks: false, pageNumber, currentTimeStamp: timeStamp, currentTasks, }); case constants.task.RECEIVE_GENERIC_LAST_TASKS: let newGenericLastTasks = Object.assign({}, state.genericLastTasks); if (newGenericLastTasks[action.data.timeStamp]) { newGenericLastTasks[action.data.timeStamp] = newGenericLastTasks[action.data.timeStamp].concat(action.data.tasks); } else { newGenericLastTasks[action.data.timeStamp] = action.data.tasks; } return Object.assign({}, { genericLastTasks: newGenericLastTasks, isFetchingGenericTasks: false, isFakeGenericTasks: action.data.isFake, pageNumber: action.data.pageNumber, currentTimeStamp: state.currentTimeStamp, currentTasks: newGenericLastTasks[action.data.timeStamp], }); default : return state; } };