UNPKG

@kelvininc/angular-ui-components

Version:

Kelvin UI Components for Angular applications

76 lines 7.58 kB
import { Component } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil, tap } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "./toaster-controller.service"; import * as i2 from "@angular/common"; export class ToasterControllerComponent { constructor(toastService) { this.toastService = toastService; this.description = ''; this.ttl = 0; this.unsubscriber$ = new Subject(); } ngOnInit() { this.toastService.getMessageObservable() .pipe(takeUntil(this.unsubscriber$)) .subscribe((message) => this.initToaster(message)); this.toastService.getCloseObservable() .pipe(tap(() => this.onClose()), takeUntil(this.unsubscriber$)) .subscribe(); } ngOnDestroy() { this.unsubscriber$.next(); this.unsubscriber$.complete(); } onCloseToaster(event) { event.preventDefault(); this.onClose(); } initToaster(newMessage) { this.header = newMessage.header; this.description = newMessage.description ?? ''; this.type = newMessage.type; if (newMessage && newMessage.ttl) { this.ttl = newMessage.ttl; } } onClose() { this.header = null; this.description = ''; this.type = null; this.ttl = 0; } } ToasterControllerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ToasterControllerComponent, deps: [{ token: i1.ToasterService }], target: i0.ɵɵFactoryTarget.Component }); ToasterControllerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ToasterControllerComponent, selector: "kv-toaster-controller", ngImport: i0, template: ` <div *ngIf="this.header && this.type"> <kv-toaster [header]="header" [description]="description" [ttl]="ttl" [type]="type" (ttlExpired)="onCloseToaster" (clickCloseButton)="onCloseToaster" ></kv-toaster> </div> `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ToasterControllerComponent, decorators: [{ type: Component, args: [{ selector: 'kv-toaster-controller', template: ` <div *ngIf="this.header && this.type"> <kv-toaster [header]="header" [description]="description" [ttl]="ttl" [type]="type" (ttlExpired)="onCloseToaster" (clickCloseButton)="onCloseToaster" ></kv-toaster> </div> ` }] }], ctorParameters: function () { return [{ type: i1.ToasterService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci1jb250cm9sbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250cm9sbGVycy90b2FzdGVyL3RvYXN0ZXItY29udHJvbGxlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBbUJoRCxNQUFNLE9BQU8sMEJBQTBCO0lBUXRDLFlBQW1CLFlBQTRCO1FBQTVCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQU4vQyxnQkFBVyxHQUFZLEVBQUUsQ0FBQztRQUUxQixRQUFHLEdBQVksQ0FBQyxDQUFDO1FBRWpCLGtCQUFhLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7SUFFTSxDQUFDO0lBRXBELFFBQVE7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFO2FBQ3RDLElBQUksQ0FDSixTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUM3QjthQUNBLFNBQVMsQ0FBQyxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFO2FBQ3BDLElBQUksQ0FDSixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzdCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWtCO1FBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUFvQjtRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFFNUIsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7U0FDMUI7SUFDRixDQUFDO0lBRUQsT0FBTztRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQzs7dUhBbERXLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDZEQWI1Qjs7Ozs7Ozs7Ozs7RUFXVDsyRkFFVywwQkFBMEI7a0JBZnRDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7OztFQVdUO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJy4vdG9hc3Rlci1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVRvYXN0ZXIsIEVUb2FzdGVyVHlwZSB9IGZyb20gJ0BrZWx2aW5pbmMvdWktY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2t2LXRvYXN0ZXItY29udHJvbGxlcicsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGRpdiAqbmdJZj1cInRoaXMuaGVhZGVyICYmIHRoaXMudHlwZVwiPlxuXHRcdFx0PGt2LXRvYXN0ZXJcblx0XHRcdFx0W2hlYWRlcl09XCJoZWFkZXJcIlxuXHRcdFx0XHRbZGVzY3JpcHRpb25dPVwiZGVzY3JpcHRpb25cIlxuXHRcdFx0XHRbdHRsXT1cInR0bFwiXG5cdFx0XHRcdFt0eXBlXT1cInR5cGVcIlxuXHRcdFx0XHQodHRsRXhwaXJlZCk9XCJvbkNsb3NlVG9hc3RlclwiXG5cdFx0XHRcdChjbGlja0Nsb3NlQnV0dG9uKT1cIm9uQ2xvc2VUb2FzdGVyXCJcblx0XHRcdD48L2t2LXRvYXN0ZXI+XG5cdFx0PC9kaXY+XG5cdGBcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RlckNvbnRyb2xsZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cdGhlYWRlciE6IHN0cmluZyB8IG51bGw7XG5cdGRlc2NyaXB0aW9uPzogc3RyaW5nID0gJyc7XG5cdHR5cGUhOiBFVG9hc3RlclR5cGUgfCBudWxsO1xuXHR0dGw/OiBudW1iZXIgPSAwO1xuXG5cdHVuc3Vic2NyaWJlciQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyB0b2FzdFNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlKSB7IH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLnRvYXN0U2VydmljZS5nZXRNZXNzYWdlT2JzZXJ2YWJsZSgpXG5cdFx0XHQucGlwZShcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVyJClcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKG1lc3NhZ2U6IElUb2FzdGVyKSA9PiB0aGlzLmluaXRUb2FzdGVyKG1lc3NhZ2UpKTtcblxuXHRcdHRoaXMudG9hc3RTZXJ2aWNlLmdldENsb3NlT2JzZXJ2YWJsZSgpXG5cdFx0XHQucGlwZShcblx0XHRcdFx0dGFwKCgpID0+IHRoaXMub25DbG9zZSgpKSxcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVyJClcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdHRoaXMudW5zdWJzY3JpYmVyJC5uZXh0KCk7XG5cdFx0dGhpcy51bnN1YnNjcmliZXIkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRvbkNsb3NlVG9hc3RlcihldmVudDogQ3VzdG9tRXZlbnQpIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdHRoaXMub25DbG9zZSgpO1xuXHR9XG5cblx0aW5pdFRvYXN0ZXIobmV3TWVzc2FnZTogSVRvYXN0ZXIpIHtcblx0XHR0aGlzLmhlYWRlciA9IG5ld01lc3NhZ2UuaGVhZGVyO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24gPSBuZXdNZXNzYWdlLmRlc2NyaXB0aW9uID8/ICcnO1xuXHRcdHRoaXMudHlwZSA9IG5ld01lc3NhZ2UudHlwZTtcblxuXHRcdGlmIChuZXdNZXNzYWdlICYmIG5ld01lc3NhZ2UudHRsKSB7XG5cdFx0XHR0aGlzLnR0bCA9IG5ld01lc3NhZ2UudHRsO1xuXHRcdH1cblx0fVxuXG5cdG9uQ2xvc2UoKSB7XG5cdFx0dGhpcy5oZWFkZXIgPSBudWxsO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24gPSAnJztcblx0XHR0aGlzLnR5cGUgPSBudWxsO1xuXHRcdHRoaXMudHRsID0gMDtcblx0fVxufSJdfQ==