{#await get_component_meta(selected_samples_json)} {#if gallery}
{#each selected_samples as sample_row, i (i)} {#if sample_row[0] != null}
{ value = i + page * samples_per_page; onclick({ index: value, value: sample_row }); onselect({ index: value, value: sample_row }); }} onmouseenter={() => handle_mouseenter(i)} onmouseleave={() => handle_mouseleave()} > {#if sample_labels}
{:else} {sample_row[0]} {/if}
{/if} {/each}
{/if} {:then _} {#if gallery}
{#each selected_samples as sample_row, i (i)} {#if sample_row[0] != null}
{ value = i + page * samples_per_page; onclick({ index: value, value: sample_row }); onselect({ index: value, value: sample_row }); }} onmouseenter={() => handle_mouseenter(i)} onmouseleave={() => handle_mouseleave()} > {#if sample_labels}
{:else if component_meta.length && component_meta[i]} {#await Promise.all( [component_meta[i][0].component, component_meta[i][0].runtime] ) then [component, runtime]} {#key sample_row[0]}
{/key} {/await} {/if}
{/if} {/each}
{:else if selected_samples.length > 0}
{#each headers as header (header)}
{header}
{/each}
{#each component_meta as sample_row, i (i)}
{ value = i + page * samples_per_page; onclick({ index: value, value: sample_row }); onselect({ index: value, value: selected_samples[i] }); }} onmouseenter={() => handle_mouseenter(i)} onmouseleave={() => handle_mouseleave()} > {#each sample_row as { value, component, runtime }, j (j)} {@const component_name = components[j]?.name} {#if component_name !== undefined}
{#await Promise.all( [component, runtime] ) then [component, runtime]}
{/await}
{/if} {/each}
{/each}
{/if} {#if paginate}
Pages: {#each visible_pages as visible_page (visible_page)} {#if visible_page === -1}
...
{:else}
(page = visible_page)} > {visible_page + 1}
{/if} {/each}
{/if} {/await}