@@ -13,6 +13,7 @@ import { DndContext, KeyboardSensor, MouseSensor, TouchSensor, closestCenter, us
1313import { restrictToVerticalAxis } from "@dnd-kit/modifiers" ;
1414import { DraggableRow , InternalTableRow } from "./TableRows" ;
1515import { SortableContext , verticalListSortingStrategy } from "@dnd-kit/sortable" ;
16+ import { getFilterValue , setFilterValue } from "../utils/customFilterMethods" ;
1617
1718interface TableBodyProps < TData > {
1819 enableDragAndDrop : boolean ;
@@ -158,7 +159,7 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
158159 </ th >
159160 ) ) }
160161 </ tr >
161- { ! withoutHeaderFilters && (
162+ { ! withoutHeaderFilters && ! headerGroup . headers . every ( ( x ) => ! ! x . column . columnDef . meta ?. hideHeaderFilters ) && (
162163 < tr key = { `${ headerGroup . id } -col-filters` } >
163164 { headerGroup . headers . map ( ( header ) => {
164165 const {
@@ -168,7 +169,7 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
168169 } = header ;
169170
170171 return (
171- < th key = { `${ header . id } -col-filter` } >
172+ < th key = { `${ header . id } -col-filter` } style = { header . column . columnDef . meta ?. headerFilterStyle } >
172173 { header . index === 0 && (
173174 < >
174175 { onEnter && (
@@ -203,12 +204,16 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
203204 { header . column . getCanFilter ( ) && (
204205 < >
205206 { meta ?. customFilter ? (
206- meta ?. customFilter ( header . column . getFilterValue ( ) , header . column . setFilterValue )
207+ meta ?. customFilter ( getFilterValue ( header . column , table ) , ( value ) =>
208+ setFilterValue ( header . column , table , value ) ,
209+ )
207210 ) : meta ?. dropdownFilter ? (
208211 < Input
209212 type = "select"
210213 onChange = { ( e ) => {
211- header . column . setFilterValue (
214+ setFilterValue (
215+ header . column ,
216+ table ,
212217 // eslint-disable-next-line @typescript-eslint/no-explicit-any
213218 meta . dropdownFilter ?. options [ ( e . target as any as HTMLSelectElement ) . selectedIndex ] ?. value ??
214219 e . target . value ,
@@ -236,9 +241,9 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
236241 ) : (
237242 < Input
238243 type = "text"
239- value = { ( header . column . getFilterValue ( ) as string ) ?? "" }
244+ value = { ( getFilterValue ( header . column , table ) as string ) ?? "" }
240245 onChange = { ( e ) => {
241- header . column . setFilterValue ( e . target . value ) ;
246+ setFilterValue ( header . column , table , e . target . value ) ;
242247 if ( ! onEnter && manualPagination ) {
243248 resetPageIndex ( true ) ;
244249 }
0 commit comments