This commit is contained in:
Ruben Fiszel
2024-11-25 23:14:34 +01:00
parent a268bbf2cd
commit 95101f222d
2 changed files with 53 additions and 47 deletions
+53 -46
View File
@@ -659,60 +659,67 @@
{#if oneOf && oneOf.length >= 2}
<div class="flex flex-col gap-2 w-full">
{#if oneOf && oneOf.length >= 2}
<ToggleButtonGroup bind:selected={oneOfSelected}>
<ToggleButtonGroup
on:selected={() => {
value = {}
redraw += 1
}}
bind:selected={oneOfSelected}
>
{#each oneOf as obj}
<ToggleButton value={obj.title} label={obj.title} />
{/each}
</ToggleButtonGroup>
{#if oneOfSelected}
{@const objIdx = oneOf.findIndex((o) => o.title === oneOfSelected)}
{@const obj = oneOf[objIdx]}
{#if obj && obj.properties && Object.keys(obj.properties).length > 0}
<div class="p-4 pl-8 border rounded w-full">
{#if orderEditable}
<SchemaFormDnd
{onlyMaskPassword}
{disablePortal}
{disabled}
schema={{
properties: Object.fromEntries(
Object.entries(obj.properties).filter(([k, v]) => 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}
<SchemaForm
{onlyMaskPassword}
{disablePortal}
{disabled}
noDelete
schema={{
properties: Object.fromEntries(
Object.entries(obj.properties).filter(([k, v]) => k !== 'label')
),
order: obj.order?.filter((k) => k !== 'label') ?? undefined,
$schema: '',
required: obj.required ?? [],
type: 'object'
}}
bind:args={value}
/>
{/if}
</div>
{#key redraw}
<div class="p-4 pl-8 border rounded w-full">
{#if orderEditable}
<SchemaFormDnd
{onlyMaskPassword}
{disablePortal}
{disabled}
schema={{
properties: Object.fromEntries(
Object.entries(obj.properties).filter(([k, v]) => 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}
<SchemaForm
{onlyMaskPassword}
{disablePortal}
{disabled}
noDelete
schema={{
properties: Object.fromEntries(
Object.entries(obj.properties).filter(([k, v]) => k !== 'label')
),
order: obj.order?.filter((k) => k !== 'label') ?? undefined,
$schema: '',
required: obj.required ?? [],
type: 'object'
}}
bind:args={value}
/>
{/if}
</div>
{/key}
{:else if disabled}
<textarea disabled />
{:else}
@@ -53,7 +53,6 @@
nc.push({ value: value ?? initialValue!, label: value ?? initialValue! })
}
collection = nc
console.log('collection', collection)
if (expressOAuthSetup && nc.length > 0) {
value = nc[0].value
valueSelect = nc[0]