Catalog alignment
[sdc.git] / catalog-ui / src / app / models / graph / nodes / composition-graph-nodes / composition-ci-node-service-proxy.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
21 import { ImagesUrl, GraphUIObjects} from "../../../../utils/constants";
22 import {ComponentInstance, CompositionCiNodeBase} from "../../../../models";
23 import {ImageCreatorService} from "app/ng2/pages/composition/graph/common/image-creator.service";
24 export class CompositionCiNodeServiceProxy extends CompositionCiNodeBase {
25     private isDependent: boolean;
26     private originalImg: string;
27
28     constructor(instance:ComponentInstance,
29                 imageCreator:ImageCreatorService) {
30         super(instance, imageCreator);
31         this.isDependent =instance.isDependent();
32         this.initService();
33     }
34
35     private initService():void {
36         this.imagesPath = this.imagesPath + ImagesUrl.SERVICE_PROXY_ICONS;
37         this.img = this.imagesPath + this.componentInstance.icon + '.png';
38         this.originalImg = this.img;
39         this.imgWidth = GraphUIObjects.DEFAULT_RESOURCE_WIDTH;
40         this.classes = 'service-node';
41         if(this.archived){
42             this.classes = this.classes + ' archived';
43             return;
44         }
45         if (this.isDependent) {
46             this.classes += ' dependent';
47         }
48         if (!this.certified) {
49             this.classes = this.classes + ' not-certified';
50         }
51
52     }
53     public initUncertifiedDependentImage(node:Cy.Collection, nodeMinSize:number):string {
54         return this.enhanceImage(node, nodeMinSize, this.imagesPath + 'uncertified_dependent.png');
55     }
56
57     public initDependentImage(node:Cy.Collection, nodeMinSize:number):string {
58         return this.enhanceImage(node, nodeMinSize, this.imagesPath + 'dependent.png');
59     }
60 }