DeleteActionVfModuleInstanceAction,
DeleteVFModuleField,
DeleteVfModuleInstanceAction,
- PauseVFModuleInstanciationAction,
+ PauseVFModuleInstanciationAction, RemovePauseOnVFModuleInstanciationAction,
UndoDeleteActionVfModuleInstanceAction,
UpdateVFModluePosition,
UpdateVFModuleField,
const serviceUuid = updateVFModuleInstanceAction.serviceUuid;
const vfModuleId = updateVFModuleInstanceAction.vfId;
const vnfStoreKey = updateVFModuleInstanceAction.vnfStoreKey;
+ const position = updateVFModuleInstanceAction.index;
let newState = Object.assign({}, state);
let vfModulesMap = newState.serviceInstance[serviceUuid].vnfs[vnfStoreKey].vfModules[vfModuleId] || new VfModuleMap();
let randomId = generateId();
vfInstance.action = ServiceInstanceActions.Create;
- vfModulesMap[vfModuleId + randomId] = vfInstance;
+ let dynamicName = vfModuleId + randomId;
+ vfModulesMap[dynamicName] = vfInstance;
updateUniqueNames(null, vfInstance.instanceName, newState.serviceInstance[serviceUuid]);
updateUniqueNames(null, vfInstance.volumeGroupName, newState.serviceInstance[serviceUuid]);
updateServiceValidationCounter(newState, false, vfInstance['isMissingData'], serviceUuid);
newState.serviceInstance[serviceUuid].vnfs[vnfStoreKey].vfModules[vfModuleId] = vfModulesMap;
+ newState.serviceInstance[serviceUuid].vnfs[vnfStoreKey].vfModules[vfModuleId][dynamicName].position = position;
return newState;
}
case VfModuleActions.UPDATE_VF_MODULE: {
const vfInstance = updateVFModuleInstanceAction.vfInstance;
const serviceUuid = updateVFModuleInstanceAction.serviceUuid;
const vfModuleId = updateVFModuleInstanceAction.vfId;
+ const position = updateVFModuleInstanceAction.position;
const newState = _.cloneDeep(state);
const vnfs = newState.serviceHierarchy[serviceUuid].vnfs;
let vnfId = getVfModuleParentVnfId(vnfs, vfModuleId);
updateUniqueNames(vfModulesMap[updateVFModuleInstanceAction.dynamicModelName].volumeGroupName, vfInstance.volumeGroupName, newState.serviceInstance[serviceUuid]);
vfModulesMap[updateVFModuleInstanceAction.dynamicModelName] = vfInstance;
newState.serviceInstance[serviceUuid].vnfs[vnfId].vfModules[vfModuleId] = vfModulesMap;
+ //retain the position of newly added VF module
+ newState.serviceInstance[serviceUuid].vnfs[vnfId].vfModules[vfModuleId][updateVFModuleInstanceAction.dynamicModelName].position= updateVFModuleInstanceAction.position;
return newState;
}
case VfModuleActions.REMOVE_VNF_MODULE_INSTANCE: {
case VfModuleActions.PAUSE_ACTION_VFMODULE_INSTANCE : {
const pauseVfModuleAction = (<PauseVFModuleInstanciationAction>action);
let newState = _.cloneDeep(state);
-
newState.serviceInstance[pauseVfModuleAction.serviceId].vnfs[pauseVfModuleAction.vnfStoreKey]
.vfModules[pauseVfModuleAction.vfModuleModelName][pauseVfModuleAction.dynamicModelName]
.pauseInstantiation = PauseStatus.AFTER_COMPLETION;
return newState;
}
+ case VfModuleActions.REMOVE_PAUSE_ON_VFMODULE_INSTANCE : {
+ const removePauseVfModuleAction = (<RemovePauseOnVFModuleInstanciationAction>action);
+ let newState = _.cloneDeep(state);
+ newState.serviceInstance[removePauseVfModuleAction.serviceId].vnfs[removePauseVfModuleAction.vnfStoreKey]
+ .vfModules[removePauseVfModuleAction.vfModuleModelName][removePauseVfModuleAction.dynamicModelName]
+ .pauseInstantiation = null;
+ return newState;
+ }
+
case VfModuleActions.DELETE_ACTION_VF_MODULE_INSTANCE : {
const deleteAction = (<DeleteActionVfModuleInstanceAction>action);
let newState = _.cloneDeep(state);
case VfModuleActions.UPDATE_VFMODULE_POSITION : {
const updateVFModluePosition = <UpdateVFModluePosition>action;
const serviceUuid = updateVFModluePosition.instanceId;
- const dynamicModelName = updateVFModluePosition.node.dynamicModelName;
- const modelName = updateVFModluePosition.node.modelName;
+ const dynamicModelName = updateVFModluePosition.dynamicModelName;
+ const modelName = updateVFModluePosition.vfKey;
const newState = _.cloneDeep(state);
- newState.serviceInstance[serviceUuid].vnfs[updateVFModluePosition.vnfStoreKey].vfModules[modelName][dynamicModelName].position = updateVFModluePosition.node.position;
+ newState.serviceInstance[serviceUuid].vnfs[updateVFModluePosition.vnfStoreKey].vfModules[modelName][dynamicModelName].position = updateVFModluePosition.position;
return newState;
}