summaryrefslogtreecommitdiffstats
path: root/webapp/components/suggestion
diff options
context:
space:
mode:
authorSaturnino Abril <saturnino.abril@gmail.com>2017-02-01 08:57:16 +0900
committerenahum <nahumhbl@gmail.com>2017-01-31 20:57:16 -0300
commit9ba968ce3354b1a8ab307ecc4cc785bdee16f914 (patch)
tree1180a7913c326ed66191555d5a21d0643e932b8a /webapp/components/suggestion
parent9369cab56c82629d505d44d572f273df1d396972 (diff)
downloadchat-9ba968ce3354b1a8ab307ecc4cc785bdee16f914.tar.gz
chat-9ba968ce3354b1a8ab307ecc4cc785bdee16f914.tar.bz2
chat-9ba968ce3354b1a8ab307ecc4cc785bdee16f914.zip
Use consistent Display Name sorting code throughout the webapp #5159 (#5213)
* Use consistent Display Name sorting code throughout the webapp #5159 * fixed broken sorting of teams and channels
Diffstat (limited to 'webapp/components/suggestion')
-rw-r--r--webapp/components/suggestion/search_channel_provider.jsx9
-rw-r--r--webapp/components/suggestion/switch_channel_provider.jsx17
2 files changed, 9 insertions, 17 deletions
diff --git a/webapp/components/suggestion/search_channel_provider.jsx b/webapp/components/suggestion/search_channel_provider.jsx
index 8965e7a76..c0ec06181 100644
--- a/webapp/components/suggestion/search_channel_provider.jsx
+++ b/webapp/components/suggestion/search_channel_provider.jsx
@@ -10,6 +10,7 @@ import ChannelStore from 'stores/channel_store.jsx';
import AppDispatcher from 'dispatcher/app_dispatcher.jsx';
import {Constants, ActionTypes} from 'utils/constants.jsx';
+import {sortChannelsByDisplayName} from 'utils/channel_utils.jsx';
import React from 'react';
@@ -51,7 +52,7 @@ export default class SearchChannelProvider extends Provider {
const publicChannels = data;
const localChannels = ChannelStore.getAll();
- const privateChannels = [];
+ let privateChannels = [];
for (const id of Object.keys(localChannels)) {
const channel = localChannels[id];
@@ -60,15 +61,15 @@ export default class SearchChannelProvider extends Provider {
}
}
- const filteredPublicChannels = [];
+ let filteredPublicChannels = [];
publicChannels.forEach((item) => {
if (item.name.startsWith(channelPrefix)) {
filteredPublicChannels.push(item);
}
});
- privateChannels.sort((a, b) => a.name.localeCompare(b.name));
- filteredPublicChannels.sort((a, b) => a.name.localeCompare(b.name));
+ privateChannels = privateChannels.sort(sortChannelsByDisplayName);
+ filteredPublicChannels = filteredPublicChannels.sort(sortChannelsByDisplayName);
const channels = filteredPublicChannels.concat(privateChannels);
const channelNames = channels.map((channel) => channel.name);
diff --git a/webapp/components/suggestion/switch_channel_provider.jsx b/webapp/components/suggestion/switch_channel_provider.jsx
index 0bc30a79f..3b7bec319 100644
--- a/webapp/components/suggestion/switch_channel_provider.jsx
+++ b/webapp/components/suggestion/switch_channel_provider.jsx
@@ -12,6 +12,7 @@ import Client from 'client/web_client.jsx';
import AppDispatcher from 'dispatcher/app_dispatcher.jsx';
import {Constants, ActionTypes} from 'utils/constants.jsx';
import * as Utils from 'utils/utils.jsx';
+import {sortChannelsByDisplayName} from 'utils/channel_utils.jsx';
import React from 'react';
@@ -105,19 +106,9 @@ export default class SwitchChannelProvider extends Provider {
userMap[user.id] = user;
}
- channels.sort((a, b) => {
- if (a.display_name === b.display_name) {
- if (a.type !== Constants.DM_CHANNEL && b.type === Constants.DM_CHANNEL) {
- return -1;
- } else if (a.type === Constants.DM_CHANNEL && b.type !== Constants.DM_CHANNEL) {
- return 1;
- }
- return a.name.localeCompare(b.name);
- }
- return a.display_name.localeCompare(b.display_name);
- });
-
- const channelNames = channels.map((channel) => channel.name);
+ const channelNames = channels.
+ sort(sortChannelsByDisplayName).
+ map((channel) => channel.name);
AppDispatcher.handleServerAction({
type: ActionTypes.SUGGESTION_RECEIVED_SUGGESTIONS,