This commit is contained in:
Diego Imbert
2025-09-23 16:22:03 +02:00
parent 77d157b732
commit 4f5c41064f
2 changed files with 62 additions and 64 deletions
+61 -63
View File
@@ -977,7 +977,7 @@
/>
{:else if inputCat == 'object' || inputCat == 'resource-object' || isListJson}
{#if oneOf && oneOf.length >= 2}
<div class="flex flex-col gap-2 w-full">
<div class="flex flex-col gap-2 w-full border rounded-md p-2">
{#if oneOf && oneOf.length >= 2}
<ToggleButtonGroup
selected={oneOfSelected}
@@ -1017,72 +1017,70 @@
{@const obj = oneOf[objIdx]}
{#if obj && obj.properties && Object.keys(obj.properties).length > 0}
{#key redraw}
<div class="px-2 pt-2 border rounded w-full">
{#if orderEditable}
<SchemaFormDnd
lightHeaderFont
{nestedClasses}
{onlyMaskPassword}
{disablePortal}
{disabled}
{prettifyHeader}
bind:schema={
() => ({
properties: obj.properties ?? {},
order: obj.order,
$schema: '',
required: obj.required ?? [],
type: 'object'
}),
() => {
dispatch('nestedChange')
}
}
bind:args={value}
hiddenArgs={[
oneOf?.find((o) => Object.keys(o.properties ?? {}).includes('kind'))
? 'kind'
: 'label'
]}
on:reorder={(e) => {
if (oneOf && oneOf[objIdx]) {
const keys = e.detail
oneOf[objIdx].order = keys
}
}}
on:nestedChange
{shouldDispatchChanges}
/>
{:else}
<SchemaForm
lightHeaderFont
{nestedClasses}
{onlyMaskPassword}
{disablePortal}
{disabled}
{prettifyHeader}
hiddenArgs={['label', 'kind']}
schema={{
properties: obj.properties,
{#if orderEditable}
<SchemaFormDnd
lightHeaderFont
{nestedClasses}
{onlyMaskPassword}
{disablePortal}
{disabled}
{prettifyHeader}
bind:schema={
() => ({
properties: obj.properties ?? {},
order: obj.order,
$schema: '',
required: obj.required ?? [],
type: 'object'
}}
bind:args={
() => value,
(v) => {
value = { ...v, [tagKey]: oneOfSelected }
}
}
{shouldDispatchChanges}
on:change={() => {
}),
() => {
dispatch('nestedChange')
}}
on:nestedChange
/>
{/if}
</div>
}
}
bind:args={value}
hiddenArgs={[
oneOf?.find((o) => Object.keys(o.properties ?? {}).includes('kind'))
? 'kind'
: 'label'
]}
on:reorder={(e) => {
if (oneOf && oneOf[objIdx]) {
const keys = e.detail
oneOf[objIdx].order = keys
}
}}
on:nestedChange
{shouldDispatchChanges}
/>
{:else}
<SchemaForm
lightHeaderFont
{nestedClasses}
{onlyMaskPassword}
{disablePortal}
{disabled}
{prettifyHeader}
hiddenArgs={['label', 'kind']}
schema={{
properties: obj.properties,
order: obj.order,
$schema: '',
required: obj.required ?? [],
type: 'object'
}}
bind:args={
() => value,
(v) => {
value = { ...v, [tagKey]: oneOfSelected }
}
}
{shouldDispatchChanges}
on:change={() => {
dispatch('nestedChange')
}}
on:nestedChange
/>
{/if}
{/key}
{:else if disabled}
<textarea disabled></textarea>
@@ -1364,7 +1362,7 @@
<button
class="absolute {password || extra?.['password'] == true
? 'right-16 top-1.5'
: 'right-1 top-1'} opacity-0 group-hover:opacity-100 duration-200 py-1 min-w-min !px-2 items-center text-gray-800 bg-surface-secondary border rounded center-center hover:bg-gray-300 transition-all cursor-pointer"
: 'right-1 top-[7px]'} opacity-0 group-hover:opacity-100 duration-200 py-1 min-w-min !px-2 items-center text-gray-800 bg-surface-secondary border rounded center-center hover:bg-gray-300 transition-all cursor-pointer"
onclick={() => {
pickForField = label
itemPicker?.openDrawer?.()
@@ -141,7 +141,7 @@
>
{#snippet actions()}
{#if !disableDnd}
<div class="w-4 h-8 cursor-move ml-2 handle" aria-label="drag-handle" use:dragHandle>
<div class="w-4 h-8 cursor-move ml-2 handle mt-[9px]" aria-label="drag-handle" use:dragHandle>
<GripVertical size={16} />
</div>
{/if}