1 import {ServiceState} from "../main.reducer";
2 import {Action} from "redux";
3 import * as _ from "lodash";
4 import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
5 import {NcfActions, DeleteActionNcfInstanceAction, UndoDeleteActionNcfInstanceAction} from "./ncf.actions";
7 export function ncfReducer(state: ServiceState, action: Action): ServiceState {
9 case NcfActions.DELETE_ACTION_NCF_INSTANCE : {
10 let newState = _.cloneDeep(state);
11 let ncf = newState.serviceInstance[(<DeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<DeleteActionNcfInstanceAction>action).ncfStoreKey];
12 let oldAction = ncf.action;
13 if(oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState;
14 newState.serviceInstance[(<DeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<DeleteActionNcfInstanceAction>action).ncfStoreKey].action = (oldAction + '_Delete') as ServiceInstanceActions;
18 case NcfActions.UNDO_DELETE_ACTION_NCF_INSTANCE : {
19 let newState = _.cloneDeep(state);
20 let ncf = newState.serviceInstance[(<UndoDeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<UndoDeleteActionNcfInstanceAction>action).ncfStoreKey];
21 let oldState = ncf.action;
22 newState.serviceInstance[(<UndoDeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<UndoDeleteActionNcfInstanceAction>action).ncfStoreKey].action = (oldState.split('_')[0]) as ServiceInstanceActions;