Merge pull request #1279 from rgarmsen2295/plt-743
PLT-741/743 Adds additional checks when sorting channels/teams by display name
Этот коммит содержится в:
@@ -11,23 +11,15 @@ 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();
|
||||
if (teamADisplayName < teamBDisplayName) {
|
||||
return -1;
|
||||
} else if (teamADisplayName > teamBDisplayName) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
|
||||
teams.sort(Utils.sortByDisplayName);
|
||||
return {teams};
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
var AppDispatcher = require('../dispatcher/app_dispatcher.jsx');
|
||||
var EventEmitter = require('events').EventEmitter;
|
||||
|
||||
var Utils;
|
||||
var Constants = require('../utils/constants.jsx');
|
||||
var ActionTypes = Constants.ActionTypes;
|
||||
|
||||
@@ -183,16 +184,11 @@ class ChannelStoreClass extends EventEmitter {
|
||||
channels.push(channel);
|
||||
}
|
||||
|
||||
channels.sort(function chanSort(a, b) {
|
||||
if (a.display_name.toLowerCase() < b.display_name.toLowerCase()) {
|
||||
return -1;
|
||||
}
|
||||
if (a.display_name.toLowerCase() > b.display_name.toLowerCase()) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
if (!Utils) {
|
||||
Utils = require('../utils/utils.jsx'); //eslint-disable-line global-require
|
||||
}
|
||||
|
||||
channels.sort(Utils.sortByDisplayName);
|
||||
this.pStoreChannels(channels);
|
||||
}
|
||||
pStoreChannels(channels) {
|
||||
|
||||
@@ -1104,3 +1104,24 @@ export function openDirectChannelToUser(user, successCb, errorCb) {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Use when sorting multiple channels or teams by their `display_name` field
|
||||
export function sortByDisplayName(a, b) {
|
||||
let aDisplayName = '';
|
||||
let bDisplayName = '';
|
||||
|
||||
if (a && a.display_name) {
|
||||
aDisplayName = a.display_name.toLowerCase();
|
||||
}
|
||||
if (b && b.display_name) {
|
||||
bDisplayName = b.display_name.toLowerCase();
|
||||
}
|
||||
|
||||
if (aDisplayName < bDisplayName) {
|
||||
return -1;
|
||||
}
|
||||
if (aDisplayName > bDisplayName) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user