@@ -4,31 +4,36 @@ import { filterFunc } from "../functions/filter";
44
55
66function Filter ( ) {
7+ type FilterEvent = Event & {
8+ currentTarget : HTMLSelectElement ;
9+ target : HTMLSelectElement ;
10+ } ;
711
8- const handleFilter = ( field : keyof Host , value : any ) => {
9- filterFunc ( field , value ) ;
12+ const handleFilter = ( field : keyof Host , event : FilterEvent ) => {
13+ const value = event . target ? event . target . value : 0 ;
14+ filterFunc ( field , value ) ;
1015 } ;
1116
1217 return (
1318 < div class = "row" >
1419 < div class = "col input-group" >
15- < select class = "form-select" title = "Filter by Iface" >
20+ < select onChange = { ( event ) => { handleFilter ( "Iface" , event ) } } class = "form-select" title = "Filter by Iface" >
1621 < option selected disabled > Iface</ option >
1722 < For each = { ifaces ( ) } > { ( iface ) =>
18- < option onClick = { ( ) => { handleFilter ( "Iface" , iface ) } } > { iface } </ option >
23+ < option value = { iface } > { iface } </ option >
1924 } </ For >
2025 </ select >
21- < select class = "form-select" title = "Filter by Known" >
26+ < select onChange = { ( event ) => { handleFilter ( "Known" , event ) } } class = "form-select" title = "Filter by Known" >
2227 < option selected disabled > Known</ option >
23- < option onClick = { ( ) => { handleFilter ( "Known" , 1 ) } } > Known</ option >
24- < option onClick = { ( ) => { handleFilter ( "Known" , 0 ) } } > Unknown</ option >
28+ < option value = { 1 } > Known</ option >
29+ < option value = { 0 } > Unknown</ option >
2530 </ select >
26- < select class = "form-select" title = "Filter by Online" >
31+ < select onChange = { ( event ) => { handleFilter ( "Now" , event ) } } class = "form-select" title = "Filter by Online" >
2732 < option selected disabled > Online</ option >
28- < option onClick = { ( ) => { handleFilter ( "Now" , 1 ) } } > On</ option >
29- < option onClick = { ( ) => { handleFilter ( "Now" , 0 ) } } > Off</ option >
33+ < option value = { 1 } > On</ option >
34+ < option value = { 0 } > Off</ option >
3035 </ select >
31- < button onClick = { ( ) => { handleFilter ( "ID" , 0 ) } } class = "btn btn-outline-primary" title = "Reset filter" > Reset filter</ button >
36+ < button onClick = { ( ) => { handleFilter ( "ID" , new Event ( "" ) as FilterEvent ) } } class = "btn btn-outline-primary" title = "Reset filter" > Reset filter</ button >
3237 </ div >
3338 </ div >
3439 )
0 commit comments