UNPKG

@pepperi/components

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.1.

105 lines (93 loc) 2.38 kB
import { NgModule, ModuleWithProviders } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Observable, Subject } from 'rxjs'; import { TranslateModule, TranslateLoader, MissingTranslationHandler, MissingTranslationHandlerParams } from '@ngx-translate/core'; import { RtlClassDirective, RtlDirectionDirective } from './core/directives'; import { CapitalizePipe, EncodePipe, EscapePipe, ReplaceLineBreaks, DateFormatter, DateStringFormatter, safeHtml, SafePipe, SplitUppercase } from './core/pipes'; const commonDirectives = [ RtlClassDirective, RtlDirectionDirective ]; const commonPipes = [ CapitalizePipe, EncodePipe, EscapePipe, ReplaceLineBreaks, DateFormatter, DateStringFormatter, safeHtml, SafePipe, SplitUppercase ]; export class Loader implements TranslateLoader { private translations = new Subject(); $translations = this.translations.asObservable(); getTranslation(lang: string) { console.log(`called with ${lang}`); return this.$translations; } } export class Missing implements MissingTranslationHandler { handle(params: MissingTranslationHandlerParams) { return '... and many more'; } } export function LoaderFactory() { return new Loader(); } @NgModule({ declarations: [ commonDirectives, commonPipes, ], imports: [ CommonModule, TranslateModule.forChild({ loader: { provide: TranslateLoader, useFactory: LoaderFactory }, missingTranslationHandler: { provide: MissingTranslationHandler, useClass: Missing } }), ], exports: [ commonDirectives, commonPipes, TranslateModule ], }) export class PepperiModule { // static forRoot(): ModuleWithProviders<PepperiModule> { // return { // ngModule: PepperiModule, // providers: [SessionService] // }; // } // static forRoot() { // return { // ngModule: PepperiModule, // providers: [ CustomizationService, SessionService ] // } // } }