1- import React from 'react' ;
1+ import React , { type ComponentProps } from 'react' ;
22
33import CardView , { Column , HeaderFilter , ColumnHeaderFilter , ColumnHeaderFilterSearch } from 'devextreme-react/card-view' ;
4+ import type { CardViewTypes } from 'devextreme-react/card-view' ;
5+ import type { DataSourceOptions } from 'devextreme-react/common/data' ;
46
57import { orders } from './data.ts' ;
68import type { Order , OrderFilter } from './data.ts' ;
@@ -10,6 +12,7 @@ function getOrderDay(rowData: Order) {
1012}
1113
1214function calculateOrderDateFilterExpression (
15+ this : CardViewTypes . Column ,
1316 value : string ,
1417 selectedFilterOperations : string | null ,
1518 target : string
@@ -57,20 +60,22 @@ interface HeaderFilterDataResult {
5760 value : string ;
5861}
5962
60- interface HeaderFilterData {
61- dataSource : {
62- postProcess ?: ( ( results : HeaderFilterDataResult [ ] ) => HeaderFilterDataResult [ ] ) | null ;
63- } ;
63+ interface HeaderFilterDataSourceOptions {
64+ component : Record < string , any > ;
65+ dataSource : DataSourceOptions < HeaderFilterDataResult > | null ;
6466}
6567
66- function orderDateHeaderFilterDataSource ( data : HeaderFilterData ) : void {
67- data . dataSource . postProcess = function ( results : HeaderFilterDataResult [ ] ) {
68- results . push ( {
69- text : 'Weekends' ,
70- value : 'weekends' ,
71- } ) ;
72- return results ;
73- } ;
68+ function orderDateHeaderFilterDataSource ( options : HeaderFilterDataSourceOptions ) : void {
69+ if ( options . dataSource ) {
70+ options . dataSource . postProcess = function ( results : HeaderFilterDataResult [ ] ) {
71+ results . push ( {
72+ text : 'Weekends' ,
73+ value : 'weekends' ,
74+ } ) ;
75+
76+ return results ;
77+ } ;
78+ }
7479}
7580
7681const App = ( ) => (
@@ -94,7 +99,7 @@ const App = () => (
9499 < Column
95100 dataField = "OrderDate"
96101 dataType = "date"
97- calculateFilterExpression = { calculateOrderDateFilterExpression }
102+ calculateFilterExpression = { calculateOrderDateFilterExpression as ComponentProps < typeof Column > [ 'calculateFilterExpression' ] }
98103 >
99104 < ColumnHeaderFilter
100105 dataSource = { orderDateHeaderFilterDataSource }
0 commit comments