diff --git a/libs/components/src/dialog/directives/dialog-close.directive.ts b/libs/components/src/dialog/directives/dialog-close.directive.ts index a45991bb5e6..c4e44f04968 100644 --- a/libs/components/src/dialog/directives/dialog-close.directive.ts +++ b/libs/components/src/dialog/directives/dialog-close.directive.ts @@ -1,5 +1,5 @@ import { DialogRef } from "@angular/cdk/dialog"; -import { Directive, HostListener, Input, Optional } from "@angular/core"; +import { Directive, HostBinding, HostListener, Input, Optional } from "@angular/core"; @Directive({ selector: "[bitDialogClose]", @@ -9,7 +9,16 @@ export class DialogCloseDirective { constructor(@Optional() public dialogRef: DialogRef) {} + @HostBinding("attr.disabled") + get disableClose() { + return this.dialogRef.disableClose ? true : null; + } + @HostListener("click") close(): void { + if (this.disableClose) { + return; + } + this.dialogRef.close(this.dialogResult); } }