Fix reload of measure input

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-10-23 18:49:09 +02:00
parent 1fb678a0df
commit 5902ef512d

View File

@@ -54,35 +54,28 @@ function MeasureSelectWithQuery(
); );
}, [data?.measures.edges, search]); }, [data?.measures.edges, search]);
const allMeasures = useMemo(() => {
return data?.measures.edges?.map((edge) => edge.node) ?? [];
}, [data?.measures.edges]);
return ( return (
<div> <div>
<Controller <Controller
control={control} control={control}
name={name} name={name}
render={({ field }) => { render={({ field }) => {
const selectedMeasure = allMeasures.find((m) => m.id === field.value);
const displayValue = selectedMeasure ? selectedMeasure.name : search;
return ( return (
<Combobox <Combobox
id={name} id={name}
placeholder={__("Select a measure")} placeholder={__("Select a measure")}
onSelect={(measureId) => { value={search}
field.onChange(measureId);
const measure = allMeasures.find((m) => m.id === measureId);
setSearch(measure?.name ?? "");
}}
value={displayValue}
onSearch={setSearch} onSearch={setSearch}
disabled={disabled} disabled={disabled}
resetValueOnHide
> >
{measures?.map((m) => ( {measures?.map((m) => (
<ComboboxItem key={m.id} value={m.id}> <ComboboxItem
key={m.id}
onClick={() => {
field.onChange(m.id);
setSearch(m.name);
}}
>
<div className="space-y-1 text-start min-w-0"> <div className="space-y-1 text-start min-w-0">
<div className="max-w-75 ellipsis overflow-hidden whitespace-pre-wrap"> <div className="max-w-75 ellipsis overflow-hidden whitespace-pre-wrap">
{m.name} {m.name}