Support addition of scalar type constraints
[sdc.git] / catalog-ui / src / app / utils / constants.ts
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2019 Nokia. All rights reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 /**
23  * Created by obarda on 2/18/2016.
24  */
25
26 export let DEFAULT_ICON = 'defaulticon';
27 export let CP_END_POINT = 'CpEndPoint';
28 export let CHANGE_COMPONENT_CSAR_VERSION_FLAG = 'changeComponentCsarVersion';
29 export let PREVIOUS_CSAR_COMPONENT = 'previousCsarComponent'
30 export let CATEGORY_SERVICE_METADATA_KEYS = ["Naming Policy","Service Type","Service Function","Service Role"];
31 export let DEFAULT_MODEL_NAME = "SDC AID";
32
33 export class GeneralStatus {
34   static OK = 'OK';
35   static GENERAL_ERROR = 'GENERAL_ERROR';
36 }
37
38 export class ComponentType {
39   static SERVICE = 'SERVICE';
40   static RESOURCE = 'RESOURCE';
41   static RESOURCE_INSTANCE = 'RESOURCE_INSTANCE';
42   static SERVICE_PROXY = 'ServiceProxy'
43   static SERVICE_SUBSTITUTION = 'ServiceSubstitution'
44 }
45
46 export class ServerTypeUrl {
47   static RESOURCES = 'resources/';
48   static SERVICES = 'services/';
49
50   public static toServerTypeUrl(componentType: ComponentType): string {
51     if (componentType == ComponentType.SERVICE) {
52       return ServerTypeUrl.SERVICES.slice(0, -1);
53     } else if (componentType == ComponentType.RESOURCE) {
54       return ServerTypeUrl.RESOURCES.slice(0, -1);
55     } else {
56       return undefined;
57     }
58   }
59 }
60
61
62 export class ResourceType {
63   static VF = 'VF';
64   static VL = 'VL';
65   static CP = 'CP';
66   static VFC = 'VFC';
67   static VFCMT = 'VFCMT';
68   static PNF = 'PNF';
69   static CVFC = 'CVFC';
70   static CONFIGURATION = 'Configuration';
71   static CR = 'CR';
72 }
73
74 export class SdcElementType {
75   static GROUP = 'GROUP';
76   static POLICY = 'POLICY';
77   static SERVICE_PROXY = 'ServiceProxy'
78 }
79
80 export class ComponentState {
81   static CERTIFICATION_IN_PROGRESS = 'CERTIFICATION_IN_PROGRESS';
82   static CERTIFIED = 'CERTIFIED';
83   static NOT_CERTIFIED_CHECKOUT = 'NOT_CERTIFIED_CHECKOUT';
84   static NOT_CERTIFIED_CHECKIN = 'NOT_CERTIFIED_CHECKIN';
85   static READY_FOR_CERTIFICATION = 'READY_FOR_CERTIFICATION';
86 }
87
88 export class DistributionStatus {
89   DISTRIBUTION_NOT_APPROVED = 'DISTRIBUTION_NOT_APPROVED';
90   DISTRIBUTION_APPROVED = 'DISTRIBUTION_APPROVED';
91   DISTRIBUTED = 'DISTRIBUTED';
92   DISTRIBUTION_REJECTED = 'DISTRIBUTION_REJECTED';
93 }
94
95 export class ArtifactGroupType {
96   static DEPLOYMENT = "DEPLOYMENT";
97   static INFORMATION = "INFORMATIONAL";
98   static SERVICE_API = "SERVICE_API";
99   static TOSCA = "TOSCA";
100 }
101
102 export class ArtifactType {
103
104   static DEPLOYMENT = "DEPLOYMENT";
105   static INFORMATION = "INFORMATIONAL";
106   static SERVICE_API = "SERVICE_API";
107   static HEAT_ENV = "HEAT_ENV";
108   static HEAT = "HEAT";
109   static HEAT_VOL = "HEAT_VOL";
110   static HEAT_NET = "HEAT_NET";
111   static VF_LICENSE = "VF_LICENSE";
112   static PM_DICTIONARY = "PM_DICTIONARY";
113   static VENDOR_LICENSE = "VENDOR_LICENSE";
114   static THIRD_PARTY_RESERVED_TYPES = {
115     WORKFLOW: "WORKFLOW",
116     NETWORK_CALL_FLOW: "NETWORK_CALL_FLOW",
117     AAI_SERVICE_MODEL: "AAI_SERVICE_MODEL",
118     AAI_VF_MODEL: "AAI_VF_MODEL",
119     AAI_VF_MODULE_MODEL: "AAI_VF_MODULE_MODEL",
120     AAI_VF_INSTANCE_MODEL: "AAI_VF_INSTANCE_MODEL"
121   };
122   static TOSCA = {TOSCA_TEMPLATE: "TOSCA_TEMPLATE", TOSCA_CSAR: "TOSCA_CSAR"};
123   static VES_EVENTS = "VES_EVENTS";
124 }
125
126 export class SEVERITY {
127   public static DEBUG = 'DEBUG';
128   public static INFO = 'INFO';
129   public static WARNING = 'WARNING';
130   public static ERROR = 'ERROR';
131 }
132
133 export class PROPERTY_TYPES {
134   public static STRING = 'string';
135   public static INTEGER = 'integer';
136   public static TIMESTAMP = 'timestamp';
137   public static FLOAT = 'float';
138   public static BOOLEAN = 'boolean';
139   public static JSON = 'json';
140   public static RANGE = 'range';
141   public static MAP = 'map';
142   public static LIST = 'list';
143   public static SCALAR = 'scalar-unit';
144   public static SCALAR_FREQUENCY = 'scalar-unit.frequency';
145   public static SCALAR_SIZE = 'scalar-unit.size';
146   public static SCALAR_TIME = 'scalar-unit.time';
147 }
148
149 export class SOURCES {
150   public static A_AND_AI = 'A&AI';
151   public static ORDER = 'Order';
152   public static RUNTIME = 'Runtime';
153 }
154
155 export class PROPERTY_DATA {
156   public static TYPES = [PROPERTY_TYPES.STRING, PROPERTY_TYPES.INTEGER, PROPERTY_TYPES.TIMESTAMP, PROPERTY_TYPES.FLOAT, PROPERTY_TYPES.BOOLEAN, PROPERTY_TYPES.JSON, PROPERTY_TYPES.SCALAR, PROPERTY_TYPES.SCALAR_FREQUENCY, PROPERTY_TYPES.SCALAR_SIZE, PROPERTY_TYPES.SCALAR_TIME, PROPERTY_TYPES.LIST, PROPERTY_TYPES.MAP, PROPERTY_TYPES.RANGE];
157   public static SIMPLE_TYPES = [PROPERTY_TYPES.STRING, PROPERTY_TYPES.INTEGER, PROPERTY_TYPES.TIMESTAMP, PROPERTY_TYPES.FLOAT, PROPERTY_TYPES.BOOLEAN, PROPERTY_TYPES.JSON, PROPERTY_TYPES.SCALAR, PROPERTY_TYPES.SCALAR_FREQUENCY, PROPERTY_TYPES.SCALAR_SIZE, PROPERTY_TYPES.SCALAR_TIME];
158   public static SIMPLE_TYPES_COMPARABLE = [PROPERTY_TYPES.STRING, PROPERTY_TYPES.INTEGER, PROPERTY_TYPES.FLOAT];
159   public static SCHEMA_TYPES = [PROPERTY_TYPES.LIST, PROPERTY_TYPES.MAP];
160   public static SCALAR_TYPES = [PROPERTY_TYPES.SCALAR, PROPERTY_TYPES.SCALAR_FREQUENCY, PROPERTY_TYPES.SCALAR_SIZE, PROPERTY_TYPES.SCALAR_TIME];
161   public static ROOT_DATA_TYPE = "tosca.datatypes.Root";
162   public static OPENECOMP_ROOT = "org.openecomp.datatypes.Root";
163   public static SUPPLEMENTAL_DATA = "supplemental_data";
164   public static SOURCES = [SOURCES.A_AND_AI, SOURCES.ORDER, SOURCES.RUNTIME];
165   public static COMPARABLE_TYPES = [PROPERTY_TYPES.STRING, PROPERTY_TYPES.INTEGER, PROPERTY_TYPES.FLOAT, PROPERTY_TYPES.TIMESTAMP, PROPERTY_TYPES.SCALAR, PROPERTY_TYPES.SCALAR_FREQUENCY, PROPERTY_TYPES.SCALAR_SIZE, PROPERTY_TYPES.SCALAR_TIME];
166 }
167
168 export class PROPERTY_VALUE_CONSTRAINTS {
169   public static MAX_LENGTH = 2500;
170   public static JSON_MAX_LENGTH = 4096;
171   public static NAME_MAX_LENGTH = 100;
172 }
173
174 export class Role {
175   public static ADMIN = 'ADMIN';
176   public static DESIGNER = 'DESIGNER';
177   public static TESTER = 'TESTER';
178   public static OPS = 'OPS';
179   public static GOVERNOR = 'GOVERNOR';
180 }
181
182 export enum FormState {
183   CREATE,
184   UPDATE,
185   IMPORT,
186   VIEW
187 }
188
189 export class instantiationType {
190   public static MACRO = 'Macro';
191   public static A_LA_CARTE = 'A-la-carte';
192 }
193
194 export class WorkspaceMode {
195   public static CREATE = 'create';
196   public static EDIT = 'edit';
197   public static IMPORT = 'import';
198   public static VIEW = 'view';
199 }
200
201 export class ImagesUrl {
202   public static RESOURCE_ICONS = '/assets/styles/images/resource-icons/';
203   public static SERVICE_ICONS = '/assets/styles/images/service-icons/';
204   public static SERVICE_PROXY_ICONS = '/assets/styles/images/service-proxy-icons/';
205   public static SELECTED_UCPE_INSTANCE = '/assets/styles/images/resource-icons/selectedUcpeInstance.png';
206   public static SELECTED_CP_INSTANCE = '/assets/styles/images/resource-icons/selectedCPInstance.png';
207   public static SELECTED_VL_INSTANCE = '/assets/styles/images/resource-icons/selectedVLInstance.png';
208   public static CANVAS_PLUS_ICON = '/assets/styles/images/resource-icons/canvasPlusIcon.png';
209   public static CANVAS_TAG_ICON = '/assets/styles/images/canvas-tagging-icons/indication.svg';
210   public static CANVAS_POLICY_TAGGED_ICON = '/assets/styles/images/canvas-tagging-icons/policy_added.svg';
211   public static CANVAS_GROUP_TAGGED_ICON = '/assets/styles/images/canvas-tagging-icons/group_added.svg';
212   public static MODULE_ICON = '/assets/styles/images/resource-icons/module.png';
213   public static OPEN_MODULE_ICON = '/assets/styles/images/resource-icons/openModule.png';
214   public static OPEN_MODULE_HOVER_ICON = '/assets/styles/images/resource-icons/openModuleHover.png';
215   public static CLOSE_MODULE_ICON = '/assets/styles/images/resource-icons/closeModule.png';
216   public static CLOSE_MODULE_HOVER_ICON = '/assets/styles/images/resource-icons/closeModuleHover.png';
217 }
218
219
220 export class CanvasHandleTypes {
221   public static ADD_EDGE = 'add-edge';
222   public static TAG_AVAILABLE = 'tag-available';
223   public static TAGGED_POLICY = 'tagged-policy';
224   public static TAGGED_GROUP = 'tagged-group';
225 }
226
227 export class ModalType {
228   static STANDARD = 'standard';
229   static ERROR = 'error';
230   static ALERT = 'alert';
231 }
232
233 export class ServerErrors {
234   static ERROR_TITLE = 'Error';
235   static DEFAULT_ERROR = 'Error getting response from server';
236   static MESSAGE_ERROR = 'Wrong error format from server';
237   static DOWNLOAD_ERROR = 'Download error';
238 }
239
240 export class GraphColors {
241   public static NOT_CERTIFIED_LINK = 'rgb(218,31,61)';
242   public static VL_LINK = 'rgb(216,216,216)';
243   public static ACTIVE_LINK = '#30bdf2';
244   public static BASE_LINK = 'rgb(55,55,55)';
245   public static NODE_BACKGROUND_COLOR = 'rgba(46, 162, 157, 0.24)';
246   public static NODE_SHADOW_COLOR = 'rgba(198, 230, 228, 0.7)';
247   public static NODE_OVERLAPPING_BACKGROUND_COLOR = 'rgba(179, 10, 60, 0.24)';
248   public static NODE_OVERLAPPING_SHADOW_COLOR = 'rgba(236, 194, 206, 0.7)';
249   public static NODE_UCPE_CP = '#9063cd';
250   public static NODE_UCPE = '#fbfbfb';
251   public static NODE_SELECTED_BORDER_COLOR = '#30bdf2';
252   public static SERVICE_PATH_LINK = '#70208a';
253 }
254
255 export class GraphTransactionLogText {
256   public static REMOVE_TEMP_LINK = "remove tempLink";
257   public static DELETE_LINK = "delete link";
258   public static ADD_LINK = "delete link";
259   public static ADD_NODE = "adding node";
260 }
261
262 export class GraphUIObjects {
263   public static HANDLE_SIZE = 18;
264   public static NODE_OVERLAP_MIN_SIZE = 30;
265   public static DEFAULT_RESOURCE_WIDTH = 65;
266   public static SMALL_RESOURCE_WIDTH = 21;
267   public static LINK_MENU_HEIGHT = 420;
268   public static TOP_HEADER_HEIGHT = 200;
269   public static TOOLTIP_OFFSET_X = 50;
270   public static TOOLTIP_OFFSET_Y = 145;
271   public static TOOLTIP_LINK_OFFSET_X = 35;
272   public static TOOLTIP_LINK_OFFSET_Y = 75;
273   public static MENU_LINK_VL_HEIGHT_OFFSET = 250;
274   public static MENU_LINK_VL_WIDTH_OFFSET = 200;
275   public static MENU_LINK_SIMPLE_HEIGHT_OFFSET = 180;
276   public static MENU_LINK_SIMPLE_WIDTH_OFFSET = 130;
277   public static DIAGRAM_RIGHT_WIDTH_OFFSET = 248;
278   public static DIAGRAM_HEADER_OFFSET = 103;
279   public static DIAGRAM_PALETTE_WIDTH_OFFSET = 247;
280   // public static COMPOSITION_HEADER_OFFSET = 50;
281   // public static COMPOSITION_NODE_MENU_WIDTH = 230;
282   // public static COMPOSITION_NODE_MENU_HEIGHT = 200;
283   // public static COMPOSITION_RIGHT_PANEL_OFFSET = 300;
284 }
285
286
287 export class States {
288   public static WORKSPACE = 'workspace';
289   public static WORKSPACE_GENERAL = 'workspace.general';
290   public static WORKSPACE_ACTIVITY_LOG = 'workspace.activity_log';
291   public static WORKSPACE_DEPLOYMENT_ARTIFACTS = 'workspace.deployment_artifacts';
292   public static WORKSPACE_PROPERTIES = 'workspace.properties';
293   public static WORKSPACE_SERVICE_INPUTS = 'workspace.service_inputs';
294   public static WORKSPACE_RESOURCE_INPUTS = 'workspace.resource_inputs';
295   public static WORKSPACE_ATTRIBUTES = 'workspace.attributes';
296   public static WORKSPACE_ATTRIBUTES_OUTPUTS = 'workspace.attributes_outputs';
297   public static WORKSPACE_INFORMATION_ARTIFACTS = 'workspace.information_artifacts';
298   public static WORKSPACE_TOSCA_ARTIFACTS = 'workspace.tosca_artifacts';
299   public static WORKSPACE_COMPOSITION = 'workspace.composition';
300   public static WORKSPACE_INTERFACE_OPERATION = 'workspace.interface_operation';
301   public static WORKSPACE_INTERFACE_DEFINITION = 'workspace.interface-definition';
302   public static WORKSPACE_NETWORK_CALL_FLOW = 'workspace.network_call_flow';
303   public static WORKSPACE_MANAGEMENT_WORKFLOW = 'workspace.management_workflow';
304   public static WORKSPACE_DEPLOYMENT = 'workspace.deployment';
305   public static WORKSPACE_DISTRIBUTION = 'workspace.distribution';
306   public static WORKSPACE_PROPERTIES_ASSIGNMENT = 'workspace.properties_assignment';
307   public static WORKSPACE_REQUIREMENTS_AND_CAPABILITIES = 'workspace.reqAndCap';
308   public static WORKSPACE_REQUIREMENTS_AND_CAPABILITIES_EDITABLE = 'workspace.reqAndCapEditable';
309   public static WORKSPACE_PLUGINS = 'workspace.plugins';
310   public static WORKSPACE_NG2 = 'workspace.ng2';
311   public static TYPE_WORKSPACE = 'type-workspace';
312 }
313
314 export class EVENTS {
315   static LEFT_PALETTE_UPDATE_EVENT = "leftPanelUpdateEvent";
316   static ON_CSAR_LOADING = "onCsarLoading";
317   static DOWNLOAD_ARTIFACT_FINISH_EVENT = "downloadArtifactFinishEvent";
318   static ON_WORKSPACE_SAVE_BUTTON_CLICK = "onWorkspaceSaveButtonClick";
319   static ON_WORKSPACE_SAVE_BUTTON_SUCCESS = "onWorkspaceSaveButtonSuccess";
320   static ON_WORKSPACE_SAVE_BUTTON_ERROR = "onWorkspaceSaveButtonError";
321   static ON_WORKSPACE_UNSAVED_CHANGES = "onWorkspaceUnsavedChanges";
322   static ON_CHECKOUT = "onCheckout";
323   static ON_LIFECYCLE_CHANGE_WITH_SAVE = "onLifecycleChangeWithSave";
324   static ON_LIFECYCLE_CHANGE = "onCheckout";
325
326   //Loader events
327   static SHOW_LOADER_EVENT = "showLoaderEvent";
328   static HIDE_LOADER_EVENT = "hideLoaderEvent";
329   static UPDATE_PANEL = 'updatePanel';
330   static ON_DISTRIBUTION_SUCCESS = 'onDistributionSuccess';
331 }
332
333
334 export class UNIQUE_GROUP_PROPERTIES_NAME {
335   public static MIN_VF_MODULE_INSTANCES = 'min_vf_module_instances';
336   public static MAX_VF_MODULE_INSTANCES = 'max_vf_module_instances';
337   public static INITIAL_COUNT = 'initial_count';
338   public static IS_BASE = 'isBase';
339   public static VF_MODULE_TYPE = 'vf_module_type';
340   public static VF_MODULE_LABEL = 'vf_module_label';
341   public static VF_MODULE_DESCRIPTION = 'vf_module_description';
342   public static VOLUME_GROUP = 'volume_group';
343 }
344
345
346 export class GRAPH_EVENTS {
347   static ON_COMPOSITION_GRAPH_DATA_LOADED = 'onCompositionGraphDataLoaded';
348   static ON_DEPLOYMENT_GRAPH_DATA_LOADED = 'onDeploymentGraphDataLoaded';
349   static ON_NODE_SELECTED = "onNodeSelected";
350   static ON_ZONE_INSTANCE_SELECTED = "onZoneInstanceSelected";
351   static ON_GRAPH_BACKGROUND_CLICKED = "onGraphBackgroundClicked";
352   static ON_PALETTE_COMPONENT_DRAG_START = 'onPaletteComponentDragStart';
353   static ON_PALETTE_COMPONENT_DRAG_ACTION = 'onPaletteComponentDragAction';
354   static ON_PALETTE_COMPONENT_DROP = 'onPaletteComponentDrop';
355   static ON_COMPONENT_INSTANCE_NAME_CHANGED = 'onComponentInstanceNameChanged';
356   static ON_COMPONENT_INSTANCE_REQUIREMENT_EXTERNAL_CHANGED = 'onComponentInstanceRequirementExternalChanged'
357   static ON_COMPONENT_INSTANCE_CAPABILITY_EXTERNAL_CHANGED = 'onComponentInstanceCapabilityExternalChanged'
358   static ON_ZONE_INSTANCE_NAME_CHANGED = 'onZoneInstanceNameChanged';
359   static ON_DELETE_COMPONENT_INSTANCE = 'onDeleteComponentInstance';
360   static ON_DELETE_ZONE_INSTANCE = 'onDeleteZoneInstance';
361   static ON_DELETE_COMPONENT_INSTANCE_SUCCESS = 'onDeleteComponentInstanceSuccess';
362   static ON_DELETE_EDGE = 'onDeleteEdge';
363   static ON_INSERT_NODE_TO_UCPE = 'onInsertNodeToUCPE';
364   static ON_REMOVE_NODE_FROM_UCPE = 'onRemoveNodeFromUCPE';
365   static ON_VERSION_CHANGED = 'onVersionChanged';
366   static ON_CREATE_COMPONENT_INSTANCE = 'onCreateComponentInstance';
367   static ON_ADD_ZONE_INSTANCE_FROM_PALETTE = 'onAddZoneInstanceFromPalette';
368   static ON_CANVAS_TAG_START = 'onCanvasTagStart';
369   static ON_CANVAS_TAG_END = 'onCanvasTagEnd';
370   static ON_POLICY_INSTANCE_UPDATE = 'onPolicyInstanceUpdate';
371   static ON_GROUP_INSTANCE_UPDATE = 'onGroupInstanceUpdate';
372   static ON_SERVICE_PATH_CREATED = 'onServicePathCreated';
373 }
374
375 export class DEPENDENCY_EVENTS {
376   static ON_DEPENDENCY_CHANGE = 'onDependencyStatusChange';
377 }
378
379 export class SUBSTITUTION_FILTER_EVENTS {
380   static ON_SUBSTITUTION_FILTER_CHANGE = 'onSubstitutionFilterChange';
381 }
382
383
384 export class COMPONENT_FIELDS {
385   static COMPONENT_INSTANCES_PROPERTIES = "componentInstancesProperties";
386   static COMPONENT_INSTANCES_INPUTS = "componentInstancesInputs";
387   static COMPONENT_INSTANCES_ATTRIBUTES = "componentInstancesAttributes";
388   static COMPONENT_INSTANCES_OUTPUTS = "componentInstancesOutputs";
389   static COMPONENT_ATTRIBUTES = "attributes";
390   static COMPONENT_INSTANCES = "componentInstances";
391   static COMPONENT_INSTANCES_RELATION = "componentInstancesRelations";
392   static COMPONENT_INPUTS = "inputs";
393   static COMPONENT_OUTPUTS = "outputs";
394   static COMPONENT_METADATA = "metadata";
395   static COMPONENT_DEPLOYMENT_ARTIFACTS = "deploymentArtifacts";
396   static COMPONENT_INFORMATIONAL_ARTIFACTS = "artifacts";
397   static COMPONENT_PROPERTIES = "properties";
398   static COMPONENT_CAPABILITIES = "capabilities";
399   static COMPONENT_CAPABILITIES_PROPERTIES = "instanceCapabiltyProperties";
400   static COMPONENT_REQUIREMENTS = "requirements";
401   static COMPONENT_TOSCA_ARTIFACTS = "toscaArtifacts";
402   static COMPONENT_POLICIES = "policies";
403   static COMPONENT_GROUPS = "groups";
404   static COMPONENT_INTERFACE_OPERATIONS = "interfaces";
405   static COMPONENT_INSTANCES_INTERFACES = "componentInstancesInterfaces";
406   static COMPONENT_NON_EXCLUDED_GROUPS = "nonExcludedGroups";
407   static COMPONENT_NON_EXCLUDED_POLICIES = "nonExcludedPolicies";
408   static FORWARDING_PATHS = "forwardingPaths";
409   static SERVICE_API_ARTIFACT = "serviceApiArtifacts";
410 }
411
412 export class SERVICE_FIELDS {
413   static FORWARDING_PATHS = "forwardingPaths";
414   static NODE_FILTER = "nodeFilter";
415   static SUBSTITUTION_FILTER = "substitutionFilter";
416 }
417
418 export class API_QUERY_PARAMS {
419   static INCLUDE = "include";
420 }
421
422 export enum TargetOrMemberType {
423   COMPONENT_INSTANCES,
424   GROUPS
425 }
426
427 export class CANVAS_TAG_MODE {
428   static POLICY_TAGGING = "policy-tagging";
429   static POLICY_TAGGING_HOVER = "policy-tagging-hover";
430   static GROUP_TAGGING = "group-tagging";
431   static GROUP_TAGGING_HOVER = "group-tagging-hover";
432 }
433
434 export class DROPDOWN_OPTION_TYPE {
435   static SIMPLE = "Simple";
436   static HEADER = "Header";
437   static DISABLE = "Disable";
438   static HORIZONTAL_LINE = "HorizontalLine";
439 }