blob: 57dc4b40911316f4d20ed08b674609d1373b5328 [file] [log] [blame]
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;
}
}