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.
lolsob-rspec
Thibaut Girka 2018-12-21 18:40:50 +01:00 committed by ThibG
parent e8845f0cb2
commit d9a6c27f3b
1 changed files with 4 additions and 2 deletions

View File

@ -39,13 +39,15 @@ export default class ModalRoot extends React.PureComponent {
} else if (!nextProps.children) { } else if (!nextProps.children) {
this.setState({ revealed: false }); this.setState({ revealed: false });
} }
if (!nextProps.children && !!this.props.children) {
this.activeElement.focus();
this.activeElement = null;
}
} }
componentDidUpdate (prevProps) { componentDidUpdate (prevProps) {
if (!this.props.children && !!prevProps.children) { if (!this.props.children && !!prevProps.children) {
this.getSiblings().forEach(sibling => sibling.removeAttribute('inert')); this.getSiblings().forEach(sibling => sibling.removeAttribute('inert'));
this.activeElement.focus();
this.activeElement = null;
this.handleModalClose(); this.handleModalClose();
} }
if (this.props.children) { if (this.props.children) {