From b74e7a32aa7a0c158632149b5b35dac775e0b9fc Mon Sep 17 00:00:00 2001 From: Florent Poittevin <florent.poittevin@unige.ch> Date: Fri, 25 Oct 2019 15:05:54 +0200 Subject: [PATCH] refacto: change method to self dismiss snackbar --- .../shared-snackbar.presentational.html | 2 +- .../shared-snackbar.presentational.ts | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/app/shared/components/presentationals/shared-snackbar/shared-snackbar.presentational.html b/src/app/shared/components/presentationals/shared-snackbar/shared-snackbar.presentational.html index e821c3582..cdfbf821a 100644 --- a/src/app/shared/components/presentationals/shared-snackbar/shared-snackbar.presentational.html +++ b/src/app/shared/components/presentationals/shared-snackbar/shared-snackbar.presentational.html @@ -21,7 +21,7 @@ </div> <button mat-icon-button matSuffix - (click)="close()" + (click)="close($event)" > <mat-icon class="close-icon">close</mat-icon> </button> diff --git a/src/app/shared/components/presentationals/shared-snackbar/shared-snackbar.presentational.ts b/src/app/shared/components/presentationals/shared-snackbar/shared-snackbar.presentational.ts index 523da8d9a..c3405f081 100644 --- a/src/app/shared/components/presentationals/shared-snackbar/shared-snackbar.presentational.ts +++ b/src/app/shared/components/presentationals/shared-snackbar/shared-snackbar.presentational.ts @@ -1,13 +1,16 @@ import { ChangeDetectionStrategy, Component, + Host, Inject, } from "@angular/core"; -import {MAT_SNACK_BAR_DATA} from "@angular/material/snack-bar"; +import { + MAT_SNACK_BAR_DATA, + MatSnackBarRef, +} from "@angular/material/snack-bar"; import { AbstractSnackbarPresentational, isNullOrUndefined, - NotificationService, NotificationTypeEnum, SnackbarData, } from "solidify-frontend"; @@ -23,14 +26,11 @@ export class SharedSnackbarPresentational extends AbstractSnackbarPresentational return NotificationTypeEnum; } - constructor(@Inject(MAT_SNACK_BAR_DATA) public data: SharedSnackbarOption, private snackbar: NotificationService) { + constructor(@Host() public snackbarRef: MatSnackBarRef<SharedSnackbarPresentational>, + @Inject(MAT_SNACK_BAR_DATA) public data: SharedSnackbarOption) { super(); } - close(): void { - this.snackbar.dismiss(); - } - getIcon(): string | undefined { if (!isNullOrUndefined(this.data.icon)) { return this.data.icon; @@ -49,6 +49,10 @@ export class SharedSnackbarPresentational extends AbstractSnackbarPresentational return undefined; } + + close($event: MouseEvent): void { + this.snackbarRef.dismiss(); + } } export interface SharedSnackbarOption extends SnackbarData { -- GitLab