X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=catalog-ui%2Fsrc%2Fapp%2Fng2%2Fapp.module.ts;h=707e328a52bb7d0b39f8a54df9a335c2d8afff77;hb=80c2cf3c70db2605eb9c2e28515a73567f3404ee;hp=cd488d9cd1935c4a958b620fec592c0b75676896;hpb=2c25cbab17de51f9b9a688644be92d0afdb2fa42;p=sdc.git diff --git a/catalog-ui/src/app/ng2/app.module.ts b/catalog-ui/src/app/ng2/app.module.ts index cd488d9cd1..707e328a52 100644 --- a/catalog-ui/src/app/ng2/app.module.ts +++ b/catalog-ui/src/app/ng2/app.module.ts @@ -3,7 +3,6 @@ * SDC * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright (C) 2019 Nokia. 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. @@ -19,170 +18,227 @@ * ============LICENSE_END========================================================= */ -import { BrowserModule } from '@angular/platform-browser'; +import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; +import {BrowserModule} from '@angular/platform-browser'; import { NgModule, APP_INITIALIZER } from '@angular/core'; -import { FormsModule } from '@angular/forms'; +import {FormsModule} from '@angular/forms'; import { forwardRef } from '@angular/core'; -import { AppComponent } from './app.component'; -import { UpgradeAdapter } from '@angular/upgrade'; -import { UpgradeModule } from '@angular/upgrade/static'; -import { SdcUiComponentsModule, SdcUiComponents } from "sdc-ui/lib/angular"; -import { PropertiesAssignmentModule } from './pages/properties-assignment/properties-assignment.module'; -import { PropertyCreatorModule } from './pages/properties-assignment/property-creator/property-creator.module'; +import {AppComponent} from './app.component'; +import {UpgradeAdapter} from '@angular/upgrade'; +import {UpgradeModule} from '@angular/upgrade/static'; +import { SdcUiComponentsModule, SdcUiComponents } from 'onap-ui-angular'; +import {PropertiesAssignmentModule} from './pages/properties-assignment/properties-assignment.module'; import { - DataTypesServiceProvider, SharingServiceProvider, CookieServiceProvider, StateServiceFactory, - StateParamsServiceFactory, CacheServiceProvider, EventListenerServiceProvider, ScopeServiceFactory, + DataTypesServiceProvider, CookieServiceProvider, StateServiceFactory, + StateParamsServiceFactory, ScopeServiceFactory, NotificationServiceProvider, ComponentFactoryProvider -} from "./utils/ng1-upgraded-provider"; -import { ConfigService } from "./services/config.service"; -import { HttpModule } from '@angular/http'; -import { HttpService } from './services/http.service'; -import { AuthenticationService } from './services/authentication.service'; -import { Cookie2Service } from "./services/cookie.service"; -import { ComponentServiceNg2 } from "./services/component-services/component.service"; -import { ComponentServiceFactoryNg2 } from "./services/component-services/component.service.factory"; -import { ServiceServiceNg2 } from "./services/component-services/service.service"; -import { ComponentInstanceServiceNg2 } from "./services/component-instance-services/component-instance.service"; -import { WorkflowServiceNg2 } from './services/workflow.service'; -import {ToscaTypesServiceNg2} from "./services/tosca-types.service"; -import { ModalService } from "./services/modal.service"; -import { UiElementsModule } from "./components/ui/ui-elements.module"; -import { ConnectionWizardModule } from "./pages/connection-wizard/connection-wizard.module"; -import { InterfaceOperationModule } from "./pages/interface-operation/interface-operation.module"; -import { OperationCreatorModule } from "./pages/interface-operation/operation-creator/operation-creator.module"; -import { LayoutModule } from "./components/layout/layout.module"; -import { UserService } from "./services/user.service"; -import { DynamicComponentService } from "./services/dynamic-component.service"; -import { SdcConfig } from "./config/sdc-config.config"; -import { SdcMenu } from "./config/sdc-menu.config"; -import { TranslateModule } from "./shared/translator/translate.module"; -import { TranslationServiceConfig } from "./config/translation.service.config"; -import { MultilineEllipsisModule } from "./shared/multiline-ellipsis/multiline-ellipsis.module"; -import { ServicePathCreatorModule } from './pages/service-path-creator/service-path-creator.module'; -import { ServicePathsListModule } from './pages/service-paths-list/service-paths-list.module'; -import { ServicePathModule } from 'app/ng2/components/logic/service-path/service-path.module'; -import { ServicePathSelectorModule } from 'app/ng2/components/logic/service-path-selector/service-path-selector.module'; -import { ServiceConsumptionModule } from 'app/ng2/components/logic/service-consumption/service-consumption.module'; -import { ServiceConsumptionCreatorModule } from './pages/service-consumption-editor/service-consumption-editor.module'; -import {ServiceDependenciesModule} from 'app/ng2/components/logic/service-dependencies/service-dependencies.module'; -import {ServiceDependenciesEditorModule} from './pages/service-dependencies-editor/service-dependencies-editor.module'; -import { CompositionPanelModule } from 'app/ng2/pages/composition/panel/panel.module'; -import { WindowRef } from "./services/window.service"; -import {ArchiveService} from "./services/archive.service"; +} from './utils/ng1-upgraded-provider'; +import {ConfigService} from './services/config.service'; +import {AuthenticationService} from './services/authentication.service'; +import {Cookie2Service} from './services/cookie.service'; +import {ComponentServiceNg2} from './services/component-services/component.service'; +import {ComponentServiceFactoryNg2} from './services/component-services/component.service.factory'; +import {ServiceServiceNg2} from './services/component-services/service.service'; +import {ComponentInstanceServiceNg2} from './services/component-instance-services/component-instance.service'; +import {ModalService} from './services/modal.service'; +import {UiElementsModule} from './components/ui/ui-elements.module'; +import {ConnectionWizardModule} from './pages/composition/graph/connection-wizard/connection-wizard.module'; +import {InterfaceOperationModule} from './pages/interface-operation/interface-operation.module'; +import {OperationCreatorModule} from './pages/interface-operation/operation-creator/operation-creator.module'; +import {OperationCreatorInterfaceDefinitionModule} from './pages/interface-definition/operation-creator/operation-creator-interface-definition.module'; +import {LayoutModule} from './components/layout/layout.module'; +import {UserService} from './services/user.service'; +import {DynamicComponentService} from './services/dynamic-component.service'; +import {SdcConfig} from './config/sdc-config.config'; +import {SdcMenu} from './config/sdc-menu.config'; +import {TranslateModule} from './shared/translator/translate.module'; +import {TranslationServiceConfig} from './config/translation.service.config'; +import {MultilineEllipsisModule} from './shared/multiline-ellipsis/multiline-ellipsis.module'; +import {ServicePathCreatorModule} from './pages/composition/graph/service-path-creator/service-path-creator.module'; +import {ServicePathsListModule} from './pages/composition/graph/service-paths-list/service-paths-list.module'; +import { ServicePathSelectorModule } from 'app/ng2/pages/composition/graph/service-path-selector/service-path-selector.module'; +import { CompositionPanelModule } from 'app/ng2/pages/composition/panel/composition-panel.module'; +import {CatalogModule} from './pages/catalog/catalog.module'; +import {HomeModule} from './pages/home/home.module'; +import {WindowRef} from './services/window.service'; +import {CatalogService} from './services/catalog.service'; import { ModalsHandlerProvider } from './utils/ng1-upgraded-provider'; -import {PluginFrameModule} from "./components/ui/plugin/plugin-frame.module"; -import {PluginsService} from "./services/plugins.service"; -import {EventBusService} from "./services/event-bus.service"; -import {GroupsService} from "./services/groups.service"; -import {PoliciesService} from "./services/policies.service"; -import {AutomatedUpgradeService} from "./pages/automated-upgrade/automated-upgrade.service"; -import {AutomatedUpgradeModule} from "./pages/automated-upgrade/automated-upgrade.module"; -import {RequirementsEditorModule} from "./pages/req-and-capabilities-editor/requirements-editor/requirements-editor.module" -import {CapabilitiesEditorModule} from "./pages/req-and-capabilities-editor/capabilities-editor/capabilities-editor.module" -import {GenericArtifactBrowserModule} from "./components/logic/generic-artifact-browser/generic-artifact-browser.module"; -import {GabService} from "./services/gab.service"; +import {PluginFrameModule} from './components/ui/plugin/plugin-frame.module'; +import {PluginsService} from './services/plugins.service'; +import {EventBusService} from './services/event-bus.service'; +import {GroupsService} from './services/groups.service'; +import {PoliciesService} from './services/policies.service'; +import {AutomatedUpgradeService} from './pages/automated-upgrade/automated-upgrade.service'; +import {AutomatedUpgradeModule} from './pages/automated-upgrade/automated-upgrade.module'; +import {WorkspaceModule} from './pages/workspace/workspace.module'; +import {ModalsModule} from './components/modals/modals.module'; +import { SharingService, CacheService, HomeService } from 'app/services-ng2'; +import {ArtifactConfigService} from "./services/artifact-config.service"; +import {IUserProperties} from 'app/models'; +import {PluginsModule} from './pages/plugins/plugins-module'; +import {WorkspaceNg1BridgeService} from './pages/workspace/workspace-ng1-bridge-service'; +import {NgxsModule} from '@ngxs/store'; +import {NgxsLoggerPluginModule} from '@ngxs/logger-plugin'; +import {NgxsReduxDevtoolsPluginModule} from '@ngxs/devtools-plugin'; +import {EventListenerService} from '../services/event-listener-service'; +import {HttpClientModule} from '@angular/common/http'; +import {httpInterceptorProviders} from './http-interceptor'; +import {HttpHelperService} from './services/http-hepler.service'; +import {ModulesService} from "./services/modules.service"; +import {TranslateService} from 'app/ng2/shared/translator/translate.service'; +import {FileUtilsService} from './services/file-utils.service'; +import {ImportVSPService} from './components/modals/onboarding-modal/import-vsp.service'; +import {OnboardingService} from './services/onboarding.service'; +import {ServiceConsumptionCreatorModule} from './pages/service-consumption-editor/service-consumption-editor.module'; +import {ServiceDependenciesModule} from './components/logic/service-dependencies/service-dependencies.module'; +import {ServiceDependenciesEditorModule} from './pages/service-dependencies-editor/service-dependencies-editor.module'; +import {PropertyCreatorModule} from './pages/properties-assignment/property-creator/property-creator.module'; +import {DeclareListModule} from './pages/properties-assignment/declare-list/declare-list.module'; +import { ToscaFunctionModule } from "./pages/properties-assignment/tosca-function/tosca-function.module"; +import {WorkflowServiceNg2} from './services/workflow.service'; +import {ToscaTypesServiceNg2} from "./services/tosca-types.service"; +import {CapabilitiesFilterPropertiesEditorComponentModule} from "./pages/composition/capabilities-filter-properties-editor/capabilities-filter-properties-editor.module"; +import {InterfaceOperationHandlerModule} from "./pages/composition/interface-operatons/operation-creator/interface-operation-handler.module"; +import {AttributesOutputsModule} from "./pages/attributes-outputs/attributes-outputs.module"; +import { ElementService } from "./services/element.service"; +import { ModelService } from "./services/model.service"; +import {ToscaArtifactService} from "./services/tosca-artifact.service"; +import {InterfaceDefinitionModule} from "./pages/interface-definition/interface-definition.module"; + +declare const __ENV__: string; export const upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule)); -export function configServiceFactory(config: ConfigService) { - return () => { - return Promise.all([ - config.loadValidationConfiguration(), - config.loadPluginsConfiguration() - ]); - } -} +export function configServiceFactory(config: ConfigService, authService: AuthenticationService, eventListener: EventListenerService) { + return () => { + return authService.authenticate().toPromise() + .then((userInfo: IUserProperties) => { + authService.setLoggedinUser(userInfo); + return Promise.all([ + config.loadSdcSetupData(), + config.loadValidationConfiguration(), + config.loadPluginsConfiguration(), + ]) + }).then(() => { + eventListener.notifyObservers('ON_FINISH_LOADING'); + }) + .catch(() => { + console.log('AUTH FAILED! from app module'); + }); + }; +} @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - UpgradeModule, - FormsModule, - HttpModule, - LayoutModule, - TranslateModule, - MultilineEllipsisModule, - UiElementsModule, - CompositionPanelModule, - SdcUiComponentsModule, - AutomatedUpgradeModule, - //We need to import them here since we use them in angular1 - ConnectionWizardModule, - PropertiesAssignmentModule, - PropertyCreatorModule, - PluginFrameModule, - InterfaceOperationModule, - OperationCreatorModule, - ServicePathCreatorModule, - ServicePathsListModule, - ServicePathModule, - ServicePathSelectorModule, - ServiceConsumptionModule, - ServiceConsumptionCreatorModule, - ServiceDependenciesModule, - ServiceDependenciesEditorModule, - RequirementsEditorModule, - CapabilitiesEditorModule, - GenericArtifactBrowserModule - ], - exports: [], - entryComponents: [ - // *** sdc-ui components to be used as downgraded: - SdcUiComponents.SvgIconComponent - ], - providers: [ - WindowRef, - DataTypesServiceProvider, - SharingServiceProvider, - ComponentFactoryProvider, - CookieServiceProvider, - StateServiceFactory, - StateParamsServiceFactory, - ScopeServiceFactory, - CacheServiceProvider, - EventListenerServiceProvider, - NotificationServiceProvider, - ModalsHandlerProvider, - AuthenticationService, - Cookie2Service, - ConfigService, - ComponentServiceNg2, - ComponentServiceFactoryNg2, - ModalService, - ServiceServiceNg2, - AutomatedUpgradeService, - WorkflowServiceNg2, - ToscaTypesServiceNg2, - HttpService, - UserService, - PoliciesService, - GroupsService, - DynamicComponentService, - SdcConfig, - SdcMenu, - ComponentInstanceServiceNg2, - TranslationServiceConfig, - PluginsService, - GabService, - ArchiveService, - EventBusService, - { - provide: APP_INITIALIZER, - useFactory: configServiceFactory, - deps: [ConfigService], - multi: true - }, - ], - bootstrap: [AppComponent] -}) + declarations: [ + AppComponent + ], + imports: [ + BrowserAnimationsModule, + BrowserModule, + UpgradeModule, + FormsModule, + HttpClientModule, + LayoutModule, + TranslateModule, + MultilineEllipsisModule, + UiElementsModule, + CompositionPanelModule, + SdcUiComponentsModule, + AutomatedUpgradeModule, + // We need to import them here since we use them in angular1 + ConnectionWizardModule, + PropertiesAssignmentModule, + AttributesOutputsModule, + PropertyCreatorModule, + DeclareListModule, + ToscaFunctionModule, + PluginFrameModule, + PluginsModule, + InterfaceOperationModule, + InterfaceDefinitionModule, + OperationCreatorModule, + OperationCreatorInterfaceDefinitionModule, + InterfaceOperationHandlerModule, + ServicePathCreatorModule, + ServicePathsListModule, + ServicePathSelectorModule, + ServiceConsumptionCreatorModule, + ServiceDependenciesModule, + ServiceDependenciesEditorModule, + CapabilitiesFilterPropertiesEditorComponentModule, + WorkspaceModule, + ModalsModule, + CatalogModule, + HomeModule, + NgxsModule.forRoot([]), + NgxsLoggerPluginModule.forRoot({logger: console, collapsed: false}), + NgxsReduxDevtoolsPluginModule.forRoot({ + disabled: __ENV__ === 'prod' + }) + ], + exports: [], + entryComponents: [], + providers: [ + WindowRef, + httpInterceptorProviders, + DataTypesServiceProvider, + SharingService, + CacheService, + HomeService, + ArtifactConfigService, + ComponentFactoryProvider, + CookieServiceProvider, + StateServiceFactory, + StateParamsServiceFactory, + ScopeServiceFactory, + NotificationServiceProvider, + ModalsHandlerProvider, + UserService, + Cookie2Service, + ConfigService, + ComponentServiceNg2, + ComponentServiceFactoryNg2, + ModalService, + ImportVSPService, + OnboardingService, + ElementService, + ModelService, + ToscaArtifactService, + ServiceServiceNg2, + AutomatedUpgradeService, + WorkflowServiceNg2, + ToscaTypesServiceNg2, + WorkspaceNg1BridgeService, + HttpHelperService, + AuthenticationService, + PoliciesService, + GroupsService, + ModulesService, + DynamicComponentService, + SdcConfig, + SdcMenu, + ComponentInstanceServiceNg2, + EventListenerService, + TranslationServiceConfig, + TranslateService, + PluginsService, + CatalogService, + EventBusService, + FileUtilsService, + { + provide: APP_INITIALIZER, + useFactory: configServiceFactory, + deps: [ConfigService, AuthenticationService, EventListenerService], + multi: true + }, + ], + bootstrap: [AppComponent] +}) export class AppModule { - constructor(public upgrade: UpgradeModule, public eventBusService:EventBusService) { + constructor(public upgrade: UpgradeModule) { - } + } }