diff options
author | Sonsino, Ofir (os0695) <os0695@intl.att.com> | 2018-07-10 15:57:37 +0300 |
---|---|---|
committer | Sonsino, Ofir (os0695) <os0695@intl.att.com> | 2018-07-10 15:57:37 +0300 |
commit | ff76b5ed0aa91d5fdf9dc4f95e8b20f91ed9d072 (patch) | |
tree | aae42404a93fdffdd16ff050eaa28129959f7577 /vid-webpack-master/src/app/drawingBoard/available-models-tree/available-models-tree.service.ts | |
parent | c72d565bb58226b20625b2bce5f0019046bee649 (diff) |
New Angular UI from 1806
Change-Id: I39c160db0e0a6ec2e587ccf007ee1b23c6a08666
Issue-ID: VID-208
Signed-off-by: Sonsino, Ofir (os0695) <os0695@intl.att.com>
Diffstat (limited to 'vid-webpack-master/src/app/drawingBoard/available-models-tree/available-models-tree.service.ts')
-rw-r--r-- | vid-webpack-master/src/app/drawingBoard/available-models-tree/available-models-tree.service.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/drawingBoard/available-models-tree/available-models-tree.service.ts b/vid-webpack-master/src/app/drawingBoard/available-models-tree/available-models-tree.service.ts new file mode 100644 index 00000000..57dc4b40 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/available-models-tree/available-models-tree.service.ts @@ -0,0 +1,36 @@ +import {Injectable} from '@angular/core'; +import * as _ from "lodash"; +import {ServicePlanningService} from "../../services/service-planning.service"; + +@Injectable() +export class AvailableModelsTreeService { + constructor(private _servicePlanningService: ServicePlanningService) { + } + + shouldShowAddIcon(node: any, serviceHierarchy: any, serviceModelId: string, currentNodeCount: number): boolean { + let maxNodes: number = 1; + if (node.data.children !== null && node.data.children.length == 0) { + let vnfModules = serviceHierarchy[serviceModelId].vfModules; + if (vnfModules[node.data.name]) { + maxNodes = vnfModules[node.data.name].properties.maxCountInstances || 1; + } + } + return !node.data.disabled && currentNodeCount < maxNodes + } + + shouldOpenDialog(type: string, dynamicInputs: any, userProvidedNaming: boolean): boolean { + if (userProvidedNaming || this._servicePlanningService.requiredFields[type].length > 0) { + return true; + } + + if (dynamicInputs) { + for(let input of dynamicInputs) { + if (input.isRequired && _.isEmpty(input.value)) { + return true; + } + } + } + return false; + } + +} |