aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts')
-rw-r--r--vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts43
1 files changed, 40 insertions, 3 deletions
diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts
index 33ec0804f..80b2a4b52 100644
--- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts
+++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts
@@ -348,7 +348,9 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
enable: (node) => this._sharedTreeService.shouldShowAuditInfo(node)
},
remove: {
- method: (node, serviceModelId) => this._store.dispatch(removeVfModuleInstance(node.data.modelName, serviceModelId, node.parent.data.modelName, node.parent.data.vnfStoreKey, node.data.dynamicModelName)),
+ method: (node, serviceModelId) => {
+ this.removeVFM(serviceModelId,node);
+ },
visible: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node),
enable: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node),
},
@@ -431,8 +433,8 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
}
}
- updatePosition(that, node, instanceId, parentStoreKey): void {
- this._store.dispatch(updateVFModulePosition(node, instanceId, parentStoreKey));
+ updatePosition(that, node,instanceId, parentStoreKey): void {
+ that.store.dispatch(updateVFModulePosition(node.modelName,node.dynamicModelName, node.position,instanceId, parentStoreKey));
}
@@ -452,4 +454,39 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
const result = [modelInformation, instanceInfo];
return _.uniq(_.flatten(result));
}
+
+ private removeVFM(serviceModelId, node) {
+ if (FeatureFlagsService.getFlagState(Features.FLAG_2008_CREATE_VFMODULE_INSTANTIATION_ORDER_NUMBER, this._store)) {
+ let nodeArray = node.parent.children;
+ let totalNumOfNodes = nodeArray.length;
+ let removedNodeIndex = node.index;
+ let remainingNodes = totalNumOfNodes - (removedNodeIndex+1);
+ if(!_.isNull(remainingNodes)) {
+ if(remainingNodes !== 0 && remainingNodes >0) {
+ for(let i= 0;i<remainingNodes;i++) {
+ let temp = nodeArray[removedNodeIndex];
+ nodeArray[removedNodeIndex] = nodeArray[removedNodeIndex + 1];
+ nodeArray[removedNodeIndex + 1] = temp;
+ removedNodeIndex= removedNodeIndex+1;
+ }
+ let removedNode = nodeArray[nodeArray.length - 1];
+ this._store.dispatch(removeVfModuleInstance(removedNode.data.modelName, serviceModelId, removedNode.parent.data.modelName, removedNode.parent.data.vnfStoreKey, removedNode.data.dynamicModelName));
+ nodeArray.pop();
+ nodeArray.forEach((item, index) => {
+ if (item.position !== index + 1) {
+ item.position = index + 1;
+ this._store.dispatch(updateVFModulePosition(item.data.modelName,item.data.dynamicModelName, item.position,serviceModelId, item.parent.data.vnfStoreKey));
+ }
+ });
+
+
+ }else{
+ this._store.dispatch(removeVfModuleInstance(node.data.modelName, serviceModelId, node.parent.data.modelName, node.parent.data.vnfStoreKey, node.data.dynamicModelName));
+
+ }
+ }
+ } else {
+ this._store.dispatch(removeVfModuleInstance(node.data.modelName, serviceModelId, node.parent.data.modelName, node.parent.data.vnfStoreKey, node.data.dynamicModelName));
+ }
+ }
}