summaryrefslogtreecommitdiffstats
path: root/webapp/components/suggestion
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/suggestion')
-rw-r--r--webapp/components/suggestion/at_mention_provider.jsx20
1 files changed, 13 insertions, 7 deletions
diff --git a/webapp/components/suggestion/at_mention_provider.jsx b/webapp/components/suggestion/at_mention_provider.jsx
index 248e459b5..9998e6357 100644
--- a/webapp/components/suggestion/at_mention_provider.jsx
+++ b/webapp/components/suggestion/at_mention_provider.jsx
@@ -126,6 +126,10 @@ function filterUsersByPrefix(users, prefix, limit, type) {
}
export default class AtMentionProvider {
+ constructor(channelId) {
+ this.channelId = channelId;
+ }
+
handlePretextChanged(suggestionId, pretext) {
const captured = (/@([a-z0-9\-\._]*)$/i).exec(pretext.toLowerCase());
if (captured) {
@@ -134,15 +138,17 @@ export default class AtMentionProvider {
// Group users into members and nonmembers of the channel.
const users = UserStore.getActiveOnlyProfiles(true);
const channelMembers = {};
- const extra = ChannelStore.getCurrentExtraInfo();
- for (let i = 0; i < extra.members.length; i++) {
- const id = extra.members[i].id;
- if (users[id]) {
- channelMembers[id] = users[id];
- Reflect.deleteProperty(users, id);
+ const channelNonmembers = users;
+ if (this.channelId != null) {
+ const extraInfo = ChannelStore.getExtraInfo(this.channelId);
+ for (let i = 0; i < extraInfo.members.length; i++) {
+ const id = extraInfo.members[i].id;
+ if (users[id]) {
+ channelMembers[id] = users[id];
+ Reflect.deleteProperty(channelNonmembers, id);
+ }
}
}
- const channelNonmembers = users;
// Filter users by prefix.
const filteredMembers = filterUsersByPrefix(