@vismaux/ngx-nordic-cool
Version:
Common Nordic-Cool components for Angular.
44 lines • 8.91 kB
JavaScript
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "./error-messages";
import * as i2 from "@angular/common";
export class NcErrorTooltipContentComponent {
constructor(cd, globalErrorMessagesService) {
this.cd = cd;
this.globalErrorMessagesService = globalErrorMessagesService;
this.destroyed$ = new Subject();
this.errors = {};
this.errorMessages = {};
this.globalErrorMessages = {};
}
ngOnInit() {
this.globalErrorMessagesService.errorMessages$
.pipe(takeUntil(this.destroyed$))
.subscribe((messages) => {
this.globalErrorMessages = messages;
this.cd.markForCheck();
});
}
ngOnDestroy() {
this.destroyed$.next();
this.destroyed$.unsubscribe();
}
get errorKeys() {
return Object.keys(this.errors);
}
}
NcErrorTooltipContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NcErrorTooltipContentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NcGlobalErrorMessagesService }], target: i0.ɵɵFactoryTarget.Component });
NcErrorTooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: NcErrorTooltipContentComponent, selector: "nc-error-tooltip-content", inputs: { errors: "errors", errorMessages: "errorMessages", errorMessageId: "errorMessageId" }, ngImport: i0, template: "<div [attr.id]=\"errorMessageId\" aria-live=\"assertive\">\n <div *ngFor=\"let errKey of errorKeys\">\n <ng-template\n *ngIf=\"errorMessages[errKey]\"\n [ngTemplateOutlet]=\"errorMessages[errKey]\"\n [ngTemplateOutletContext]=\"{\n $implicit: errors[errKey],\n error: errors[errKey]\n }\"\n ></ng-template>\n\n <ng-template\n *ngIf=\"!errorMessages[errKey] && globalErrorMessages[errKey]\"\n [ngTemplateOutlet]=\"globalErrorMessages[errKey]\"\n [ngTemplateOutletContext]=\"{\n $implicit: errors[errKey],\n error: errors[errKey]\n }\"\n ></ng-template>\n\n <ng-container\n *ngIf=\"!errorMessages[errKey] && !globalErrorMessages[errKey]\"\n >\n Validation error: *{{ errKey }}*.\n </ng-container>\n </div>\n</div>\n", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NcErrorTooltipContentComponent, decorators: [{
type: Component,
args: [{ selector: 'nc-error-tooltip-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [attr.id]=\"errorMessageId\" aria-live=\"assertive\">\n <div *ngFor=\"let errKey of errorKeys\">\n <ng-template\n *ngIf=\"errorMessages[errKey]\"\n [ngTemplateOutlet]=\"errorMessages[errKey]\"\n [ngTemplateOutletContext]=\"{\n $implicit: errors[errKey],\n error: errors[errKey]\n }\"\n ></ng-template>\n\n <ng-template\n *ngIf=\"!errorMessages[errKey] && globalErrorMessages[errKey]\"\n [ngTemplateOutlet]=\"globalErrorMessages[errKey]\"\n [ngTemplateOutletContext]=\"{\n $implicit: errors[errKey],\n error: errors[errKey]\n }\"\n ></ng-template>\n\n <ng-container\n *ngIf=\"!errorMessages[errKey] && !globalErrorMessages[errKey]\"\n >\n Validation error: *{{ errKey }}*.\n </ng-container>\n </div>\n</div>\n" }]
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NcGlobalErrorMessagesService }]; }, propDecorators: { errors: [{
type: Input
}], errorMessages: [{
type: Input
}], errorMessageId: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItdG9vbHRpcC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub3JkaWMtY29vbC9zcmMvbGliL2Vycm9yLXRvb2x0aXAvZXJyb3ItdG9vbHRpcC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub3JkaWMtY29vbC9zcmMvbGliL2Vycm9yLXRvb2x0aXAvZXJyb3ItdG9vbHRpcC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVkzQyxNQUFNLE9BQU8sOEJBQThCO0lBU3pDLFlBQ1MsRUFBcUIsRUFDcEIsMEJBQXdEO1FBRHpELE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3BCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBOEI7UUFWMUQsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFMUIsV0FBTSxHQUEyQixFQUFFLENBQUM7UUFDcEMsa0JBQWEsR0FBb0IsRUFBRSxDQUFDO1FBRzdDLHdCQUFtQixHQUFvQixFQUFFLENBQUM7SUFLdkMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsMEJBQTBCLENBQUMsY0FBYzthQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDOzsySEE5QlUsOEJBQThCOytHQUE5Qiw4QkFBOEIsZ0tDckIzQyxnekJBMkJBOzJGRE5hLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSwwQkFBMEIsbUJBRW5CLHVCQUF1QixDQUFDLE1BQU07bUpBS3RDLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgTmNHbG9iYWxFcnJvck1lc3NhZ2VzU2VydmljZSxcbiAgTmNFcnJvck1lc3NhZ2VzLFxufSBmcm9tICcuL2Vycm9yLW1lc3NhZ2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmMtZXJyb3ItdG9vbHRpcC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICdlcnJvci10b29sdGlwLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmNFcnJvclRvb2x0aXBDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIEBJbnB1dCgpIGVycm9yczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2VzOiBOY0Vycm9yTWVzc2FnZXMgPSB7fTtcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlSWQ/OiBzdHJpbmc7XG5cbiAgZ2xvYmFsRXJyb3JNZXNzYWdlczogTmNFcnJvck1lc3NhZ2VzID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGdsb2JhbEVycm9yTWVzc2FnZXNTZXJ2aWNlOiBOY0dsb2JhbEVycm9yTWVzc2FnZXNTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdsb2JhbEVycm9yTWVzc2FnZXNTZXJ2aWNlLmVycm9yTWVzc2FnZXMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2VzKSA9PiB7XG4gICAgICAgIHRoaXMuZ2xvYmFsRXJyb3JNZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IGVycm9yS2V5cygpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5lcnJvcnMpO1xuICB9XG59XG4iLCI8ZGl2IFthdHRyLmlkXT1cImVycm9yTWVzc2FnZUlkXCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGVycktleSBvZiBlcnJvcktleXNcIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICpuZ0lmPVwiZXJyb3JNZXNzYWdlc1tlcnJLZXldXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVycm9yTWVzc2FnZXNbZXJyS2V5XVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAkaW1wbGljaXQ6IGVycm9yc1tlcnJLZXldLFxuICAgICAgICBlcnJvcjogZXJyb3JzW2VycktleV1cbiAgICAgIH1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAqbmdJZj1cIiFlcnJvck1lc3NhZ2VzW2VycktleV0gJiYgZ2xvYmFsRXJyb3JNZXNzYWdlc1tlcnJLZXldXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImdsb2JhbEVycm9yTWVzc2FnZXNbZXJyS2V5XVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAkaW1wbGljaXQ6IGVycm9yc1tlcnJLZXldLFxuICAgICAgICBlcnJvcjogZXJyb3JzW2VycktleV1cbiAgICAgIH1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCIhZXJyb3JNZXNzYWdlc1tlcnJLZXldICYmICFnbG9iYWxFcnJvck1lc3NhZ2VzW2VycktleV1cIlxuICAgID5cbiAgICAgIFZhbGlkYXRpb24gZXJyb3I6ICp7eyBlcnJLZXkgfX0qLlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19