Skip to content

Commit 126d14c

Browse files
author
Sebastian Benjamin
committed
Fix value-reset flow on filters without freely-enterable values
1 parent 33597ac commit 126d14c

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

jbrowse/src/client/JBrowse/VariantSearch/components/FilterForm.tsx

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,24 @@ const FilterForm = (props: FilterFormProps ) => {
103103
const handleFilterChange = (index, key, value) => {
104104
const newFilters = filters.map((filter, i) => {
105105
if (i === index) {
106-
return Object.assign(new Filter(), { ...filter, [key]: value });
106+
const updatedFilter = Object.assign(new Filter(), { ...filter, [key]: value });
107+
108+
if (key === "operator") {
109+
if (value === "is empty" || value === "is not empty") {
110+
updatedFilter.value = '';
111+
}
112+
113+
if (value === "in set" || filter.operator === "in set") {
114+
updatedFilter.value = '';
115+
}
116+
}
117+
118+
return updatedFilter;
107119
}
108120
return filter;
109121
});
110122

111-
localSetFilters(newFilters)
123+
localSetFilters(newFilters);
112124
};
113125

114126
const handleSubmit = (event) => {
@@ -262,6 +274,7 @@ const FilterForm = (props: FilterFormProps ) => {
262274
<Select
263275
labelId="value-select-label"
264276
value={filter.value}
277+
disabled={filter.operator === "is empty" || filter.operator === "is not empty"}
265278
onChange={(event) =>
266279
handleFilterChange(index, "value", event.target.value)
267280
}
@@ -278,6 +291,7 @@ const FilterForm = (props: FilterFormProps ) => {
278291
label="Value"
279292
sx={ highlightedInputs[index]?.value ? highlightedSx : null }
280293
value={filter.value}
294+
disabled={filter.operator === "is empty" || filter.operator === "is not empty"}
281295
onChange={(event) =>
282296
handleFilterChange(index, 'value', event.target.value)
283297
}

0 commit comments

Comments
 (0)