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.
86 lines (80 loc) • 2.83 kB
JavaScript
import constants from '../constants';
const initialState = {
boardingInfo: void 0,
isFetching: false,
allInvitations: void 0,
isFetchingInvitations: false,
state: {},
};
export default function update(state = initialState, action = {}) {
switch (action.type) {
case constants.boarding.REQUEST_BOARDING:
return Object.assign({}, {
boardingInfo: state.boardingInfo,
isFetching: true,
isFetchingInvitations: state.isFetchingInvitations,
allInvitations: state.allInvitations,
state: state.state,
});
case constants.boarding.RECEIVE_BOARDING:
return Object.assign({}, {
boardingInfo: action.data,
isFetching: false,
isFetchingInvitations: state.isFetchingInvitations,
allInvitations: state.allInvitations,
state: state.state,
});
case constants.boarding.REQUEST_INVITATIONS:
return Object.assign({}, {
boardingInfo: state.boardingInfo,
isFetching: state.isFetching,
isFetchingInvitations: true,
allInvitations: state.invitations,
state: state.state,
});
case constants.boarding.RECEIVE_INVITATIONS:
return Object.assign({}, {
boardingInfo: state.boardingInfo,
isFetching: state.isFetching,
isFetchingInvitations: false,
allInvitations: action.data.invitations,
state: state.state,
});
case constants.boarding.GET_ON_BOARDING:
return Object.assign({}, {
boardingInfo: state.boardingInfo,
isFetching: state.isFetching,
isFetchingInvitations: state.isFetchingInvitations,
allInvitations: state.allInvitations,
state: action.data.state,
});
case constants.boarding.REMOVE_ONBOARDING:
return Object.assign({}, {
boardingInfo: state.boardingInfo,
isFetching: state.isFetching,
isFetchingInvitations: state.isFetchingInvitations,
allInvitations: state.allInvitations,
state: action.data.state,
});
case constants.boarding.REQUEST_MARK_AS_SEARCHED:
state.boardingInfo.hasSearched = true;
return Object.assign({}, {
boardingInfo: Object.assign({}, state.boardingInfo),
isFetching: state.isFetching,
isFetchingInvitations: state.isFetchingInvitations,
allInvitations: state.invitations,
state: state.state,
});
case constants.boarding.REQUEST_MARK_AS_VISISTED:
state.boardingInfo.hasVisited = true;
return Object.assign({}, {
boardingInfo: Object.assign({}, state.boardingInfo),
isFetching: state.isFetching,
isFetchingInvitations: state.isFetchingInvitations,
allInvitations: state.allInvitations,
state: state.state,
});
default :
return state;
}
};