summaryrefslogtreecommitdiffstats
path: root/webapp/components
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-09 04:15:38 -0500
committerGeorge Goldberg <george@gberg.me>2017-03-09 09:15:38 +0000
commitcbead2d973fb70bf4dc644dd6a8b8c34b49ff6aa (patch)
treef98d9b9a0b6aad63708fc045c01d709bf375a3a9 /webapp/components
parentbfc8dafe5eb03d6e4daa8fbc42f8361674474479 (diff)
downloadchat-cbead2d973fb70bf4dc644dd6a8b8c34b49ff6aa.tar.gz
chat-cbead2d973fb70bf4dc644dd6a8b8c34b49ff6aa.tar.bz2
chat-cbead2d973fb70bf4dc644dd6a8b8c34b49ff6aa.zip
Remove race between clearing lists and search requests (#5686)
Diffstat (limited to 'webapp/components')
-rw-r--r--webapp/components/admin_console/team_users.jsx5
-rw-r--r--webapp/components/channel_invite_modal.jsx5
-rw-r--r--webapp/components/member_list_channel.jsx5
-rw-r--r--webapp/components/member_list_team.jsx5
-rw-r--r--webapp/components/more_channels.jsx5
5 files changed, 15 insertions, 10 deletions
diff --git a/webapp/components/admin_console/team_users.jsx b/webapp/components/admin_console/team_users.jsx
index 0874e4c8c..5bdaedf6e 100644
--- a/webapp/components/admin_console/team_users.jsx
+++ b/webapp/components/admin_console/team_users.jsx
@@ -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(
diff --git a/webapp/components/channel_invite_modal.jsx b/webapp/components/channel_invite_modal.jsx
index 5deec0794..2f1a10a75 100644
--- a/webapp/components/channel_invite_modal.jsx
+++ b/webapp/components/channel_invite_modal.jsx
@@ -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(
diff --git a/webapp/components/member_list_channel.jsx b/webapp/components/member_list_channel.jsx
index 6f8a266ad..d9d28bcd0 100644
--- a/webapp/components/member_list_channel.jsx
+++ b/webapp/components/member_list_channel.jsx
@@ -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(
diff --git a/webapp/components/member_list_team.jsx b/webapp/components/member_list_team.jsx
index df17d7df2..41057a566 100644
--- a/webapp/components/member_list_team.jsx
+++ b/webapp/components/member_list_team.jsx
@@ -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(
diff --git a/webapp/components/more_channels.jsx b/webapp/components/more_channels.jsx
index d0b5f5399..10f597ad4 100644
--- a/webapp/components/more_channels.jsx
+++ b/webapp/components/more_channels.jsx
@@ -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(