From f3f9b753ce8d168b7f5f40e09dd0336445ba232a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20Pat=C3=B3?= Date: Thu, 4 Aug 2022 10:40:34 +0200 Subject: [PATCH] refactor(ComboBox): simplified code in case of typed value and fallback value, resolve #1222 --- src/ComboBox/ComboBox.svelte | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/src/ComboBox/ComboBox.svelte b/src/ComboBox/ComboBox.svelte index 84168ed8..9e9ec8e6 100644 --- a/src/ComboBox/ComboBox.svelte +++ b/src/ComboBox/ComboBox.svelte @@ -299,25 +299,17 @@ } } else { // searching typed value in text list with lowercase - const matchedItem = filteredItems.find( - (e) => - e.text.toLowerCase() === value?.toLowerCase() && !e.disabled - ); + const matchedItem = + filteredItems.find( + (e) => + e.text.toLowerCase() === value?.toLowerCase() && !e.disabled + ) ?? filteredItems.find((e) => !e.disabled); if (matchedItem) { - // typed value has matched + // typed value has matched or fallback to first enabled item open = false; selectedItem = matchedItem; value = selectedItem.text; selectedId = selectedItem.id; - } else { - open = false; - // find first enabled item - const matchedItem = filteredItems.find((e) => !e.disabled); - if (matchedItem) { - value = itemToString(matchedItem); - selectedItem = matchedItem; - selectedId = matchedItem.id; - } } } highlightedIndex = -1;