@@ -43,7 +43,6 @@ interface DataTableProps<TData extends { name: string | number }, TValue> {
4343 onAddFilter ?: ( field : string , value : string , tableTitle ?: string ) => void ;
4444 onRowAction ?: ( row : TData ) => void ;
4545 minHeight ?: string | number ;
46- showSearch ?: boolean ;
4746 getSubRows ?: ( row : TData ) => TData [ ] | undefined ;
4847 renderSubRow ?: (
4948 subRow : TData ,
@@ -95,17 +94,16 @@ export function DataTable<TData extends { name: string | number }, TValue>({
9594 className,
9695 onRowClick,
9796 minHeight = DEFAULT_MIN_HEIGHT ,
98- showSearch = true ,
9997 getSubRows,
10098 renderSubRow,
10199 expandable = false ,
102100 onAddFilter,
103101 onRowAction,
104102} : DataTableProps < TData , TValue > ) {
105- const [ sorting , setSorting ] = useState < SortingState > ( [ ] ) ;
106- const [ globalFilter , setGlobalFilter ] = useState ( '' ) ;
107103 const [ activeTab , setActiveTab ] = useState ( tabs ?. [ 0 ] ?. id || '' ) ;
108104 const [ isTransitioning , setIsTransitioning ] = useState ( false ) ;
105+ const [ sorting , setSorting ] = useState < SortingState > ( [ ] ) ;
106+ const [ globalFilter , setGlobalFilter ] = useState ( '' ) ;
109107
110108 const { fullScreen, setFullScreen, hasMounted, modalRef } = useFullScreen ( ) ;
111109
@@ -131,13 +129,14 @@ export function DataTable<TData extends { name: string | number }, TValue>({
131129 } ,
132130 state : {
133131 sorting,
134- globalFilter : showSearch ? globalFilter : '' ,
132+ globalFilter,
135133 } ,
136134 onSortingChange : setSorting ,
137135 onGlobalFilterChange : setGlobalFilter ,
138136 getCoreRowModel : getCoreRowModel ( ) ,
139137 getFilteredRowModel : getFilteredRowModel ( ) ,
140138 getSortedRowModel : getSortedRowModel ( ) ,
139+ globalFilterFn : 'includesString' ,
141140 } ) ;
142141
143142 const handleTabChange = ( tabId : string ) => {
@@ -146,10 +145,10 @@ export function DataTable<TData extends { name: string | number }, TValue>({
146145 }
147146
148147 setIsTransitioning ( true ) ;
148+ setSorting ( [ ] ) ;
149+ setGlobalFilter ( '' ) ;
149150 setTimeout ( ( ) => {
150151 setActiveTab ( tabId ) ;
151- setGlobalFilter ( '' ) ;
152- setSorting ( [ ] ) ;
153152 setIsTransitioning ( false ) ;
154153 } , 150 ) ;
155154 } ;
@@ -168,11 +167,6 @@ export function DataTable<TData extends { name: string | number }, TValue>({
168167 < Skeleton className = "h-5 w-32 rounded" />
169168 { description && < Skeleton className = "mt-0.5 h-3 w-48 rounded" /> }
170169 </ div >
171- { showSearch && (
172- < div className = "flex-shrink-0" >
173- < Skeleton className = "h-7 w-36 rounded" />
174- </ div >
175- ) }
176170 </ div >
177171
178172 { tabs && tabs . length > 1 && (
@@ -203,10 +197,9 @@ export function DataTable<TData extends { name: string | number }, TValue>({
203197 { /* Toolbar */ }
204198 < TableToolbar
205199 description = { description }
206- globalFilter = { globalFilter }
207200 onFullScreenToggle = { ( ) => setFullScreen ( true ) }
208- onGlobalFilterChange = { setGlobalFilter }
209- showSearch = { showSearch }
201+ onSearchChange = { setGlobalFilter }
202+ searchValue = { globalFilter }
210203 title = { title }
211204 />
212205
@@ -242,10 +235,8 @@ export function DataTable<TData extends { name: string | number }, TValue>({
242235 emptyMessage = { emptyMessage }
243236 expandable = { expandable }
244237 getSubRows = { getSubRows }
245- globalFilter = { globalFilter }
246238 minHeight = { minHeight }
247239 onAddFilter = { onAddFilter }
248- onGlobalFilterChange = { setGlobalFilter }
249240 onRowAction = { onRowAction }
250241 onRowClick = { onRowClick }
251242 renderSubRow = { renderSubRow }
@@ -278,15 +269,14 @@ export function DataTable<TData extends { name: string | number }, TValue>({
278269 description = { description }
279270 expandable = { expandable }
280271 getSubRows = { getSubRows }
281- globalFilter = { globalFilter }
282272 onAddFilter = { onAddFilter }
283273 onClose = { ( ) => setFullScreen ( false ) }
284- onGlobalFilterChange = { setGlobalFilter }
285274 onRowAction = { onRowAction }
286275 onRowClick = { onRowClick }
276+ onSearchChange = { setGlobalFilter }
287277 onTabChange = { handleTabChange }
288278 renderSubRow = { renderSubRow }
289- showSearch = { showSearch }
279+ searchValue = { globalFilter }
290280 table = { table }
291281 tabs = { tabs }
292282 title = { title }
0 commit comments