diff --git a/ui/src/components/widgets/Table.svelte b/ui/src/components/widgets/Table.svelte index 10f868d..3a1676e 100644 --- a/ui/src/components/widgets/Table.svelte +++ b/ui/src/components/widgets/Table.svelte @@ -61,17 +61,19 @@ let sortedAttributes = entries; let sortKeys: { [key: string]: string[] } = {}; - function addSortKeys(key: string, vals: string[]) { + function addSortKeys(key: string, vals: string[], resort = true) { if (!sortKeys[key]) { sortKeys[key] = []; } + let changed = false; vals.forEach((val) => { if (!sortKeys[key].includes(val)) { + changed = true; sortKeys[key].push(val); } }); - - sortAttributes(); + + if (resort && changed) sortAttributes(); } function sortAttributes() { @@ -140,11 +142,14 @@ if (entry.value.t === "Address") { addSortKeys( String(entry.value.c), - entry.listing.getObject(String(entry.value.c)).identify() + entry.listing.getObject(String(entry.value.c)).identify(), + false ); } }); + sortAttributes(); + // Navigation highlights const { index } = getContext("browse") as { index: Writable }; $: addresses = $params.addresses.split(",");