@kelvininc/angular-ui-components
Version:
Kelvin UI Components for Angular applications
76 lines • 7.58 kB
JavaScript
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==