From 981ea33b8e10456bc279f36235c814305d01b243 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Thu, 24 Nov 2016 09:35:09 -0500 Subject: 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 --- webapp/actions/channel_actions.jsx | 52 ++++++++++++++++++++++++++++++++++++++ webapp/actions/global_actions.jsx | 8 ------ 2 files changed, 52 insertions(+), 8 deletions(-) (limited to 'webapp/actions') 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) { -- cgit v1.2.3-1-g7c22