Skip to content

Commit ca94d49

Browse files
authored
CardView: Column does not display any values when calculateDisplayVal… (#31129)
1 parent 48d58dd commit ca94d49

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import CardView from 'devextreme-testcafe-models/cardView';
2+
import url from '../../helpers/getPageUrl';
3+
import { createWidget } from '../../helpers/createWidget';
4+
5+
fixture.disablePageReloads`CardView - Items functional`
6+
.page(url(__dirname, '../container.html'));
7+
8+
const CARD_VIEW_SELECTOR = '#container';
9+
10+
const config = {
11+
columns: [{
12+
dataField: 'activity',
13+
columnType: 'number',
14+
calculateDisplayValue(e) {
15+
return `activity ${e.activity}`;
16+
},
17+
}],
18+
dataSource: [
19+
{ id: 1, activity: 1 },
20+
],
21+
keyExpr: 'id',
22+
};
23+
24+
test('Column should show data from calculateDisplayValue if function\'s result has other dataType', async (t) => {
25+
const cardView = new CardView(CARD_VIEW_SELECTOR);
26+
27+
const valueCell = cardView.getCard().getFieldValueCell('Activity');
28+
29+
const text = await valueCell.innerText;
30+
31+
await t.expect(text).eql('activity 1');
32+
}).before(async () => createWidget('dxCardView', config));

packages/devextreme/js/__internal/grids/new/grid_core/items_controller/items_controller.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { SearchController } from '@ts/grids/new/grid_core/search/index';
77

88
import type { CardInfo, Column, FieldInfo } from '../columns_controller/types';
99
import type { DataObject, Key } from '../data_controller/types';
10-
import { parseValue } from '../utils/parse_value/index';
1110

1211
export class ItemsController {
1312
private readonly selectedCardKeys = signal<Key[]>([]);
@@ -68,7 +67,7 @@ export class ItemsController {
6867
const displayValue = column.calculateDisplayValue(data);
6968

7069
const formattedText = formatHelper.format(
71-
parseValue(column, displayValue as string) as never,
70+
displayValue as never,
7271
column.format,
7372
);
7473
const text = column.customizeText

0 commit comments

Comments
 (0)