@@ -3,7 +3,6 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
33import { Paging } from "@neolution-ch/react-pattern-ui" ;
44import { PaginationState , Table , flexRender } from "@tanstack/react-table" ;
55import { Spinner , Table as ReactStrapTable , Input } from "reactstrap" ;
6- import { ExtendedColumnDef } from "./ExtendedColumnDef" ;
76import { ReactDataTableProps } from "./ReactDataTableProps" ;
87
98interface ReactDataTableRendererProps < TData >
@@ -49,7 +48,11 @@ const ReactDataTableRenderer = <TData,>(props: ReactDataTableRendererProps<TData
4948 </ tr >
5049 < tr key = { `${ headerGroup . id } -col-filters` } >
5150 { headerGroup . headers . map ( ( header ) => {
52- const extendedColumnDef = header . column . columnDef as ExtendedColumnDef < TData > ;
51+ const {
52+ column : {
53+ columnDef : { meta } ,
54+ } ,
55+ } = header ;
5356
5457 return (
5558 < >
@@ -76,12 +79,18 @@ const ReactDataTableRenderer = <TData,>(props: ReactDataTableRendererProps<TData
7679
7780 { header . column . getCanFilter ( ) && (
7881 < >
79- { extendedColumnDef . columnFilterDropDownConfig ? (
80- < Input type = "select" onChange = { ( e ) => header . column . setFilterValue ( e . target . value ) } bsSize = "sm" >
82+ { meta ?. dropdownFilter ? (
83+ < Input
84+ type = "select"
85+ onChange = { ( e ) => {
86+ header . column . setFilterValue ( e . target . value ) ;
87+ } }
88+ bsSize = "sm"
89+ >
8190 < option value = "" > All</ option >
82- { extendedColumnDef . columnFilterDropDownConfig . values . map ( ( value ) => (
83- < option key = { value } value = { value } >
84- { value }
91+ { meta . dropdownFilter . options . map ( ( { label , value } , i ) => (
92+ < option key = { i } value = { value } >
93+ { label }
8594 </ option >
8695 ) ) }
8796 </ Input >
0 commit comments