diff --git a/src/app/dialogs/confirm-dialog/confirm-dialog.component.html b/src/app/dialogs/confirm-dialog/confirm-dialog.component.html index 16d1e33..5c6ef6b 100644 --- a/src/app/dialogs/confirm-dialog/confirm-dialog.component.html +++ b/src/app/dialogs/confirm-dialog/confirm-dialog.component.html @@ -1,12 +1,15 @@

{{dialogTitle}}

-
+
{{dialogText}}
- + +
+ +
\ No newline at end of file diff --git a/src/app/dialogs/confirm-dialog/confirm-dialog.component.scss b/src/app/dialogs/confirm-dialog/confirm-dialog.component.scss index 94a9bdb..b020101 100644 --- a/src/app/dialogs/confirm-dialog/confirm-dialog.component.scss +++ b/src/app/dialogs/confirm-dialog/confirm-dialog.component.scss @@ -1 +1,5 @@ -.spacer {flex: 1 1 auto;} \ No newline at end of file +.spacer {flex: 1 1 auto;} + +.mat-spinner { + margin-left: 8px; +} \ No newline at end of file diff --git a/src/app/dialogs/confirm-dialog/confirm-dialog.component.ts b/src/app/dialogs/confirm-dialog/confirm-dialog.component.ts index a6296cd..36892b8 100644 --- a/src/app/dialogs/confirm-dialog/confirm-dialog.component.ts +++ b/src/app/dialogs/confirm-dialog/confirm-dialog.component.ts @@ -1,5 +1,5 @@ -import { Component, OnInit, Inject } from '@angular/core'; -import { MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { Component, OnInit, Inject, EventEmitter } from '@angular/core'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; @Component({ selector: 'app-confirm-dialog', @@ -8,14 +8,34 @@ import { MAT_DIALOG_DATA } from '@angular/material/dialog'; }) export class ConfirmDialogComponent implements OnInit { - dialogTitle: 'Confirm'; - dialogText: 'Would you like to confirm?'; - submitText: 'Yes' + dialogTitle = 'Confirm'; + dialogText = 'Would you like to confirm?'; + submitText = 'Yes' + submitClicked = false; - constructor(@Inject(MAT_DIALOG_DATA) public data: any) { + doneEmitter: EventEmitter = null; + onlyEmitOnDone = false; + + + constructor(@Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef) { if (this.data.dialogTitle) { this.dialogTitle = this.data.dialogTitle }; if (this.data.dialogText) { this.dialogText = this.data.dialogText }; if (this.data.submitText) { this.submitText = this.data.submitText }; + + // checks if emitter exists, if so don't autoclose as it should be handled by caller + if (this.data.doneEmitter) { + this.doneEmitter = this.data.doneEmitter; + this.onlyEmitOnDone = true; + } + } + + confirmClicked() { + if (this.onlyEmitOnDone) { + this.doneEmitter.emit(true); + this.submitClicked = true; + } else { + this.dialogRef.close(true); + } } ngOnInit(): void {