fix: sort attributes by label too
parent
fc63652a6e
commit
5fa38e202f
|
@ -109,8 +109,8 @@
|
|||
|
||||
function sortEntries() {
|
||||
sortedEntries = orderByValue
|
||||
? entityValueSort(entries, sortKeys)
|
||||
: defaultEntitySort(entries, sortKeys);
|
||||
? entityValueSort(entries, Object.assign(sortKeys, $attributeLabels))
|
||||
: 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) => {
|
||||
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();
|
||||
sortByValue(result, sortKeys);
|
||||
sortByValueLength(result);
|
||||
sortByAttribute(result);
|
||||
sortByAttribute(result, sortKeys);
|
||||
sortByEntity(result, sortKeys);
|
||||
return result;
|
||||
}
|
||||
|
@ -93,7 +95,7 @@ export function entityValueSort(
|
|||
): UpEntry[] {
|
||||
const result = entries.concat();
|
||||
sortByEntity(result, sortKeys);
|
||||
sortByAttribute(result);
|
||||
sortByAttribute(result, sortKeys);
|
||||
sortByValueLength(result);
|
||||
sortByValue(result, sortKeys);
|
||||
return result;
|
||||
|
|
Loading…
Reference in New Issue