import { NgModule, ModuleWithProviders } from '@angular/core'; import { CommonModule } from '@angular/common'; import { LoadingComponent } from './loading.component'; import { LoadingService } from './loading.service'; import { LoadingConfig, LOADING_DEFAULT_CONFIG, loaddingDefaultConfig } from './loading.config'; import { FarrisCommonModule } from '@farris/ui-common'; import { LocaleModule } from '@farris/ui-locale'; @NgModule({ imports: [ CommonModule, FarrisCommonModule, LocaleModule ], declarations: [ LoadingComponent ], entryComponents: [ LoadingComponent ] }) export class LoadingModule { static forRoot(config?: LoadingConfig): ModuleWithProviders { return { ngModule: LoadingModule, providers: [ { provide: LOADING_DEFAULT_CONFIG, useValue: config || loaddingDefaultConfig}, LoadingService ] }; } }