From dd2ca1300422a6ad477089efe905901515eebaf6 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Sun, 26 Jan 2025 21:26:08 +0100 Subject: [PATCH] fix: multi-text-input not saving on blur (#2128) --- .../src/_inputs/widget-multi-text-input.tsx | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/packages/widgets/src/_inputs/widget-multi-text-input.tsx b/packages/widgets/src/_inputs/widget-multi-text-input.tsx index 9d1e9113f..864f200b5 100644 --- a/packages/widgets/src/_inputs/widget-multi-text-input.tsx +++ b/packages/widgets/src/_inputs/widget-multi-text-input.tsx @@ -49,6 +49,17 @@ export const WidgetMultiTextInput = ({ property, kind, options }: CommonWidgetIn return null; }, [currentValidationResult, search]); + const handleAddSearch = () => { + if (search.length === 0 || !currentValidationResult.success) { + return; + } + if (values.includes(search)) { + return; + } + onChange([...values, search]); + setSearch(""); + }; + return ( @@ -68,7 +79,10 @@ export const WidgetMultiTextInput = ({ property, kind, options }: CommonWidgetIn combobox.openDropdown()} - onBlur={() => combobox.closeDropdown()} + onBlur={() => { + handleAddSearch(); + combobox.closeDropdown(); + }} value={search} placeholder={tCommon("multiText.placeholder")} onChange={(event) => { @@ -81,14 +95,7 @@ export const WidgetMultiTextInput = ({ property, kind, options }: CommonWidgetIn onChange(values.slice(0, -1)); } else if (event.key === "Enter") { event.preventDefault(); - if (search.length === 0 || !currentValidationResult.success) { - return; - } - if (values.includes(search)) { - return; - } - onChange([...values, search]); - setSearch(""); + handleAddSearch(); } }} />