Merge pull request #1279 from rgarmsen2295/plt-743

PLT-741/743 Adds additional checks when sorting channels/teams by display name
Этот коммит содержится в:
Joram Wilander
2015-11-04 07:51:49 -05:00
родитель 0cc985f6f4 9cc000f6e2
Коммит d9c7fce077
3 изменённых файлов: 31 добавлений и 22 удалений

Просмотреть файл

@@ -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;
}