Skip to content

Commit 40ffc28

Browse files
committed
DTS: this in handlers in frameworks
1 parent 348c1ca commit 40ffc28

File tree

5 files changed

+16
-9
lines changed

5 files changed

+16
-9
lines changed

apps/demos/Demos/CardView/ColumnHeaderFilter/Angular/app/app.component.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,12 @@ export class AppComponent {
6868
},
6969
];
7070

71-
calculateOrderDateFilterExpression(this: DxCardViewTypes.Column, value, selectedFilterOperations, target) {
71+
calculateOrderDateFilterExpression(
72+
this: DxCardViewTypes.Column,
73+
value: string,
74+
selectedFilterOperations: string | null,
75+
target: string
76+
) {
7277
if (value === 'weekends') {
7378
return [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]];
7479
}

apps/demos/Demos/CardView/ColumnHeaderFilter/React/App.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ function getOrderDay(rowData: Order) {
1212
}
1313

1414
function calculateOrderDateFilterExpression(
15-
this: CardViewTypes.Column,
15+
this: CardViewTypes.Column<Order>,
1616
value: string,
1717
selectedFilterOperations: string | null,
1818
target: string
19-
) {
19+
): string | any[] | (() => void) {
2020
if (value === 'weekends') {
2121
return [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]];
2222
}
23-
return this.defaultCalculateFilterExpression(value, selectedFilterOperations, target);
23+
return this.defaultCalculateFilterExpression(value, selectedFilterOperations, target) as string | any[] | (() => void);
2424
}
2525

2626
const saleAmountHeaderFilterDataSource: OrderFilter[] = [
@@ -99,7 +99,7 @@ const App = () => (
9999
<Column
100100
dataField="OrderDate"
101101
dataType="date"
102-
calculateFilterExpression={calculateOrderDateFilterExpression as ComponentProps<typeof Column>['calculateFilterExpression']}
102+
calculateFilterExpression={calculateOrderDateFilterExpression}
103103
>
104104
<ColumnHeaderFilter
105105
dataSource={orderDateHeaderFilterDataSource}

apps/demos/Demos/CardView/ColumnHeaderFilter/Vue/App.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ function calculateOrderDateFilterExpression(
7878
if (value === 'weekends') {
7979
return [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]];
8080
}
81-
return this.defaultCalculateFilterExpression(value, selectedFilterOperations, target) as any;
81+
return this.defaultCalculateFilterExpression(value, selectedFilterOperations, target);
8282
}
8383
8484
type HeaderFilterDataSourceArg = {

packages/devextreme-angular/src/ui/card-view/nested/column-dxi.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import * as CommonTypes from 'devextreme/common';
2020
import { HorizontalAlignment, DataType, SortOrder } from 'devextreme/common';
2121
import { FilterType, ColumnHeaderFilter } from 'devextreme/common/grids';
2222
import { Format } from 'devextreme/common/core/localization';
23+
import type { Column } from 'devextreme/ui/card_view';
2324
import { dxFormSimpleItem } from 'devextreme/ui/form';
2425

2526
import {
@@ -134,10 +135,10 @@ export class DxiCardViewColumnComponent extends CollectionNestedOption {
134135
}
135136

136137
@Input()
137-
get calculateFilterExpression(): ((filterValue: any, selectedFilterOperation: string | null, target: string) => string | Array<any> | Function) {
138+
get calculateFilterExpression(): ((this: Column, filterValue: any, selectedFilterOperation: string | null, target: string) => string | Array<any> | Function) {
138139
return this._getOption('calculateFilterExpression');
139140
}
140-
set calculateFilterExpression(value: ((filterValue: any, selectedFilterOperation: string | null, target: string) => string | Array<any> | Function)) {
141+
set calculateFilterExpression(value: ((this: Column, filterValue: any, selectedFilterOperation: string | null, target: string) => string | Array<any> | Function)) {
141142
this._setOption('calculateFilterExpression', value);
142143
}
143144

packages/devextreme-vue/src/card-view.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ import {
4545
EditingTexts,
4646
PredefinedToolbarItem,
4747
dxCardViewToolbarItem,
48+
Column,
4849
} from "devextreme/ui/card_view";
4950
import {
5051
Mode,
@@ -1020,7 +1021,7 @@ const DxColumnConfig = {
10201021
allowSorting: Boolean,
10211022
calculateDisplayValue: Function as PropType<((cardData: any) => any)>,
10221023
calculateFieldValue: Function as PropType<((cardData: any) => any)>,
1023-
calculateFilterExpression: Function as PropType<((filterValue: any, selectedFilterOperation: string | null, target: string) => string | Array<any> | (() => void))>,
1024+
calculateFilterExpression: Function as PropType<((this: Column, filterValue: any, selectedFilterOperation: string | null, target: string) => string | Array<any> | (() => void))>,
10241025
calculateSortValue: [Function, String] as PropType<(((cardData: any) => any)) | string>,
10251026
caption: String,
10261027
customizeText: Function as PropType<((fieldInfo: { groupInterval: string | number, target: string, value: any, valueText: string }) => string)>,

0 commit comments

Comments
 (0)