diff --git a/src/renderer/components/dialog/dialog.tsx b/src/renderer/components/dialog/dialog.tsx index 859550607c..5a4ce48f4e 100644 --- a/src/renderer/components/dialog/dialog.tsx +++ b/src/renderer/components/dialog/dialog.tsx @@ -92,6 +92,7 @@ export class Dialog extends React.PureComponent { this.props.onOpen(); if (!this.props.pinned) { if (this.elem) this.elem.addEventListener('click', this.onClickOutside); + // Using document.body target to handle keydown event before Drawer does document.body.addEventListener('keydown', this.onEscapeKey); } } diff --git a/src/renderer/components/drawer/drawer.tsx b/src/renderer/components/drawer/drawer.tsx index c4c1a3894a..d76e99f5c0 100644 --- a/src/renderer/components/drawer/drawer.tsx +++ b/src/renderer/components/drawer/drawer.tsx @@ -40,6 +40,7 @@ export class Drawer extends React.Component { }); componentDidMount() { + // Using window target for events to make sure they will be catched after other places (e.g. Dialog) window.addEventListener("mousedown", this.onMouseDown) window.addEventListener("click", this.onClickOutside) window.addEventListener("keydown", this.onEscapeKey)