2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 import { BrowserModule } from '@angular/platform-browser';
22 import { NgModule, APP_INITIALIZER } from '@angular/core';
23 import { FormsModule } from '@angular/forms';
24 import { forwardRef } from '@angular/core';
25 import { AppComponent } from './app.component';
26 import { UpgradeAdapter } from '@angular/upgrade';
27 import { UpgradeModule } from '@angular/upgrade/static';
28 import { SdcUiComponentsModule, SdcUiComponents } from "sdc-ui/lib/angular";
29 import { PropertiesAssignmentModule } from './pages/properties-assignment/properties-assignment.module';
31 DataTypesServiceProvider, SharingServiceProvider, CookieServiceProvider, StateServiceFactory,
32 StateParamsServiceFactory, CacheServiceProvider, EventListenerServiceProvider, ScopeServiceFactory,
33 NotificationServiceProvider, ComponentFactoryProvider
34 } from "./utils/ng1-upgraded-provider";
35 import { ConfigService } from "./services/config.service";
36 import { HttpModule } from '@angular/http';
37 import { HttpService } from './services/http.service';
38 import { AuthenticationService } from './services/authentication.service';
39 import { Cookie2Service } from "./services/cookie.service";
40 import { ComponentServiceNg2 } from "./services/component-services/component.service";
41 import { ComponentServiceFactoryNg2 } from "./services/component-services/component.service.factory";
42 import { ServiceServiceNg2 } from "./services/component-services/service.service";
43 import { ComponentInstanceServiceNg2 } from "./services/component-instance-services/component-instance.service";
44 import { ModalService } from "./services/modal.service";
45 import { UiElementsModule } from "./components/ui/ui-elements.module";
46 import { ConnectionWizardModule } from "./pages/connection-wizard/connection-wizard.module";
47 import {InterfaceOperationModule} from "./pages/interface-operation/interface-operation.module";
48 import {OperationCreatorModule} from "./pages/interface-operation/operation-creator/operation-creator.module";
49 import { LayoutModule } from "./components/layout/layout.module";
50 import { UserService } from "./services/user.service";
51 import { DynamicComponentService } from "./services/dynamic-component.service";
52 import { SdcConfig } from "./config/sdc-config.config";
53 import { SdcMenu } from "./config/sdc-menu.config";
54 import { TranslateModule } from "./shared/translator/translate.module";
55 import { TranslationServiceConfig } from "./config/translation.service.config";
56 import { MultilineEllipsisModule } from "./shared/multiline-ellipsis/multiline-ellipsis.module";
57 import { ServicePathCreatorModule } from './pages/service-path-creator/service-path-creator.module';
58 import { ServicePathsListModule } from './pages/service-paths-list/service-paths-list.module';
59 import { ServicePathModule } from 'app/ng2/components/logic/service-path/service-path.module';
60 import { ServicePathSelectorModule } from 'app/ng2/components/logic/service-path-selector/service-path-selector.module';
61 import { CompositionPanelModule } from 'app/ng2/pages/composition/panel/panel.module';
62 import { WindowRef } from "./services/window.service";
63 import {ArchiveService} from "./services/archive.service";
64 import { ModalsHandlerProvider } from './utils/ng1-upgraded-provider';
65 import {PluginFrameModule} from "./components/ui/plugin/plugin-frame.module";
66 import {PluginsService} from "./services/plugins.service";
67 import {EventBusService} from "./services/event-bus.service";
68 import {GroupsService} from "./services/groups.service";
69 import {PoliciesService} from "./services/policies.service";
70 import {AutomatedUpgradeService} from "./pages/automated-upgrade/automated-upgrade.service";
71 import {AutomatedUpgradeModule} from "./pages/automated-upgrade/automated-upgrade.module";
73 export const upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule));
75 export function configServiceFactory(config: ConfigService) {
78 config.loadValidationConfiguration(),
79 config.loadPluginsConfiguration()
96 MultilineEllipsisModule,
98 CompositionPanelModule,
99 SdcUiComponentsModule,
100 AutomatedUpgradeModule,
101 //We need to import them here since we use them in angular1
102 ConnectionWizardModule,
103 PropertiesAssignmentModule,
105 InterfaceOperationModule,
106 OperationCreatorModule,
107 ServicePathCreatorModule,
108 ServicePathsListModule,
110 ServicePathSelectorModule
114 // *** sdc-ui components to be used as downgraded:
115 // SdcUiComponents.ButtonComponent
119 DataTypesServiceProvider,
120 SharingServiceProvider,
121 ComponentFactoryProvider,
122 CookieServiceProvider,
124 StateParamsServiceFactory,
126 CacheServiceProvider,
127 EventListenerServiceProvider,
128 NotificationServiceProvider,
129 ModalsHandlerProvider,
130 AuthenticationService,
134 ComponentServiceFactoryNg2,
137 AutomatedUpgradeService,
142 DynamicComponentService,
145 ComponentInstanceServiceNg2,
146 TranslationServiceConfig,
151 provide: APP_INITIALIZER,
152 useFactory: configServiceFactory,
153 deps: [ConfigService],
157 bootstrap: [AppComponent]
161 export class AppModule {
162 constructor(public upgrade: UpgradeModule, public eventBusService:EventBusService) {