diff options
author | Joram Wilander <jwawilander@gmail.com> | 2016-11-24 09:35:09 -0500 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2016-11-24 09:35:09 -0500 |
commit | 981ea33b8e10456bc279f36235c814305d01b243 (patch) | |
tree | 00fb6119d9ef16f60d4c0dbdaad1bd6dfbc347ed /webapp/actions | |
parent | c96ecae6da31aceabf29586cde872876b81d11d9 (diff) | |
download | chat-981ea33b8e10456bc279f36235c814305d01b243.tar.gz chat-981ea33b8e10456bc279f36235c814305d01b243.tar.bz2 chat-981ea33b8e10456bc279f36235c814305d01b243.zip |
PLT-4403 Add server-based channel autocomplete, search and paging (#4585)
* Add more channel paging API
* Add channel paging support to client
* Add DB channel search functions
* Add API for searching more channels
* Add more channel search functionality to client
* Add API for autocompleting channels
* Add channel autocomplete functionality to the client
* Move to be deprecated APIs to their own file
* Final clean-up
* Fixes related to feedback
* Localization changes
* Add unit as suffix to timeout constants
Diffstat (limited to 'webapp/actions')
-rw-r--r-- | webapp/actions/channel_actions.jsx | 52 | ||||
-rw-r--r-- | webapp/actions/global_actions.jsx | 8 |
2 files changed, 52 insertions, 8 deletions
diff --git a/webapp/actions/channel_actions.jsx b/webapp/actions/channel_actions.jsx index 5003d6530..ae32a481b 100644 --- a/webapp/actions/channel_actions.jsx +++ b/webapp/actions/channel_actions.jsx @@ -191,3 +191,55 @@ export function loadChannelsForCurrentUser() { AsyncClient.getChannels(); AsyncClient.getMyChannelMembers(); } + +export function joinChannel(channel, success, error) { + Client.joinChannel( + channel.id, + () => { + ChannelStore.removeMoreChannel(channel.id); + + if (success) { + success(); + } + }, + () => { + if (error) { + error(); + } + } + ); +} + +export function searchMoreChannels(term, success, error) { + Client.searchMoreChannels( + term, + (data) => { + if (success) { + success(data); + } + }, + (err) => { + if (error) { + error(err); + } + } + ); +} + +export function autocompleteChannels(term, success, error) { + Client.autocompleteChannels( + term, + (data) => { + if (success) { + success(data); + } + }, + (err) => { + AsyncClient.dispatchError(err, 'autocompleteChannels'); + + if (error) { + error(err); + } + } + ); +} diff --git a/webapp/actions/global_actions.jsx b/webapp/actions/global_actions.jsx index 9337595af..d743b787b 100644 --- a/webapp/actions/global_actions.jsx +++ b/webapp/actions/global_actions.jsx @@ -482,14 +482,6 @@ export function emitUserLoggedOutEvent(redirectTo = '/', shouldSignalLogout = tr ); } -export function emitJoinChannelEvent(channel, success, failure) { - Client.joinChannel( - channel.id, - success, - failure - ); -} - export function emitSearchMentionsEvent(user) { let terms = ''; if (user.notify_props && user.notify_props.mention_keys) { |