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; } }