@universis/common
Version:
Universis - common directives and services
66 lines (65 loc) • 6.84 kB
JavaScript
import { ErrorHandler, NgModule, Optional, SkipSelf } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { TranslateModule, TranslateService } from '@ngx-translate/core';
import { ErrorBaseComponent, HttpErrorComponent } from './components/error-base/error-base.component';
import { ErrorRoutingModule } from './error.routing';
import { ErrorService, ErrorModalComponent } from './error.service';
import { ErrorsHandler } from './error.handler';
import { environment } from '../environments/environment';
import { ERROR_LOCALES } from './i18n';
export class ErrorModule {
constructor(parentModule, _translateService) {
this._translateService = _translateService;
this.ngOnInit();
}
static forRoot() {
return {
ngModule: ErrorModule,
providers: [
ErrorService,
{
provide: ErrorHandler,
useClass: ErrorsHandler,
}
]
};
}
// tslint:disable-next-line:use-life-cycle-interface
ngOnInit() {
environment.languages.forEach(language => {
if (ERROR_LOCALES.hasOwnProperty(language)) {
this._translateService.setTranslation(language, ERROR_LOCALES[language], true);
}
});
}
}
ErrorModule.decorators = [
{ type: NgModule, args: [{
imports: [
CommonModule,
FormsModule,
TranslateModule,
ErrorRoutingModule
],
providers: [],
declarations: [
ErrorBaseComponent,
HttpErrorComponent,
ErrorModalComponent
],
exports: [
ErrorBaseComponent,
HttpErrorComponent
],
entryComponents: [
ErrorModalComponent
]
},] }
];
/** @nocollapse */
ErrorModule.ctorParameters = () => [
{ type: ErrorModule, decorators: [{ type: Optional }, { type: SkipSelf }] },
{ type: TranslateService }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9jb21tb24vIiwic291cmNlcyI6WyJlcnJvci9lcnJvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixrQkFBa0IsRUFDckIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBeUJyQyxNQUFNO0lBRUYsWUFBcUMsWUFBeUIsRUFBVSxpQkFBbUM7UUFBbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUN2RyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTztZQUNILFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFNBQVMsRUFBRTtnQkFDUCxZQUFZO2dCQUNaO29CQUNJLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsYUFBYTtpQkFDMUI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELFFBQVE7UUFDSixXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBRSxRQUFRLENBQUMsRUFBRTtZQUN0QyxJQUFJLGFBQWEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNsRjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBakROLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixXQUFXO29CQUNYLGVBQWU7b0JBQ2Ysa0JBQWtCO2lCQUNyQjtnQkFDRCxTQUFTLEVBQUUsRUFFVjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1Ysa0JBQWtCO29CQUNsQixrQkFBa0I7b0JBQ2xCLG1CQUFtQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLGtCQUFrQjtvQkFDbEIsa0JBQWtCO2lCQUNyQjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2IsbUJBQW1CO2lCQUN0QjthQUNKOzs7O1lBR3NELFdBQVcsdUJBQWhELFFBQVEsWUFBSSxRQUFRO1lBckNaLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9ySGFuZGxlciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIEVycm9yQmFzZUNvbXBvbmVudCxcbiAgICBIdHRwRXJyb3JDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yLWJhc2UvZXJyb3ItYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXJyb3JSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9lcnJvci5yb3V0aW5nJztcbmltcG9ydCB7IEVycm9yU2VydmljZSwgRXJyb3JNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZXJyb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBFcnJvcnNIYW5kbGVyIH0gZnJvbSAnLi9lcnJvci5oYW5kbGVyJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcblxuaW1wb3J0IHtFUlJPUl9MT0NBTEVTfSBmcm9tICcuL2kxOG4nO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBFcnJvclJvdXRpbmdNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRXJyb3JCYXNlQ29tcG9uZW50LFxuICAgICAgICBIdHRwRXJyb3JDb21wb25lbnQsXG4gICAgICAgIEVycm9yTW9kYWxDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRXJyb3JCYXNlQ29tcG9uZW50LFxuICAgICAgICBIdHRwRXJyb3JDb21wb25lbnRcbiAgICBdLFxuICAgIGVudHJ5Q29tcG9uZW50czogW1xuICAgICAgICBFcnJvck1vZGFsQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFcnJvck1vZHVsZSB7XG5cbiAgICBjb25zdHJ1Y3RvciggQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBFcnJvck1vZHVsZSwgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgICB0aGlzLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxFcnJvck1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEVycm9yTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgRXJyb3JTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogRXJyb3JzSGFuZGxlcixcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnVzZS1saWZlLWN5Y2xlLWludGVyZmFjZVxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBlbnZpcm9ubWVudC5sYW5ndWFnZXMuZm9yRWFjaCggbGFuZ3VhZ2UgPT4ge1xuICAgICAgICAgICAgaWYgKEVSUk9SX0xPQ0FMRVMuaGFzT3duUHJvcGVydHkobGFuZ3VhZ2UpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbihsYW5ndWFnZSwgRVJST1JfTE9DQUxFU1tsYW5ndWFnZV0sIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbn1cbiJdfQ==