| <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> |
| |