import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterModule, Routes } from '@angular/router'; import { HttpClientModule } from '@angular/common/http'; import { PepNgxLibModule, PepAddonService } from '@pepperi-addons/ngx-lib'; import { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar'; import { PepSizeDetectorModule } from '@pepperi-addons/ngx-lib/size-detector'; import { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout'; import { PepIconRegistry, pepIconSystemClose } from '@pepperi-addons/ngx-lib/icon'; import { TranslateLoader, TranslateModule, TranslateService, TranslateStore } from '@ngx-translate/core'; import { AddonService } from './addon.service'; import { BlockComponent } from './index'; const pepIcons = [ pepIconSystemClose, ]; export const routes: Routes = [ { path: '', component: BlockComponent } ]; @NgModule({ declarations: [ BlockComponent, ], imports: [ CommonModule, HttpClientModule, PepNgxLibModule, PepSizeDetectorModule, PepTopBarModule, PepPageLayoutModule, TranslateModule.forChild({ loader: { provide: TranslateLoader, useFactory: PepAddonService.createMultiTranslateLoader, deps: [PepAddonService] }, isolate: false }), RouterModule.forChild(routes) ], exports:[BlockComponent], providers: [ TranslateStore, // When loading this module from route we need to add this here (because only this module is loading). AddonService ] }) export class BlockModule { constructor( translate: TranslateService, private pepIconRegistry: PepIconRegistry, private pepAddonService: PepAddonService ) { this.pepAddonService.setDefaultTranslateLang(translate); this.pepIconRegistry.registerIcons(pepIcons); } }