| /*- |
| * ============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========================================================= |
| */ |
| |
| 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 { forwardRef } from '@angular/core'; |
| 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, CookieServiceProvider, StateServiceFactory, |
| StateParamsServiceFactory, ScopeServiceFactory, |
| NotificationServiceProvider, ComponentFactoryProvider |
| } 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 { 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 {WorkspaceModule} from './pages/workspace/workspace.module'; |
| import { ModalsModule } from './components/modals/modals.module'; |
| import { SharingService, CacheService, HomeService } from 'app/services-ng2'; |
| 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 { WorkflowServiceNg2 } from './services/workflow.service'; |
| import { ToscaTypesServiceNg2 } from "./services/tosca-types.service"; |
| |
| |
| declare const __ENV__: string; |
| |
| export const upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule)); |
| |
| 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: [ |
| 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, |
| PropertyCreatorModule, |
| DeclareListModule, |
| PluginFrameModule, |
| PluginsModule, |
| InterfaceOperationModule, |
| OperationCreatorModule, |
| ServicePathCreatorModule, |
| ServicePathsListModule, |
| ServicePathSelectorModule, |
| ServiceConsumptionCreatorModule, |
| ServiceDependenciesModule, |
| ServiceDependenciesEditorModule, |
| 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, |
| ComponentFactoryProvider, |
| CookieServiceProvider, |
| StateServiceFactory, |
| StateParamsServiceFactory, |
| ScopeServiceFactory, |
| NotificationServiceProvider, |
| ModalsHandlerProvider, |
| UserService, |
| Cookie2Service, |
| ConfigService, |
| ComponentServiceNg2, |
| ComponentServiceFactoryNg2, |
| ModalService, |
| ImportVSPService, |
| OnboardingService, |
| 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) { |
| |
| } |
| } |