]> git.proxmox.com Git - ceph.git/blame - ceph/src/pybind/mgr/dashboard/frontend/src/app/app.module.ts
import 14.2.4 nautilus point release
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / app.module.ts
CommitLineData
11fdf7f2
TL
1import { registerLocaleData } from '@angular/common';
2import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
3import { ErrorHandler, NgModule } from '@angular/core';
4import { BrowserModule } from '@angular/platform-browser';
5import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
6
7import { JwtModule } from '@auth0/angular-jwt';
8import { I18n } from '@ngx-translate/i18n-polyfill';
9import { BlockUIModule } from 'ng-block-ui';
11fdf7f2
TL
10import { AccordionModule } from 'ngx-bootstrap/accordion';
11import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
12import { TabsModule } from 'ngx-bootstrap/tabs';
494da23a 13import { ToastrModule } from 'ngx-toastr';
11fdf7f2
TL
14
15import { AppRoutingModule } from './app-routing.module';
16import { AppComponent } from './app.component';
17import { CephModule } from './ceph/ceph.module';
18import { CoreModule } from './core/core.module';
19import { i18nProviders, LocaleHelper } from './locale.helper';
20import { ApiInterceptorService } from './shared/services/api-interceptor.service';
21import { JsErrorHandler } from './shared/services/js-error-handler.service';
22import { SharedModule } from './shared/shared.module';
23
11fdf7f2
TL
24export function jwtTokenGetter() {
25 return localStorage.getItem('access_token');
26}
27
28registerLocaleData(LocaleHelper.getLocaleData(), LocaleHelper.getLocale());
29
30@NgModule({
31 declarations: [AppComponent],
32 imports: [
33 HttpClientModule,
34 BlockUIModule.forRoot(),
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(),
49 JwtModule.forRoot({
50 config: {
51 tokenGetter: jwtTokenGetter
52 }
53 })
54 ],
55 exports: [SharedModule],
56 providers: [
57 {
58 provide: ErrorHandler,
59 useClass: JsErrorHandler
60 },
61 {
62 provide: HTTP_INTERCEPTORS,
63 useClass: ApiInterceptorService,
64 multi: true
65 },
11fdf7f2
TL
66 i18nProviders,
67 I18n
68 ],
69 bootstrap: [AppComponent]
70})
71export class AppModule {}