@@ -25,6 +25,7 @@ import useReportScrollManager from '@hooks/useReportScrollManager';
2525import useResponsiveLayout from '@hooks/useResponsiveLayout' ;
2626import useSelectedTransactionsActions from '@hooks/useSelectedTransactionsActions' ;
2727import useThemeStyles from '@hooks/useThemeStyles' ;
28+ import { queueExportSearchWithTemplate } from '@libs/actions/Search' ;
2829import DateUtils from '@libs/DateUtils' ;
2930import { parseFSAttributes } from '@libs/Fullstory' ;
3031import getNonEmptyStringOnyxID from '@libs/getNonEmptyStringOnyxID' ;
@@ -152,14 +153,41 @@ function MoneyRequestReportActionsList({
152153 const [ isDownloadErrorModalVisible , setIsDownloadErrorModalVisible ] = useState ( false ) ;
153154
154155 const { selectedTransactionIDs, setSelectedTransactions, clearSelectedTransactions} = useSearchContext ( ) ;
155-
156156 const { selectionMode} = useMobileSelectionMode ( ) ;
157+
158+ const [ isExportWithTemplateModalVisible , setIsExportWithTemplateModalVisible ] = useState ( false ) ;
159+ const beginExportWithTemplate = useCallback (
160+ ( templateName : string , templateType : string , transactionIDList : string [ ] ) => {
161+ if ( ! report ) {
162+ return ;
163+ }
164+
165+ setIsExportWithTemplateModalVisible ( true ) ;
166+ queueExportSearchWithTemplate ( {
167+ templateName,
168+ templateType,
169+ jsonQuery : '{}' ,
170+ reportIDList : [ report . reportID ] ,
171+ transactionIDList,
172+ policyID : policy ?. id ,
173+ } ) ;
174+ } ,
175+ [ report , policy ] ,
176+ ) ;
177+
157178 const {
158179 options : selectedTransactionsOptions ,
159180 handleDeleteTransactions,
160181 isDeleteModalVisible,
161182 hideDeleteModal,
162- } = useSelectedTransactionsActions ( { report, reportActions, allTransactionsLength : transactions . length , session, onExportFailed : ( ) => setIsDownloadErrorModalVisible ( true ) } ) ;
183+ } = useSelectedTransactionsActions ( {
184+ report,
185+ reportActions,
186+ allTransactionsLength : transactions . length ,
187+ session,
188+ onExportFailed : ( ) => setIsDownloadErrorModalVisible ( true ) ,
189+ beginExportWithTemplate : ( templateName , templateType , transactionIDList ) => beginExportWithTemplate ( templateName , templateType , transactionIDList ) ,
190+ } ) ;
163191
164192 // We are reversing actions because in this View we are starting at the top and don't use Inverted list
165193 const visibleReportActions = useMemo ( ( ) => {
@@ -650,6 +678,14 @@ function MoneyRequestReportActionsList({
650678 isVisible = { isDownloadErrorModalVisible }
651679 onClose = { ( ) => setIsDownloadErrorModalVisible ( false ) }
652680 />
681+ < ConfirmModal
682+ onConfirm = { ( ) => setIsExportWithTemplateModalVisible ( false ) }
683+ isVisible = { isExportWithTemplateModalVisible }
684+ title = { translate ( 'export.exportInProgress' ) }
685+ prompt = { translate ( 'export.conciergeWillSend' ) }
686+ confirmText = { translate ( 'common.buttonConfirm' ) }
687+ shouldShowCancelButton = { false }
688+ />
653689 </ View >
654690 ) ;
655691}
0 commit comments