{ if (e.key === 'Escape' && open && dragKey === null) onClose(); }} /> {#if open}
dragKey === null && onClose()} onkeydown={onClose} role="presentation" >

Customize meteograms

Drag variables between charts to build your own layout.

{#each $storedChartLayout as panel, i (panel.id)}
Chart {i + 1}
{#each panel.variables as key (key)} {@const def = VARIABLE_BY_KEY.get(key)} {#if def}
beginDrag(e, key)} onpointermove={onDragMove} onpointerup={endDrag} onpointercancel={endDrag} > {def.label}
{/if} {/each} {#if panel.variables.length === 0} Drop variables here {/if}
{/each}

Available variables

{#each availableVars as def (def.key)}
beginDrag(e, def.key)} onpointermove={onDragMove} onpointerup={endDrag} onpointercancel={endDrag} > {def.label}
{/each} {#if availableVars.length === 0} All variables are in use {/if}
{#if dragKey !== null && started}
{dragLabel}
{/if} {/if}