import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterModule, Routes } from '@angular/router'; import { HttpClientModule } from '@angular/common/http'; import { MatIconModule } from '@angular/material/icon'; import { MatDialogModule } from '@angular/material/dialog'; 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, PepIconModule, pepIconSystemClose } from '@pepperi-addons/ngx-lib/icon'; import { PepButtonModule } from '@pepperi-addons/ngx-lib/button'; import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog'; import { PepMenuModule } from '@pepperi-addons/ngx-lib/menu'; // import { PepListModule } from '@pepperi-addons/ngx-lib/list'; // import { PepSearchModule } from '@pepperi-addons/ngx-lib/search'; import { PepGenericListModule } from '@pepperi-addons/ngx-composite-lib/generic-list'; import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox'; import { TranslateLoader, TranslateModule, TranslateService, TranslateStore } from '@ngx-translate/core'; import { AddonService } from '../services/addon.service'; import { BlockComponent } from './index'; import { TodoForm } from './form/todo-form.component'; const pepIcons = [ pepIconSystemClose, ]; export const routes: Routes = [ { path: '', component: BlockComponent } ]; @NgModule({ declarations: [ BlockComponent, TodoForm ], imports: [ CommonModule, HttpClientModule, PepNgxLibModule, PepSizeDetectorModule, PepTopBarModule, PepPageLayoutModule, PepSizeDetectorModule, MatIconModule, PepIconModule, PepTopBarModule, PepMenuModule, PepPageLayoutModule, PepButtonModule, PepDialogModule, // PepListModule, // PepSearchModule, PepTextboxModule, MatDialogModule, PepGenericListModule, TranslateModule.forChild({ loader: { provide: TranslateLoader, useFactory: (addonService: PepAddonService) => PepAddonService.createMultiTranslateLoader(addonService, ['ngx-lib', 'ngx-composite-lib']), deps: [PepAddonService] } }), 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); } }