summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts')
-rw-r--r--vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts
new file mode 100644
index 000000000..9bb069e0d
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts
@@ -0,0 +1,26 @@
+import {ServiceState} from "../main.reducer";
+import {Action} from "redux";
+import * as _ from "lodash";
+import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
+import {NcfActions, DeleteActionNcfInstanceAction, UndoDeleteActionNcfInstanceAction} from "./ncf.actions";
+
+export function ncfReducer(state: ServiceState, action: Action): ServiceState {
+ switch (action.type) {
+ case NcfActions.DELETE_ACTION_NCF_INSTANCE : {
+ let newState = _.cloneDeep(state);
+ let ncf = newState.serviceInstance[(<DeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<DeleteActionNcfInstanceAction>action).ncfStoreKey];
+ let oldAction = ncf.action;
+ if(oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState;
+ newState.serviceInstance[(<DeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<DeleteActionNcfInstanceAction>action).ncfStoreKey].action = (oldAction + '_Delete') as ServiceInstanceActions;
+ return newState;
+ }
+
+ case NcfActions.UNDO_DELETE_ACTION_NCF_INSTANCE : {
+ let newState = _.cloneDeep(state);
+ let ncf = newState.serviceInstance[(<UndoDeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<UndoDeleteActionNcfInstanceAction>action).ncfStoreKey];
+ let oldState = ncf.action;
+ newState.serviceInstance[(<UndoDeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<UndoDeleteActionNcfInstanceAction>action).ncfStoreKey].action = (oldState.split('_')[0]) as ServiceInstanceActions;
+ return newState;
+ }
+ }
+}