Skip to content

Commit bb56e42

Browse files
authored
CardView: Fix the getSelectedCardsData method when the selected data is on multiple pages (T1300933) (DevExpress#30805)
Co-authored-by: Alyar <>
1 parent 4df0814 commit bb56e42

File tree

2 files changed

+33
-6
lines changed

2 files changed

+33
-6
lines changed

packages/devextreme/js/__internal/grids/new/grid_core/selection/controller.test.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,38 @@ describe('SelectionController', () => {
200200
expect(selectionController.getSelectedCardsData())
201201
.toEqual(dataController.items.peek());
202202
});
203+
204+
describe('when the selected cards are on different pages', () => {
205+
it('should return data for all selected cards', () => {
206+
const {
207+
selectionController,
208+
dataController,
209+
} = setup({
210+
keyExpr: 'id',
211+
dataSource: [
212+
{ id: 1, value: 'test1' },
213+
{ id: 2, value: 'test2' },
214+
{ id: 3, value: 'test3' },
215+
],
216+
selectedCardKeys: [1, 3],
217+
paging: {
218+
enabled: true,
219+
pageSize: 2,
220+
},
221+
});
222+
223+
expect(dataController.items.peek())
224+
.toEqual([
225+
{ id: 1, value: 'test1' },
226+
{ id: 2, value: 'test2' },
227+
]);
228+
expect(selectionController.getSelectedCardsData())
229+
.toEqual([
230+
{ id: 1, value: 'test1' },
231+
{ id: 3, value: 'test3' },
232+
]);
233+
});
234+
});
203235
});
204236

205237
describe('clearSelection', () => {

packages/devextreme/js/__internal/grids/new/grid_core/selection/controller.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -365,12 +365,7 @@ export class SelectionController {
365365
}
366366

367367
public getSelectedCardsData(): DataObject[] {
368-
const selectedCardKey = this.getSelectedCardKeys();
369-
370-
return selectedCardKey
371-
.map((key) => this.itemsController.getCardByKey(key))
372-
.filter((item): item is CardInfo => !!item)
373-
.map((item) => item.data);
368+
return this.selectionHelper?.peek()?.getSelectedItems();
374369
}
375370

376371
public getSelectedCardKeys(): Key[] {

0 commit comments

Comments
 (0)