fix: Dialog/Confirm re-focus original element on close
parent
dd02b1d6fe
commit
c7f9b9704f
|
@ -54,7 +54,8 @@ export default {
|
|||
visible: false,
|
||||
confirmation: null,
|
||||
autoFocusAccept: null,
|
||||
autoFocusReject: null
|
||||
autoFocusReject: null,
|
||||
focusElementOnHide: null,
|
||||
};
|
||||
},
|
||||
target: null,
|
||||
|
@ -151,6 +152,8 @@ export default {
|
|||
this.autoFocusAccept = this.confirmation.defaultFocus === undefined || this.confirmation.defaultFocus === 'accept' ? true : false;
|
||||
this.autoFocusReject = this.confirmation.defaultFocus === 'reject' ? true : false;
|
||||
|
||||
this.focusElementOnHide = document.activeElement;
|
||||
|
||||
this.bindOutsideClickListener();
|
||||
this.bindScrollListener();
|
||||
this.bindResizeListener();
|
||||
|
@ -164,6 +167,9 @@ export default {
|
|||
this.autoFocusAccept = null;
|
||||
this.autoFocusReject = null;
|
||||
|
||||
DomHandler.focus(this.focusElementOnHide);
|
||||
this.focusElementOnHide = null;
|
||||
|
||||
this.unbindOutsideClickListener();
|
||||
this.unbindScrollListener();
|
||||
this.unbindResizeListener();
|
||||
|
|
|
@ -84,7 +84,8 @@ export default {
|
|||
containerVisible: this.visible,
|
||||
maximized: false,
|
||||
focusableMax: null,
|
||||
focusableClose: null
|
||||
focusableClose: null,
|
||||
focusElementOnHide: null,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
|
@ -139,6 +140,7 @@ export default {
|
|||
},
|
||||
onEnter() {
|
||||
this.$emit('show');
|
||||
this.focusElementOnHide = document.activeElement;
|
||||
this.focus();
|
||||
this.enableDocumentSettings();
|
||||
this.bindGlobalListeners();
|
||||
|
@ -154,6 +156,8 @@ export default {
|
|||
},
|
||||
onLeave() {
|
||||
this.$emit('hide');
|
||||
DomHandler.focus(this.focusElementOnHide);
|
||||
this.focusElementOnHide = null;
|
||||
this.focusableClose = null;
|
||||
this.focusableMax = null;
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue