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');
|
var Constants = require('../utils/constants.jsx');
|
||||||
|
|
||||||
function getStateFromStores() {
|
function getStateFromStores() {
|
||||||
let teams = [];
|
const teams = [];
|
||||||
let teamsObject = UserStore.getTeams();
|
const teamsObject = UserStore.getTeams();
|
||||||
for (let teamId in teamsObject) {
|
for (const teamId in teamsObject) {
|
||||||
if (teamsObject.hasOwnProperty(teamId)) {
|
if (teamsObject.hasOwnProperty(teamId)) {
|
||||||
teams.push(teamsObject[teamId]);
|
teams.push(teamsObject[teamId]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
teams.sort(function sortByDisplayName(teamA, teamB) {
|
|
||||||
let teamADisplayName = teamA.display_name.toLowerCase();
|
teams.sort(Utils.sortByDisplayName);
|
||||||
let teamBDisplayName = teamB.display_name.toLowerCase();
|
|
||||||
if (teamADisplayName < teamBDisplayName) {
|
|
||||||
return -1;
|
|
||||||
} else if (teamADisplayName > teamBDisplayName) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
});
|
|
||||||
return {teams};
|
return {teams};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
var AppDispatcher = require('../dispatcher/app_dispatcher.jsx');
|
var AppDispatcher = require('../dispatcher/app_dispatcher.jsx');
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
|
|
||||||
|
var Utils;
|
||||||
var Constants = require('../utils/constants.jsx');
|
var Constants = require('../utils/constants.jsx');
|
||||||
var ActionTypes = Constants.ActionTypes;
|
var ActionTypes = Constants.ActionTypes;
|
||||||
|
|
||||||
@@ -183,16 +184,11 @@ class ChannelStoreClass extends EventEmitter {
|
|||||||
channels.push(channel);
|
channels.push(channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
channels.sort(function chanSort(a, b) {
|
if (!Utils) {
|
||||||
if (a.display_name.toLowerCase() < b.display_name.toLowerCase()) {
|
Utils = require('../utils/utils.jsx'); //eslint-disable-line global-require
|
||||||
return -1;
|
}
|
||||||
}
|
|
||||||
if (a.display_name.toLowerCase() > b.display_name.toLowerCase()) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
});
|
|
||||||
|
|
||||||
|
channels.sort(Utils.sortByDisplayName);
|
||||||
this.pStoreChannels(channels);
|
this.pStoreChannels(channels);
|
||||||
}
|
}
|
||||||
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