Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 3x 29x 29x 18x 18x 2x 1x | import { inject, Injectable } from '@angular/core'; import { MatSnackBar, MatSnackBarRef, SimpleSnackBar } from '@angular/material/snack-bar'; import { toasterExtraClasses, TToasterExtraClasses, TToastType } from '@app/client-util'; /** * Toaster service for user feedback. * Use to notify user about server responses in human readable format. * Usage example: * this.toaster.showToaster(error, 'error', 5000); */ @Injectable({ providedIn: 'root', }) export class AppToasterService { private readonly snackBar = inject(MatSnackBar); /** * Snackbar reference. */ private snackBarRef?: MatSnackBarRef<SimpleSnackBar>; /** * Default toaster duration value. */ private readonly defaultDuration = 7000; /** * Shows snackbar. * @param message text message to be displayed * @param type event type, colorizes snackbar * @param duration snackbar visibility duration in milliseconds */ public showToaster(message: string, type: TToastType = 'primary', duration: number = this.defaultDuration): void { const ec: TToasterExtraClasses = toasterExtraClasses(type); this.snackBarRef = this.snackBar.open(message, void 0, { panelClass: ec, verticalPosition: 'bottom', duration, }); } /** * Dismisses snackbar. */ public hideToaster(): void { if (typeof this.snackBarRef !== 'undefined') { this.snackBarRef.dismiss(); } } } |