diff --git a/frontend/src/Editor/Components/Table/Filter.jsx b/frontend/src/Editor/Components/Table/Filter.jsx index 899520aa22..d6149e5d9c 100644 --- a/frontend/src/Editor/Components/Table/Filter.jsx +++ b/frontend/src/Editor/Components/Table/Filter.jsx @@ -14,10 +14,11 @@ export function Filter(props) { const [activeFilters, set] = React.useState(filters); - function filterColumnChanged(index, value, name) { + function filterColumnChanged(index, value) { + const filter = props.columns.find((column) => column.value === value); const newFilters = filters; - newFilters[index].id = value; - newFilters[index].value.where = name; + newFilters[index].id = filter.value; + newFilters[index].value.column = filter.name; mergeToFilterDetails({ filters: newFilters, }); @@ -28,8 +29,14 @@ export function Filter(props) { const newFilters = filters; newFilters[index].value = { ...newFilters[index].value, - operation: value, + condition: value, }; + + //* if condition is "is empty" or "is not empty" then clear the filter query value + if (value === 'isEmpty' || value === 'isNotEmpty') { + newFilters[index].value.value = ''; + } + mergeToFilterDetails({ filters: newFilters, }); @@ -49,7 +56,7 @@ export function Filter(props) { } function addFilter() { - mergeToFilterDetails({ filters: [...filters, { id: '', value: { operation: 'contains', value: '' } }] }); + mergeToFilterDetails({ filters: [...filters, { id: '', value: { condition: 'contains', value: '' } }] }); } function removeFilter(index) { @@ -114,20 +121,24 @@ export function Filter(props) { -