summaryrefslogtreecommitdiffstats
path: root/webapp/components/suggestion
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2017-05-04 14:54:50 -0400
committerChristopher Speller <crspeller@gmail.com>2017-05-04 14:54:50 -0400
commit44a8f76d993cdd97785cab7fd55ad9f07c3c757a (patch)
tree810bb59d319388aae57715466b244edf84644c6a /webapp/components/suggestion
parent72351c8ef8557c83b130568724fc2d6ff3acd454 (diff)
downloadchat-44a8f76d993cdd97785cab7fd55ad9f07c3c757a.tar.gz
chat-44a8f76d993cdd97785cab7fd55ad9f07c3c757a.tar.bz2
chat-44a8f76d993cdd97785cab7fd55ad9f07c3c757a.zip
PLT-6431 Prevented autocompleting while suggestions are being received (#6328)
Diffstat (limited to 'webapp/components/suggestion')
-rw-r--r--webapp/components/suggestion/at_mention_provider.jsx2
-rw-r--r--webapp/components/suggestion/channel_mention_provider.jsx2
-rw-r--r--webapp/components/suggestion/provider.jsx7
-rw-r--r--webapp/components/suggestion/search_channel_provider.jsx2
-rw-r--r--webapp/components/suggestion/search_user_provider.jsx2
-rw-r--r--webapp/components/suggestion/switch_channel_provider.jsx2
6 files changed, 11 insertions, 6 deletions
diff --git a/webapp/components/suggestion/at_mention_provider.jsx b/webapp/components/suggestion/at_mention_provider.jsx
index 09cc1ec03..e9d09205a 100644
--- a/webapp/components/suggestion/at_mention_provider.jsx
+++ b/webapp/components/suggestion/at_mention_provider.jsx
@@ -113,7 +113,7 @@ export default class AtMentionProvider extends Provider {
const prefix = captured[1];
- this.startNewRequest(prefix);
+ this.startNewRequest(suggestionId, prefix);
autocompleteUsersInChannel(
prefix,
diff --git a/webapp/components/suggestion/channel_mention_provider.jsx b/webapp/components/suggestion/channel_mention_provider.jsx
index a464fcec9..baca006cb 100644
--- a/webapp/components/suggestion/channel_mention_provider.jsx
+++ b/webapp/components/suggestion/channel_mention_provider.jsx
@@ -75,7 +75,7 @@ export default class ChannelMentionProvider extends Provider {
const prefix = captured[3];
- this.startNewRequest(prefix);
+ this.startNewRequest(suggestionId, prefix);
autocompleteChannels(
prefix,
diff --git a/webapp/components/suggestion/provider.jsx b/webapp/components/suggestion/provider.jsx
index b65068d47..39bb135a8 100644
--- a/webapp/components/suggestion/provider.jsx
+++ b/webapp/components/suggestion/provider.jsx
@@ -1,6 +1,8 @@
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
+import SuggestionStore from 'stores/suggestion_store.jsx';
+
export default class Provider {
constructor() {
this.latestPrefix = '';
@@ -11,9 +13,12 @@ export default class Provider {
// NO-OP for inherited classes to override
}
- startNewRequest(prefix) {
+ startNewRequest(suggestionId, prefix) {
this.latestPrefix = prefix;
this.latestComplete = false;
+
+ // Don't use the dispatcher here since this is only called while handling an event
+ SuggestionStore.setSuggestionsPending(suggestionId, true);
}
shouldCancelDispatch(prefix) {
diff --git a/webapp/components/suggestion/search_channel_provider.jsx b/webapp/components/suggestion/search_channel_provider.jsx
index 3e0015778..650ec6973 100644
--- a/webapp/components/suggestion/search_channel_provider.jsx
+++ b/webapp/components/suggestion/search_channel_provider.jsx
@@ -40,7 +40,7 @@ export default class SearchChannelProvider extends Provider {
if (captured) {
const channelPrefix = captured[1];
- this.startNewRequest(channelPrefix);
+ this.startNewRequest(suggestionId, channelPrefix);
autocompleteChannels(
channelPrefix,
diff --git a/webapp/components/suggestion/search_user_provider.jsx b/webapp/components/suggestion/search_user_provider.jsx
index d55f35c87..b63206de7 100644
--- a/webapp/components/suggestion/search_user_provider.jsx
+++ b/webapp/components/suggestion/search_user_provider.jsx
@@ -63,7 +63,7 @@ export default class SearchUserProvider extends Provider {
if (captured) {
const usernamePrefix = captured[1];
- this.startNewRequest(usernamePrefix);
+ this.startNewRequest(suggestionId, usernamePrefix);
autocompleteUsersInTeam(
usernamePrefix,
diff --git a/webapp/components/suggestion/switch_channel_provider.jsx b/webapp/components/suggestion/switch_channel_provider.jsx
index 03930c3f4..89af74c6d 100644
--- a/webapp/components/suggestion/switch_channel_provider.jsx
+++ b/webapp/components/suggestion/switch_channel_provider.jsx
@@ -60,7 +60,7 @@ class SwitchChannelSuggestion extends Suggestion {
export default class SwitchChannelProvider extends Provider {
handlePretextChanged(suggestionId, channelPrefix) {
if (channelPrefix) {
- this.startNewRequest(channelPrefix);
+ this.startNewRequest(suggestionId, channelPrefix);
const allChannels = ChannelStore.getAll();
const channels = [];