Skip to content

Commit 1d34acb

Browse files
committed
update export options for moneyrequestreportactionslist
1 parent 80855d7 commit 1d34acb

2 files changed

Lines changed: 39 additions & 3 deletions

File tree

src/components/MoneyRequestReportView/MoneyRequestReportActionsList.tsx

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import useReportScrollManager from '@hooks/useReportScrollManager';
2525
import useResponsiveLayout from '@hooks/useResponsiveLayout';
2626
import useSelectedTransactionsActions from '@hooks/useSelectedTransactionsActions';
2727
import useThemeStyles from '@hooks/useThemeStyles';
28+
import {queueExportSearchWithTemplate} from '@libs/actions/Search';
2829
import DateUtils from '@libs/DateUtils';
2930
import {parseFSAttributes} from '@libs/Fullstory';
3031
import 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
}

tests/unit/ReportSecondaryActionUtilsTest.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -801,7 +801,7 @@ describe('getSecondaryExportReportActions', () => {
801801
const report = {} as unknown as Report;
802802
const policy = {} as unknown as Policy;
803803

804-
const result = [CONST.REPORT.EXPORT_OPTIONS.DOWNLOAD_CSV, CONST.REPORT.EXPORT_OPTIONS.EXPENSE_LEVEL_EXPORT, CONST.REPORT.EXPORT_OPTIONS.EXPORT_TO_INTEGRATION];
804+
const result = [CONST.REPORT.EXPORT_OPTIONS.DOWNLOAD_CSV, CONST.REPORT.EXPORT_OPTIONS.EXPENSE_LEVEL_EXPORT, CONST.REPORT.EXPORT_OPTIONS.REPORT_LEVEL_EXPORT];
805805
expect(getSecondaryExportReportActions(report, policy)).toEqual(result);
806806
});
807807

0 commit comments

Comments
 (0)