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