Special case for member profile name. (#11918)

* Special case for member profile name.

Use a case insensitive order by

* Use of localeCompare function for name comparison
This commit is contained in:
Nik
2020-03-09 17:59:30 +01:00
committed by GitHub
parent bdedf8f563
commit 0936c2ff86

View File

@@ -170,7 +170,30 @@ export default {
return Math.floor(this.currentWidth / 140) + 1; return Math.floor(this.currentWidth / 140) + 1;
}, },
sortedPartyMembers () { sortedPartyMembers () {
return orderBy(this.partyMembers, [this.user.party.order], [this.user.party.orderAscending]); let sortedMembers = this.partyMembers;
const { order, orderAscending } = this.user.party;
if (order === 'profile.name') {
// If members are to be sorted by name, use localeCompare for case-
// insensitive sort
sortedMembers.sort(
(a, b) => {
if (orderAscending === 'desc') {
return b.profile.name.localeCompare(a.profile.name);
}
return a.profile.name.localeCompare(b.profile.name);
},
);
} else {
sortedMembers = orderBy(
sortedMembers,
[order],
[orderAscending],
);
}
return sortedMembers;
}, },
hideHeader () { hideHeader () {
return ['groupPlan', 'privateMessages'].includes(this.$route.name); return ['groupPlan', 'privateMessages'].includes(this.$route.name);