@@ -13,6 +13,7 @@ import {
1313 createSortedRowModel ,
1414 filterFns ,
1515 flexRender ,
16+ globalFilteringFeature ,
1617 rowPaginationFeature ,
1718 rowSortingFeature ,
1819 sortFns ,
@@ -115,6 +116,7 @@ const _features = tableFeatures({
115116 columnFilteringFeature,
116117 rowPaginationFeature,
117118 rowSortingFeature,
119+ globalFilteringFeature,
118120} )
119121
120122const columnHelper = createColumnHelper < typeof _features , Person > ( )
@@ -123,7 +125,7 @@ const columns = columnHelper.columns([
123125 columnHelper . group ( {
124126 header : 'Name' ,
125127 footer : ( props ) => props . column . id ,
126- columns : [
128+ columns : columnHelper . columns ( [
127129 columnHelper . accessor ( 'firstName' , {
128130 cell : ( info ) => info . getValue ( ) ,
129131 footer : ( props ) => props . column . id ,
@@ -142,19 +144,19 @@ const columns = columnHelper.columns([
142144 footer : ( props ) => props . column . id ,
143145 sortFn : fuzzySort ,
144146 } ) ,
145- ] ,
147+ ] ) ,
146148 } ) ,
147149 columnHelper . group ( {
148150 header : 'Info' ,
149151 footer : ( props ) => props . column . id ,
150- columns : [
152+ columns : columnHelper . columns ( [
151153 columnHelper . accessor ( 'age' , {
152154 header : ( ) => 'Age' ,
153155 footer : ( props ) => props . column . id ,
154156 } ) ,
155157 columnHelper . group ( {
156158 header : 'More Info' ,
157- columns : [
159+ columns : columnHelper . columns ( [
158160 columnHelper . accessor ( 'visits' , {
159161 header : ( ) => < span > Visits</ span > ,
160162 footer : ( props ) => props . column . id ,
@@ -167,9 +169,9 @@ const columns = columnHelper.columns([
167169 header : 'Profile Progress' ,
168170 footer : ( props ) => props . column . id ,
169171 } ) ,
170- ] ,
172+ ] ) ,
171173 } ) ,
172- ] ,
174+ ] ) ,
173175 } ) ,
174176] )
175177
@@ -190,12 +192,9 @@ const App = component$(() => {
190192 paginatedRowModel : createPaginatedRowModel ( ) ,
191193 sortedRowModel : createSortedRowModel ( sortFns ) ,
192194 } ,
193- data : defaultData ,
194195 columns,
196+ data : defaultData ,
195197 enableSorting : true ,
196- filterFns : {
197- fuzzy : fuzzyFilter ,
198- } ,
199198 state : {
200199 columnFilters : columnFilters . value ,
201200 globalFilter : globalFilter . value ,
@@ -242,16 +241,19 @@ const App = component$(() => {
242241 ? 'cursor-pointer select-none'
243242 : ''
244243 }
245- onClick = { header . column . getToggleSortingHandler ( ) }
244+ onClick$ = { $ ( ( ) => {
245+ header . column . getToggleSortingHandler ( )
246+ } ) }
246247 >
247248 { flexRender (
248249 header . column . columnDef . header ,
249250 header . getContext ( ) ,
250251 ) }
251- { {
252- asc : ' 🔼' ,
253- desc : ' 🔽' ,
254- } [ header . column . getIsSorted ( ) as string ] ?? null }
252+ { header . column . getIsSorted ( )
253+ ? header . column . getIsSorted ( ) === 'asc'
254+ ? ' 🔼'
255+ : ' 🔽'
256+ : null }
255257 </ div >
256258 { header . column . getCanFilter ( ) ? (
257259 < div >
@@ -270,7 +272,7 @@ const App = component$(() => {
270272 { table . getRowModel ( ) . rows . map ( ( row ) => {
271273 return (
272274 < tr key = { row . id } >
273- { row . getVisibleCells ( ) . map ( ( cell ) => (
275+ { row . getAllCells ( ) . map ( ( cell ) => (
274276 < td key = { cell . id } >
275277 { flexRender ( cell . column . columnDef . cell , cell . getContext ( ) ) }
276278 </ td >
@@ -290,8 +292,8 @@ function Filter({
290292 column,
291293 table,
292294} : {
293- column : Column < any , unknown >
294- table : Table < any >
295+ column : Column < typeof _features , Person >
296+ table : Table < typeof _features , Person >
295297} ) {
296298 const { id } = column
297299 const firstValue = table
0 commit comments