summaryrefslogtreecommitdiffstats
path: root/web/react
diff options
context:
space:
mode:
authorReed Garmsen <rgarmsen2295@gmail.com>2015-11-02 15:30:43 -0800
committerReed Garmsen <rgarmsen2295@gmail.com>2015-11-02 15:30:43 -0800
commitdfccfe78feb532381f475365763de113aa4ef7a4 (patch)
treead1fec7f36e21825b1ca910f101fdd2f1afe285a /web/react
parent3128920be991463c4fcfaebb146c7c8f89d680a8 (diff)
downloadchat-dfccfe78feb532381f475365763de113aa4ef7a4.tar.gz
chat-dfccfe78feb532381f475365763de113aa4ef7a4.tar.bz2
chat-dfccfe78feb532381f475365763de113aa4ef7a4.zip
Added additional checks to channel sorting that sorts by display_name
Diffstat (limited to 'web/react')
-rw-r--r--web/react/components/navbar_dropdown.jsx20
-rw-r--r--web/react/stores/channel_store.jsx16
2 files changed, 27 insertions, 9 deletions
diff --git a/web/react/components/navbar_dropdown.jsx b/web/react/components/navbar_dropdown.jsx
index f43bdffdf..937e88325 100644
--- a/web/react/components/navbar_dropdown.jsx
+++ b/web/react/components/navbar_dropdown.jsx
@@ -11,16 +11,24 @@ var AboutBuildModal = require('./about_build_modal.jsx');
var Constants = require('../utils/constants.jsx');
function getStateFromStores() {
- let teams = [];
- let teamsObject = UserStore.getTeams();
- for (let teamId in teamsObject) {
+ const teams = [];
+ const teamsObject = UserStore.getTeams();
+ for (const teamId in teamsObject) {
if (teamsObject.hasOwnProperty(teamId)) {
teams.push(teamsObject[teamId]);
}
}
- teams.sort(function sortByDisplayName(teamA, teamB) {
- let teamADisplayName = teamA.display_name.toLowerCase();
- let teamBDisplayName = teamB.display_name.toLowerCase();
+ teams.sort((teamA, teamB) => {
+ let teamADisplayName = '';
+ let teamBDisplayName = '';
+
+ if (teamA && teamA.display_name) {
+ teamADisplayName = teamA.display_name.toLowerCase();
+ }
+ if (teamB && teamB.display_name) {
+ teamBDisplayName = teamB.display_name.toLowerCase();
+ }
+
if (teamADisplayName < teamBDisplayName) {
return -1;
} else if (teamADisplayName > teamBDisplayName) {
diff --git a/web/react/stores/channel_store.jsx b/web/react/stores/channel_store.jsx
index d1f548d50..64aaeb329 100644
--- a/web/react/stores/channel_store.jsx
+++ b/web/react/stores/channel_store.jsx
@@ -183,11 +183,21 @@ class ChannelStoreClass extends EventEmitter {
channels.push(channel);
}
- channels.sort(function chanSort(a, b) {
- if (a.display_name.toLowerCase() < b.display_name.toLowerCase()) {
+ channels.sort((a, b) => {
+ let channelADisplayName = '';
+ let channelBDisplayName = '';
+
+ if (a && a.display_name) {
+ channelADisplayName = a.display_name.toLowerCase();
+ }
+ if (b && b.display_name) {
+ channelBDisplayName = b.display_name.toLowerCase();
+ }
+
+ if (channelADisplayName < channelBDisplayName) {
return -1;
}
- if (a.display_name.toLowerCase() > b.display_name.toLowerCase()) {
+ if (channelADisplayName > channelBDisplayName) {
return 1;
}
return 0;