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.

55 lines (48 loc) 1.79 kB
import constants from '../constants'; const initialState = { genericLastTools: {}, isFetchingGenericTools: true, isFakeGenericTools: false, pageNumber: 0, currentTimeStamp: void 0, currentTools: [], }; export default function update(state = initialState, action = {}) { switch (action.type) { case constants.tool.REQUEST_GENERIC_LAST_TOOLS: let timeStamp = action.data.timeStamp; let pageNumber = state.pageNumber; let currentTools = state.currentTools; let cleanGenericLastTools = Object.assign({}, state.genericLastTools); if (state.currentTimeStamp && state.currentTimeStamp !== action.data.timeStamp) { cleanGenericLastTools[timeStamp] = void 0; pageNumber = 0; currentTools = []; } return Object.assign({}, { genericLastTools: cleanGenericLastTools, isFetchingGenericTools: true, isFakeGenericTools: false, pageNumber, currentTimeStamp: timeStamp, currentTools, }); case constants.tool.RECEIVE_GENERIC_LAST_TOOLS: let newGenericLastTools = Object.assign({}, state.genericLastTools); if (newGenericLastTools[action.data.timeStamp]) { newGenericLastTools[action.data.timeStamp] = newGenericLastTools[action.data.timeStamp].concat(action.data.tools); } else { newGenericLastTools[action.data.timeStamp] = action.data.tools; } return Object.assign({}, { genericLastTools: newGenericLastTools, isFetchingGenericTools: false, isFakeGenericTools: action.data.isFake, pageNumber: action.data.pageNumber, currentTimeStamp: state.currentTimeStamp, currentTools: newGenericLastTools[action.data.timeStamp], }); default : return state; } };