UNPKG

cocori-ng

Version:

Cocori-ng is an Angular full of great components & utilites based on Material

75 lines 11.3 kB
import { Injectable } from '@angular/core'; import { NavigationStart } from '@angular/router'; import { filter } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "@angular/material/snack-bar"; import * as i2 from "@angular/router"; // import { // ToastErrorStacktraceComponent, // } from '../../shared/component/toast-error-stacktrace/toast-error-stacktrace.component'; export class ToastMessageService { constructor(toast, router) { this.toast = toast; this.router = router; this.classCss = ["succesToast", "errorToast", "infoToast"]; this.buttonAction = 'Fermer'; this.defaultDuration = 5000; this.defaultErrorDuration = 0; this.onChangeUrl(); } onChangeUrl() { this.router.events .pipe(filter((event) => event instanceof NavigationStart), filter(() => !!this.toastRef)) .subscribe(() => this.dismiss()); } success(message, callback, duration = this.defaultDuration) { this.messageHandler(callback, message, 0, duration, null); } error(message, callback, duration = this.defaultErrorDuration) { this.messageHandler(callback, message, 1, duration, this.buttonAction); } // https://stackblitz.com/edit/snackbar-with-html-so?file=app%2Fhome-page%2Fhome-page.component.ts errorStacktrace(message, stacktrace, callback, duration = this.defaultErrorDuration) { const errorStacktrace = { message: message, stacktrace: stacktrace }; // const options = { // 'panelClass': this.classCss[messageStyle], // 'duration': !duration ? 0 : duration, // 'verticalPosition': position // } // this.toastRef = this.toast.openFromComponent(ToastErrorStacktraceComponent, { data: errorStacktrace, 'panelClass': this.classCss[1] }); this.onDismiss(); } info(message, callback, duration = this.defaultDuration) { this.messageHandler(callback, message, 2, duration, null); } messageHandler(callback, message, messageStyle, duration, buttonActionText, position = 'bottom') { this.callback = callback; const options = { 'panelClass': this.classCss[messageStyle], 'duration': !duration ? 0 : duration, 'verticalPosition': position }; this.toastRef = this.toast.open(message, buttonActionText, options); this.onDismiss(); } onDismiss() { if (this.subscription) this.subscription.unsubscribe(); this.subscription = this.toastRef.afterDismissed().subscribe(() => { if (this.callback) this.callback(); }); } dismiss() { this.toast.dismiss(); } } ToastMessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ToastMessageService, deps: [{ token: i1.MatSnackBar }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); ToastMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ToastMessageService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ToastMessageService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.MatSnackBar }, { type: i2.Router }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29jb3JpLW5nL3NyYy9mZWF0dXJlLWZvcm0vY29yZS9zZXJ2aWNlL3RvYXN0LW1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7OztBQUU1QyxXQUFXO0FBQ1gsbUNBQW1DO0FBQ25DLDJGQUEyRjtBQUkzRixNQUFNLE9BQU8sbUJBQW1CO0lBWTlCLFlBQ1UsS0FBa0IsRUFDbkIsTUFBYztRQURiLFVBQUssR0FBTCxLQUFLLENBQWE7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVpmLGFBQVEsR0FBYSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFHaEUsaUJBQVksR0FBVyxRQUFRLENBQUE7UUFFdkMsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFDL0IseUJBQW9CLEdBQVcsQ0FBQyxDQUFDO1FBTy9CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLEVBQ25ELE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUM5QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxRQUFxQixFQUFFLFdBQW1CLElBQUksQ0FBQyxlQUFlO1FBQ3JGLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLFFBQXFCLEVBQUUsV0FBbUIsSUFBSSxDQUFDLG9CQUFvQjtRQUN4RixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELGtHQUFrRztJQUNsRyxlQUFlLENBQUMsT0FBZSxFQUFFLFVBQTRCLEVBQUUsUUFBcUIsRUFBRSxXQUFtQixJQUFJLENBQUMsb0JBQW9CO1FBQ2hJLE1BQU0sZUFBZSxHQUF5QixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBRTNGLG9CQUFvQjtRQUNwQiwrQ0FBK0M7UUFDL0MsMENBQTBDO1FBQzFDLGlDQUFpQztRQUNqQyxJQUFJO1FBRUosMElBQTBJO1FBRTFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWUsRUFBRSxRQUFxQixFQUFFLFdBQW1CLElBQUksQ0FBQyxlQUFlO1FBQ2xGLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxjQUFjLENBQUMsUUFBb0IsRUFBRSxPQUFlLEVBQUUsWUFBb0IsRUFBRSxRQUFnQixFQUFFLGdCQUF3QixFQUFFLFdBQXdDLFFBQVE7UUFDOUssSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFekIsTUFBTSxPQUFPLEdBQUc7WUFDZCxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDekMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7WUFDcEMsa0JBQWtCLEVBQUUsUUFBUTtTQUM3QixDQUFBO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEUsSUFBSSxJQUFJLENBQUMsUUFBUTtnQkFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7Z0hBOUVVLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIsIE1hdFNuYWNrQmFyVmVydGljYWxQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRXJyb3JTdGFja3RyYWNlTW9kZWwsIFN0YWNrdHJhY2VNb2RlbCB9IGZyb20gJ2NvY29yaS1uZy9zcmMvZmVhdHVyZS1jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbi8vIGltcG9ydCB7XHJcbi8vICAgVG9hc3RFcnJvclN0YWNrdHJhY2VDb21wb25lbnQsXHJcbi8vIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbXBvbmVudC90b2FzdC1lcnJvci1zdGFja3RyYWNlL3RvYXN0LWVycm9yLXN0YWNrdHJhY2UuY29tcG9uZW50JztcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RNZXNzYWdlU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgY2xhc3NDc3M6IHN0cmluZ1tdID0gW1wic3VjY2VzVG9hc3RcIiwgXCJlcnJvclRvYXN0XCIsIFwiaW5mb1RvYXN0XCJdO1xyXG4gIHByaXZhdGUgY2FsbGJhY2s6IEZ1bmN0aW9uO1xyXG4gIHByaXZhdGUgdG9hc3RSZWY6IGFueTtcclxuICBwcml2YXRlIGJ1dHRvbkFjdGlvbjogc3RyaW5nID0gJ0Zlcm1lcidcclxuXHJcbiAgZGVmYXVsdER1cmF0aW9uOiBudW1iZXIgPSA1MDAwO1xyXG4gIGRlZmF1bHRFcnJvckR1cmF0aW9uOiBudW1iZXIgPSAwO1xyXG5cclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvYXN0OiBNYXRTbmFja0JhcixcclxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwpIHtcclxuICAgIHRoaXMub25DaGFuZ2VVcmwoKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZVVybCgpIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXHJcbiAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy50b2FzdFJlZiksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpc21pc3MoKSlcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCBjYWxsYmFjaz86ICgpID0+IHZvaWQsIGR1cmF0aW9uOiBudW1iZXIgPSB0aGlzLmRlZmF1bHREdXJhdGlvbikge1xyXG4gICAgdGhpcy5tZXNzYWdlSGFuZGxlcihjYWxsYmFjaywgbWVzc2FnZSwgMCwgZHVyYXRpb24sIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IobWVzc2FnZTogc3RyaW5nLCBjYWxsYmFjaz86ICgpID0+IHZvaWQsIGR1cmF0aW9uOiBudW1iZXIgPSB0aGlzLmRlZmF1bHRFcnJvckR1cmF0aW9uKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VIYW5kbGVyKGNhbGxiYWNrLCBtZXNzYWdlLCAxLCBkdXJhdGlvbiwgdGhpcy5idXR0b25BY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLy8gaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9lZGl0L3NuYWNrYmFyLXdpdGgtaHRtbC1zbz9maWxlPWFwcCUyRmhvbWUtcGFnZSUyRmhvbWUtcGFnZS5jb21wb25lbnQudHNcclxuICBlcnJvclN0YWNrdHJhY2UobWVzc2FnZTogc3RyaW5nLCBzdGFja3RyYWNlPzogU3RhY2t0cmFjZU1vZGVsLCBjYWxsYmFjaz86ICgpID0+IHZvaWQsIGR1cmF0aW9uOiBudW1iZXIgPSB0aGlzLmRlZmF1bHRFcnJvckR1cmF0aW9uKSB7XHJcbiAgICBjb25zdCBlcnJvclN0YWNrdHJhY2U6IEVycm9yU3RhY2t0cmFjZU1vZGVsID0geyBtZXNzYWdlOiBtZXNzYWdlLCBzdGFja3RyYWNlOiBzdGFja3RyYWNlIH07XHJcblxyXG4gICAgLy8gY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgIC8vICAgJ3BhbmVsQ2xhc3MnOiB0aGlzLmNsYXNzQ3NzW21lc3NhZ2VTdHlsZV0sXHJcbiAgICAvLyAgICdkdXJhdGlvbic6ICFkdXJhdGlvbiA/IDAgOiBkdXJhdGlvbixcclxuICAgIC8vICAgJ3ZlcnRpY2FsUG9zaXRpb24nOiBwb3NpdGlvblxyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHRoaXMudG9hc3RSZWYgPSB0aGlzLnRvYXN0Lm9wZW5Gcm9tQ29tcG9uZW50KFRvYXN0RXJyb3JTdGFja3RyYWNlQ29tcG9uZW50LCB7IGRhdGE6IGVycm9yU3RhY2t0cmFjZSwgJ3BhbmVsQ2xhc3MnOiB0aGlzLmNsYXNzQ3NzWzFdIH0pO1xyXG5cclxuICAgIHRoaXMub25EaXNtaXNzKCk7XHJcbiAgfVxyXG5cclxuICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgY2FsbGJhY2s/OiAoKSA9PiB2b2lkLCBkdXJhdGlvbjogbnVtYmVyID0gdGhpcy5kZWZhdWx0RHVyYXRpb24pIHtcclxuICAgIHRoaXMubWVzc2FnZUhhbmRsZXIoY2FsbGJhY2ssIG1lc3NhZ2UsIDIsIGR1cmF0aW9uLCBudWxsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWVzc2FnZUhhbmRsZXIoY2FsbGJhY2s6ICgpID0+IHZvaWQsIG1lc3NhZ2U6IHN0cmluZywgbWVzc2FnZVN0eWxlOiBudW1iZXIsIGR1cmF0aW9uOiBudW1iZXIsIGJ1dHRvbkFjdGlvblRleHQ6IHN0cmluZywgcG9zaXRpb246IE1hdFNuYWNrQmFyVmVydGljYWxQb3NpdGlvbiA9ICdib3R0b20nKSB7XHJcbiAgICB0aGlzLmNhbGxiYWNrID0gY2FsbGJhY2s7XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgJ3BhbmVsQ2xhc3MnOiB0aGlzLmNsYXNzQ3NzW21lc3NhZ2VTdHlsZV0sXHJcbiAgICAgICdkdXJhdGlvbic6ICFkdXJhdGlvbiA/IDAgOiBkdXJhdGlvbixcclxuICAgICAgJ3ZlcnRpY2FsUG9zaXRpb24nOiBwb3NpdGlvblxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9hc3RSZWYgPSB0aGlzLnRvYXN0Lm9wZW4obWVzc2FnZSwgYnV0dG9uQWN0aW9uVGV4dCwgb3B0aW9ucyk7XHJcblxyXG4gICAgdGhpcy5vbkRpc21pc3MoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25EaXNtaXNzKCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy50b2FzdFJlZi5hZnRlckRpc21pc3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmNhbGxiYWNrKSB0aGlzLmNhbGxiYWNrKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRpc21pc3MoKSB7XHJcbiAgICB0aGlzLnRvYXN0LmRpc21pc3MoKTtcclxuICB9XHJcbn1cclxuIl19