blob: 57adb8fd660c87398d7a9cbebf05ec26382e342f [file] [log] [blame]
Michael Landodd603392017-07-12 00:54:52 +03001/*-
2 * ============LICENSE_START=======================================================
3 * SDC
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
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
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=========================================================
19 */
20
Michael Landoed64b5e2017-06-09 03:19:04 +030021import {BrowserModule} from '@angular/platform-browser';
22import {NgModule, APP_INITIALIZER} from '@angular/core';
23import {FormsModule} from '@angular/forms';
24import {forwardRef} from '@angular/core';
25import {AppComponent} from './app.component';
26import {UpgradeAdapter} from '@angular/upgrade';
27import {UpgradeModule} from '@angular/upgrade/static';
28import {PropertiesAssignmentModule} from './pages/properties-assignment/properties-assignment.module';
29import {
30 DataTypesServiceProvider, SharingServiceProvider, CookieServiceProvider,
Michael Landob3d48982017-06-11 14:22:02 +030031 StateParamsServiceFactory, CacheServiceProvider, EventListenerServiceProvider
Michael Landoed64b5e2017-06-09 03:19:04 +030032} from "./utils/ng1-upgraded-provider";
33import {ConfigService} from "./services/config.service";
Michael Landoed64b5e2017-06-09 03:19:04 +030034import {HttpModule} from '@angular/http';
35import {AuthenticationService} from './services/authentication.service';
36import {Cookie2Service} from "./services/cookie.service";
37import {ComponentServiceNg2} from "./services/component-services/component.service";
38import {ServiceServiceNg2} from "./services/component-services/service.service";
39import {ComponentInstanceServiceNg2} from "./services/component-instance-services/component-instance.service";
Tal Gitelmaned7e1c32017-06-29 19:30:00 +030040import { InterceptorService } from 'ng2-interceptors';
41import { XHRBackend, RequestOptions } from '@angular/http';
42import {HttpInterceptor} from "./services/http.interceptor.service";
Michael Lando39a4e0c2017-07-18 20:46:42 +030043import { SearchBarComponent } from './shared/search-bar/search-bar.component';
44import { SearchWithAutoCompleteComponent } from './shared/search-with-autocomplete/search-with-autocomplete.component';
Michael Landoed64b5e2017-06-09 03:19:04 +030045
46export const upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule));
47
48export function configServiceFactory(config:ConfigService) {
49 return () => config.loadValidationConfiguration();
50}
51
Tal Gitelmaned7e1c32017-06-29 19:30:00 +030052export function interceptorFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions){
53 let service = new InterceptorService(xhrBackend, requestOptions);
54 service.addInterceptor(new HttpInterceptor());
55 return service;
56}
57
58
Michael Landoed64b5e2017-06-09 03:19:04 +030059// export function httpServiceFactory(backend: XHRBackend, options: RequestOptions) {
60// return new HttpService(backend, options);
61// }
62
63@NgModule({
64 declarations: [
Michael Lando39a4e0c2017-07-18 20:46:42 +030065 AppComponent,
66 SearchBarComponent,
67 SearchWithAutoCompleteComponent
Michael Landoed64b5e2017-06-09 03:19:04 +030068 ],
69 imports: [
70 BrowserModule,
71 UpgradeModule,
72 FormsModule,
73 HttpModule,
74 PropertiesAssignmentModule
75 ],
76 exports: [],
Michael Lando39a4e0c2017-07-18 20:46:42 +030077 entryComponents: [SearchWithAutoCompleteComponent],
Michael Landoed64b5e2017-06-09 03:19:04 +030078 providers: [
Michael Landoed64b5e2017-06-09 03:19:04 +030079 DataTypesServiceProvider,
80 SharingServiceProvider,
81 CookieServiceProvider,
82 StateParamsServiceFactory,
Michael Landob3d48982017-06-11 14:22:02 +030083 CacheServiceProvider,
84 EventListenerServiceProvider,
Michael Landoed64b5e2017-06-09 03:19:04 +030085 AuthenticationService,
86 Cookie2Service,
87 ConfigService,
88 ComponentServiceNg2,
89 ServiceServiceNg2,
90 ComponentInstanceServiceNg2,
91 {
92 provide: APP_INITIALIZER,
93 useFactory: configServiceFactory,
94 deps: [ConfigService],
95 multi: true
Tal Gitelmaned7e1c32017-06-29 19:30:00 +030096 },
97 {
98 provide: InterceptorService,
99 useFactory: interceptorFactory,
100 deps: [XHRBackend, RequestOptions]
Michael Landoed64b5e2017-06-09 03:19:04 +0300101 }
102 ],
103 bootstrap: [AppComponent]
104})
105
106
107export class AppModule {
108 // ngDoBootstrap() {}
109 constructor(public upgrade:UpgradeModule) {
110
111
112 }
113}