security-c4po/security-c4po-angular/src/app/common-app.module.ts

50 lines
1.4 KiB
TypeScript

import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {TranslateLoader, TranslateModule} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
import {HttpClient, HttpClientModule} from '@angular/common/http';
import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';
import {FlexLayoutModule, FlexModule} from '@angular/flex-layout';
import {MomentModule} from 'ngx-moment';
import {NotificationService} from '../shared/services/notification.service';
import {NbToastrModule} from '@nebular/theme';
import {ThemeModule} from '../assets/@theme/theme.module';
import {LoadingSpinnerComponent} from '@shared/widgets/loading-spinner/loading-spinner.component';
export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
return new TranslateHttpLoader(http);
}
@NgModule({
declarations: [
LoadingSpinnerComponent
],
imports: [
CommonModule,
NbToastrModule, // used for notification service
FontAwesomeModule,
FlexLayoutModule,
ThemeModule.forRoot(),
FlexModule,
HttpClientModule,
TranslateModule.forChild({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
})
],
providers: [
HttpClient,
NotificationService
],
exports: [
LoadingSpinnerComponent,
// modules
MomentModule
]
})
export class CommonAppModule {
}