Skip to content

Commit 39c69a4

Browse files
authored
Merge pull request Expensify#65881 from FitseTLT/fix-useOnyx-dependency-follow-up-on-remove-getTransaction
Fix - Follow Up on - Remove getTransaction
2 parents 9c5696f + f97f1b8 commit 39c69a4

10 files changed

Lines changed: 92 additions & 49 deletions

File tree

src/components/ReportActionItem/TransactionPreview/index.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,14 @@ function TransactionPreview(props: TransactionPreviewProps) {
5656

5757
// Get transaction violations for given transaction id from onyx, find duplicated transactions violations and get duplicates
5858
const allDuplicateIDs = useMemo(() => violations?.find((violation) => violation.name === CONST.VIOLATIONS.DUPLICATED_TRANSACTION)?.data?.duplicates ?? [], [violations]);
59-
const [allDuplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
60-
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
61-
canBeMissing: true,
62-
});
59+
const [allDuplicates] = useOnyx(
60+
ONYXKEYS.COLLECTION.TRANSACTION,
61+
{
62+
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
63+
canBeMissing: true,
64+
},
65+
[allDuplicateIDs],
66+
);
6367
const duplicates = useMemo(() => removeSettledAndApprovedTransactions(allDuplicates ?? []), [allDuplicates]);
6468
const sessionAccountID = session?.accountID;
6569
const areThereDuplicates = allDuplicateIDs.length > 0 && duplicates.length > 0 && allDuplicateIDs.length === duplicates.length;

src/pages/TransactionDuplicate/Confirmation.tsx

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,14 @@ function Confirmation() {
5050
() => transactionViolations?.find((violation) => violation.name === CONST.VIOLATIONS.DUPLICATED_TRANSACTION)?.data?.duplicates ?? [],
5151
[transactionViolations],
5252
);
53-
const [allDuplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
54-
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
55-
canBeMissing: true,
56-
});
53+
const [allDuplicates] = useOnyx(
54+
ONYXKEYS.COLLECTION.TRANSACTION,
55+
{
56+
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
57+
canBeMissing: true,
58+
},
59+
[allDuplicateIDs],
60+
);
5761

5862
const compareResult = TransactionUtils.compareDuplicateTransactionFields(transaction, allDuplicates, reviewDuplicates?.reportID);
5963
const {goBack} = useReviewDuplicatesNavigation(Object.keys(compareResult.change ?? {}), 'confirmation', route.params.threadReportID, route.params.backTo);
@@ -63,10 +67,14 @@ function Confirmation() {
6367
const reportAction = Object.values(reportActions ?? {}).find(
6468
(action) => ReportActionsUtils.isMoneyRequestAction(action) && ReportActionsUtils.getOriginalMessage(action)?.IOUTransactionID === reviewDuplicates?.transactionID,
6569
);
66-
const [duplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
67-
selector: (allTransactions) => reviewDuplicates?.duplicates.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
68-
canBeMissing: true,
69-
});
70+
const [duplicates] = useOnyx(
71+
ONYXKEYS.COLLECTION.TRANSACTION,
72+
{
73+
selector: (allTransactions) => reviewDuplicates?.duplicates.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
74+
canBeMissing: true,
75+
},
76+
[reviewDuplicates?.duplicates],
77+
);
7078
const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${report?.policyID}`, {canBeMissing: true});
7179
const transactionsMergeParams = useMemo(
7280
() => TransactionUtils.buildMergeDuplicatesParams(reviewDuplicates, duplicates ?? [], newTransaction),

src/pages/TransactionDuplicate/Review.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,17 @@ function TransactionDuplicateReview() {
3737
);
3838
const transactionIDs = transactionID ? [transactionID, ...duplicateTransactionIDs] : duplicateTransactionIDs;
3939

40-
const [transactions] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
41-
selector: (allTransactions) =>
42-
transactionIDs
43-
.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`])
44-
.sort((a, b) => new Date(a?.created ?? '').getTime() - new Date(b?.created ?? '').getTime()),
45-
canBeMissing: true,
46-
});
40+
const [transactions] = useOnyx(
41+
ONYXKEYS.COLLECTION.TRANSACTION,
42+
{
43+
selector: (allTransactions) =>
44+
transactionIDs
45+
.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`])
46+
.sort((a, b) => new Date(a?.created ?? '').getTime() - new Date(b?.created ?? '').getTime()),
47+
canBeMissing: true,
48+
},
49+
[transactionIDs],
50+
);
4751

4852
const keepAll = () => {
4953
dismissDuplicateTransactionViolation(transactionIDs, currentPersonalDetails);

src/pages/TransactionDuplicate/ReviewBillable.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,14 @@ function ReviewBillable() {
2828
() => transactionViolations?.find((violation) => violation.name === CONST.VIOLATIONS.DUPLICATED_TRANSACTION)?.data?.duplicates ?? [],
2929
[transactionViolations],
3030
);
31-
const [allDuplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
32-
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
33-
canBeMissing: true,
34-
});
31+
const [allDuplicates] = useOnyx(
32+
ONYXKEYS.COLLECTION.TRANSACTION,
33+
{
34+
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
35+
canBeMissing: true,
36+
},
37+
[allDuplicateIDs],
38+
);
3539
const compareResult = compareDuplicateTransactionFields(transaction, allDuplicates, reviewDuplicates?.reportID);
3640
const stepNames = Object.keys(compareResult.change ?? {}).map((key, index) => (index + 1).toString());
3741
const {currentScreenIndex, goBack, navigateToNextScreen} = useReviewDuplicatesNavigation(

src/pages/TransactionDuplicate/ReviewCategory.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,14 @@ function ReviewCategory() {
2828
() => transactionViolations?.find((violation) => violation.name === CONST.VIOLATIONS.DUPLICATED_TRANSACTION)?.data?.duplicates ?? [],
2929
[transactionViolations],
3030
);
31-
const [allDuplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
32-
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
33-
canBeMissing: true,
34-
});
31+
const [allDuplicates] = useOnyx(
32+
ONYXKEYS.COLLECTION.TRANSACTION,
33+
{
34+
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
35+
canBeMissing: true,
36+
},
37+
[allDuplicateIDs],
38+
);
3539

3640
const compareResult = compareDuplicateTransactionFields(transaction, allDuplicates, reviewDuplicates?.reportID);
3741
const stepNames = Object.keys(compareResult.change ?? {}).map((key, index) => (index + 1).toString());

src/pages/TransactionDuplicate/ReviewDescription.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,14 @@ function ReviewDescription() {
3030
() => transactionViolations?.find((violation) => violation.name === CONST.VIOLATIONS.DUPLICATED_TRANSACTION)?.data?.duplicates ?? [],
3131
[transactionViolations],
3232
);
33-
const [allDuplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
34-
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
35-
canBeMissing: true,
36-
});
33+
const [allDuplicates] = useOnyx(
34+
ONYXKEYS.COLLECTION.TRANSACTION,
35+
{
36+
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
37+
canBeMissing: true,
38+
},
39+
[allDuplicateIDs],
40+
);
3741

3842
const compareResult = compareDuplicateTransactionFields(transaction, allDuplicates, reviewDuplicates?.reportID);
3943
const stepNames = Object.keys(compareResult.change ?? {}).map((key, index) => (index + 1).toString());

src/pages/TransactionDuplicate/ReviewMerchant.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,14 @@ function ReviewMerchant() {
2828
() => transactionViolations?.find((violation) => violation.name === CONST.VIOLATIONS.DUPLICATED_TRANSACTION)?.data?.duplicates ?? [],
2929
[transactionViolations],
3030
);
31-
const [allDuplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
32-
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
33-
canBeMissing: true,
34-
});
31+
const [allDuplicates] = useOnyx(
32+
ONYXKEYS.COLLECTION.TRANSACTION,
33+
{
34+
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
35+
canBeMissing: true,
36+
},
37+
[allDuplicateIDs],
38+
);
3539

3640
const compareResult = compareDuplicateTransactionFields(transaction, allDuplicates, reviewDuplicates?.reportID);
3741
const stepNames = Object.keys(compareResult.change ?? {}).map((key, index) => (index + 1).toString());

src/pages/TransactionDuplicate/ReviewReimbursable.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,14 @@ function ReviewReimbursable() {
2828
() => transactionViolations?.find((violation) => violation.name === CONST.VIOLATIONS.DUPLICATED_TRANSACTION)?.data?.duplicates ?? [],
2929
[transactionViolations],
3030
);
31-
const [allDuplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
32-
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
33-
canBeMissing: true,
34-
});
31+
const [allDuplicates] = useOnyx(
32+
ONYXKEYS.COLLECTION.TRANSACTION,
33+
{
34+
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
35+
canBeMissing: true,
36+
},
37+
[allDuplicateIDs],
38+
);
3539

3640
const compareResult = compareDuplicateTransactionFields(transaction, allDuplicates, reviewDuplicates?.reportID);
3741
const stepNames = Object.keys(compareResult.change ?? {}).map((key, index) => (index + 1).toString());

src/pages/TransactionDuplicate/ReviewTag.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,21 @@ function ReviewTag() {
2323

2424
const [reviewDuplicates] = useOnyx(ONYXKEYS.REVIEW_DUPLICATES, {canBeMissing: true});
2525
const [transaction] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {canBeMissing: true});
26-
const [transactionViolations] = useOnyx(ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS, {
27-
selector: (allTransactionsViolations) => allTransactionsViolations?.[`${ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS}${transactionID}`],
26+
const [transactionViolations] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS}${transactionID}`, {
2827
canBeMissing: false,
2928
});
3029
const allDuplicateIDs = useMemo(
3130
() => transactionViolations?.find((violation) => violation.name === CONST.VIOLATIONS.DUPLICATED_TRANSACTION)?.data?.duplicates ?? [],
3231
[transactionViolations],
3332
);
34-
const [allDuplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
35-
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
36-
canBeMissing: true,
37-
});
33+
const [allDuplicates] = useOnyx(
34+
ONYXKEYS.COLLECTION.TRANSACTION,
35+
{
36+
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
37+
canBeMissing: true,
38+
},
39+
[allDuplicateIDs],
40+
);
3841

3942
const compareResult = compareDuplicateTransactionFields(transaction, allDuplicates, reviewDuplicates?.reportID);
4043
const stepNames = Object.keys(compareResult.change ?? {}).map((key, index) => (index + 1).toString());

src/pages/TransactionDuplicate/ReviewTaxCode.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,14 @@ function ReviewTaxRate() {
3535
() => transactionViolations?.find((violation) => violation.name === CONST.VIOLATIONS.DUPLICATED_TRANSACTION)?.data?.duplicates ?? [],
3636
[transactionViolations],
3737
);
38-
const [allDuplicates] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}`, {
39-
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
40-
canBeMissing: true,
41-
});
38+
const [allDuplicates] = useOnyx(
39+
ONYXKEYS.COLLECTION.TRANSACTION,
40+
{
41+
selector: (allTransactions) => allDuplicateIDs.map((id) => allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${id}`]),
42+
canBeMissing: true,
43+
},
44+
[allDuplicateIDs],
45+
);
4246

4347
const compareResult = compareDuplicateTransactionFields(transaction, allDuplicates, reviewDuplicates?.reportID);
4448
const stepNames = Object.keys(compareResult.change ?? {}).map((key, index) => (index + 1).toString());

0 commit comments

Comments
 (0)