From 29bd2ba85bf03f646c2723181595a2bb225becca Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 2 Dec 2016 14:37:00 +0100 Subject: [PATCH] Fix #298 - Esc to close modal --- .../javascripts/components/components/lightbox.jsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/assets/javascripts/components/components/lightbox.jsx b/app/assets/javascripts/components/components/lightbox.jsx index 36f078a3a0..29822ccb34 100644 --- a/app/assets/javascripts/components/components/lightbox.jsx +++ b/app/assets/javascripts/components/components/lightbox.jsx @@ -40,6 +40,18 @@ const Lightbox = React.createClass({ mixins: [PureRenderMixin], + componentDidMount () { + this._listener = window.addEventListener('keyup', e => { + if (e.key === 'Escape') { + this.props.onCloseClicked(); + } + }); + }, + + componentWillUnmount () { + window.removeEventListener(this._listener); + }, + render () { const { intl, isVisible, onOverlayClicked, onCloseClicked, children } = this.props;