Stopped rerendering CreatePost/CreateComment when blurring textbox (#5026)

Этот коммит содержится в:
Harrison Healey
2017-01-10 09:08:37 -05:00
коммит произвёл GitHub
родитель 78cadf7d60
Коммит 7846036c77
2 изменённых файлов: 11 добавлений и 8 удалений

Просмотреть файл

@@ -67,9 +67,10 @@ export default class CreateComment extends React.Component {
fileInfos: draft.fileInfos, fileInfos: draft.fileInfos,
submitting: false, submitting: false,
ctrlSend: PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter'), ctrlSend: PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter'),
showPostDeletedModal: false, showPostDeletedModal: false
lastBlurAt: 0
}; };
this.lastBlurAt = 0;
} }
componentDidMount() { componentDidMount() {
@@ -145,7 +146,7 @@ export default class CreateComment extends React.Component {
}); });
const fasterThanHumanWillClick = 150; const fasterThanHumanWillClick = 150;
const forceFocus = (Date.now() - this.state.lastBlurAt < fasterThanHumanWillClick); const forceFocus = (Date.now() - this.lastBlurAt < fasterThanHumanWillClick);
this.focusTextbox(forceFocus); this.focusTextbox(forceFocus);
} }
@@ -405,7 +406,7 @@ export default class CreateComment extends React.Component {
} }
handleBlur() { handleBlur() {
this.setState({lastBlurAt: Date.now()}); this.lastBlurAt = Date.now();
} }
render() { render() {

Просмотреть файл

@@ -76,9 +76,10 @@ export default class CreatePost extends React.Component {
ctrlSend: PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter'), ctrlSend: PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter'),
fullWidthTextBox: PreferenceStore.get(Preferences.CATEGORY_DISPLAY_SETTINGS, Preferences.CHANNEL_DISPLAY_MODE, Preferences.CHANNEL_DISPLAY_MODE_DEFAULT) === Preferences.CHANNEL_DISPLAY_MODE_FULL_SCREEN, fullWidthTextBox: PreferenceStore.get(Preferences.CATEGORY_DISPLAY_SETTINGS, Preferences.CHANNEL_DISPLAY_MODE, Preferences.CHANNEL_DISPLAY_MODE_DEFAULT) === Preferences.CHANNEL_DISPLAY_MODE_FULL_SCREEN,
showTutorialTip: false, showTutorialTip: false,
showPostDeletedModal: false, showPostDeletedModal: false
lastBlurAt: 0
}; };
this.lastBlurAt = 0;
} }
handlePostError(postError) { handlePostError(postError) {
@@ -154,7 +155,8 @@ export default class CreatePost extends React.Component {
this.setState({message: '', submitting: false, postError: null, fileInfos: [], serverError: null}); this.setState({message: '', submitting: false, postError: null, fileInfos: [], serverError: null});
const fasterThanHumanWillClick = 150; const fasterThanHumanWillClick = 150;
const forceFocus = (Date.now() - this.state.lastBlurAt < fasterThanHumanWillClick); const forceFocus = (Date.now() - this.lastBlurAt < fasterThanHumanWillClick);
this.focusTextbox(forceFocus); this.focusTextbox(forceFocus);
} }
@@ -438,7 +440,7 @@ export default class CreatePost extends React.Component {
} }
handleBlur() { handleBlur() {
this.setState({lastBlurAt: Date.now()}); this.lastBlurAt = Date.now();
} }
showPostDeletedModal() { showPostDeletedModal() {