]>
Commit | Line | Data |
---|---|---|
cd265ab1 | 1 | import { APP_BASE_HREF } from '@angular/common'; |
e306af50 | 2 | import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; |
eafe8130 TL |
3 | import { |
4 | ErrorHandler, | |
5 | LOCALE_ID, | |
6 | NgModule, | |
7 | TRANSLATIONS, | |
8 | TRANSLATIONS_FORMAT | |
9 | } from '@angular/core'; | |
11fdf7f2 TL |
10 | import { BrowserModule } from '@angular/platform-browser'; |
11 | import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; | |
12 | ||
11fdf7f2 | 13 | import { I18n } from '@ngx-translate/i18n-polyfill'; |
9f95a23c TL |
14 | import { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation'; |
15 | ||
11fdf7f2 TL |
16 | import { AccordionModule } from 'ngx-bootstrap/accordion'; |
17 | import { BsDropdownModule } from 'ngx-bootstrap/dropdown'; | |
18 | import { TabsModule } from 'ngx-bootstrap/tabs'; | |
494da23a | 19 | import { ToastrModule } from 'ngx-toastr'; |
11fdf7f2 TL |
20 | |
21 | import { AppRoutingModule } from './app-routing.module'; | |
22 | import { AppComponent } from './app.component'; | |
23 | import { CephModule } from './ceph/ceph.module'; | |
24 | import { CoreModule } from './core/core.module'; | |
11fdf7f2 TL |
25 | import { ApiInterceptorService } from './shared/services/api-interceptor.service'; |
26 | import { JsErrorHandler } from './shared/services/js-error-handler.service'; | |
27 | import { SharedModule } from './shared/shared.module'; | |
28 | ||
eafe8130 TL |
29 | import { environment } from '../environments/environment'; |
30 | ||
11fdf7f2 TL |
31 | @NgModule({ |
32 | declarations: [AppComponent], | |
33 | imports: [ | |
34 | HttpClientModule, | |
11fdf7f2 TL |
35 | BrowserModule, |
36 | BrowserAnimationsModule, | |
494da23a TL |
37 | ToastrModule.forRoot({ |
38 | positionClass: 'toast-top-right', | |
39 | preventDuplicates: true, | |
40 | enableHtml: true | |
41 | }), | |
11fdf7f2 TL |
42 | AppRoutingModule, |
43 | CoreModule, | |
44 | SharedModule, | |
45 | CephModule, | |
46 | AccordionModule.forRoot(), | |
47 | BsDropdownModule.forRoot(), | |
48 | TabsModule.forRoot(), | |
9f95a23c | 49 | NgBootstrapFormValidationModule.forRoot() |
11fdf7f2 TL |
50 | ], |
51 | exports: [SharedModule], | |
52 | providers: [ | |
53 | { | |
54 | provide: ErrorHandler, | |
55 | useClass: JsErrorHandler | |
56 | }, | |
57 | { | |
58 | provide: HTTP_INTERCEPTORS, | |
59 | useClass: ApiInterceptorService, | |
60 | multi: true | |
61 | }, | |
cd265ab1 TL |
62 | { |
63 | provide: APP_BASE_HREF, | |
64 | useValue: window['base-href'] | |
65 | }, | |
eafe8130 TL |
66 | { |
67 | provide: TRANSLATIONS, | |
9f95a23c | 68 | useFactory: (locale: string) => { |
eafe8130 TL |
69 | locale = locale || environment.default_lang; |
70 | try { | |
9f95a23c | 71 | return require(`raw-loader!locale/messages.${locale}.xlf`).default; |
eafe8130 TL |
72 | } catch (error) { |
73 | return []; | |
74 | } | |
75 | }, | |
76 | deps: [LOCALE_ID] | |
77 | }, | |
78 | { provide: TRANSLATIONS_FORMAT, useValue: 'xlf' }, | |
11fdf7f2 TL |
79 | I18n |
80 | ], | |
81 | bootstrap: [AppComponent] | |
82 | }) | |
83 | export class AppModule {} |