Merge "vfModule.model.info getModel use vfModule constructor"
[vid.git] / vid-webpack-master / src / app / drawingBoard / service-planning / objectsToTree / models / vfModule / vfModule.model.info.ts
index 1e4a22c..73f3527 100644 (file)
@@ -10,7 +10,7 @@ import {NgRedux} from "@angular-redux/store";
 import {ITreeNode} from "angular-tree-component/dist/defs/api";
 import {GenericFormPopupComponent, PopupType} from "../../../../../shared/components/genericFormPopup/generic-form-popup.component";
 import {DialogService} from "ng2-bootstrap-modal";
-import {VfModulePopuopService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service";
+import {VfModulePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service";
 import {AppState} from "../../../../../shared/store/reducers";
 import {MessageBoxData} from "../../../../../shared/components/messageBox/messageBox.data";
 import {MessageBoxService} from "../../../../../shared/components/messageBox/messageBox.service";
@@ -28,7 +28,7 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
   constructor(private _dynamicInputsService: DynamicInputsService,
               private _sharedTreeService: SharedTreeService,
               private _dialogService: DialogService,
-              private _vfModulePopupService: VfModulePopuopService,
+              private _vfModulePopupService: VfModulePopupService,
               private _vfModuleUpgradePopupService: VfModuleUpgradePopupService,
               private _iframeService: IframeService,
               private _featureFlagsService: FeatureFlagsService,
@@ -67,10 +67,10 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
    * @param instance
    * @param serviceHierarchy - serviceHierarchy
    ************************************************************/
-  getModel = (vfModuleModelId: string, instance, serviceHierarchy): any => {
+  getModel = (vfModuleModelId: string, instance, serviceHierarchy): Partial<VfModule> => {
     if (!_.isNil(serviceHierarchy)) {
       if (!_.isNil(serviceHierarchy[this.name]) && !_.isNil(serviceHierarchy[this.name][vfModuleModelId])) {
-        return serviceHierarchy[this.name][vfModuleModelId];
+        return new VfModule(serviceHierarchy[this.name][vfModuleModelId], this._featureFlagsService.getAllFlags());
       }
     }
     return {};
@@ -177,12 +177,16 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
    * @param serviceModelId - current service id
    ************************************************************/
   getNodeCount(node: ITreeNode, serviceModelId: string): number {
+    const vnfs = this._store.getState().service.serviceInstance[serviceModelId].vnfs;
     let count: number = 0;
     if (!_.isNil(this._store.getState().service.serviceInstance) && !_.isNil(this._store.getState().service.serviceInstance[serviceModelId])) {
-      const vnfs = this._store.getState().service.serviceInstance[serviceModelId].vnfs;
-
-      for (let vnfKey in vnfs) {
-        count += this.countNumberOfVFModule(vnfs[vnfKey], node);
+      const selectedVNF: string = this._sharedTreeService.getSelectedVNF();
+      if (selectedVNF) {
+        count += this.countNumberOfVFModule(vnfs[selectedVNF], node);
+      }else {
+        for (let vnfKey in vnfs) {
+          count += this.countNumberOfVFModule(vnfs[vnfKey], node);
+        }
       }
       return count;
     }
@@ -206,11 +210,8 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
   getCountVFModuleOfSelectedVNF(node: ITreeNode, vnfStoreKey: string, serviceModelId: string): number {
     let count: number = 0;
     if (!_.isNil(this._store.getState().service.serviceInstance) && !_.isNil(this._store.getState().service.serviceInstance[serviceModelId])) {
-      const vnfs = this._store.getState().service.serviceInstance[serviceModelId].vnfs;
-
-      for (let vnfKey in vnfs) {
-        count += this.countNumberOfVFModule(vnfs[vnfKey], node);
-      }
+      const vnf = this._store.getState().service.serviceInstance[serviceModelId].vnfs[vnfStoreKey];
+      count += this.countNumberOfVFModule(vnf, node);
       return count;
     }
     return count;
@@ -238,7 +239,6 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
 
 
   showVFModuleOnSelectedVNF(node: ITreeNode, selectedVNF: string, serviceModelId: string): AvailableNodeIcons {
-
     if (!_.isNil(this._store.getState().service.serviceInstance[serviceModelId].vnfs[selectedVNF]) && node.parent.data.name === this._store.getState().service.serviceInstance[serviceModelId].vnfs[selectedVNF].originalName) {
       const existingVFModules = this.getCountVFModuleOfSelectedVNF(node, selectedVNF, serviceModelId);
       const reachedLimit = this.isVFModuleReachedLimit(node, this._store.getState().service.serviceHierarchy, serviceModelId, existingVFModules);
@@ -397,9 +397,9 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
           vfModule : _.cloneDeep(node)
         },
         node,
-        isUpdateMode: false
+        isUpdateMode: true
       });
-    }else {
+    } else {
       this._sharedTreeService.upgradeBottomUp(node, serviceModelId);
       this._store.dispatch(upgradeVFModule(node.data.modelName,  node.parent.data.vnfStoreKey, serviceModelId ,node.data.dynamicModelName));
     }
@@ -414,12 +414,12 @@ export class VFModuleModelInfo implements ILevelNodeInfo {
     return (!_.isNil(instance) && !_.isNil(instance[deepDynamicName])) ? instance[deepDynamicName].position : null;
   }
 
-  getInfo(model, instance): ModelInformationItem[] {
-    const modelInformation = !_.isEmpty(model) && !_.isEmpty(model.properties) ? [
-      ModelInformationItem.createInstance("Base module", model.properties.baseModule),
-      ModelInformationItem.createInstance("Min instances", !_.isNull(model.properties.minCountInstances) ? String(model.properties.minCountInstances) : null),
+  getInfo(model:Partial<VfModule>, instance): ModelInformationItem[] {
+    const modelInformation = !_.isEmpty(model) ? [
+      ModelInformationItem.createInstance("Base module", model.baseModule),
+      ModelInformationItem.createInstance("Min instances", !_.isNull(model.min) ? String(model.min) : null),
       this._sharedTreeService.createMaximumToInstantiateModelInformationItem(model),
-      ModelInformationItem.createInstance("Initial instances count", !_.isNull(model.properties.initialCount) ? String(model.properties.initialCount) : null)
+      ModelInformationItem.createInstance("Initial instances count", !_.isNull(model.initial) ? String(model.initial) : null)
     ] : [];
 
     const instanceInfo = [];