about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/components/modal_root.js
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2018-12-21 18:40:50 +0100
committerThibG <thib@sitedethib.com>2018-12-21 20:00:49 +0100
commit1a3088364fe602bb48647d78dda440b174424e17 (patch)
treee9459e1aaa07e630a6ace41a26a1ccc07bfcd49c /app/javascript/flavours/glitch/components/modal_root.js
parent0605c004a54640cd1511558e5ded15958174223c (diff)
Fix composer not getting focus after reply confirmation dialog
The modal-handling code gives back focus to the element focused when the
modal opened. However, in the case of reply confirmation, it would do so
*after* the composer code itself requested focus.
Diffstat (limited to 'app/javascript/flavours/glitch/components/modal_root.js')
-rw-r--r--app/javascript/flavours/glitch/components/modal_root.js6
1 files changed, 4 insertions, 2 deletions
diff --git a/app/javascript/flavours/glitch/components/modal_root.js b/app/javascript/flavours/glitch/components/modal_root.js
index cc26f6a11..7a90e6b8a 100644
--- a/app/javascript/flavours/glitch/components/modal_root.js
+++ b/app/javascript/flavours/glitch/components/modal_root.js
@@ -39,13 +39,15 @@ export default class ModalRoot extends React.PureComponent {
     } else if (!nextProps.children) {
       this.setState({ revealed: false });
     }
+    if (!nextProps.children && !!this.props.children) {
+      this.activeElement.focus();
+      this.activeElement = null;
+    }
   }
 
   componentDidUpdate (prevProps) {
     if (!this.props.children && !!prevProps.children) {
       this.getSiblings().forEach(sibling => sibling.removeAttribute('inert'));
-      this.activeElement.focus();
-      this.activeElement = null;
       this.handleModalClose();
     }
     if (this.props.children) {