Remove race between clearing lists and search requests (#5686)

This commit is contained in:
Joram Wilander
2017-03-09 04:15:38 -05:00
committed by George Goldberg
parent bfc8dafe5e
commit cbead2d973
5 changed files with 15 additions and 10 deletions

View File

@@ -148,16 +148,17 @@ export default class UserList extends React.Component {
}
search(term) {
clearTimeout(this.searchTimeoutId);
if (term === '') {
this.setState({search: false, users: UserStore.getProfileListInTeam(this.props.params.team)});
this.searchTimeoutId = '';
return;
}
const options = {};
options[UserSearchOptions.ALLOW_INACTIVE] = true;
clearTimeout(this.searchTimeoutId);
const searchTimeoutId = setTimeout(
() => {
searchUsers(

View File

@@ -107,16 +107,17 @@ export default class ChannelInviteModal extends React.Component {
}
search(term) {
clearTimeout(this.searchTimeoutId);
this.term = term;
if (term === '') {
this.onChange(true);
this.setState({search: false});
this.searchTimeoutId = '';
return;
}
clearTimeout(this.searchTimeoutId);
const searchTimeoutId = setTimeout(
() => {
searchUsers(

View File

@@ -91,6 +91,8 @@ export default class MemberListChannel extends React.Component {
}
search(term) {
clearTimeout(this.searchTimeoutId);
if (term === '') {
this.setState({
search: false,
@@ -99,11 +101,10 @@ export default class MemberListChannel extends React.Component {
teamMembers: Object.assign([], TeamStore.getMembersInTeam()),
channelMembers: Object.assign([], ChannelStore.getMembersInChannel())
});
this.searchTimeoutId = '';
return;
}
clearTimeout(this.searchTimeoutId);
const searchTimeoutId = setTimeout(
() => {
searchUsers(

View File

@@ -88,13 +88,14 @@ export default class MemberListTeam extends React.Component {
}
search(term) {
clearTimeout(this.searchTimeoutId);
if (term === '') {
this.setState({search: false, term, users: UserStore.getProfileListInTeam(), teamMembers: Object.assign([], TeamStore.getMembersInTeam())});
this.searchTimeoutId = '';
return;
}
clearTimeout(this.searchTimeoutId);
const searchTimeoutId = setTimeout(
() => {
searchUsers(

View File

@@ -99,14 +99,15 @@ export default class MoreChannels extends React.Component {
}
search(term) {
clearTimeout(this.searchTimeoutId);
if (term === '') {
this.onChange(true);
this.setState({search: false});
this.searchTimeoutId = '';
return;
}
clearTimeout(this.searchTimeoutId);
const searchTimeoutId = setTimeout(
() => {
searchMoreChannels(