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.

83 lines (76 loc) 3.53 kB
import constants from '../constants'; const initialState = { genericLastOrganizations: {}, isFetchingGenericOrganizations: true, isFakeGenericOrganization: false, pageNumber: 0, isFetchingCurrentOrganization: false, currentTimeStamp: void 0, currentOrganization: void 0, currentOrganizations: [], }; export default function update(state = initialState, action = {}) { switch (action.type) { case constants.organization.REQUEST_GENERIC_LAST_ORGANIZATIONS: let timeStamp = action.data.timeStamp; let pageNumber = state.pageNumber; let currentOrganizations = state.currentOrganizations; let cleanGenericLastOrganizations = Object.assign({}, state.genericLastOrganizations); if (state.currentTimeStamp && state.currentTimeStamp !== action.data.timeStamp) { cleanGenericLastOrganizations[timeStamp] = void 0; pageNumber = 0; currentOrganizations = []; } return Object.assign({}, { genericLastOrganizations: cleanGenericLastOrganizations, isFetchingGenericOrganizations: true, isFakeGenericOrganization: state.isFakeGenericOrganization, pageNumber, isFetchingCurrentOrganization: state.isFetchingCurrentOrganization, currentOrganization: state.currentOrganization, currentTimeStamp: timeStamp, currentOrganizations, }); case constants.organization.RECEIVE_GENERIC_LAST_ORGANIZATIONS: let newGenericLastOrganizations = Object.assign({}, state.genericLastOrganizations); if (newGenericLastOrganizations[action.data.timeStamp]) { newGenericLastOrganizations[action.data.timeStamp] = newGenericLastOrganizations[action.data.timeStamp].concat(action.data.organizations); } else { newGenericLastOrganizations[action.data.timeStamp] = action.data.organizations; } return Object.assign({}, { genericLastOrganizations: newGenericLastOrganizations, isFetchingGenericOrganizations: false, isFakeGenericOrganization: action.data.fake, pageNumber: action.data.pageNumber, isFetchingCurrentOrganization: state.isFetchingCurrentOrganization, currentOrganization: state.currentOrganization, currentTimeStamp: state.currentTimeStamp, currentOrganizations: newGenericLastOrganizations[action.data.timeStamp], }); case constants.organization.REQUEST_CURRENT_ORGANIZATION: return Object.assign({}, { genericLastOrganizations: state.genericLastOrganizations, isFetchingGenericOrganizations: state.isFetchingGenericOrganizations, isFakeGenericOrganization: state.isFakeGenericOrganization, pageNumber: state.pageNumber, isFetchingCurrentOrganization: true, currentOrganization: state.currentOrganization, currentTimeStamp: state.currentTimeStamp, currentOrganizations: state.currentOrganizations, }); case constants.organization.RECEIVE_CURRENT_ORGANIZATION: return Object.assign({}, { genericLastOrganizations: state.genericLastOrganizations, isFetchingGenericOrganizations: state.isFetchingGenericOrganizations, isFakeGenericOrganization: state.isFakeGenericOrganization, pageNumber: state.pageNumber, isFetchingCurrentOrganization: false, currentOrganization: action.data.org, currentTimeStamp: state.currentTimeStamp, currentOrganizations: state.currentOrganizations, }); default : return state; } };