diff --git a/frontend/src/lib/components/ArgInput.svelte b/frontend/src/lib/components/ArgInput.svelte index ef20ebdb35..e19a48967e 100644 --- a/frontend/src/lib/components/ArgInput.svelte +++ b/frontend/src/lib/components/ArgInput.svelte @@ -659,60 +659,67 @@ {#if oneOf && oneOf.length >= 2}
{#if oneOf && oneOf.length >= 2} - + { + value = {} + redraw += 1 + }} + bind:selected={oneOfSelected} + > {#each oneOf as obj} {/each} - {#if oneOfSelected} {@const objIdx = oneOf.findIndex((o) => o.title === oneOfSelected)} {@const obj = oneOf[objIdx]} {#if obj && obj.properties && Object.keys(obj.properties).length > 0} -
- {#if orderEditable} - k !== 'label') - ), - order: obj.order?.filter((k) => k !== 'label') ?? undefined, - $schema: '', - required: obj.required ?? [], - type: 'object' - }} - args={value} - dndType={`nested-${title}`} - on:reorder={(e) => { - if (oneOf && oneOf[objIdx]) { - const keys = e.detail - oneOf[objIdx].order = keys - } - }} - on:change - /> - {:else} - k !== 'label') - ), - order: obj.order?.filter((k) => k !== 'label') ?? undefined, - $schema: '', - required: obj.required ?? [], - type: 'object' - }} - bind:args={value} - /> - {/if} -
+ {#key redraw} +
+ {#if orderEditable} + k !== 'label') + ), + order: obj.order?.filter((k) => k !== 'label') ?? undefined, + $schema: '', + required: obj.required ?? [], + type: 'object' + }} + args={value} + dndType={`nested-${title}`} + on:reorder={(e) => { + if (oneOf && oneOf[objIdx]) { + const keys = e.detail + oneOf[objIdx].order = keys + } + }} + on:change + /> + {:else} + k !== 'label') + ), + order: obj.order?.filter((k) => k !== 'label') ?? undefined, + $schema: '', + required: obj.required ?? [], + type: 'object' + }} + bind:args={value} + /> + {/if} +
+ {/key} {:else if disabled}