[sdc] rebase update
[sdc.git] / catalog-ui / src / app / models / graph / nodes / composition-graph-nodes / composition-ci-node-vl.ts
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20 import {ComponentInstance} from "../../../componentsInstances/componentInstance";
21 import {ImageCreatorService} from "../../../../directives/graphs-v2/image-creator/image-creator.service";
22 import {CompositionCiNodeBase} from "./composition-ci-node-base";
23 import {ImagesUrl} from "../../../../utils/constants";
24
25 export class CompositionCiNodeVl extends CompositionCiNodeBase {
26     private toolTipText:string;
27
28     constructor(instance:ComponentInstance, imageCreator:ImageCreatorService) {
29         super(instance, imageCreator);
30         this.initVl();
31
32     }
33
34     private initVl():void {
35         this.type = "basic-small-node";
36         this.toolTipText = 'Point to point';
37         if(this.componentInstance.capabilities) {
38             let key:string = _.find(Object.keys(this.componentInstance.capabilities), (key)=> {
39                 return _.includes(key.toLowerCase(), 'linkable');
40             });
41             let linkable = this.componentInstance.capabilities[key];
42             if (linkable) {
43                 if ('UNBOUNDED' == linkable[0].maxOccurrences) {
44                     this.toolTipText = 'Multi point';
45                 }
46
47             }
48         }
49         this.img = this.imagesPath + ImagesUrl.RESOURCE_ICONS + 'vl.png';
50
51         this.classes = 'vl-node';
52         if (!this.certified) {
53             this.classes = this.classes + ' not-certified';
54         }
55     }
56 }