blob: fb43f46bbd8bb60621e07887ab3bc43e663d88cb (
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/*-
* ============LICENSE_START=======================================================
* SDC
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
*/
/**
* Created by obarda on 6/29/2016.
*/
'use strict';
import {AngularJSBridge} from "../../../services/angular-js-bridge-service";
export abstract class CommonNodeBase {
public displayName:string;
public name:string;
public img: string;
public imgWidth: number;
public certified:boolean;
public isGroup:boolean;
public imagesPath:string;
public isDraggable:boolean; //we need to to manage manually the dragging on the graph inside groups (ucpe-cp is not draggable)
//cytoscape fields
public id:string;
public type:string; //type is for the edge edition extension, by type we put the green plus icon in position
public isSdcElement:boolean; //this fields is in order to filter sdc elements from all extensions elements
public classes:string;
public parent:string;
public allowConnection:boolean; //this is for egeEdition extension in order to decide if connection to a node is available
constructor() {
this.imagesPath = AngularJSBridge.getAngularConfig().imagesPath;
this.type = "basic-node";
this.isSdcElement = true;
this.isDraggable = true;
this.allowConnection = true;
}
public updateNameForDisplay = () => {
let context = document.createElement("canvas").getContext("2d");
context.font = "13px Arial";
if (63 < context.measureText(this.name).width) {
let newLen = this.name.length - 3;
let newName = this.name.substring(0, newLen);
while (60 < (context.measureText(newName).width)) {
newName = newName.substring(0, (--newLen));
}
this.displayName = newName + '...';
return;
}
this.displayName = this.name;
};
}
|