diff options
Diffstat (limited to 'catalog-ui/app/scripts/app.ts')
-rw-r--r-- | catalog-ui/app/scripts/app.ts | 936 |
1 files changed, 0 insertions, 936 deletions
diff --git a/catalog-ui/app/scripts/app.ts b/catalog-ui/app/scripts/app.ts deleted file mode 100644 index 513810595b..0000000000 --- a/catalog-ui/app/scripts/app.ts +++ /dev/null @@ -1,936 +0,0 @@ -/*- - * ============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========================================================= - */ -/// <reference path="./references"/> -/* - SD&C Web Portal Wireframes – Designer Home Page and Create New Service Flow - */ -//libraries variables to prevent compile errors -declare let jsPDF:any; - -module Sdc { - import User = Sdc.Models.User; - import UserResourceService = Sdc.Services.UserResourceService; - - 'use strict'; - import Resource = Sdc.Models.Components.Resource; - let moduleName:string = 'sdcApp'; - let viewModelsModuleName:string = 'Sdc.ViewModels'; - let directivesModuleName:string = 'Sdc.Directives'; - let servicesModuleName:string = 'Sdc.Services'; - let filtersModuleName:string = 'Sdc.Filters'; - let utilsModuleName: string = 'Sdc.Utils'; - let dependentModules:Array<string> = [ - 'ui.router', - 'ui.bootstrap', - 'ngDragDrop', - 'ui-notification', - 'ngResource', - 'ngSanitize', - 'Sdc.Config', - 'naif.base64', - 'base64', - 'uuid4', - 'checklist-model', - 'angular.filter', - 'pascalprecht.translate', - '720kb.tooltips', - 'restangular', - 'angular-clipboard', - 'angularResizable', - 'infinite-scroll', - viewModelsModuleName, - directivesModuleName, - servicesModuleName, - filtersModuleName, - utilsModuleName - ]; - - let appModule:ng.IModule = angular.module(moduleName, dependentModules); - - appModule.config([ - '$stateProvider', - '$translateProvider', - '$urlRouterProvider', - '$httpProvider', - 'tooltipsConfigProvider', - 'NotificationProvider', - ($stateProvider:any, - $translateProvider:any, - $urlRouterProvider:ng.ui.IUrlRouterProvider, - $httpProvider:ng.IHttpProvider, - tooltipsConfigProvider:any, - NotificationProvider:any):void => { - - NotificationProvider.setOptions({ - delay: 10000, - startTop: 10, - startRight: 10, - closeOnClick: true, - verticalSpacing: 20, - horizontalSpacing: 20, - positionX: 'right', - positionY: 'top' - }); - - let viewModelsHtmlBasePath:string = '/app/scripts/view-models/'; - console.info('appModule.config: ', viewModelsHtmlBasePath); - - $translateProvider.useStaticFilesLoader({ - prefix: 'languages/', - langKey: '', - suffix: '.json?d=' + (new Date()).getTime() - }); - $translateProvider.useSanitizeValueStrategy('escaped'); - $translateProvider.preferredLanguage('en_US_OS'); // For open source changed to en_US_OS - - $httpProvider.interceptors.push('Sdc.Services.HeaderInterceptor'); - $httpProvider.interceptors.push('Sdc.Services.HttpErrorInterceptor'); - - $urlRouterProvider.otherwise('welcome'); - - $stateProvider.state( - 'dashboard', { - url: '/dashboard?show&folder', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'dashboard/dashboard-view.html'); - }], - controller: viewModelsModuleName + '.DashboardViewModel', - - } - ); - - $stateProvider.state( - 'welcome', { - url: '/welcome', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'welcome/welcome-view.html'); - }], - controller: viewModelsModuleName + '.WelcomeViewModel' - } - ); - - $stateProvider.state( - 'dashboard.cover', { - url: '/cover', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'dashboard/cover/dashboard-cover-view.html'); - }], - controller: viewModelsModuleName + '.DashboardCoverViewModel' - } - ); - - $stateProvider.state( - 'dashboard.tutorial-end', { - url: '/tutorial-end', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'tutorial-end/tutorial-end.html'); - }], - controller: viewModelsModuleName + '.TutorialEndViewModel' - } - ); - - $stateProvider.state( - 'additionalInformation', { - url: '/additionalInformation', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'additional-information/additional-information-view.html'); - }], - controller: viewModelsModuleName + '.AdditionalInformationViewModel' - } - ); - - let componentsParam:Array<any> = ['$stateParams', 'Sdc.Services.EntityService','Sdc.Services.CacheService' , ($stateParams:any, EntityService:Sdc.Services.EntityService, cacheService:Services.CacheService) => { - if(cacheService.get('breadcrumbsComponents')){ - return cacheService.get('breadcrumbsComponents'); - } else { - return EntityService.getCatalog(); //getAllComponents() doesnt return components from catalog - } - }]; - - - $stateProvider.state ( - 'workspace', { - url: '/workspace/:id/:type/', - params: {'importedFile':null,'componentCsar':null,'resourceType': null, 'disableButtons': null}, //'vspComponent': null, - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/workspace-view.html'); - }], - controller: viewModelsModuleName + '.WorkspaceViewModel', - resolve: { - injectComponent: ['$stateParams', 'ComponentFactory' , function ($stateParams, ComponentFactory) { - /* - if($stateParams.vspComponent){ - return $stateParams.vspComponent; - } else - */ - if($stateParams.id){ - return ComponentFactory.getComponentFromServer($stateParams.type.toUpperCase(), $stateParams.id); - } else if ($stateParams.componentCsar && $stateParams.componentCsar.csarUUID) { - return $stateParams.componentCsar; - } else { - let emptyComponent = ComponentFactory.createEmptyComponent($stateParams.type.toUpperCase()); - if (emptyComponent.isResource() && $stateParams.resourceType){ - // Set the resource type - (<Resource>emptyComponent).resourceType = $stateParams.resourceType; - } - if($stateParams.importedFile){ - (<Models.Components.Resource>emptyComponent).importedFile = $stateParams.importedFile; - } - return emptyComponent; - } - }], - components: componentsParam - } - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_GENERAL, { - url: 'general', - parent: 'workspace', - controller: viewModelsModuleName + '.GeneralViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/general/general-view.html'); - }], - data: {unsavedChanges:false,bodyClass:'general'} - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_ICONS, { - url: 'icons', - parent: 'workspace', - controller: viewModelsModuleName + '.IconsViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/icons/icons-view.html'); - }], - data: {unsavedChanges:false,bodyClass:'icons'} - - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_ACTIVITY_LOG, { - url: 'activity_log', - parent: 'workspace', - controller: viewModelsModuleName + '.ActivityLogViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/activity-log/activity-log.html'); - }], - data: {unsavedChanges:false} - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_DEPLOYMENT_ARTIFACTS, { - url: 'deployment_artifacts', - parent: 'workspace', - controller: viewModelsModuleName + '.DeploymentArtifactsViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/deployment-artifacts/deployment-artifacts-view.html'); - }], - data:{ - bodyClass:'deployment_artifacts' - } - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_HIERARCHY, { - url: 'hierarchy', - parent: 'workspace', - controller: viewModelsModuleName + '.ProductHierarchyViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/product-hierarchy/product-hierarchy-view.html'); - }] - - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_INFORMATION_ARTIFACTS, { - url: 'information_artifacts', - parent: 'workspace', - controller: viewModelsModuleName + '.InformationArtifactsViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/information-artifacts/information-artifacts-view.html'); - }], - data:{ - bodyClass:'information_artifacts' - } - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_TOSCA_ARTIFACTS, { - url: 'tosca_artifacts', - parent: 'workspace', - controller: viewModelsModuleName + '.ToscaArtifactsViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/tosca-artifacts/tosca-artifacts-view.html'); - }], - data:{ - bodyClass:'tosca_artifacts' - } - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_PROPERTIES, { - url: 'properties', - parent: 'workspace', - controller: viewModelsModuleName + '.PropertiesViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/properties/properties-view.html'); - }], - data:{ - bodyClass:'properties' - } - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_SERVICE_INPUTS, { - url: 'service_inputs', - parent: 'workspace', - controller: viewModelsModuleName + '.ServiceInputsViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/inputs/service-input/service-inputs-view.html'); - }], - data:{ - bodyClass:'workspace-inputs' - } - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_RESOURCE_INPUTS, { - url: 'resource_inputs', - parent: 'workspace', - controller: viewModelsModuleName + '.ResourceInputsViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/inputs/resource-input/resource-inputs-view.html'); - }], - data:{ - bodyClass:'workspace-inputs' - } - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_ATTRIBUTES, { - url: 'attributes', - parent: 'workspace', - controller: viewModelsModuleName + '.AttributesViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/attributes/attributes-view.html'); - }], - data:{ - bodyClass:'attributes' - } - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_REQUIREMENTS_AND_CAPABILITIES, { - url: 'req_and_capabilities', - parent: 'workspace', - controller: viewModelsModuleName + '.ReqAndCapabilitiesViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/req-and-capabilities/req-and-capabilities-view.html'); - }], - data:{ - bodyClass:'attributes' - } - } - ); - - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_MANAGEMENT_WORKFLOW, { - parent: 'workspace', - url: 'management_workflow', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/management-workflow/management-workflow-view.html'); - }], - controller: viewModelsModuleName + '.ManagementWorkflowViewModel' - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_NETWORK_CALL_FLOW, { - parent: 'workspace', - url: 'network_call_flow', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/network-call-flow/network-call-flow-view.html'); - }], - controller: viewModelsModuleName + '.NetworkCallFlowViewModel' - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_DISTRIBUTION, { - parent: 'workspace', - url: 'distribution', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/distribution/distribution-view.html'); - }], - controller: viewModelsModuleName + '.DistributionViewModel' - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_COMPOSITION, { - url: 'composition/', - parent: 'workspace', - controller: viewModelsModuleName + '.CompositionViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/composition/composition-view.html'); - }], - data:{ - bodyClass:'composition' - } - } - ); - - $stateProvider.state( - Utils.Constants.States.WORKSPACE_DEPLOYMENT, { - url: 'deployment/', - parent: 'workspace', - controller: viewModelsModuleName + '.DeploymentViewModel', - templateProvider: ['$templateCache', ($templateCache:ng.ITemplateCacheService):string => { - - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/deployment/deployment-view.html'); - }], - data:{ - bodyClass:'composition' - } - } - ); - - $stateProvider.state( - 'workspace.composition.details', { - url: 'details', - parent: 'workspace.composition', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/composition/tabs/details/details-view.html'); - }], - controller: viewModelsModuleName + '.DetailsViewModel' - } - ); - - $stateProvider.state( - 'workspace.composition.properties', { - url: 'properties', - parent: 'workspace.composition', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/composition/tabs/properties-and-attributes/properties-view.html'); - }], - controller: viewModelsModuleName + '.ResourcePropertiesViewModel' - } - ); - - $stateProvider.state( - 'workspace.composition.artifacts', { - url: 'artifacts', - parent: 'workspace.composition', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/composition/tabs/artifacts/artifacts-view.html'); - }], - controller: viewModelsModuleName + '.ResourceArtifactsViewModel' - } - ); - - $stateProvider.state( - 'workspace.composition.relations', { - url: 'relations', - parent: 'workspace.composition', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/composition/tabs/relations/relations-view.html'); - }], - controller: viewModelsModuleName + '.RelationsViewModel' - } - ); - - $stateProvider.state( - 'workspace.composition.relationships', { - url: 'relationships', - parent: 'workspace.composition', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'resource-relationships/resource-relationships-view.html'); - }], - controller: viewModelsModuleName + '.ResourceRelationshipsViewModel' - } - ); - - $stateProvider.state( - 'workspace.composition.structure', { - url: 'structure', - parent: 'workspace.composition', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/composition/tabs/structure/structure-view.html'); - }], - controller: viewModelsModuleName + '.StructureViewModel' - } - ); - $stateProvider.state( - 'workspace.composition.lifecycle', { - url: 'lifecycle', - parent: 'workspace.composition', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/composition/tabs/artifacts/artifacts-view.html'); - }], - controller: viewModelsModuleName + '.ResourceArtifactsViewModel' - } - ); - - $stateProvider.state( - 'workspace.composition.api', { - url: 'api', - parent: 'workspace.composition', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/composition/tabs/artifacts/artifacts-view.html'); - }], - controller: viewModelsModuleName + '.ResourceArtifactsViewModel' - } - ); - $stateProvider.state( - 'workspace.composition.deployment', { - url: 'deployment', - parent: 'workspace.composition', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'workspace/tabs/composition/tabs/artifacts/artifacts-view.html'); - }], - controller: viewModelsModuleName + '.ResourceArtifactsViewModel' - } - ); - - $stateProvider.state( - 'edit-resource', { - url: '/edit-resource/:id', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'entity-handler/resource-form/resource-form-view.html'); - }], - controller: viewModelsModuleName + '.ResourceFormViewModel' - } - ); - - $stateProvider.state( - 'edit-product', { - url: '/edit-product/:id', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'entity-handler/product-form/product-form-view.html'); - }], - controller: viewModelsModuleName + '.ProductFormViewModel' - } - ); - - $stateProvider.state( - 'adminDashboard', { - url: '/adminDashboard', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'admin-dashboard/admin-dashboard-view.html'); - }], - controller: viewModelsModuleName + '.AdminDashboardViewModel', - permissions: ['ADMIN'] - } - ); - - $stateProvider.state( - 'onboardVendor', { - url: '/onboardVendor', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'onboard-vendor/onboard-vendor-view.html'); - }], - controller: viewModelsModuleName + '.OnboardVendorViewModel'//, - //resolve: { - // auth: ["$q", "Sdc.Services.UserResourceService", function ($q:any, userResourceService:Sdc.Services.IUserResourceClass) { - // let userInfo:Sdc.Services.IUserResource = userResourceService.getLoggedinUser(); - // if (userInfo) { - // return $q.when(userInfo); - // } else { - // return $q.reject({authenticated: false}); - // } - // }] - //} - } - ); - - $stateProvider.state( - 'catalog', { - url: '/catalog', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'catalog/catalog-view.html'); - }], - controller: viewModelsModuleName + '.CatalogViewModel', - resolve: { - auth: ["$q", "Sdc.Services.UserResourceService", function ($q:any, userResourceService:Sdc.Services.IUserResourceClass) { - let userInfo:Sdc.Services.IUserResource = userResourceService.getLoggedinUser(); - if (userInfo) { - return $q.when(userInfo); - } else { - return $q.reject({authenticated: false}); - } - }] - } - } - ); - - $stateProvider.state( - 'distribution', { - url: '/distribution', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'distribution/distribution-view.html'); - }], - controller: viewModelsModuleName + '.DistributionViewModel' - } - ); - - $stateProvider.state( - 'support', { - url: '/support', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'support/support-view.html'); - }], - controller: viewModelsModuleName + '.SupportViewModel' - } - ); - - $stateProvider.state( - 'error-403', { - url: '/error-403', - templateProvider: ['$templateCache', ($templateCache):string => { - return $templateCache.get(viewModelsHtmlBasePath + 'modals/error-modal/error-403-view.html'); - }], - controller: viewModelsModuleName + '.ErrorViewModel' - } - ); - - tooltipsConfigProvider.options({ - - side:'bottom', - delay: '600', - class: 'tooltip-custom', - lazy:0, - try:0 - - }); - - } - ]) - .run(['AngularJSBridge', (AngularJSBridge)=>{ - - }]); - appModule.value('ValidationPattern', /^[\s\w\&_.:-]{1,1024}$/); - appModule.value('PropertyNameValidationPattern', /^[a-zA-Z0-9_:-]{1,50}$/);// DE210977 - appModule.value('TagValidationPattern', /^[\s\w_.-]{1,50}$/); - // appModule.value('VendorValidationPattern', /^[^?\\<>:"/|*]{1,25}$/); - appModule.value('VendorValidationPattern', /^[\x20-\x21\x23-\x29\x2B-\x2E\x30-\x39\x3B\x3D\x40-\x5B\x5D-\x7B\x7D-\xFF]{1,25}$/); - appModule.value('ContactIdValidationPattern', /^[\s\w-]{1,50}$/); - appModule.value('UserIdValidationPattern',/^[\s\w-]{1,50}$/); - appModule.value('ProjectCodeValidationPattern', /^[\s\w-]{1,50}$/); - appModule.value('LabelValidationPattern', /^[\sa-zA-Z0-9+-]{1,25}$/); - appModule.value('UrlValidationPattern', /^(https?|ftp):\/\/(((([A-Za-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([A-Za-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([A-Za-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([A-Za-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([A-Za-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([A-Za-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([A-Za-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([A-Za-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([A-Za-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([A-Za-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([A-Za-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([A-Za-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/); - appModule.value('IntegerValidationPattern', /^(([-+]?\d+)|([-+]?0x[0-9a-fA-F]+))$/); - appModule.value('IntegerNoLeadingZeroValidationPattern', /^(0|[-+]?[1-9][0-9]*|[-+]?0x[0-9a-fA-F]+|[-+]?0o[0-7]+)$/); - appModule.value('FloatValidationPattern', /^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?f?$/); - appModule.value('NumberValidationPattern', /^((([-+]?\d+)|([-+]?0x[0-9a-fA-F]+))|([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?))$/); - appModule.value('KeyValidationPattern', /^[\s\w-]{1,50}$/); - appModule.value('CommentValidationPattern', /^[\u0000-\u00BF]*$/); - appModule.value('BooleanValidationPattern', /^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$/); - - - appModule.run([ - '$http', - 'Sdc.Services.CacheService', - 'Sdc.Services.CookieService', - 'Sdc.Services.ConfigurationUiService', - 'Sdc.Services.UserResourceService', - 'Sdc.Services.CategoryResourceService', - 'Sdc.Services.SdcVersionService', - '$state', - '$rootScope', - '$location', - 'sdcConfig', - 'sdcMenu', - 'ModalsHandler', - 'Sdc.Services.EcompHeaderService', - 'LeftPaletteLoaderService', - ($http:ng.IHttpService, - cacheService:Services.CacheService, - cookieService:Services.CookieService, - ConfigurationUi:Services.ConfigurationUiService, - UserResourceClass:Services.IUserResourceClass, - categoryResourceService:Sdc.Services.ICategoryResourceClass, - sdcVersionService:Services.SdcVersionService, - $state:ng.ui.IStateService, - $rootScope:ng.IRootScopeService, - $location: ng.ILocationService, - sdcConfig: Models.IAppConfigurtaion, - sdcMenu: Models.IAppMenu, - ModalsHandler:Utils.ModalsHandler, - ecompHeaderService:Sdc.Services.EcompHeaderService, - LeftPaletteLoaderService:Services.Components.LeftPaletteLoaderService - ):void => { - - //handle cache data - version - let initSdcVersion:Function = ():void => { - - let onFailed = (response) => { - console.info('onFailed initSdcVersion', response); - cacheService.set('version', 'N/A'); - }; - - let onSuccess = (version:any) => { - console.log("Version returned from server: " + version); - let tmpVerArray = version.version.split("."); - let ver = tmpVerArray[0] + "." + tmpVerArray[1] + "." + tmpVerArray[2]; - cacheService.set('version', ver); - }; - - sdcVersionService.getVersion().then(onSuccess, onFailed); - - }; - - let initEcompMenu:Function = (user):void => { - ecompHeaderService.getMenuItems(user.userId).then((data)=> { - $rootScope['menuItems'] = data; - }); - }; - - let initConfigurationUi:Function = ():void => { - ConfigurationUi - .getConfigurationUi() - .then((configurationUi:any) => { - cacheService.set('UIConfiguration', configurationUi); - }); - }; - - let initCategories:Function = ():void => { - let onError = ():void => { - console.log('Failed to init categories'); - }; - - categoryResourceService.getAllCategories({types: 'services'}, (categories:Array<Models.IMainCategory>):void => { - cacheService.set('serviceCategories', categories); - }, onError); - - categoryResourceService.getAllCategories({types: 'resources'}, (categories:Array<Models.IMainCategory>):void => { - cacheService.set('resourceCategories', categories); - }, onError); - - categoryResourceService.getAllCategories({types: 'products'}, (categories:Array<Models.IMainCategory>):void => { - cacheService.set('productCategories', categories); - }, onError); - }; - - let initBaseUrl:Function = ():void => { - let env:string = sdcConfig.environment; - let baseUrl:string = $location.absUrl(); - console.log("baseUrl="+baseUrl); - - if(baseUrl) { - sdcConfig.api.baseUrl = baseUrl; - - if(env==='prod'){ - //let tempUrl = $location.absUrl().split('/sdc1/'); - var mainUrl = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: ''); - console.log("mainUrl="+mainUrl); - sdcConfig.api.root = mainUrl + sdcConfig.api.root; - console.log("sdcConfig.api.root="+sdcConfig.api.root); - } - } - }; - - let initLeftPalette:Function = ():void => { - LeftPaletteLoaderService.loadLeftPanel(); - }; - - //handle http config - $http.defaults.withCredentials = true; - $http.defaults.headers.common[cookieService.getUserIdSuffix()] = cookieService.getUserId(); - - initBaseUrl(); - initSdcVersion(); - initConfigurationUi(); - Utils.Constants.IMAGE_PATH = sdcConfig.imagesPath; - initLeftPalette(); - - //handle stateChangeStart - let internalDeregisterStateChangeStartWatcher:Function = ():void => { - if (deregisterStateChangeStartWatcher) { - deregisterStateChangeStartWatcher(); - deregisterStateChangeStartWatcher = null; - } - }; - - let removeLoader:Function = ():void => { - $(".sdc-loading-page .main-loader").addClass("animated fadeOut"); - $(".sdc-loading-page .caption1").addClass("animated fadeOut"); - $(".sdc-loading-page .caption2").addClass("animated fadeOut"); - window.setTimeout(():void=>{ - $(".sdc-loading-page .main-loader").css("display", "none"); - $(".sdc-loading-page .caption1").css("display", "none"); - $(".sdc-loading-page .caption2").css("display", "none"); - $(".sdc-loading-page").addClass("animated fadeOut"); - },1000); - }; - - let onNavigateOut:Function = (toState, toParams):void => { - let onOk = ():void => { - $state.current.data.unsavedChanges = false; - $state.go(toState.name, toParams); - }; - - let data = sdcMenu.alertMessages.exitWithoutSaving; - //open notify to user if changes are not saved - ModalsHandler.openAlertModal(data.title, data.message).then(onOk); - }; - - let onStateChangeStart:Function = (event, toState, toParams, fromState, fromParams):void => { - console.info((new Date()).getTime()); - console.info('$stateChangeStart', toState.name); - //set body class - $rootScope['bodyClass'] = 'default-class'; - if(toState.data && toState.data.bodyClass){ - $rootScope['bodyClass'] = toState.data.bodyClass; - } - - // Workaround in case we are entering other state then workspace (user move to catalog) - // remove the changeComponentCsarVersion, user should open again the VSP list and select one for update. - if (toState.name.indexOf('workspace') === -1) { - if (cacheService.contains(Utils.Constants.CHANGE_COMPONENT_CSAR_VERSION_FLAG)){ - cacheService.remove(Utils.Constants.CHANGE_COMPONENT_CSAR_VERSION_FLAG); - } - } - - //saving last state to params , for breadcrumbs - if (['dashboard', 'catalog', 'onboardVendor'].indexOf(fromState.name) > -1) { - toParams.previousState = fromState.name; - } else { - toParams.previousState = fromParams.previousState; - } - - if (toState.name !== 'error-403' && !UserResourceClass.getLoggedinUser()) { - internalDeregisterStateChangeStartWatcher(); - event.preventDefault(); - - UserResourceClass.authorize().$promise.then((user:Services.IUserResource) => { - if(!doesUserHasAccess(toState, user)){ - $state.go('error-403'); - console.info('User has no permissions'); - registerStateChangeStartWatcher(); - return; - } - UserResourceClass.setLoggedinUser(user); - cacheService.set('user', user); - initCategories(); - // initEcompMenu(user); - setTimeout(function () { - - removeLoader(); - - // initCategories(); - if(UserResourceClass.getLoggedinUser().role === 'ADMIN'){ - // toState.name = "adminDashboard"; - $state.go("adminDashboard", toParams); - registerStateChangeStartWatcher(); - return; - } - - // After user authorized init categories - window.setTimeout(():void=>{ - //if ($state.current.name==='' || $state.current.name==='preloading') { - if ($state.current.name === "welcome" && sdcConfig.openSource) { - event.preventDefault(); - $state.go("dashboard"); - registerStateChangeStartWatcher(); - } - else if ($state.current.name==='') { - $state.go(toState.name, toParams); - } - - console.log("------$state.current.name=" + $state.current.name); - console.info('-----registerStateChangeStartWatcher authorize $stateChangeStart'); - registerStateChangeStartWatcher(); - - },1000); - - }, 0); - - }, () => { - $state.go('error-403'); - - console.info('registerStateChangeStartWatcher error-403 $stateChangeStart'); - registerStateChangeStartWatcher(); - }); - } - else if(UserResourceClass.getLoggedinUser()){ - internalDeregisterStateChangeStartWatcher(); - if(!doesUserHasAccess(toState, UserResourceClass.getLoggedinUser())){ - event.preventDefault(); - $state.go('error-403'); - console.info('User has no permissions'); - } - if(toState.name === "welcome") { - $state.go("dashboard"); - } - registerStateChangeStartWatcher(); - //if form is dirty and not save - notify to user - if(fromState.data && fromState.data.unsavedChanges && fromParams.id != toParams.id){ - event.preventDefault(); - onNavigateOut(toState, toParams); - } - } - - }; - - let doesUserHasAccess:Function = (toState, user):boolean =>{ - - let isUserHasAccess = true; - if(toState.permissions && toState.permissions.length > 0) { - isUserHasAccess = _.includes(toState.permissions, user.role); - } - return isUserHasAccess; - }; - let deregisterStateChangeStartWatcher:Function; - - let registerStateChangeStartWatcher:Function = ():void => { - internalDeregisterStateChangeStartWatcher(); - console.info('registerStateChangeStartWatcher $stateChangeStart'); - deregisterStateChangeStartWatcher = $rootScope.$on('$stateChangeStart', (event, toState, toParams, fromState, fromParams):void => { - onStateChangeStart(event, toState, toParams, fromState, fromParams); - }); - }; - - registerStateChangeStartWatcher(); - - }]); - - - -} - |