[ui] sort resolved before unresolved
parent
15f39d8cc5
commit
7a03c63a15
|
@ -57,19 +57,23 @@
|
|||
}
|
||||
|
||||
// Sorting
|
||||
let resolvedAddresses: { [key: string]: string } = {};
|
||||
let sortKeys: { [key: string]: string } = {};
|
||||
$: sortedAttributes = attributes
|
||||
.concat()
|
||||
.sort(([_, aEntry], [__, bEntry]) => {
|
||||
if (
|
||||
resolvedAddresses[aEntry.value.c] === undefined ||
|
||||
resolvedAddresses[bEntry.value.c] === undefined
|
||||
sortKeys[aEntry.value.c] === undefined ||
|
||||
sortKeys[bEntry.value.c] === undefined
|
||||
) {
|
||||
return aEntry.value.c.localeCompare(bEntry.value.c);
|
||||
if (sortKeys[aEntry.value.c] && !sortKeys[bEntry.value.c]) {
|
||||
return -1;
|
||||
} else if (!sortKeys[aEntry.value.c] && sortKeys[bEntry.value.c]) {
|
||||
return 1;
|
||||
} else {
|
||||
return aEntry.value.c.localeCompare(bEntry.value.c);
|
||||
}
|
||||
} else {
|
||||
return resolvedAddresses[aEntry.value.c].localeCompare(
|
||||
resolvedAddresses[bEntry.value.c]
|
||||
);
|
||||
return sortKeys[aEntry.value.c].localeCompare(sortKeys[bEntry.value.c]);
|
||||
}
|
||||
})
|
||||
.sort(([_, aEntry], [__, bEntry]) => {
|
||||
|
@ -77,14 +81,18 @@
|
|||
})
|
||||
.sort(([_, aEntry], [__, bEntry]) => {
|
||||
if (
|
||||
resolvedAddresses[aEntry.entity] === undefined ||
|
||||
resolvedAddresses[bEntry.entity] === undefined
|
||||
sortKeys[aEntry.entity] === undefined ||
|
||||
sortKeys[bEntry.entity] === undefined
|
||||
) {
|
||||
return aEntry.entity.localeCompare(bEntry.entity);
|
||||
if (sortKeys[aEntry.entity] && !sortKeys[bEntry.entity]) {
|
||||
return -1;
|
||||
} else if (!sortKeys[aEntry.entity] && sortKeys[bEntry.entity]) {
|
||||
return 1;
|
||||
} else {
|
||||
return aEntry.entity.localeCompare(bEntry.entity);
|
||||
}
|
||||
} else {
|
||||
return resolvedAddresses[aEntry.entity].localeCompare(
|
||||
resolvedAddresses[bEntry.entity]
|
||||
);
|
||||
return sortKeys[aEntry.entity].localeCompare(sortKeys[bEntry.entity]);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -162,7 +170,7 @@
|
|||
link
|
||||
address={entry.entity}
|
||||
on:resolved={(event) => {
|
||||
resolvedAddresses[entry.entity] = event.detail[0];
|
||||
sortKeys[entry.entity] = event.detail[0];
|
||||
}}
|
||||
/>
|
||||
</td>
|
||||
|
@ -189,7 +197,7 @@
|
|||
address={entry.value.c}
|
||||
resolve={Boolean(resolve[id]) || true}
|
||||
on:resolved={(event) => {
|
||||
resolvedAddresses[entry.value.c] = event.detail[0];
|
||||
sortKeys[entry.value.c] = event.detail[0];
|
||||
}}
|
||||
/>
|
||||
{:else}
|
||||
|
|
Loading…
Reference in New Issue