2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
20 import * as _ from "lodash";
21 import {ComponentInstance} from "../../../componentsInstances/componentInstance";
22 import {ImageCreatorService} from "../../../../directives/graphs-v2/image-creator/image-creator.service";
23 import {CompositionCiNodeBase} from "./composition-ci-node-base";
24 import { ImagesUrl, GraphUIObjects} from "../../../../utils/constants";
26 export class CompositionCiNodeVl extends CompositionCiNodeBase {
27 private toolTipText:string;
29 constructor(instance:ComponentInstance, imageCreator:ImageCreatorService) {
30 super(instance, imageCreator);
35 private initVl():void {
36 this.type = "basic-small-node";
37 this.toolTipText = 'Point to point';
38 if(this.componentInstance.capabilities) {
39 let key:string = _.find(Object.keys(this.componentInstance.capabilities), (key)=> {
40 return _.includes(key.toLowerCase(), 'linkable');
42 let linkable = this.componentInstance.capabilities[key];
44 if ('UNBOUNDED' == linkable[0].maxOccurrences) {
45 this.toolTipText = 'Multi point';
50 this.img = this.imagesPath + ImagesUrl.RESOURCE_ICONS + 'vl.png';
51 this.imgWidth = GraphUIObjects.SMALL_RESOURCE_WIDTH;
52 this.imagesPath = this.imagesPath + ImagesUrl.RESOURCE_ICONS;
54 this.classes = 'vl-node';
56 this.classes = this.classes + ' archived';
59 if (!this.certified) {
60 this.classes = this.classes + ' not-certified';