summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.reducer.ts
blob: 72894e6f09e427cc752c9485e9aaa9dd011d89a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import {ServiceState} from "../main.reducer";
import {Action} from "redux";
import * as _ from "lodash";
import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
import {CrActions} from "./cr.actions";
import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions";
import {deleteFirstLevel} from "../reducersHelper";

export function crReducer(state: ServiceState, action: Action): ServiceState {
  switch (action.type) {
    case CrActions.DELETE_ACTION_CR_INSTANCE : {
      return deleteFirstLevel(state, <ActionOnFirstLevel>action, false);
    }

    case CrActions.UNDO_DELETE_ACTION_CR_INSTANCE : {
      let newState = _.cloneDeep(state);
      let vnf = newState.serviceInstance[(<ActionOnFirstLevel>action).serviceId]['collectionResources'][(<ActionOnFirstLevel>action).storeKey];
      let oldState = vnf.action;
      newState.serviceInstance[(<ActionOnFirstLevel>action).serviceId]['collectionResources'][(<ActionOnFirstLevel>action).storeKey].action = (oldState.split('_')[0]) as ServiceInstanceActions;
      return newState;
    }
  }
 }