import { Injectable } from '@angular/core'; import {MatDialog} from '@angular/material/dialog'; import {ErrorDialogComponent} from '@app/shared/error-dialog/error-dialog.component'; import {LoggingService} from '@app/_services/logging.service'; @Injectable({ providedIn: 'root' }) export class ErrorDialogService { public isDialogOpen: boolean = false; constructor( public dialog: MatDialog, private loggingService: LoggingService ) { } openDialog(data): any { if (this.isDialogOpen) { return false; } this.isDialogOpen = true; const dialogRef = this.dialog.open(ErrorDialogComponent, { width: '300px', data }); dialogRef.afterClosed().subscribe(result => { this.loggingService.sendInfoLevelMessage('The dialog was closed'); this.isDialogOpen = false; const res = result; }); } }