Check if router is injected in media modal (#7941)

This commit is contained in:
Maciek Baron 2018-07-04 14:34:28 +01:00 committed by Eugen Rochko
parent 9dc413b025
commit f3af1a96a8
1 changed files with 12 additions and 8 deletions

View File

@ -67,21 +67,25 @@ export default class MediaModal extends ImmutablePureComponent {
componentDidMount () { componentDidMount () {
window.addEventListener('keyup', this.handleKeyUp, false); window.addEventListener('keyup', this.handleKeyUp, false);
if (this.context.router) {
const history = this.context.router.history; const history = this.context.router.history;
history.push(history.location.pathname, previewState); history.push(history.location.pathname, previewState);
this.unlistenHistory = history.listen(() => { this.unlistenHistory = history.listen(() => {
this.props.onClose(); this.props.onClose();
}); });
} }
}
componentWillUnmount () { componentWillUnmount () {
window.removeEventListener('keyup', this.handleKeyUp); window.removeEventListener('keyup', this.handleKeyUp);
if (this.context.router) {
this.unlistenHistory(); this.unlistenHistory();
if (this.context.router.history.location.state === previewState) { if (this.context.router.history.location.state === previewState) {
this.context.router.history.goBack(); this.context.router.history.goBack();
} }
} }
}
getIndex () { getIndex () {
return this.state.index !== null ? this.state.index : this.props.index; return this.state.index !== null ? this.state.index : this.props.index;