mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-21 08:02:38 +00:00
fix: nested schemas can use required
This commit is contained in:
@@ -51,6 +51,7 @@
|
||||
| undefined = undefined
|
||||
export let displayHeader = true
|
||||
export let properties: { [name: string]: SchemaProperty } | undefined = undefined
|
||||
export let nestedRequired: string[] | undefined = undefined
|
||||
export let autofocus = false
|
||||
export let compact = false
|
||||
export let password = false
|
||||
@@ -390,7 +391,7 @@
|
||||
<SchemaForm
|
||||
{disablePortal}
|
||||
{disabled}
|
||||
schema={{ properties, $schema: '', required: [], type: 'object' }}
|
||||
schema={{ properties, $schema: '', required: nestedRequired ?? [], type: 'object' }}
|
||||
bind:args={value}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -300,6 +300,7 @@
|
||||
contentEncoding={schema.properties[argName].contentEncoding}
|
||||
bind:itemsType={schema.properties[argName].items}
|
||||
properties={schema.properties[argName].properties}
|
||||
nestedRequired={schema.properties[argName].required}
|
||||
displayHeader={false}
|
||||
extra={argExtra}
|
||||
{variableEditor}
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
| undefined = undefined
|
||||
export let displayHeader = true
|
||||
export let properties: { [name: string]: SchemaProperty } | undefined = undefined
|
||||
export let nestedRequired: string[] | undefined = undefined
|
||||
export let extra: Record<string, any> = {}
|
||||
export let displayType: boolean = true
|
||||
|
||||
@@ -277,7 +278,7 @@
|
||||
{#if properties && Object.keys(properties).length > 0}
|
||||
<div class="p-4 pl-8 border rounded w-full">
|
||||
<LightweightSchemaForm
|
||||
schema={{ properties, $schema: '', required: [], type: 'object' }}
|
||||
schema={{ properties, $schema: '', required: nestedRequired ?? [], type: 'object' }}
|
||||
bind:args={value}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
format={schema.properties[argName].format}
|
||||
contentEncoding={schema.properties[argName].contentEncoding}
|
||||
properties={schema.properties[argName].properties}
|
||||
nestedRequired={schema.properties[argName].required}
|
||||
itemsType={schema.properties[argName].items}
|
||||
extra={schema.properties[argName]}
|
||||
on:inputClicked
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
format={schema.properties[argName].format}
|
||||
contentEncoding={schema.properties[argName].contentEncoding}
|
||||
properties={schema.properties[argName].properties}
|
||||
nestedRequired={schema.properties[argName].required}
|
||||
itemsType={schema.properties[argName].items}
|
||||
extra={schema.properties[argName]}
|
||||
/>
|
||||
|
||||
@@ -270,12 +270,12 @@
|
||||
</script>
|
||||
|
||||
<div class="flex flex-col">
|
||||
<div class="flex justify-between gap-x-2">
|
||||
<div class="flex justify-between items-center gap-x-2">
|
||||
<div>
|
||||
<Button
|
||||
variant="contained"
|
||||
color="dark"
|
||||
size="sm"
|
||||
size={lightMode ? 'xs2' : 'sm'}
|
||||
startIcon={{ icon: Plus }}
|
||||
on:click={() => {
|
||||
schemaModal.openDrawer(Object.assign({}, DEFAULT_PROPERTY))
|
||||
@@ -288,6 +288,7 @@
|
||||
|
||||
<div class="flex items-center">
|
||||
<Toggle
|
||||
size={lightMode ? 'xs' : 'sm'}
|
||||
on:change={() => switchTab()}
|
||||
options={{
|
||||
right: 'As JSON'
|
||||
@@ -342,6 +343,7 @@
|
||||
{:else}
|
||||
<div class="border rounded p-2">
|
||||
<SimpleEditor
|
||||
small
|
||||
bind:this={jsonEditor}
|
||||
fixedOverflowWidgets={false}
|
||||
on:change={() => {
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
bind:format={schema.properties[argName].format}
|
||||
contentEncoding={schema.properties[argName].contentEncoding}
|
||||
properties={schema.properties[argName].properties}
|
||||
nestedRequired={schema.properties[argName].required}
|
||||
bind:itemsType={schema.properties[argName].items}
|
||||
disabled={disabledArgs.includes(argName) || disabled}
|
||||
{editableSchema}
|
||||
@@ -131,6 +132,7 @@
|
||||
format={schema.properties[argName].format}
|
||||
contentEncoding={schema.properties[argName].contentEncoding}
|
||||
properties={schema.properties[argName].properties}
|
||||
nestedRequired={schema.properties[argName].required}
|
||||
itemsType={schema.properties[argName].items}
|
||||
disabled={disabledArgs.includes(argName) || disabled}
|
||||
{compact}
|
||||
|
||||
Reference in New Issue
Block a user