summaryrefslogtreecommitdiffstats
path: root/webapp/components/suggestion/channel_mention_provider.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/suggestion/channel_mention_provider.jsx')
-rw-r--r--webapp/components/suggestion/channel_mention_provider.jsx9
1 files changed, 8 insertions, 1 deletions
diff --git a/webapp/components/suggestion/channel_mention_provider.jsx b/webapp/components/suggestion/channel_mention_provider.jsx
index 7c781a2f7..63e6944ac 100644
--- a/webapp/components/suggestion/channel_mention_provider.jsx
+++ b/webapp/components/suggestion/channel_mention_provider.jsx
@@ -2,6 +2,7 @@
// See License.txt for license information.
import Suggestion from './suggestion.jsx';
+import Provider from './provider.jsx';
import {autocompleteChannels} from 'actions/channel_actions.jsx';
@@ -49,15 +50,21 @@ class ChannelMentionSuggestion extends Suggestion {
}
}
-export default class ChannelMentionProvider {
+export default class ChannelMentionProvider extends Provider {
handlePretextChanged(suggestionId, pretext) {
const captured = (/(^|\s)(~([^~]*))$/i).exec(pretext.toLowerCase());
if (captured) {
const prefix = captured[3];
+ this.startNewRequest(prefix);
+
autocompleteChannels(
prefix,
(data) => {
+ if (this.shouldCancelDispatch(prefix)) {
+ return;
+ }
+
const channels = data;
// Wrap channels in an outer object to avoid overwriting the 'type' property.