Allow the media modal to be closed by pressing back (#7934)
This commit is contained in:
		
							parent
							
								
									6d45f768a6
								
							
						
					
					
						commit
						bbbe3ed6ba
					
				
					 1 changed files with 16 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -16,6 +16,8 @@ const messages = defineMessages({
 | 
			
		|||
  next: { id: 'lightbox.next', defaultMessage: 'Next' },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const previewState = 'previewMediaModal';
 | 
			
		||||
 | 
			
		||||
@injectIntl
 | 
			
		||||
export default class MediaModal extends ImmutablePureComponent {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +28,10 @@ export default class MediaModal extends ImmutablePureComponent {
 | 
			
		|||
    intl: PropTypes.object.isRequired,
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  static contextTypes = {
 | 
			
		||||
    router: PropTypes.object,
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  state = {
 | 
			
		||||
    index: null,
 | 
			
		||||
    navigationHidden: false,
 | 
			
		||||
| 
						 | 
				
			
			@ -61,10 +67,20 @@ export default class MediaModal extends ImmutablePureComponent {
 | 
			
		|||
 | 
			
		||||
  componentDidMount () {
 | 
			
		||||
    window.addEventListener('keyup', this.handleKeyUp, false);
 | 
			
		||||
    const history = this.context.router.history;
 | 
			
		||||
    history.push(history.location.pathname, previewState);
 | 
			
		||||
    this.unlistenHistory = history.listen(() => {
 | 
			
		||||
      this.props.onClose();
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  componentWillUnmount () {
 | 
			
		||||
    window.removeEventListener('keyup', this.handleKeyUp);
 | 
			
		||||
    this.unlistenHistory();
 | 
			
		||||
 | 
			
		||||
    if (this.context.router.history.location.state === previewState) {
 | 
			
		||||
      this.context.router.history.goBack();
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  getIndex () {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue