[ui] also sort entries by entity (resolved)
parent
0864e01e1b
commit
15f39d8cc5
|
@ -57,24 +57,35 @@
|
|||
}
|
||||
|
||||
// Sorting
|
||||
let resolvedValues: { [key: string]: string } = {};
|
||||
let resolvedAddresses: { [key: string]: string } = {};
|
||||
$: sortedAttributes = attributes
|
||||
.concat()
|
||||
.sort(([aHash, _], [bHash, __]) => {
|
||||
.sort(([_, aEntry], [__, bEntry]) => {
|
||||
if (
|
||||
resolvedValues[aHash] === undefined ||
|
||||
resolvedValues[bHash] === undefined
|
||||
resolvedAddresses[aEntry.value.c] === undefined ||
|
||||
resolvedAddresses[bEntry.value.c] === undefined
|
||||
) {
|
||||
return 0;
|
||||
return aEntry.value.c.localeCompare(bEntry.value.c);
|
||||
} else {
|
||||
return resolvedValues[aHash].localeCompare(resolvedValues[bHash]);
|
||||
return resolvedAddresses[aEntry.value.c].localeCompare(
|
||||
resolvedAddresses[bEntry.value.c]
|
||||
);
|
||||
}
|
||||
})
|
||||
.sort(([_, aEntry], [__, bEntry]) => {
|
||||
return aEntry.attribute.localeCompare(bEntry.attribute);
|
||||
})
|
||||
.sort(([_, aEntry], [__, bEntry]) => {
|
||||
return aEntry.entity.localeCompare(bEntry.entity);
|
||||
if (
|
||||
resolvedAddresses[aEntry.entity] === undefined ||
|
||||
resolvedAddresses[bEntry.entity] === undefined
|
||||
) {
|
||||
return aEntry.entity.localeCompare(bEntry.entity);
|
||||
} else {
|
||||
return resolvedAddresses[aEntry.entity].localeCompare(
|
||||
resolvedAddresses[bEntry.entity]
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
// Formatting & Display
|
||||
|
@ -146,8 +157,14 @@
|
|||
{/if}
|
||||
|
||||
{#if showEntity}
|
||||
<td>
|
||||
<Address link address={entry.entity} />
|
||||
<td class="entity">
|
||||
<Address
|
||||
link
|
||||
address={entry.entity}
|
||||
on:resolved={(event) => {
|
||||
resolvedAddresses[entry.entity] = event.detail[0];
|
||||
}}
|
||||
/>
|
||||
</td>
|
||||
{/if}
|
||||
|
||||
|
@ -172,7 +189,7 @@
|
|||
address={entry.value.c}
|
||||
resolve={Boolean(resolve[id]) || true}
|
||||
on:resolved={(event) => {
|
||||
resolvedValues[id] = event.detail[0];
|
||||
resolvedAddresses[entry.value.c] = event.detail[0];
|
||||
}}
|
||||
/>
|
||||
{:else}
|
||||
|
|
Loading…
Reference in New Issue