import { Component, Inject, Optional, OnInit,HostListener } from '@angular/core'; import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'; export enum KEY_CODE { RIGHT_ARROW = 39, LEFT_ARROW = 37, TAB = 9 } @Component({ selector: 'dialog-confirm', templateUrl: './modal-confirm.component.html', }) export class DialogConfirm implements OnInit { public modalHeader: string; public modalBody: string; public cancelButtonSetFocus: boolean = true; public removeButtonSetFocus: boolean = false; constructor( @Optional() @Inject(MAT_DIALOG_DATA) private dialogData: any, public dialogRef: MatDialogRef) { } ngOnInit(): void { this.modalHeader = this.dialogData.head; this.modalBody = this.dialogData.body; } @HostListener('window:keyup', ['$event']) keyEvent(event: KeyboardEvent) { if (event.keyCode === KEY_CODE.RIGHT_ARROW) { this.cancelButtonSetFocus = true; this.removeButtonSetFocus = false; } if (event.keyCode === KEY_CODE.LEFT_ARROW) { this.removeButtonSetFocus = true; this.cancelButtonSetFocus = false; } if (event.keyCode === KEY_CODE.TAB) { if (this.cancelButtonSetFocus === true) { this.removeButtonSetFocus = true; this.cancelButtonSetFocus = false; } else { this.removeButtonSetFocus = false; this.cancelButtonSetFocus = true; } } } }