diff options
Diffstat (limited to 'app/assets/javascripts/components/features')
-rw-r--r-- | app/assets/javascripts/components/features/ui/containers/modal_container.jsx | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/app/assets/javascripts/components/features/ui/containers/modal_container.jsx b/app/assets/javascripts/components/features/ui/containers/modal_container.jsx index 0ffbfe8b3..1e69fc59c 100644 --- a/app/assets/javascripts/components/features/ui/containers/modal_container.jsx +++ b/app/assets/javascripts/components/features/ui/containers/modal_container.jsx @@ -104,6 +104,29 @@ const Modal = React.createClass({ this.props.onPrevClicked(); }, + componentDidMount () { + this._listener = e => { + if (!this.props.isVisible) { + return; + } + + switch(e.key) { + case 'ArrowLeft': + this.props.onPrevClicked(); + break; + case 'ArrowRight': + this.props.onNextClicked(); + break; + } + }; + + window.addEventListener('keyup', this._listener); + }, + + componentDidUnmount () { + window.removeEventListener('keyup', this._listener); + }, + render () { const { media, index, ...other } = this.props; |