diff --git a/frontend/src/Editor/Components/Table/Table.jsx b/frontend/src/Editor/Components/Table/Table.jsx index 48857058fd..9edef64d3a 100644 --- a/frontend/src/Editor/Components/Table/Table.jsx +++ b/frontend/src/Editor/Components/Table/Table.jsx @@ -43,6 +43,7 @@ export function Table({ fireEvent, setExposedVariable, registerAction, + properties, }) { const color = component.definition.styles.textColor.value !== '#000' @@ -751,7 +752,12 @@ export function Table({ const data = useMemo( () => tableData, - [tableData.length, componentState.changeSet, component.definition.properties.data.value] + [ + tableData.length, + componentState.changeSet, + component.definition.properties.data.value, + JSON.stringify(properties.data), + ] ); const computedStyles = { @@ -777,12 +783,15 @@ export function Table({ setAllFilters, preGlobalFilteredRows, setGlobalFilter, - state: { pageIndex, pageSize }, + state: { pageIndex, globalFilter }, exportData, selectedFlatRows, + globalFilteredRows, } = useTable( { autoResetPage: false, + autoResetGlobalFilter: false, + autoResetFilters: false, columns, data, defaultColumn, @@ -874,6 +883,13 @@ export function Table({ const tableRef = React.useRef(); + useEffect(() => { + setExposedVariable( + 'filteredData', + globalFilteredRows.map((row) => row.original) + ); + }, [JSON.stringify(globalFilteredRows.map((row) => row.original))]); + return (
) : ( - {`${preGlobalFilteredRows.length} Records`} + {`${globalFilteredRows.length} Records`} )}