fix: sort attributes by label too
parent
fc63652a6e
commit
5fa38e202f
|
@ -109,8 +109,8 @@
|
||||||
|
|
||||||
function sortEntries() {
|
function sortEntries() {
|
||||||
sortedEntries = orderByValue
|
sortedEntries = orderByValue
|
||||||
? entityValueSort(entries, sortKeys)
|
? entityValueSort(entries, Object.assign(sortKeys, $attributeLabels))
|
||||||
: defaultEntitySort(entries, sortKeys);
|
: defaultEntitySort(entries, Object.assign(sortKeys, $attributeLabels));
|
||||||
}
|
}
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
|
|
|
@ -45,9 +45,11 @@ export function sortByValueLength(entries: UpEntry[]) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function sortByAttribute(entries: UpEntry[]): void {
|
export function sortByAttribute(entries: UpEntry[], sortKeys: SortKeys): void {
|
||||||
entries.sort((aEntry, bEntry) => {
|
entries.sort((aEntry, bEntry) => {
|
||||||
return aEntry.attribute.localeCompare(bEntry.attribute);
|
const aResolved = (sortKeys[aEntry.attribute] || [])[0] || aEntry.attribute;
|
||||||
|
const bResolved = (sortKeys[bEntry.attribute] || [])[0] || bEntry.attribute;
|
||||||
|
return aResolved.localeCompare(bResolved);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +84,7 @@ export function defaultEntitySort(
|
||||||
const result = entries.concat();
|
const result = entries.concat();
|
||||||
sortByValue(result, sortKeys);
|
sortByValue(result, sortKeys);
|
||||||
sortByValueLength(result);
|
sortByValueLength(result);
|
||||||
sortByAttribute(result);
|
sortByAttribute(result, sortKeys);
|
||||||
sortByEntity(result, sortKeys);
|
sortByEntity(result, sortKeys);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -93,7 +95,7 @@ export function entityValueSort(
|
||||||
): UpEntry[] {
|
): UpEntry[] {
|
||||||
const result = entries.concat();
|
const result = entries.concat();
|
||||||
sortByEntity(result, sortKeys);
|
sortByEntity(result, sortKeys);
|
||||||
sortByAttribute(result);
|
sortByAttribute(result, sortKeys);
|
||||||
sortByValueLength(result);
|
sortByValueLength(result);
|
||||||
sortByValue(result, sortKeys);
|
sortByValue(result, sortKeys);
|
||||||
return result;
|
return result;
|
||||||
|
|
Loading…
Reference in New Issue