UNPKG

ng-devui

Version:

DevUI components based on Angular

62 lines 8.48 kB
import { ComponentFactoryResolver, Injectable } from '@angular/core'; import { OverlayContainerRef } from 'ng-devui/overlay-container'; import { assign } from 'lodash-es'; import { ToastComponent } from './toast.component'; import * as i0 from "@angular/core"; import * as i1 from "ng-devui/overlay-container"; export class ToastService { constructor(overlayContainerRef, componentFactoryResolver) { this.overlayContainerRef = overlayContainerRef; this.componentFactoryResolver = componentFactoryResolver; } open({ value, life = 5000, lifeMode = 'global', sticky = false, style, styleClass, appendUpperLimit, injector, /** * @deprecated */ component, componentFactoryResolver, } = {}) { const finalComponentFactoryResolver = componentFactoryResolver || this.componentFactoryResolver; const toastRef = this.overlayContainerRef.createComponent(finalComponentFactoryResolver.resolveComponentFactory(ToastComponent), injector); assign(toastRef.instance, { lifeMode: lifeMode, sticky: sticky, style: style, styleClass: styleClass, value: value, life: life, appendUpperLimit: appendUpperLimit, }); toastRef.instance.close = (index) => { if (typeof index === 'number' && index > -1) { toastRef.instance.removeIndexThrottle(index); } else if (index) { toastRef.instance.removeMsgThrottle(index); } else { setTimeout(() => { toastRef.instance.removeAll(); setTimeout(() => { if (toastRef) { toastRef.destroy(); } }, 300); }); } }; toastRef.instance.onHidden = () => { if (toastRef?.hostView) { toastRef.hostView.destroy(); } }; toastRef.instance.show(); return { toastInstance: toastRef.instance, }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [{ token: i1.OverlayContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.OverlayContainerRef }, { type: i0.ComponentFactoryResolver }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2RldnVpL3RvYXN0L3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQVcsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQWdCNUQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsbUJBQXdDLEVBQVUsd0JBQWtEO1FBQXBHLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQUcsQ0FBQztJQUU1SCxJQUFJLENBQUMsRUFDSCxLQUFLLEVBQ0wsSUFBSSxHQUFHLElBQUksRUFDWCxRQUFRLEdBQUcsUUFBUSxFQUNuQixNQUFNLEdBQUcsS0FBSyxFQUNkLEtBQUssRUFDTCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLFFBQVE7SUFDUjs7T0FFRztJQUNILFNBQVMsRUFDVCx3QkFBd0IsTUFDUCxFQUFFO1FBQ25CLE1BQU0sNkJBQTZCLEdBQUcsd0JBQXdCLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ2hHLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQ3ZELDZCQUE2QixDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxFQUNyRSxRQUFRLENBQ1QsQ0FBQztRQUNGLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ3hCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLEtBQUs7WUFDWixVQUFVLEVBQUUsVUFBVTtZQUN0QixLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxJQUFJO1lBQ1YsZ0JBQWdCLEVBQUUsZ0JBQWdCO1NBQ25DLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3JELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxRQUFRLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLENBQUM7aUJBQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDakIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUM5QixVQUFVLENBQUMsR0FBRyxFQUFFO3dCQUNkLElBQUksUUFBUSxFQUFFLENBQUM7NEJBQ2IsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNyQixDQUFDO29CQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDVixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUM7UUFFRixRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQ3ZCLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVGLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsT0FBTztZQUNMLGFBQWEsRUFBRSxRQUFRLENBQUMsUUFBUTtTQUNqQyxDQUFDO0lBQ0osQ0FBQzsrR0E1RFUsWUFBWTttSEFBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5Q29udGFpbmVyUmVmIH0gZnJvbSAnbmctZGV2dWkvb3ZlcmxheS1jb250YWluZXInO1xyXG5pbXBvcnQgeyBhc3NpZ24gfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlLCBUb2FzdENvbXBvbmVudCB9IGZyb20gJy4vdG9hc3QuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvYXN0T3B0aW9ucyB7XHJcbiAgdmFsdWU/OiBBcnJheTxNZXNzYWdlPjtcclxuICBsaWZlPzogbnVtYmVyO1xyXG4gIGxpZmVNb2RlPzogc3RyaW5nO1xyXG4gIHN0eWxlPzogb2JqZWN0O1xyXG4gIHN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcbiAgc3RpY2t5PzogYm9vbGVhbjtcclxuICBpbmplY3Rvcj86IEluamVjdG9yO1xyXG4gIGFwcGVuZFVwcGVyTGltaXQ/OiBudW1iZXI7XHJcbiAgY29tcG9uZW50PzogVHlwZTxhbnk+O1xyXG4gIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj86IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVG9hc3RTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlDb250YWluZXJSZWY6IE92ZXJsYXlDb250YWluZXJSZWYsIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHt9XHJcblxyXG4gIG9wZW4oe1xyXG4gICAgdmFsdWUsXHJcbiAgICBsaWZlID0gNTAwMCxcclxuICAgIGxpZmVNb2RlID0gJ2dsb2JhbCcsXHJcbiAgICBzdGlja3kgPSBmYWxzZSxcclxuICAgIHN0eWxlLFxyXG4gICAgc3R5bGVDbGFzcyxcclxuICAgIGFwcGVuZFVwcGVyTGltaXQsXHJcbiAgICBpbmplY3RvcixcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWRcclxuICAgICAqL1xyXG4gICAgY29tcG9uZW50LFxyXG4gICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIH06IElUb2FzdE9wdGlvbnMgPSB7fSkge1xyXG4gICAgY29uc3QgZmluYWxDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfHwgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XHJcbiAgICBjb25zdCB0b2FzdFJlZiA9IHRoaXMub3ZlcmxheUNvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXHJcbiAgICAgIGZpbmFsQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRvYXN0Q29tcG9uZW50KSxcclxuICAgICAgaW5qZWN0b3JcclxuICAgICk7XHJcbiAgICBhc3NpZ24odG9hc3RSZWYuaW5zdGFuY2UsIHtcclxuICAgICAgbGlmZU1vZGU6IGxpZmVNb2RlLFxyXG4gICAgICBzdGlja3k6IHN0aWNreSxcclxuICAgICAgc3R5bGU6IHN0eWxlLFxyXG4gICAgICBzdHlsZUNsYXNzOiBzdHlsZUNsYXNzLFxyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgIGxpZmU6IGxpZmUsXHJcbiAgICAgIGFwcGVuZFVwcGVyTGltaXQ6IGFwcGVuZFVwcGVyTGltaXQsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0b2FzdFJlZi5pbnN0YW5jZS5jbG9zZSA9IChpbmRleD86IG51bWJlciB8IE1lc3NhZ2UpID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiBpbmRleCA9PT0gJ251bWJlcicgJiYgaW5kZXggPiAtMSkge1xyXG4gICAgICAgIHRvYXN0UmVmLmluc3RhbmNlLnJlbW92ZUluZGV4VGhyb3R0bGUoaW5kZXgpO1xyXG4gICAgICB9IGVsc2UgaWYgKGluZGV4KSB7XHJcbiAgICAgICAgdG9hc3RSZWYuaW5zdGFuY2UucmVtb3ZlTXNnVGhyb3R0bGUoaW5kZXgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdG9hc3RSZWYuaW5zdGFuY2UucmVtb3ZlQWxsKCk7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRvYXN0UmVmKSB7XHJcbiAgICAgICAgICAgICAgdG9hc3RSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAzMDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHRvYXN0UmVmLmluc3RhbmNlLm9uSGlkZGVuID0gKCkgPT4ge1xyXG4gICAgICBpZiAodG9hc3RSZWY/Lmhvc3RWaWV3KSB7XHJcbiAgICAgICAgdG9hc3RSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHRvYXN0UmVmLmluc3RhbmNlLnNob3coKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRvYXN0SW5zdGFuY2U6IHRvYXN0UmVmLmluc3RhbmNlLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19