blob: 57dc4b40911316f4d20ed08b674609d1373b5328 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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;
}
}
|