improve argenum

This commit is contained in:
Ruben Fiszel
2024-01-12 00:56:51 +01:00
parent 0d560d36c8
commit f69c15813f
2 changed files with 36 additions and 23 deletions
+34 -23
View File
@@ -10,6 +10,7 @@
export let defaultValue: string | undefined
export let valid: boolean
export let create: boolean
export let required: boolean
const dispatch = createEventDispatcher()
@@ -22,26 +23,36 @@
}
</script>
<AutoComplete
items={[...(enum_ ?? []), ...customItems]}
bind:selectedItem={value}
inputClassName={twMerge(
'bg-surface-secondary flex',
valid
? ''
: 'border border-red-700 border-opacity-30 focus:border-red-700 focus:border-opacity-30 bg-red-100'
)}
value={value ?? defaultValue}
hideArrow={true}
dropdownClassName="!text-sm !py-2 !rounded-sm !border-gray-200 !border !shadow-md !bg-surface-primary"
className="w-full"
noInputStyles
onFocus={() => {
dispatch('focus')
}}
{create}
{onCreate}
{disabled}
{autofocus}
createText="Press enter to use this non-predefined value"
/>
<div class="w-full flex-col">
<div class="w-full">
<AutoComplete
items={[...(enum_ ?? []), ...customItems]}
bind:selectedItem={value}
inputClassName={twMerge(
'bg-surface-secondary flex',
valid
? ''
: 'border border-red-700 border-opacity-30 focus:border-red-700 focus:border-opacity-30 bg-red-100'
)}
value={value ?? defaultValue}
hideArrow={true}
dropdownClassName="!text-sm !py-2 !rounded-sm !border-gray-200 !border !shadow-md !bg-surface-primary"
className="w-full"
noInputStyles
onFocus={() => {
dispatch('focus')
}}
{create}
{required}
{onCreate}
{disabled}
{autofocus}
createText="Press enter to use this non-predefined value"
/>
</div>
{#if value}
<div class="-mt-2">
<span class="text-2xs text-secondary">selected: {value}</span>
</div>
{/if}
</div>
@@ -409,6 +409,7 @@
<JsonEditor code={JSON.stringify(v, null, 2)} bind:value={v} />
{:else if Array.isArray(itemsType?.enum)}
<ArgEnum
required
create={extra['disableCreate'] != true}
on:focus={() => {
dispatch('focus')
@@ -520,6 +521,7 @@
{:else if inputCat == 'enum'}
<div class="flex flex-row w-full gap-1">
<ArgEnum
{required}
create={extra['disableCreate'] != true}
{defaultValue}
{valid}