]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/frontend/src/app/app.module.ts
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / app.module.ts
1 import { registerLocaleData } from '@angular/common';
2 import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
3 import { ErrorHandler, NgModule } from '@angular/core';
4 import { BrowserModule } from '@angular/platform-browser';
5 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
6
7 import { JwtModule } from '@auth0/angular-jwt';
8 import { I18n } from '@ngx-translate/i18n-polyfill';
9 import { BlockUIModule } from 'ng-block-ui';
10 import { ToastModule, ToastOptions } from 'ng2-toastr/ng2-toastr';
11 import { AccordionModule } from 'ngx-bootstrap/accordion';
12 import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
13 import { TabsModule } from 'ngx-bootstrap/tabs';
14
15 import { AppRoutingModule } from './app-routing.module';
16 import { AppComponent } from './app.component';
17 import { CephModule } from './ceph/ceph.module';
18 import { CoreModule } from './core/core.module';
19 import { i18nProviders, LocaleHelper } from './locale.helper';
20 import { ApiInterceptorService } from './shared/services/api-interceptor.service';
21 import { JsErrorHandler } from './shared/services/js-error-handler.service';
22 import { SharedModule } from './shared/shared.module';
23
24 export class CustomOption extends ToastOptions {
25 animate = 'flyRight';
26 newestOnTop = true;
27 showCloseButton = true;
28 enableHTML = true;
29 }
30
31 export function jwtTokenGetter() {
32 return localStorage.getItem('access_token');
33 }
34
35 registerLocaleData(LocaleHelper.getLocaleData(), LocaleHelper.getLocale());
36
37 @NgModule({
38 declarations: [AppComponent],
39 imports: [
40 HttpClientModule,
41 BlockUIModule.forRoot(),
42 BrowserModule,
43 BrowserAnimationsModule,
44 ToastModule.forRoot(),
45 AppRoutingModule,
46 CoreModule,
47 SharedModule,
48 CephModule,
49 AccordionModule.forRoot(),
50 BsDropdownModule.forRoot(),
51 TabsModule.forRoot(),
52 JwtModule.forRoot({
53 config: {
54 tokenGetter: jwtTokenGetter
55 }
56 })
57 ],
58 exports: [SharedModule],
59 providers: [
60 {
61 provide: ErrorHandler,
62 useClass: JsErrorHandler
63 },
64 {
65 provide: HTTP_INTERCEPTORS,
66 useClass: ApiInterceptorService,
67 multi: true
68 },
69 {
70 provide: ToastOptions,
71 useClass: CustomOption
72 },
73 i18nProviders,
74 I18n
75 ],
76 bootstrap: [AppComponent]
77 })
78 export class AppModule {}