Prevent scrolling main frame when navigating in image gallery with arrow keys

master
Thibaut Girka 6 years ago committed by ThibG
parent 02326a4322
commit 82ab5aacb2
  1. 10
      app/javascript/flavours/glitch/features/ui/components/media_modal.js

@ -48,23 +48,27 @@ export default class MediaModal extends ImmutablePureComponent {
this.setState({ index: index % this.props.media.size }); this.setState({ index: index % this.props.media.size });
} }
handleKeyUp = (e) => { handleKeyDown = (e) => {
switch(e.key) { switch(e.key) {
case 'ArrowLeft': case 'ArrowLeft':
this.handlePrevClick(); this.handlePrevClick();
e.preventDefault();
e.stopPropagation();
break; break;
case 'ArrowRight': case 'ArrowRight':
this.handleNextClick(); this.handleNextClick();
e.preventDefault();
e.stopPropagation();
break; break;
} }
} }
componentDidMount () { componentDidMount () {
window.addEventListener('keyup', this.handleKeyUp, false); window.addEventListener('keydown', this.handleKeyDown, false);
} }
componentWillUnmount () { componentWillUnmount () {
window.removeEventListener('keyup', this.handleKeyUp); window.removeEventListener('keydown', this.handleKeyDown);
} }
getIndex () { getIndex () {

Loading…
Cancel
Save