move empty/undefined sortings always to the alphabet's end

This commit is contained in:
Maximilian Krambach 2019-01-19 10:26:56 +01:00 committed by Emanuel Schütze
parent 1cdeb3bcb8
commit 91dec2370b

View File

@ -209,13 +209,19 @@ export abstract class SortListService<V extends BaseViewModel> {
if (typeof firstProperty !== typeof secondProperty) { if (typeof firstProperty !== typeof secondProperty) {
// undefined/null items should always land at the end // undefined/null items should always land at the end
if (!firstProperty) { if (!firstProperty) {
return ascending ? 1 : -1; return 1;
} else if (!secondProperty) { } else if (!secondProperty) {
return ascending ? -1 : 1; return -1;
} else { } else {
throw new TypeError('sorting of items failed because of mismatched types'); throw new TypeError('sorting of items failed because of mismatched types');
} }
} else { } else {
if (
(firstProperty === null || firstProperty === undefined) &&
(secondProperty === null || secondProperty === undefined)
) {
return 1;
}
switch (typeof firstProperty) { switch (typeof firstProperty) {
case 'boolean': case 'boolean':
if (firstProperty === false && secondProperty === true) { if (firstProperty === false && secondProperty === true) {