diff options
Diffstat (limited to 'webapp/components/channel_members_modal.jsx')
-rw-r--r-- | webapp/components/channel_members_modal.jsx | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/webapp/components/channel_members_modal.jsx b/webapp/components/channel_members_modal.jsx index 3722195b9..9f6a2a2eb 100644 --- a/webapp/components/channel_members_modal.jsx +++ b/webapp/components/channel_members_modal.jsx @@ -13,6 +13,7 @@ import {removeUserFromChannel} from 'actions/channel_actions.jsx'; import * as AsyncClient from 'utils/async_client.jsx'; import * as UserAgent from 'utils/user_agent.jsx'; +import Constants from 'utils/constants.jsx'; import React from 'react'; import {Modal} from 'react-bootstrap'; @@ -33,6 +34,7 @@ export default class ChannelMembersModal extends React.Component { this.nextPage = this.nextPage.bind(this); this.term = ''; + this.searchTimeoutId = 0; const stats = ChannelStore.getStats(props.channel.id); @@ -128,13 +130,20 @@ export default class ChannelMembersModal extends React.Component { return; } - searchUsers( - term, - TeamStore.getCurrentId(), - {in_channel_id: this.props.channel.id}, - (users) => { - this.setState({search: true, users}); - } + clearTimeout(this.searchTimeoutId); + + this.searchTimeoutId = setTimeout( + () => { + searchUsers( + term, + TeamStore.getCurrentId(), + {in_channel_id: this.props.channel.id}, + (users) => { + this.setState({search: true, users}); + } + ); + }, + Constants.SEARCH_TIMEOUT_MILLISECONDS ); } |