fix: improve multiselect from form

This commit is contained in:
Ruben Fiszel
2023-11-25 15:26:05 +01:00
parent 2b5a47db2e
commit c74e6d2c9d
3 changed files with 10 additions and 3 deletions

View File

@@ -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

View File

@@ -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">

View File

@@ -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