fix: improve multiselect from form
This commit is contained in:
@@ -52,7 +52,7 @@ export interface ModalSchemaProperty {
|
||||
pattern?: string
|
||||
enum_?: string[]
|
||||
default?: any
|
||||
items?: { type?: 'string' | 'number' }
|
||||
items?: { type?: 'string' | 'number'; enum?: string[] }
|
||||
contentEncoding?: 'base64' | 'binary'
|
||||
schema?: Schema
|
||||
customErrorMessage?: string
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
{#if type == 'array'}
|
||||
<ArrayTypeNarrowing bind:itemsType />
|
||||
<Label label="Display using multiselect">
|
||||
<Toggle bind:checked={extra.multiselect} />
|
||||
<Toggle disabled={itemsType?.enum == undefined} bind:checked={extra.multiselect} />
|
||||
</Label>
|
||||
{:else if (type == 'string' && format != 'date-time') || ['number', 'object'].includes(type ?? '')}
|
||||
<div class="p-2 my-1 text-xs border-solid border border-gray-200 rounded-lg">
|
||||
|
||||
@@ -27,6 +27,9 @@
|
||||
currency: schema.currency,
|
||||
currencyLocale: schema.currencyLocale,
|
||||
multiselect: schema.multiselect,
|
||||
items: schema.items?.type
|
||||
? { type: schema.items.type as 'string' | 'number' | undefined, enum: schema.items.enum }
|
||||
: undefined,
|
||||
required,
|
||||
schema:
|
||||
schema.type == 'object'
|
||||
@@ -105,6 +108,7 @@
|
||||
property.currency = undefined
|
||||
property.currencyLocale = undefined
|
||||
property.multiselect = undefined
|
||||
property.items = undefined
|
||||
|
||||
drawer.closeDrawer()
|
||||
}
|
||||
@@ -242,7 +246,10 @@
|
||||
<ArrayTypeNarrowing bind:itemsType={property.items} />
|
||||
<div class="mt-4" />
|
||||
<Label label="Display using multiselect">
|
||||
<Toggle bind:checked={property.multiselect} />
|
||||
<Toggle
|
||||
disabled={property?.items?.enum == undefined}
|
||||
bind:checked={property.multiselect}
|
||||
/>
|
||||
</Label>
|
||||
{:else if property.selectedType == 'number' || property.selectedType == 'integer'}
|
||||
<NumberTypeNarrowing
|
||||
|
||||
Reference in New Issue
Block a user