UNPKG

@doku-dev/doku-fragment

Version:

A new Angular UI library that moving away from Bootstrap and built from scratch.

44 lines 5.1 kB
import { TOAST_DURATION } from './toast.constant'; export class DokuActiveToast { /** * Dismiss active toast. */ dismiss() { // Business logic will be filled on service } } export class DokuToastRef { constructor(componentRef, toastElementService, toastData) { this.componentRef = componentRef; this.toastElementService = toastElementService; this.toastData = toastData; /** * Instance of the {@link DokuToast} component. */ this.instance = this.componentRef.instance; /** * Used to clear setTimeout for auto dismiss when it get dismissed before auto dismiss invoked. */ this.timeoutId = undefined; this.result = new Promise((resolve) => { this._resolve = resolve; }); } /** * Dismiss current toast. */ dismiss() { this.componentRef.destroy(); this.componentRef.changeDetectorRef.detectChanges(); this.toastElementService.removeContainerElement(); this._resolve(null); clearTimeout(this.timeoutId); } startAutoDismiss() { if (this.toastData.autoDismiss === false) return; const duration = this.toastData.duration ?? TOAST_DURATION; this.timeoutId = setTimeout(() => this.dismiss(), duration); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9rdS1mcmFnbWVudC9zcmMvbGliL3RvYXN0L3RvYXN0LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEQsTUFBTSxPQUFPLGVBQWU7SUFDMUI7O09BRUc7SUFDSCxPQUFPO1FBQ0wsMkNBQTJDO0lBQzdDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBZXZCLFlBQ1UsWUFBcUMsRUFDckMsbUJBQTRDLEVBQzVDLFNBQXdCO1FBRnhCLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUNyQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFqQmxDOztXQUVHO1FBQ0gsYUFBUSxHQUFjLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBRWpEOztXQUVHO1FBQ0ssY0FBUyxHQUFtQyxTQUFTLENBQUM7UUFXNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxJQUFJLGNBQWMsQ0FBQztRQUMzRCxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb2t1VG9hc3RFbGVtZW50U2VydmljZSB9IGZyb20gJy4vdG9hc3QtZWxlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IERva3VUb2FzdCB9IGZyb20gJy4vdG9hc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRPQVNUX0RVUkFUSU9OIH0gZnJvbSAnLi90b2FzdC5jb25zdGFudCc7XG5pbXBvcnQgeyBEb2t1VG9hc3RJdGVtIH0gZnJvbSAnLi90b2FzdC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgRG9rdUFjdGl2ZVRvYXN0IHtcbiAgLyoqXG4gICAqIERpc21pc3MgYWN0aXZlIHRvYXN0LlxuICAgKi9cbiAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICAvLyBCdXNpbmVzcyBsb2dpYyB3aWxsIGJlIGZpbGxlZCBvbiBzZXJ2aWNlXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERva3VUb2FzdFJlZiB7XG4gIC8qKlxuICAgKiBJbnN0YW5jZSBvZiB0aGUge0BsaW5rIERva3VUb2FzdH0gY29tcG9uZW50LlxuICAgKi9cbiAgaW5zdGFuY2U6IERva3VUb2FzdCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGNsZWFyIHNldFRpbWVvdXQgZm9yIGF1dG8gZGlzbWlzcyB3aGVuIGl0IGdldCBkaXNtaXNzZWQgYmVmb3JlIGF1dG8gZGlzbWlzcyBpbnZva2VkLlxuICAgKi9cbiAgcHJpdmF0ZSB0aW1lb3V0SWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiA9IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgcmVzdWx0ITogUHJvbWlzZTx1bmtub3duPjtcblxuICBwcml2YXRlIF9yZXNvbHZlITogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8RG9rdVRvYXN0PixcbiAgICBwcml2YXRlIHRvYXN0RWxlbWVudFNlcnZpY2U6IERva3VUb2FzdEVsZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3REYXRhOiBEb2t1VG9hc3RJdGVtXG4gICkge1xuICAgIHRoaXMucmVzdWx0ID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMuX3Jlc29sdmUgPSByZXNvbHZlO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3MgY3VycmVudCB0b2FzdC5cbiAgICovXG4gIGRpc21pc3MoKSB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnRvYXN0RWxlbWVudFNlcnZpY2UucmVtb3ZlQ29udGFpbmVyRWxlbWVudCgpO1xuICAgIHRoaXMuX3Jlc29sdmUobnVsbCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dElkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdGFydEF1dG9EaXNtaXNzKCkge1xuICAgIGlmICh0aGlzLnRvYXN0RGF0YS5hdXRvRGlzbWlzcyA9PT0gZmFsc2UpIHJldHVybjtcbiAgICBjb25zdCBkdXJhdGlvbiA9IHRoaXMudG9hc3REYXRhLmR1cmF0aW9uID8/IFRPQVNUX0RVUkFUSU9OO1xuICAgIHRoaXMudGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmRpc21pc3MoKSwgZHVyYXRpb24pO1xuICB9XG59XG4iXX0=