Fix reload of measure input
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user