117 lines
3.3 KiB
TypeScript
117 lines
3.3 KiB
TypeScript
import { NgModule, ErrorHandler, LOCALE_ID } from '@angular/core';
|
|
import {
|
|
HttpClient,
|
|
HttpClientModule,
|
|
HTTP_INTERCEPTORS,
|
|
} from '@angular/common/http';
|
|
import { registerLocaleData } from '@angular/common';
|
|
import { BrowserModule } from '@angular/platform-browser';
|
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
import { FormsModule } from '@angular/forms';
|
|
|
|
import {
|
|
TranslateModule,
|
|
TranslateLoader,
|
|
TranslateService,
|
|
} from '@ngx-translate/core';
|
|
|
|
import { AppRoutingModule } from '@app/app-routing.module';
|
|
import { AppComponent } from '@app/app.component';
|
|
|
|
import { ErrorHandlerProvider } from '@shared/providers';
|
|
import {
|
|
AppInsightService,
|
|
appInsightsProvider,
|
|
baseHrefProvider,
|
|
LocalizationService,
|
|
settingsProvider,
|
|
windowProvider,
|
|
} from '@shared/services';
|
|
import { TranslateHttpLoaderFactory } from '@shared/factories';
|
|
|
|
import { SharedModule } from '@shared';
|
|
import { FlightsModule } from '@modules/flights.module';
|
|
|
|
import localeRu from '@angular/common/locales/ru';
|
|
import localeEn from '@angular/common/locales/en';
|
|
import localeEs from '@angular/common/locales/es';
|
|
import localeFr from '@angular/common/locales/fr';
|
|
import localeIt from '@angular/common/locales/it';
|
|
import localeJa from '@angular/common/locales/ja';
|
|
import localeKo from '@angular/common/locales/ko';
|
|
import localeZh from '@angular/common/locales/zh';
|
|
import localeDe from '@angular/common/locales/de';
|
|
|
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
|
|
import { LayoutModule } from '@angular/cdk/layout';
|
|
|
|
import { AppInterceptor } from '@shared/interceptor/app.interceptor';
|
|
|
|
import { MomentModule } from 'ngx-moment';
|
|
|
|
registerLocaleData(localeRu);
|
|
registerLocaleData(localeZh);
|
|
registerLocaleData(localeEn);
|
|
registerLocaleData(localeEs);
|
|
registerLocaleData(localeFr);
|
|
registerLocaleData(localeIt);
|
|
registerLocaleData(localeJa);
|
|
registerLocaleData(localeKo);
|
|
registerLocaleData(localeDe);
|
|
|
|
@NgModule({
|
|
declarations: [AppComponent],
|
|
imports: [
|
|
BrowserModule,
|
|
//BrowserModule.withServerTransition({ appId: 'serverApp' }),
|
|
BrowserAnimationsModule,
|
|
AppRoutingModule,
|
|
FormsModule,
|
|
SharedModule,
|
|
FlightsModule,
|
|
HttpClientModule,
|
|
ScrollingModule,
|
|
LayoutModule,
|
|
MomentModule,
|
|
TranslateModule.forRoot({
|
|
loader: {
|
|
provide: TranslateLoader,
|
|
useFactory: TranslateHttpLoaderFactory,
|
|
deps: [HttpClient],
|
|
},
|
|
}),
|
|
],
|
|
providers: [
|
|
baseHrefProvider,
|
|
{
|
|
provide: LOCALE_ID,
|
|
deps: [LocalizationService],
|
|
useFactory: (locale: LocalizationService) => locale.Language,
|
|
},
|
|
{
|
|
provide: ErrorHandler,
|
|
useClass: ErrorHandlerProvider,
|
|
},
|
|
{
|
|
provide: HTTP_INTERCEPTORS,
|
|
useClass: AppInterceptor,
|
|
multi: true,
|
|
},
|
|
appInsightsProvider,
|
|
windowProvider,
|
|
settingsProvider,
|
|
],
|
|
bootstrap: [AppComponent],
|
|
})
|
|
export class AppModule {
|
|
constructor(
|
|
appInsights: AppInsightService,
|
|
translate: TranslateService,
|
|
locale: LocalizationService,
|
|
) {
|
|
appInsights.configure();
|
|
locale.init(translate);
|
|
}
|
|
}
|