null checks on sort function values

This commit is contained in:
Kyle Spearrin 2018-03-19 19:42:38 -04:00
parent a3beb04f7e
commit e27df6bc09
3 changed files with 30 additions and 0 deletions

View File

@ -481,6 +481,16 @@ export class CipherService implements CipherServiceAbstraction {
let aName = a.name;
let bName = b.name;
if (aName == null && bName != null) {
return -1;
}
if (aName != null && bName == null) {
return 1;
}
if (aName == null && bName == null) {
return 0;
}
const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :
aName.localeCompare(bName);

View File

@ -127,6 +127,16 @@ export class CollectionService implements CollectionServiceAbstraction {
private getLocaleSortingFunction(): (a: CollectionView, b: CollectionView) => number {
return (a, b) => {
if (a.name == null && b.name != null) {
return -1;
}
if (a.name != null && b.name == null) {
return 1;
}
if (a.name == null && b.name == null) {
return 0;
}
return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :
a.name.localeCompare(b.name);
};

View File

@ -166,6 +166,16 @@ export class FolderService implements FolderServiceAbstraction {
private getLocaleSortingFunction(): (a: FolderView, b: FolderView) => number {
return (a, b) => {
if (a.name == null && b.name != null) {
return -1;
}
if (a.name != null && b.name == null) {
return 1;
}
if (a.name == null && b.name == null) {
return 0;
}
return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :
a.name.localeCompare(b.name);
};