@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
text/typescript
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();
}
({
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 ]
// }
// }
}