ng-devui
Version:
DevUI components based on Angular
62 lines • 8.48 kB
JavaScript
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