|
<script lang="ts"> |
|
import { createEventDispatcher } from 'svelte'; |
|
import type { FieldProps } from '$lib/types'; |
|
import { FieldType } from '$lib/types'; |
|
import InputRange from './InputRange.svelte'; |
|
import SeedInput from './SeedInput.svelte'; |
|
import TextArea from './TextArea.svelte'; |
|
|
|
export let pipelineParams: FieldProps[]; |
|
export let pipelineValues = {} as any; |
|
|
|
$: advanceOptions = pipelineParams?.filter((e) => e?.hide == true); |
|
$: featuredOptions = pipelineParams?.filter((e) => e?.hide !== true); |
|
</script> |
|
|
|
<div> |
|
{#if featuredOptions} |
|
{#each featuredOptions as params} |
|
{#if params.field === FieldType.range} |
|
<InputRange {params} bind:value={pipelineValues[params.title]}></InputRange> |
|
{:else if params.field === FieldType.seed} |
|
<SeedInput bind:value={pipelineValues[params.title]}></SeedInput> |
|
{:else if params.field === FieldType.textarea} |
|
<TextArea {params} bind:value={pipelineValues[params.title]}></TextArea> |
|
{/if} |
|
{/each} |
|
{/if} |
|
</div> |
|
|
|
<details open> |
|
<summary class="cursor-pointer font-medium">Advanced Options</summary> |
|
<div class="flex flex-col gap-3 py-3"> |
|
{#if advanceOptions} |
|
{#each advanceOptions as params} |
|
{#if params.field === FieldType.range} |
|
<InputRange {params} bind:value={pipelineValues[params.title]}></InputRange> |
|
{:else if params.field === FieldType.seed} |
|
<SeedInput bind:value={pipelineValues[params.title]}></SeedInput> |
|
{:else if params.field === FieldType.textarea} |
|
<TextArea {params} bind:value={pipelineValues[params.title]}></TextArea> |
|
{/if} |
|
{/each} |
|
{/if} |
|
</div> |
|
</details> |
|
|