From 6615db7e8511a187ce308ca5e10a08352e9ce3d0 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Thu, 10 Nov 2016 17:00:19 -0500 Subject: Fixing team members dialog not updating while searching. (#4524) --- webapp/components/member_list_team.jsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/webapp/components/member_list_team.jsx b/webapp/components/member_list_team.jsx index 8b23b650b..4795604e3 100644 --- a/webapp/components/member_list_team.jsx +++ b/webapp/components/member_list_team.jsx @@ -32,6 +32,7 @@ export default class MemberListTeam extends React.Component { teamMembers: Object.assign([], TeamStore.getMembersInTeam()), total: stats.total_member_count, search: false, + term: '', loading: true }; } @@ -39,7 +40,7 @@ export default class MemberListTeam extends React.Component { componentDidMount() { UserStore.addInTeamChangeListener(this.onChange); UserStore.addStatusesChangeListener(this.onChange); - TeamStore.addChangeListener(this.onChange); + TeamStore.addChangeListener(this.onChange.bind(null, true)); TeamStore.addStatsChangeListener(this.onStatsChange); loadProfilesAndTeamMembers(0, Constants.PROFILE_CHUNK_SIZE, TeamStore.getCurrentId(), this.loadComplete); @@ -60,6 +61,9 @@ export default class MemberListTeam extends React.Component { onChange(force) { if (this.state.search && !force) { return; + } else if (this.state.search) { + this.search(this.state.term); + return; } this.setState({users: UserStore.getProfileListInTeam(), teamMembers: Object.assign([], TeamStore.getMembersInTeam())}); @@ -76,8 +80,7 @@ export default class MemberListTeam extends React.Component { search(term) { if (term === '') { - this.onChange(true); - this.setState({search: false}); + this.setState({search: false, term, users: UserStore.getProfileListInTeam(), teamMembers: Object.assign([], TeamStore.getMembersInTeam())}); return; } @@ -86,7 +89,7 @@ export default class MemberListTeam extends React.Component { TeamStore.getCurrentId(), {}, (users) => { - this.setState({loading: true, search: true, users}); + this.setState({loading: true, search: true, users, term, teamMembers: Object.assign([], TeamStore.getMembersInTeam())}); loadTeamMembersForProfilesList(users, TeamStore.getCurrentId(), this.loadComplete); } ); -- cgit v1.2.3-1-g7c22