{#snippet extraFields(row: EditRow)} {#if row.action === "exec"} setExtra(row, "command", e.currentTarget.value)} /> {:else if row.action === "focus" || row.action === "move"} setExtra(row, "workspace", parseWorkspaceValue(e.currentTarget.value))} /> {:else if row.action === "move_dir"} {:else if row.action === "resize_dir"} setExtra(row, "x", e.currentTarget.value === "" ? undefined : Number(e.currentTarget.value))} /> setExtra(row, "y", e.currentTarget.value === "" ? undefined : Number(e.currentTarget.value))} /> {:else if row.action === "layout"} setExtra(row, "layout", e.currentTarget.value)} /> {:else if row.action === "drag"} Mouse-drag bind. {:else if row.action === "close" || row.action === "fullscreen" || row.action === "float" || row.action === "pseudo" || row.action === "resize" || row.action === "focus_last" || row.action === "exit"} No extra options for this action. {:else} onExtraInput(row, e.currentTarget.value)} /> {/if} {#if KNOWN_ACTIONS.includes(row.action as (typeof KNOWN_ACTIONS)[number]) && row.action !== "drag"} {/if} {/snippet} {#snippet section(rows: EditRow[], onAdd: () => void, onRemove: (i: number) => void)}
{#each rows as row, i (i)}
{bindTitle(row)}
{@render extraFields(row)}
{#if row.advancedOpen && KNOWN_ACTIONS.includes(row.action as (typeof KNOWN_ACTIONS)[number]) && row.action !== "drag"} onExtraInput(row, e.currentTarget.value)} /> {/if}
{/each}
{/snippet} {#if loadError} {/if} {#if loaded} {#if kind === "unknown"} {:else if kind === "flat"} {@render section( bindingsRows, () => bindingsRows.push(emptyRow()), (i) => bindingsRows.splice(i, 1) )} {:else} {#if layoutOrder.length > 0} {/if} {@render section( globalsRows, () => globalsRows.push(emptyRow()), (i) => globalsRows.splice(i, 1) )} {@render section( commonRows, () => commonRows.push(emptyRow()), (i) => commonRows.splice(i, 1) )} {#each layoutOrder as name (name)} {@render section( layoutRows[name] ?? [], () => (layoutRows[name] ?? (layoutRows[name] = [])).push(emptyRow()), (i) => layoutRows[name]?.splice(i, 1) )} {/each}
{/if} {/if}