radames's picture
pagecontent from pipelines
46bd9ac
<script lang="ts">
import type { Fields } from '$lib/types';
import { FieldType } from '$lib/types';
import InputRange from './InputRange.svelte';
import SeedInput from './SeedInput.svelte';
import TextArea from './TextArea.svelte';
import Checkbox from './Checkbox.svelte';
import Selectlist from './Selectlist.svelte';
import { pipelineValues } from '$lib/store';
export let pipelineParams: Fields;
$: advanceOptions = Object.values(pipelineParams)?.filter((e) => e?.hide == true);
$: featuredOptions = Object.values(pipelineParams)?.filter((e) => e?.hide !== true);
</script>
<div class="flex flex-col gap-3">
<div class="grid grid-cols-1 items-center gap-3">
{#if featuredOptions}
{#each featuredOptions as params}
{#if params.field === FieldType.RANGE}
<InputRange {params} bind:value={$pipelineValues[params.id]}></InputRange>
{:else if params.field === FieldType.SEED}
<SeedInput {params} bind:value={$pipelineValues[params.id]}></SeedInput>
{:else if params.field === FieldType.TEXTAREA}
<TextArea {params} bind:value={$pipelineValues[params.id]}></TextArea>
{:else if params.field === FieldType.CHECKBOX}
<Checkbox {params} bind:value={$pipelineValues[params.id]}></Checkbox>
{:else if params.field === FieldType.SELECT}
<Selectlist {params} bind:value={$pipelineValues[params.id]}></Selectlist>
{/if}
{/each}
{/if}
</div>
<details>
<summary class="cursor-pointer font-medium">Advanced Options</summary>
<div
class="grid grid-cols-1 items-center gap-3 {Object.values(pipelineParams).length > 5
? 'sm:grid-cols-2'
: ''}"
>
{#if advanceOptions}
{#each advanceOptions as params}
{#if params.field === FieldType.RANGE}
<InputRange {params} bind:value={$pipelineValues[params.id]}></InputRange>
{:else if params.field === FieldType.SEED}
<SeedInput {params} bind:value={$pipelineValues[params.id]}></SeedInput>
{:else if params.field === FieldType.TEXTAREA}
<TextArea {params} bind:value={$pipelineValues[params.id]}></TextArea>
{:else if params.field === FieldType.CHECKBOX}
<Checkbox {params} bind:value={$pipelineValues[params.id]}></Checkbox>
{:else if params.field === FieldType.SELECT}
<Selectlist {params} bind:value={$pipelineValues[params.id]}></Selectlist>
{/if}
{/each}
{/if}
</div>
</details>
</div>