@@ -130,9 +130,11 @@ function addSelectedGroupsFilter(queryJSON: SearchQueryJSON, selectedTransaction
130130 }
131131
132132 const groupKeys = new Set < string > ( ) ;
133- for ( const key of Object . keys ( selectedTransactions ) ) {
133+ for ( const [ key , value ] of Object . entries ( selectedTransactions ) ) {
134134 if ( key . startsWith ( CONST . SEARCH . GROUP_PREFIX ) ) {
135135 groupKeys . add ( key ) ;
136+ } else if ( value . groupKey ) {
137+ groupKeys . add ( value . groupKey ) ;
136138 }
137139 }
138140
@@ -520,13 +522,13 @@ function useSearchBulkActions({queryJSON}: UseSearchBulkActionsParams) {
520522 policyID,
521523 } ) ;
522524 } else {
523- const filteredQuery = queryJSON ?. groupBy ? serializeQueryJSONForBackend ( addSelectedGroupsFilter ( queryJSON , selectedTransactions , currentSearchResults ?. data ) ) : '{}' ;
525+ const isGroupExport = ! ! queryJSON ?. groupBy ;
524526 queueExportSearchWithTemplate ( {
525527 templateName,
526528 templateType,
527- jsonQuery : filteredQuery ,
528- reportIDList : selectedTransactionReportIDs ,
529- transactionIDList : selectedTransactionsKeys . filter ( ( key ) => ! key . startsWith ( CONST . SEARCH . GROUP_PREFIX ) ) ,
529+ jsonQuery : isGroupExport ? serializeQueryJSONForBackend ( addSelectedGroupsFilter ( queryJSON , selectedTransactions , currentSearchResults ?. data ) ) : '{}' ,
530+ reportIDList : isGroupExport ? [ ] : selectedTransactionReportIDs ,
531+ transactionIDList : isGroupExport ? [ ] : selectedTransactionsKeys ,
530532 policyID,
531533 } ) ;
532534 }
@@ -605,16 +607,16 @@ function useSearchBulkActions({queryJSON}: UseSearchBulkActionsParams) {
605607 return ;
606608 }
607609
608- const transactionIDList = selectedTransactionsKeys . filter ( ( key ) => ! key . startsWith ( CONST . SEARCH . GROUP_PREFIX ) ) ;
609- const reportIDList = selectedReports . length > 0 ? selectedReportIDs : selectedTransactionReportIDs ;
610- const exportQuery = queryJSON ?. groupBy ? addSelectedGroupsFilter ( queryJSON , selectedTransactions , currentSearchResults ?. data ) : queryJSON ;
610+ const isGroupExport = ! ! queryJSON ?. groupBy ;
611611 let didFail = false ;
612612 await exportSearchItemsToCSV (
613613 {
614614 query : status ,
615- jsonQuery : exportQuery ? serializeQueryJSONForBackend ( exportQuery ) : JSON . stringify ( exportQuery ) ,
616- reportIDList,
617- transactionIDList,
615+ jsonQuery : isGroupExport
616+ ? serializeQueryJSONForBackend ( addSelectedGroupsFilter ( queryJSON , selectedTransactions , currentSearchResults ?. data ) )
617+ : queryJSON ? serializeQueryJSONForBackend ( queryJSON ) : JSON . stringify ( queryJSON ) ,
618+ reportIDList : isGroupExport ? [ ] : ( selectedReports . length > 0 ? selectedReportIDs : selectedTransactionReportIDs ) ,
619+ transactionIDList : isGroupExport ? [ ] : selectedTransactionsKeys ,
618620 } ,
619621 ( ) => {
620622 didFail = true ;
0 commit comments