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