@@ -47,7 +47,10 @@ export function TextFilter(headerProps: DatabaseHeaderProps) {
4747 < div key = { `${ column . id } -text-filter` } >
4848 < datalist id = { `${ column . id } -list` } key = { `${ column . id } -datalist` } >
4949 { sortedUniqueValues . slice ( 0 , 5000 ) . map ( ( value , index ) => (
50- < option value = { value } key = { `${ column . id } -option-${ index } ` } />
50+ < option
51+ value = { value ?. toString ( ) }
52+ key = { `${ column . id } -option-${ index } ` }
53+ />
5154 ) ) }
5255 </ datalist >
5356 < DynamicDebouncedInput
@@ -68,10 +71,12 @@ export function TextFilter(headerProps: DatabaseHeaderProps) {
6871
6972export function NumberFilter ( headerProps : DatabaseHeaderProps ) {
7073 const { column } = headerProps ;
71- const min = Number ( column . getFacetedMinMaxValues ( ) ?. [ 0 ] ?? "" ) ;
72- const max = Number ( column . getFacetedMinMaxValues ( ) ?. [ 1 ] ?? "" ) ;
73- const minValue = ( column . getFilterValue ( ) as [ number , number ] ) ?. [ 0 ] ?? "" ;
74- const maxValue = ( column . getFilterValue ( ) as [ number , number ] ) ?. [ 1 ] ?? "" ;
74+ const min = Number ( column . getFacetedMinMaxValues ( ) ?. [ 0 ] ?? undefined ) ;
75+ const max = Number ( column . getFacetedMinMaxValues ( ) ?. [ 1 ] ?? undefined ) ;
76+ const minValue =
77+ ( column . getFilterValue ( ) as [ number , number ] ) ?. [ 0 ] ?? undefined ;
78+ const maxValue =
79+ ( column . getFilterValue ( ) as [ number , number ] ) ?. [ 1 ] ?? undefined ;
7580 return (
7681 < >
7782 < div className = "flex space-x-2" key = { `${ column . id } -number-filter` } >
@@ -80,9 +85,12 @@ export function NumberFilter(headerProps: DatabaseHeaderProps) {
8085 min = { min }
8186 max = { max }
8287 value = { minValue }
83- onChange = { ( value ) =>
84- column . setFilterValue ( ( old : [ number , number ] ) => [ value , old ?. [ 1 ] ] )
85- }
88+ onChange = { ( value ) => {
89+ if ( value === "" || value === null ) {
90+ value = undefined ;
91+ }
92+ column . setFilterValue ( ( old : [ number , number ] ) => [ value , old ?. [ 1 ] ] ) ;
93+ } }
8694 placeholder = { `Min ${
8795 column . getFacetedMinMaxValues ( ) ?. [ 0 ]
8896 ? `(${ column . getFacetedMinMaxValues ( ) ?. [ 0 ] } )`
@@ -98,9 +106,12 @@ export function NumberFilter(headerProps: DatabaseHeaderProps) {
98106 min = { Number . isNaN ( min ) ? undefined : min }
99107 max = { Number . isNaN ( max ) ? undefined : max }
100108 value = { maxValue }
101- onChange = { ( value ) =>
102- column . setFilterValue ( ( old : [ number , number ] ) => [ old ?. [ 0 ] , value ] )
103- }
109+ onChange = { ( value ) => {
110+ if ( value === "" || value === null ) {
111+ value = undefined ;
112+ }
113+ column . setFilterValue ( ( old : [ number , number ] ) => [ old ?. [ 0 ] , value ] ) ;
114+ } }
104115 placeholder = { `Max ${
105116 column . getFacetedMinMaxValues ( ) ?. [ 1 ]
106117 ? `(${ column . getFacetedMinMaxValues ( ) ?. [ 1 ] } )`
0 commit comments