@@ -7,7 +7,7 @@ import memoizerCache from 'core/cache/memoizer';
77import { memoizeOne } from 'core/memoizer' ;
88
99import ColumnFilter from 'dash-table/components/Filter/Column' ;
10- import { ColumnId , IColumn , TableAction , IFilterFactoryProps , SetFilter , Case } from 'dash-table/components/Table/props' ;
10+ import { ColumnId , IColumn , TableAction , IFilterFactoryProps , SetFilter , Case , SetProps } from 'dash-table/components/Table/props' ;
1111import derivedFilterStyles , { derivedFilterOpStyles } from 'dash-table/derived/filter/wrapperStyles' ;
1212import derivedHeaderOperations from 'dash-table/derived/header/operations' ;
1313import { derivedRelevantFilterStyles } from 'dash-table/derived/style' ;
@@ -42,9 +42,11 @@ export default class FilterFactory {
4242
4343 private filter = memoizerCache < [ ColumnId , number ] > ( ) ( (
4444 column : IColumn ,
45+ columns : IColumn [ ] ,
4546 index : number ,
4647 map : Map < string , SingleColumnSyntaxTree > ,
4748 setFilter : SetFilter ,
49+ setProps : SetProps ,
4850 filter_case : Case
4951 ) => {
5052 const ast = map . get ( column . id . toString ( ) ) ;
@@ -53,9 +55,14 @@ export default class FilterFactory {
5355 key = { `column-${ index } ` }
5456 classes = { `dash-filter column-${ index } ` }
5557 columnId = { column . id }
58+ columns = { columns }
5659 isValid = { ! ast || ast . isValid }
5760 setFilter = { this . onChange . bind ( this , column , map , setFilter , filter_case ) }
61+ setProps = { setProps }
5862 value = { ast && ast . query }
63+ globalFilterCase = { filter_case }
64+ columnFilterCaseSensitive = { column . filter_case_sensitive }
65+ columnFilterCaseInsensitive = { column . filter_case_insensitive }
5966 /> ) ;
6067 } ) ;
6168
@@ -64,7 +71,7 @@ export default class FilterFactory {
6471 edges : IEdgesMatrices | undefined
6572 ) => arrayMap (
6673 styles ,
67- ( s , j ) => R . merge (
74+ ( s , j ) => R . mergeRight (
6875 s ,
6976 edges && edges . getStyle ( 0 , j )
7077 )
@@ -75,11 +82,13 @@ export default class FilterFactory {
7582 filterOpEdges : IEdgesMatrices | undefined
7683 ) {
7784 const {
85+ columns,
7886 filter_action,
7987 map,
8088 row_deletable,
8189 row_selectable,
8290 setFilter,
91+ setProps,
8392 style_cell,
8493 style_cell_conditional,
8594 style_filter,
@@ -113,9 +122,11 @@ export default class FilterFactory {
113122 const filters = R . addIndex < IColumn , JSX . Element > ( R . map ) ( ( column , index ) => {
114123 return this . filter . get ( column . id , index ) (
115124 column ,
125+ columns ,
116126 index ,
117127 map ,
118128 setFilter ,
129+ setProps ,
119130 filter_case
120131 ) ;
121132 } , visibleColumns ) ;
0 commit comments