[MM022677] fix focus on new server modal (#1242)
This commit is contained in:
parent
4f104c93c5
commit
c24354f367
|
@ -56,6 +56,7 @@ export default class MainPage extends React.Component {
|
||||||
targetURL: '',
|
targetURL: '',
|
||||||
certificateRequests: [],
|
certificateRequests: [],
|
||||||
maximized: false,
|
maximized: false,
|
||||||
|
showNewTeamModal: false,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,8 +184,12 @@ export default class MainPage extends React.Component {
|
||||||
ipcRenderer.on('download-complete', this.showDownloadCompleteNotification);
|
ipcRenderer.on('download-complete', this.showDownloadCompleteNotification);
|
||||||
|
|
||||||
function focusListener() {
|
function focusListener() {
|
||||||
|
if (this.state.showNewTeamModal && this.inputRef) {
|
||||||
|
this.inputRef.current().focus();
|
||||||
|
} else {
|
||||||
self.handleOnTeamFocused(self.state.key);
|
self.handleOnTeamFocused(self.state.key);
|
||||||
self.refs[`mattermostView${self.state.key}`].focusOnWebView();
|
self.refs[`mattermostView${self.state.key}`].focusOnWebView();
|
||||||
|
}
|
||||||
self.setState({unfocused: false});
|
self.setState({unfocused: false});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -615,6 +620,9 @@ export default class MainPage extends React.Component {
|
||||||
isDarkMode: this.props.setDarkMode(),
|
isDarkMode: this.props.setDarkMode(),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
setInputRef = (ref) => {
|
||||||
|
this.inputRef = ref;
|
||||||
|
}
|
||||||
|
|
||||||
showExtraBar = () => {
|
showExtraBar = () => {
|
||||||
const ref = this.refs[`mattermostView${this.state.key}`];
|
const ref = this.refs[`mattermostView${this.state.key}`];
|
||||||
|
@ -793,6 +801,7 @@ export default class MainPage extends React.Component {
|
||||||
currentOrder={this.props.teams.length}
|
currentOrder={this.props.teams.length}
|
||||||
show={this.state.showNewTeamModal}
|
show={this.state.showNewTeamModal}
|
||||||
restoreFocus={false}
|
restoreFocus={false}
|
||||||
|
setInputRef={this.setInputRef}
|
||||||
onClose={() => {
|
onClose={() => {
|
||||||
this.setState({
|
this.setState({
|
||||||
showNewTeamModal: false,
|
showNewTeamModal: false,
|
||||||
|
|
|
@ -138,6 +138,7 @@ export default class NewTeamModal extends React.Component {
|
||||||
className='NewTeamModal'
|
className='NewTeamModal'
|
||||||
show={this.props.show}
|
show={this.props.show}
|
||||||
id='newServerModal'
|
id='newServerModal'
|
||||||
|
enforceFocus={true}
|
||||||
onEntered={() => this.teamNameInputRef.focus()}
|
onEntered={() => this.teamNameInputRef.focus()}
|
||||||
onHide={this.props.onClose}
|
onHide={this.props.onClose}
|
||||||
container={this.props.modalContainer}
|
container={this.props.modalContainer}
|
||||||
|
@ -175,6 +176,9 @@ export default class NewTeamModal extends React.Component {
|
||||||
onChange={this.handleTeamNameChange}
|
onChange={this.handleTeamNameChange}
|
||||||
inputRef={(ref) => {
|
inputRef={(ref) => {
|
||||||
this.teamNameInputRef = ref;
|
this.teamNameInputRef = ref;
|
||||||
|
if (this.props.setInputRef) {
|
||||||
|
this.props.setInputRef(ref);
|
||||||
|
}
|
||||||
}}
|
}}
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
@ -238,4 +242,5 @@ NewTeamModal.propTypes = {
|
||||||
modalContainer: PropTypes.object,
|
modalContainer: PropTypes.object,
|
||||||
restoreFocus: PropTypes.bool,
|
restoreFocus: PropTypes.bool,
|
||||||
currentOrder: PropTypes.number,
|
currentOrder: PropTypes.number,
|
||||||
|
setInputRef: PropTypes.ref,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue