fix(overlays): hideOnEsc should also work while being on the invoker

This commit is contained in:
Thomas Allmer 2019-11-29 18:24:22 +01:00
parent 2853444de7
commit c899cf26d2
3 changed files with 4 additions and 0 deletions

View file

@ -262,6 +262,7 @@ export class LionInputDatepicker extends OverlayMixin(LionInputDate) {
_defineOverlayConfig() { _defineOverlayConfig() {
return { return {
...withModalDialogConfig(), ...withModalDialogConfig(),
hidesOnOutsideClick: true,
}; };
} }

View file

@ -483,8 +483,10 @@ export class OverlayController {
if (phase === 'show') { if (phase === 'show') {
this.__escKeyHandler = ev => ev.key === 'Escape' && this.hide(); this.__escKeyHandler = ev => ev.key === 'Escape' && this.hide();
this.contentNode.addEventListener('keyup', this.__escKeyHandler); this.contentNode.addEventListener('keyup', this.__escKeyHandler);
this.invokerNode.addEventListener('keyup', this.__escKeyHandler);
} else if (phase === 'hide') { } else if (phase === 'hide') {
this.contentNode.removeEventListener('keyup', this.__escKeyHandler); this.contentNode.removeEventListener('keyup', this.__escKeyHandler);
this.invokerNode.removeEventListener('keyup', this.__escKeyHandler);
} }
} }

View file

@ -14,6 +14,7 @@ export class LionTooltip extends OverlayMixin(LitElement) {
return { return {
placementMode: 'local', // have to set a default placementMode: 'local', // have to set a default
elementToFocusAfterHide: null, elementToFocusAfterHide: null,
hidesOnEsc: true,
}; };
} }