@@ -470,12 +470,18 @@ describe('AnalyticalTable', () => {
470
470
filterable
471
471
columns = { columns }
472
472
onRowSelect = { ( e ) => {
473
- const { allRowsSelected, isSelected, row, selectedFlatRows, selectedRowIds } = e . detail ;
473
+ const { allRowsSelected, isSelected, row, rowsById, selectedRowIds } = e . detail ;
474
+ const selectedRowIdsArrayMapped = Object . keys ( selectedRowIds ) . reduce ( ( acc , key ) => {
475
+ if ( selectedRowIds [ key ] ) {
476
+ acc . push ( rowsById [ key ] ) ;
477
+ }
478
+ return acc ;
479
+ } , [ ] ) ;
474
480
setRelevantPayload ( {
475
481
allRowsSelected,
476
482
isSelected,
477
483
row : row . id ,
478
- selectedFlatRows : selectedFlatRows . map ( ( item ) => ( {
484
+ selectedFlatRows : selectedRowIdsArrayMapped . map ( ( item ) => ( {
479
485
id : item ?. id
480
486
} ) ) ,
481
487
selectedRowIds
@@ -582,7 +588,14 @@ describe('AnalyticalTable', () => {
582
588
columns = { columns }
583
589
globalFilterValue = { globalFilterVal }
584
590
onRowSelect = { ( e ) => {
585
- setSelectedFlatRows ( e . detail . selectedFlatRows . map ( ( item ) => item . id ) ) ;
591
+ const { selectedRowIds : _selectedRowIds , rowsById } = e . detail ;
592
+ const selectedRowIdsArrayMapped = Object . keys ( _selectedRowIds ) . reduce ( ( acc , key ) => {
593
+ if ( _selectedRowIds [ key ] ) {
594
+ acc . push ( rowsById [ key ] ) ;
595
+ }
596
+ return acc ;
597
+ } , [ ] ) ;
598
+ setSelectedFlatRows ( selectedRowIdsArrayMapped . map ( ( item ) => item . id ) ) ;
586
599
setSelectedRowIdsCb ( e . detail . selectedRowIds ) ;
587
600
setAllRowsSelected ( e . detail . allRowsSelected ) ;
588
601
onRowSelect ( e ) ;
@@ -591,7 +604,8 @@ describe('AnalyticalTable', () => {
591
604
selectedRowIds = { selectedRowIds }
592
605
/>
593
606
< p >
594
- "event.detail.selectedFlatRows:"< span data-testid = "payload" > { JSON . stringify ( selectedFlatRows ) } </ span >
607
+ "selectedFlatRows (state - not part of event):"
608
+ < span data-testid = "payload" > { JSON . stringify ( selectedFlatRows ) } </ span >
595
609
</ p >
596
610
< p >
597
611
"e.detail.selectedRowIds:"< span data-testid = "payloadRowsById" > { JSON . stringify ( selectedRowIdsCb ) } </ span >
@@ -610,6 +624,7 @@ describe('AnalyticalTable', () => {
610
624
cy . findByText ( 'Name-1' ) . click ( ) ;
611
625
cy . findByText ( 'Name-5' ) . click ( ) ;
612
626
cy . findByText ( 'Name-5' ) . click ( ) ;
627
+
613
628
cy . findByTestId ( 'payload' ) . should ( 'have.text' , '["0","1"]' ) ;
614
629
cy . findByTestId ( 'payloadRowsById' ) . should ( 'have.text' , '{"0":true,"1":true}' ) ;
615
630
cy . findByTestId ( 'payloadAllRowsSelected' ) . should ( 'have.text' , 'false' ) ;
@@ -806,12 +821,18 @@ describe('AnalyticalTable', () => {
806
821
columns = { columns }
807
822
tableInstance = { tableInstance }
808
823
onRowSelect = { ( e ) => {
809
- const { allRowsSelected, isSelected, row, selectedFlatRows, selectedRowIds } = e . detail ;
824
+ const { allRowsSelected, isSelected, row, rowsById, selectedRowIds } = e . detail ;
825
+ const selectedRowIdsArrayMapped = Object . keys ( selectedRowIds ) . reduce ( ( acc , key ) => {
826
+ if ( selectedRowIds [ key ] ) {
827
+ acc . push ( rowsById [ key ] ) ;
828
+ }
829
+ return acc ;
830
+ } , [ ] ) ;
810
831
setRelevantPayload ( {
811
832
allRowsSelected,
812
833
isSelected,
813
834
row : row . id ,
814
- selectedFlatRows : selectedFlatRows . map ( ( item ) => ( {
835
+ selectedFlatRows : selectedRowIdsArrayMapped . map ( ( item ) => ( {
815
836
id : item ?. id
816
837
} ) ) ,
817
838
selectedRowIds
@@ -2398,11 +2419,19 @@ describe('AnalyticalTable', () => {
2398
2419
const TestComp = ( ) => {
2399
2420
const [ stringifiedPl , setStringifiedPl ] = useState ( '' ) ;
2400
2421
const handleSelect = ( e ) => {
2401
- const { allRowsSelected, selectedFlatRows, selectedRowIds } = e . detail ;
2422
+ const { allRowsSelected, rowsById, selectedRowIds } = e . detail ;
2423
+
2424
+ const selectedRowIdsArrayMapped = Object . keys ( selectedRowIds ) . reduce ( ( acc , key ) => {
2425
+ if ( selectedRowIds [ key ] ) {
2426
+ acc . push ( rowsById [ key ] ) ;
2427
+ }
2428
+ return acc ;
2429
+ } , [ ] ) ;
2430
+
2402
2431
setStringifiedPl (
2403
2432
JSON . stringify ( {
2404
2433
selectedRowIds,
2405
- selectedFlatRows : selectedFlatRows . map ( ( item ) => ( {
2434
+ selectedFlatRows : selectedRowIdsArrayMapped . map ( ( item ) => ( {
2406
2435
id : item ?. id
2407
2436
} ) ) ,
2408
2437
allRowsSelected
0 commit comments