summaryrefslogtreecommitdiffstats
path: root/webapp/stores
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-02 17:48:56 -0500
committerGitHub <noreply@github.com>2017-03-02 17:48:56 -0500
commit3a91d4e5e419a43ff19a0736ce697f8d611d36e3 (patch)
treee57ad85d49f8768a575f27c89d338a4ccaeda521 /webapp/stores
parent8c5cee9521656bcffb371aad9dae4bea8fc70e29 (diff)
downloadchat-3a91d4e5e419a43ff19a0736ce697f8d611d36e3.tar.gz
chat-3a91d4e5e419a43ff19a0736ce697f8d611d36e3.tar.bz2
chat-3a91d4e5e419a43ff19a0736ce697f8d611d36e3.zip
PLT-3077 Add group messaging (#5489)
* Implement server changes for group messaging * Majority of client-side implementation * Some server updates * Added new React multiselect component * Fix style issues * Add custom renderer for options * Fix model test * Update ENTER functionality for multiselect control * Remove buttons from multiselect UI control * Updating group messaging UI (#5524) * Move filter controls up a component level * Scroll with arrow keys * Updating mobile layout for multiselect (#5534) * Fix race condition when backspacing quickly * Hidden or new GMs show up for regular messages * Add overriding of number remaining text * Add UI filtering for team if config setting set * Add icon to channel switcher and class prop to status icon * Minor updates per feedback * Improving group messaging UI (#5563) * UX changes per feedback * Update email for group messages * UI fixes for group messaging (#5587) * Fix missing localization string * Add maximum users message when adding members to GM * Fix input clearing on Android * Updating group messaging UI (#5603) * Updating UI for group messaging (#5604)
Diffstat (limited to 'webapp/stores')
-rw-r--r--webapp/stores/modal_store.jsx1
-rw-r--r--webapp/stores/notification_store.jsx3
-rw-r--r--webapp/stores/user_store.jsx7
3 files changed, 10 insertions, 1 deletions
diff --git a/webapp/stores/modal_store.jsx b/webapp/stores/modal_store.jsx
index 9961475b2..b1c2887df 100644
--- a/webapp/stores/modal_store.jsx
+++ b/webapp/stores/modal_store.jsx
@@ -38,6 +38,7 @@ class ModalStoreClass extends EventEmitter {
case ActionTypes.TOGGLE_GET_POST_LINK_MODAL:
case ActionTypes.TOGGLE_GET_TEAM_INVITE_LINK_MODAL:
case ActionTypes.TOGGLE_GET_PUBLIC_LINK_MODAL:
+ case ActionTypes.TOGGLE_DM_MODAL:
this.emit(type, value, args);
break;
}
diff --git a/webapp/stores/notification_store.jsx b/webapp/stores/notification_store.jsx
index 58e4433ec..28e5ea65d 100644
--- a/webapp/stores/notification_store.jsx
+++ b/webapp/stores/notification_store.jsx
@@ -8,6 +8,7 @@ import UserStore from './user_store.jsx';
import ChannelStore from './channel_store.jsx';
import * as UserAgent from 'utils/user_agent.jsx';
import * as Utils from 'utils/utils.jsx';
+import {buildGroupChannelName} from 'utils/channel_utils.jsx';
import * as PostUtils from 'utils/post_utils.jsx';
const ActionTypes = Constants.ActionTypes;
@@ -74,6 +75,8 @@ class NotificationStoreClass extends EventEmitter {
};
} else if (channel.type === Constants.DM_CHANNEL) {
title = Utils.localizeMessage('notification.dm', 'Direct Message');
+ } else if (channel.type === Constants.GM_CHANNEL) {
+ title = buildGroupChannelName(channel.id);
} else {
title = channel.display_name;
}
diff --git a/webapp/stores/user_store.jsx b/webapp/stores/user_store.jsx
index bcc59b690..007d8a5a7 100644
--- a/webapp/stores/user_store.jsx
+++ b/webapp/stores/user_store.jsx
@@ -414,13 +414,18 @@ class UserStoreClass extends EventEmitter {
userIds.splice(index, 1);
}
- getProfileListInChannel(channelId = ChannelStore.getCurrentId()) {
+ getProfileListInChannel(channelId = ChannelStore.getCurrentId(), skipCurrent = false) {
const userIds = this.profiles_in_channel[channelId] || [];
+ const currentId = this.getCurrentId();
const profiles = [];
for (let i = 0; i < userIds.length; i++) {
const profile = this.getProfile(userIds[i]);
if (profile) {
+ if (skipCurrent && profile.id === currentId) {
+ continue;
+ }
+
profiles.push(profile);
}
}