@@ -7,7 +7,7 @@ import memoizerCache from 'core/cache/memoizer';
7
7
import { memoizeOne } from 'core/memoizer' ;
8
8
9
9
import 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' ;
11
11
import derivedFilterStyles , { derivedFilterOpStyles } from 'dash-table/derived/filter/wrapperStyles' ;
12
12
import derivedHeaderOperations from 'dash-table/derived/header/operations' ;
13
13
import { derivedRelevantFilterStyles } from 'dash-table/derived/style' ;
@@ -42,9 +42,11 @@ export default class FilterFactory {
42
42
43
43
private filter = memoizerCache < [ ColumnId , number ] > ( ) ( (
44
44
column : IColumn ,
45
+ columns : IColumn [ ] ,
45
46
index : number ,
46
47
map : Map < string , SingleColumnSyntaxTree > ,
47
48
setFilter : SetFilter ,
49
+ setProps : SetProps ,
48
50
filter_case : Case
49
51
) => {
50
52
const ast = map . get ( column . id . toString ( ) ) ;
@@ -53,9 +55,14 @@ export default class FilterFactory {
53
55
key = { `column-${ index } ` }
54
56
classes = { `dash-filter column-${ index } ` }
55
57
columnId = { column . id }
58
+ columns = { columns }
56
59
isValid = { ! ast || ast . isValid }
57
60
setFilter = { this . onChange . bind ( this , column , map , setFilter , filter_case ) }
61
+ setProps = { setProps }
58
62
value = { ast && ast . query }
63
+ globalFilterCase = { filter_case }
64
+ columnFilterCaseSensitive = { column . filter_case_sensitive }
65
+ columnFilterCaseInsensitive = { column . filter_case_insensitive }
59
66
/> ) ;
60
67
} ) ;
61
68
@@ -64,7 +71,7 @@ export default class FilterFactory {
64
71
edges : IEdgesMatrices | undefined
65
72
) => arrayMap (
66
73
styles ,
67
- ( s , j ) => R . merge (
74
+ ( s , j ) => R . mergeRight (
68
75
s ,
69
76
edges && edges . getStyle ( 0 , j )
70
77
)
@@ -75,11 +82,13 @@ export default class FilterFactory {
75
82
filterOpEdges : IEdgesMatrices | undefined
76
83
) {
77
84
const {
85
+ columns,
78
86
filter_action,
79
87
map,
80
88
row_deletable,
81
89
row_selectable,
82
90
setFilter,
91
+ setProps,
83
92
style_cell,
84
93
style_cell_conditional,
85
94
style_filter,
@@ -113,9 +122,11 @@ export default class FilterFactory {
113
122
const filters = R . addIndex < IColumn , JSX . Element > ( R . map ) ( ( column , index ) => {
114
123
return this . filter . get ( column . id , index ) (
115
124
column ,
125
+ columns ,
116
126
index ,
117
127
map ,
118
128
setFilter ,
129
+ setProps ,
119
130
filter_case
120
131
) ;
121
132
} , visibleColumns ) ;
0 commit comments