cluedin-widget
Version:
This is the project for creating and managing widgets in CluedIn.
43 lines (41 loc) • 1.56 kB
JavaScript
const constants = require( '../constants' );
const initialState = {
boardingInfo: void 0,
isFetching: false,
allInvitations: void 0,
isFetchingInvitations: false
};
module.exports = 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
} );
case constants.boarding.RECEIVE_BOARDING:
return Object.assign( {}, {
boardingInfo: action.data,
isFetching: false,
isFetchingInvitations: state.isFetchingInvitations,
allInvitations: state.allInvitations
} );
case constants.boarding.REQUEST_INVITATIONS:
return Object.assign( {}, {
boardingInfo: state.boardingInfo,
isFetching: state.isFetching,
isFetchingInvitations: true,
allInvitations: state.invitations
} );
case constants.boarding.RECEIVE_INVITATIONS:
return Object.assign( {}, {
boardingInfo: state.boardingInfo,
isFetching: state.isFetching,
isFetchingInvitations: false,
allInvitations: action.data.invitations
} );
default :
return state;
}
};