diff --git a/frontend/src/lib/common.ts b/frontend/src/lib/common.ts index 674199643d..fa67280053 100644 --- a/frontend/src/lib/common.ts +++ b/frontend/src/lib/common.ts @@ -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 diff --git a/frontend/src/lib/components/ArgInput.svelte b/frontend/src/lib/components/ArgInput.svelte index 6082e597ff..4a4a533837 100644 --- a/frontend/src/lib/components/ArgInput.svelte +++ b/frontend/src/lib/components/ArgInput.svelte @@ -237,7 +237,7 @@ {#if type == 'array'} {:else if (type == 'string' && format != 'date-time') || ['number', 'object'].includes(type ?? '')}
diff --git a/frontend/src/lib/components/SchemaModal.svelte b/frontend/src/lib/components/SchemaModal.svelte index f644fb6a07..caaa9b5568 100644 --- a/frontend/src/lib/components/SchemaModal.svelte +++ b/frontend/src/lib/components/SchemaModal.svelte @@ -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 @@
{:else if property.selectedType == 'number' || property.selectedType == 'integer'}