From 9b0f603013408a42c39980a46746b7879b521056 Mon Sep 17 00:00:00 2001 From: Beth Stevic Date: Wed, 14 Oct 2020 12:46:01 -0400 Subject: [PATCH] Remove modal overlay lock on unmount - Fixes bug where classname was not removed on modal close [Jira Bug Ticket](https://rentpath.atlassian.net/browse/AG-4926) --- packages/react-ui-core/src/ModalStack/ModalStack.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/react-ui-core/src/ModalStack/ModalStack.js b/packages/react-ui-core/src/ModalStack/ModalStack.js index 0219be7fb..f294bf89c 100644 --- a/packages/react-ui-core/src/ModalStack/ModalStack.js +++ b/packages/react-ui-core/src/ModalStack/ModalStack.js @@ -56,6 +56,11 @@ export default class ModalStack extends PureComponent { this.loadCurrentModal() } + componentWillUnmount() { + this.toggleBodyClass(false) + this.modalHost = undefined + } + @autobind onClose() { const { currentModal, onClose } = this.props @@ -109,10 +114,7 @@ export default class ModalStack extends PureComponent { toggleBodyClass(toggle) { const { theme } = this.props - - if (this.modalHost) { - document.body.classList.toggle(theme['Overlay-lock'], toggle) - } + document.body.classList.toggle(theme['Overlay-lock'], toggle) } @autobind @@ -145,7 +147,6 @@ export default class ModalStack extends PureComponent { return createPortal(this.renderModals(), this.modalHost) } - this.toggleBodyClass(false) return null } }