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

Этот коммит содержится в:
Joram Wilander
2017-03-09 04:15:38 -05:00
коммит произвёл George Goldberg
родитель bfc8dafe5e
Коммит cbead2d973
5 изменённых файлов: 15 добавлений и 10 удалений

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

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

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

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

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

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

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

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

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

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