diff --git a/webui/src/lib/components/utils/Selector.svelte b/webui/src/lib/components/utils/Selector.svelte index 0c0bf75..484ba07 100644 --- a/webui/src/lib/components/utils/Selector.svelte +++ b/webui/src/lib/components/utils/Selector.svelte @@ -145,6 +145,7 @@ current = undefined; dispatch('input', current); } + $: if (!inputValue) reset(); let options: SelectorOption[] = []; let searchResult: UpListing | undefined = undefined; diff --git a/webui/src/lib/components/widgets/EntryList.svelte b/webui/src/lib/components/widgets/EntryList.svelte index e1c4b37..785b32d 100644 --- a/webui/src/lib/components/widgets/EntryList.svelte +++ b/webui/src/lib/components/widgets/EntryList.svelte @@ -56,7 +56,7 @@ let newEntryValue: SelectorValue | undefined; $: if (adding && newAttrSelector) newAttrSelector.focus(); - $: if (!addFocus && !addHover) adding = false; + $: if (!addFocus && !addHover && !newEntryAttribute && !newEntryValue) adding = false; async function addEntry(attribute: string, value: SelectorValue) { dispatch('change', { @@ -352,7 +352,7 @@
(newEntryAttribute = ev.detail.name)} + on:input={(ev) => (newEntryAttribute = ev.detail?.name)} on:focus={(ev) => (addFocus = ev.detail)} keepFocusOnSet bind:this={newAttrSelector}