From 8e4f93cae2704ea9687a598245bae5e4290f5b71 Mon Sep 17 00:00:00 2001 From: Stanislaw Adaszewski Date: Thu, 9 Apr 2020 22:55:22 +0200 Subject: [PATCH] Fix modal dialog on history back press. --- frontend/src/js/dialog/wb-browse-dialog.js | 9 +++++++-- frontend/src/js/widget/wb-dialog.js | 18 ++++++++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/frontend/src/js/dialog/wb-browse-dialog.js b/frontend/src/js/dialog/wb-browse-dialog.js index e072855..566bd5d 100644 --- a/frontend/src/js/dialog/wb-browse-dialog.js +++ b/frontend/src/js/dialog/wb-browse-dialog.js @@ -1,4 +1,4 @@ -import { h, Component } from 'preact'; +import { h, Component, createRef } from 'preact'; import WBBrowseDialogProjectList from 'wb-browse-dialog-project-list'; import WBBrowseDialogCollectionList from 'wb-browse-dialog-collection-list'; import WBBrowseDialogCollectionContent from 'wb-browse-dialog-collection-content'; @@ -44,6 +44,7 @@ class WBBrowseDialog extends Component { this.state.textSearch = ''; this.state.id = ('id' in this.props) ? this.props.id : uuid.v4(); this.state.accept = () => {}; + this.modalRef = createRef(); } navigateBack() { @@ -144,6 +145,10 @@ class WBBrowseDialog extends Component { $('#' + this.state.id).modal(); } + componentWillUnmount() { + $(this.modalRef.current).modal('hide'); + } + render({ app }, { history, currentUrl, mode, uuid, topPage, bottomPage, textSearch, @@ -151,7 +156,7 @@ class WBBrowseDialog extends Component { selectMany, selectWhat }) { return ( -