{#each displayColumns as column, idx} {#if columnWidths?.length} {:else} {/if} {/each} {#if header} {#each displayColumns as column} {/each} {/if} {#each sortedEntries as entry (entry.address)} {#if visible.has(entry.address)} {#each displayColumns as column} {#if column == TIMESTAMP_COL} {:else if column == PROVENANCE_COL} {:else if column == ENTITY_COL} {:else if column == ATTR_COL} {:else if column == VALUE_COL} {:else} {/if} {/each} {:else} {/if} {/each} {#each unusedAttributes as attribute} {#each displayColumns as column} {#if column == ATTR_COL} {:else if column == VALUE_COL} {:else} {/if} {/each} {/each} {#if !attributes?.length} {#if adding} (addHover = true)} on:mouseleave={() => (addHover = false)} > {#each displayColumns as column} {#if column == ATTR_COL} {:else if column === VALUE_COL} {:else} {/if} {/each} {:else} {/if} {/if}
{COLUMN_LABELS[column] || $attributeLabels[column] || column}
{formatRelative(parseISO(entry.timestamp), new Date())}{entry.provenance} { addSortKeys(entry.entity, event.detail, true); }} /> updateEntry(entry.address, entry.attribute, ev.detail)} > {#if entry.value.t === "Address"} { addSortKeys(String(entry.value.c), event.detail, true); }} /> {:else}
{/if}
? removeEntry(entry.address)} />
...
addEntry(attribute, ev.detail)}> {$i18n.t("(unset)")}
(addFocus = ev.detail)} bind:this={newAttrSelector} /> (addFocus = ev.detail)} /> addEntry(newEntryAttribute, newEntryValue)} />
(adding = true)} />