@zeniai/client-epic-state 5.2.69 → 5.2.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/lib/entity/actualMatching/actualMatchingReducer.d.ts +1 -3
  2. package/lib/entity/actualMatching/actualMatchingReducer.js +2 -11
  3. package/lib/entity/aiCfo/aiCfoState.d.ts +2 -2
  4. package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
  5. package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -1
  6. package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
  7. package/lib/entity/invoicing/plan/planPayload.d.ts +40 -0
  8. package/lib/entity/invoicing/plan/planPayload.js +51 -0
  9. package/lib/entity/invoicing/plan/planReducer.d.ts +14 -0
  10. package/lib/entity/invoicing/{invoicingCatalog/invoicingCatalogReducer.js → plan/planReducer.js} +21 -20
  11. package/lib/entity/invoicing/{invoicingCatalog/invoicingCatalogSelector.d.ts → plan/planSelector.d.ts} +6 -5
  12. package/lib/entity/invoicing/{invoicingCatalog/invoicingCatalogSelector.js → plan/planSelector.js} +12 -12
  13. package/lib/entity/invoicing/plan/planState.d.ts +43 -0
  14. package/lib/entity/invoicing/{invoicingCatalog/invoicingCatalogPayload.d.ts → product/productPayload.d.ts} +6 -44
  15. package/lib/entity/invoicing/{invoicingCatalog/invoicingCatalogPayload.js → product/productPayload.js} +6 -50
  16. package/lib/entity/invoicing/product/productReducer.d.ts +9 -0
  17. package/lib/entity/invoicing/product/productReducer.js +50 -0
  18. package/lib/entity/invoicing/product/productSelector.d.ts +4 -0
  19. package/lib/entity/invoicing/product/productSelector.js +17 -0
  20. package/lib/entity/invoicing/{invoicingCatalog/invoicingCatalogState.d.ts → product/productState.d.ts} +6 -42
  21. package/lib/entity/invoicing/product/productState.js +2 -0
  22. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +0 -1
  23. package/lib/entity/jeSchedules/jeSchedulesPayload.js +0 -1
  24. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +0 -1
  25. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +4 -4
  26. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  27. package/lib/entity/snackbar/snackbarTypes.js +0 -3
  28. package/lib/entity/transaction/payloadTypes/transactionLinePayload.js +10 -2
  29. package/lib/epic.d.ts +2 -4
  30. package/lib/epic.js +1 -5
  31. package/lib/esm/entity/actualMatching/actualMatchingReducer.js +1 -9
  32. package/lib/esm/entity/invoicing/plan/planPayload.js +47 -0
  33. package/lib/esm/entity/invoicing/{invoicingCatalog/invoicingCatalogReducer.js → plan/planReducer.js} +20 -19
  34. package/lib/esm/entity/invoicing/{invoicingCatalog/invoicingCatalogSelector.js → plan/planSelector.js} +8 -8
  35. package/lib/esm/entity/invoicing/{invoicingCatalog/invoicingCatalogPayload.js → product/productPayload.js} +3 -46
  36. package/lib/esm/entity/invoicing/product/productReducer.js +43 -0
  37. package/lib/esm/entity/invoicing/product/productSelector.js +10 -0
  38. package/lib/esm/entity/invoicing/product/productState.js +1 -0
  39. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +0 -1
  40. package/lib/esm/entity/snackbar/snackbarTypes.js +0 -3
  41. package/lib/esm/entity/transaction/payloadTypes/transactionLinePayload.js +10 -2
  42. package/lib/esm/epic.js +1 -5
  43. package/lib/esm/index.js +11 -9
  44. package/lib/esm/reducer.js +7 -4
  45. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/actualMatching/fetchActualMatchingMatchEpic.js +2 -4
  46. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/actualMatching/matchAndReverseAccrualsEpic.js +13 -26
  47. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/actualMatching/searchMatchTransactionsEpic.js +23 -2
  48. package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -1
  49. package/lib/esm/view/expenseAutomationView/reducers/actualMatchingViewReducer.js +38 -89
  50. package/lib/esm/view/expenseAutomationView/selectors/actualMatchingViewSelector.js +64 -66
  51. package/lib/esm/view/expenseAutomationView/types/actualMatchingViewState.js +0 -15
  52. package/lib/esm/view/invoicing/createInvoice/createInvoiceEpic.js +1 -9
  53. package/lib/esm/view/invoicing/createInvoice/createInvoiceSelector.js +1 -1
  54. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +3 -5
  55. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailEpic.js +2 -2
  56. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionEpic.js +2 -2
  57. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionEpic.js +4 -4
  58. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +7 -3
  59. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/seedInvoicingCatalogItemFormDraftEpic.js +2 -2
  60. package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer.js +1 -5
  61. package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.js +1 -5
  62. package/lib/esm/view/invoicing/invoiceList/invoiceListReducer.js +1 -8
  63. package/lib/esm/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.js +2 -2
  64. package/lib/esm/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogProductListEpic.js +2 -2
  65. package/lib/esm/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.js +4 -4
  66. package/lib/esm/view/invoicing/settingsView/settingsViewSelector.js +9 -18
  67. package/lib/esm/view/invoicing/settingsView/submitInvoicingBrandingFormEpic.js +2 -11
  68. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +11 -31
  69. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +1 -2
  70. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +30 -4
  71. package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +1 -21
  72. package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +1 -2
  73. package/lib/index.d.ts +16 -13
  74. package/lib/index.js +60 -65
  75. package/lib/reducer.d.ts +2 -1
  76. package/lib/reducer.js +7 -4
  77. package/lib/rootStateTypes.d.ts +5 -3
  78. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/fetchActualMatchingMatchEpic.d.ts +2 -2
  79. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/fetchActualMatchingMatchEpic.js +1 -3
  80. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/matchAndReverseAccrualsEpic.js +11 -24
  81. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/searchMatchTransactionsEpic.js +22 -1
  82. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  83. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -1
  84. package/lib/view/expenseAutomationView/payload/actualMatchingPayload.d.ts +1 -12
  85. package/lib/view/expenseAutomationView/reducers/actualMatchingViewReducer.d.ts +8 -19
  86. package/lib/view/expenseAutomationView/reducers/actualMatchingViewReducer.js +39 -90
  87. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +2 -2
  88. package/lib/view/expenseAutomationView/selectorTypes/actualMatchingViewSelectorTypes.d.ts +8 -20
  89. package/lib/view/expenseAutomationView/selectors/actualMatchingViewSelector.d.ts +4 -7
  90. package/lib/view/expenseAutomationView/selectors/actualMatchingViewSelector.js +64 -69
  91. package/lib/view/expenseAutomationView/types/actualMatchingViewState.d.ts +4 -20
  92. package/lib/view/expenseAutomationView/types/actualMatchingViewState.js +1 -18
  93. package/lib/view/invoicing/createInvoice/createInvoiceEpic.d.ts +2 -3
  94. package/lib/view/invoicing/createInvoice/createInvoiceEpic.js +0 -8
  95. package/lib/view/invoicing/createInvoice/createInvoiceSelector.d.ts +2 -2
  96. package/lib/view/invoicing/createInvoice/createInvoiceSelector.js +2 -2
  97. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload.d.ts +9 -8
  98. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.d.ts +2 -2
  99. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +3 -5
  100. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailEpic.d.ts +2 -2
  101. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailEpic.js +2 -2
  102. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormHelper.d.ts +4 -3
  103. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionEpic.d.ts +2 -2
  104. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionEpic.js +2 -2
  105. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionEpic.d.ts +3 -2
  106. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionEpic.js +4 -4
  107. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.d.ts +3 -2
  108. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +7 -3
  109. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/seedInvoicingCatalogItemFormDraftEpic.js +2 -2
  110. package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer.d.ts +1 -3
  111. package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer.js +2 -6
  112. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.d.ts +2 -2
  113. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.d.ts +1 -3
  114. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.js +1 -5
  115. package/lib/view/invoicing/invoiceList/invoiceListReducer.d.ts +1 -3
  116. package/lib/view/invoicing/invoiceList/invoiceListReducer.js +2 -9
  117. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogListPageEpic.d.ts +2 -2
  118. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.d.ts +2 -2
  119. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.js +2 -2
  120. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogProductListEpic.d.ts +2 -2
  121. package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogProductListEpic.js +2 -2
  122. package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewPayload.d.ts +3 -3
  123. package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.d.ts +5 -4
  124. package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.js +4 -4
  125. package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewState.d.ts +1 -1
  126. package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewReducer.d.ts +1 -1
  127. package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState.d.ts +1 -1
  128. package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewReducer.d.ts +1 -1
  129. package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState.d.ts +1 -1
  130. package/lib/view/invoicing/settingsView/settingsViewSelector.d.ts +3 -12
  131. package/lib/view/invoicing/settingsView/settingsViewSelector.js +8 -17
  132. package/lib/view/invoicing/settingsView/submitInvoicingBrandingFormEpic.js +2 -11
  133. package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +11 -31
  134. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +2 -3
  135. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +1 -2
  136. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +0 -4
  137. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  138. package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +5 -5
  139. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
  140. package/lib/view/spendManagement/billPay/editBillView/editBillViewReducer.d.ts +2 -2
  141. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +1 -1
  142. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +30 -4
  143. package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +1 -1
  144. package/lib/view/spendManagement/commonSetup/setupViewReducer.js +2 -22
  145. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +0 -1
  146. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +1 -2
  147. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +0 -1
  148. package/lib/view/spendManagement/commonSetup/types/businessVerification.d.ts +1 -2
  149. package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewReducer.d.ts +2 -2
  150. package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +5 -5
  151. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +2 -2
  152. package/package.json +1 -1
  153. package/lib/entity/invoicing/invoicingCatalog/invoicingCatalogReducer.d.ts +0 -12
  154. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/actualMatching/ignoreActualMatchingSuggestionEpic.js +0 -50
  155. package/lib/esm/view/spendManagement/commonSetup/epic/setup/resetKycKybEpic.js +0 -37
  156. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/ignoreActualMatchingSuggestionEpic.d.ts +0 -10
  157. package/lib/view/expenseAutomationView/epics/jeSchedule/actualMatching/ignoreActualMatchingSuggestionEpic.js +0 -54
  158. package/lib/view/spendManagement/commonSetup/epic/setup/resetKycKybEpic.d.ts +0 -8
  159. package/lib/view/spendManagement/commonSetup/epic/setup/resetKycKybEpic.js +0 -41
  160. /package/lib/entity/invoicing/{invoicingCatalog/invoicingCatalogState.js → plan/planState.js} +0 -0
  161. /package/lib/esm/entity/invoicing/{invoicingCatalog/invoicingCatalogState.js → plan/planState.js} +0 -0
package/lib/reducer.d.ts CHANGED
@@ -240,7 +240,8 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
240
240
  invoicingCustomerState: import("./entity/invoicing/invoicingCustomer/invoicingCustomerState").InvoicingCustomerState;
241
241
  invoicingDunningCaseState: import("./entity/invoicing/dunningCase/dunningCaseState").InvoicingDunningCaseState;
242
242
  invoicingInvoiceState: import("./entity/invoicing/invoice/invoiceState").InvoiceState;
243
- invoicingCatalogState: import("./entity/invoicing/invoicingCatalog/invoicingCatalogState").InvoicingCatalogState;
243
+ invoicingPlanState: import("./entity/invoicing/plan/planState").InvoicingPlanState;
244
+ invoicingProductState: import("./entity/invoicing/product/productState").InvoicingProductState;
244
245
  invoicingSubscriptionState: import("./entity/invoicing/invoicingSubscription/invoicingSubscriptionState").InvoicingSubscriptionState;
245
246
  invoicingTransactionState: import("./entity/invoicing/invoicingTransaction/invoicingTransactionState").InvoicingTransactionState;
246
247
  jeSchedulesState: import("./entity/jeSchedules/jeSchedulesState").JESchedulesState;
package/lib/reducer.js CHANGED
@@ -41,7 +41,6 @@ const redux_1 = require("redux");
41
41
  const accountReducer_1 = __importStar(require("./entity/account/accountReducer"));
42
42
  const accountGroupReducer_1 = __importStar(require("./entity/accountGroup/accountGroupReducer"));
43
43
  const accountReconReducer_1 = __importStar(require("./entity/accountRecon/accountReconReducer"));
44
- const actualMatchingReducer_1 = __importStar(require("./entity/actualMatching/actualMatchingReducer"));
45
44
  const addressReducer_1 = __importStar(require("./entity/address/addressReducer"));
46
45
  const aiAccountantCustomerReducer_1 = __importStar(require("./entity/aiAccountantCustomer/aiAccountantCustomerReducer"));
47
46
  const aiCfoReducer_1 = __importStar(require("./entity/aiCfo/aiCfoReducer"));
@@ -80,7 +79,9 @@ const invoiceReducer_1 = __importStar(require("./entity/invoicing/invoice/invoic
80
79
  const invoicingCustomerReducer_1 = __importStar(require("./entity/invoicing/invoicingCustomer/invoicingCustomerReducer"));
81
80
  const invoicingSubscriptionReducer_1 = __importStar(require("./entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer"));
82
81
  const invoicingTransactionReducer_1 = __importStar(require("./entity/invoicing/invoicingTransaction/invoicingTransactionReducer"));
83
- const invoicingCatalogReducer_1 = __importStar(require("./entity/invoicing/invoicingCatalog/invoicingCatalogReducer"));
82
+ const planReducer_1 = __importStar(require("./entity/invoicing/plan/planReducer"));
83
+ const productReducer_1 = __importStar(require("./entity/invoicing/product/productReducer"));
84
+ const actualMatchingReducer_1 = __importStar(require("./entity/actualMatching/actualMatchingReducer"));
84
85
  const jeSchedulesReducer_1 = __importStar(require("./entity/jeSchedules/jeSchedulesReducer"));
85
86
  const merchantReducer_1 = __importStar(require("./entity/merchant/merchantReducer"));
86
87
  const monthEndCloseChecksReducer_1 = __importStar(require("./entity/monthEndCloseChecks/monthEndCloseChecksReducer"));
@@ -354,7 +355,8 @@ const initialEntitiesState = {
354
355
  invoicingCustomerState: invoicingCustomerReducer_1.initialState,
355
356
  invoicingDunningCaseState: dunningCaseReducer_1.initialState,
356
357
  invoicingInvoiceState: invoiceReducer_1.initialState,
357
- invoicingCatalogState: invoicingCatalogReducer_1.initialState,
358
+ invoicingPlanState: planReducer_1.initialState,
359
+ invoicingProductState: productReducer_1.initialState,
358
360
  invoicingSubscriptionState: invoicingSubscriptionReducer_1.initialState,
359
361
  invoicingTransactionState: invoicingTransactionReducer_1.initialState,
360
362
  jeSchedulesState: jeSchedulesReducer_1.initialState,
@@ -640,7 +642,8 @@ const entityReducers = {
640
642
  invoicingCustomerState: invoicingCustomerReducer_1.default,
641
643
  invoicingDunningCaseState: dunningCaseReducer_1.default,
642
644
  invoicingInvoiceState: invoiceReducer_1.default,
643
- invoicingCatalogState: invoicingCatalogReducer_1.default,
645
+ invoicingPlanState: planReducer_1.default,
646
+ invoicingProductState: productReducer_1.default,
644
647
  invoicingSubscriptionState: invoicingSubscriptionReducer_1.default,
645
648
  invoicingTransactionState: invoicingTransactionReducer_1.default,
646
649
  jeSchedulesState: jeSchedulesReducer_1.default,
@@ -1,7 +1,6 @@
1
1
  import { AccountState } from './entity/account/accountState';
2
2
  import { AccountGroupState } from './entity/accountGroup/accountGroupState';
3
3
  import { AccountReconState } from './entity/accountRecon/accountReconState';
4
- import { ActualMatchingState } from './entity/actualMatching/actualMatchingState';
5
4
  import { AddressState } from './entity/address/addressState';
6
5
  import { AiAccountantCustomerState } from './entity/aiAccountantCustomer/aiAccountantCustomerState';
7
6
  import { AiCfoState } from './entity/aiCfo/aiCfoState';
@@ -40,7 +39,9 @@ import { InvoiceState as InvoicingInvoiceState } from './entity/invoicing/invoic
40
39
  import { InvoicingCustomerState } from './entity/invoicing/invoicingCustomer/invoicingCustomerState';
41
40
  import { InvoicingSubscriptionState } from './entity/invoicing/invoicingSubscription/invoicingSubscriptionState';
42
41
  import { InvoicingTransactionState } from './entity/invoicing/invoicingTransaction/invoicingTransactionState';
43
- import { InvoicingCatalogState } from './entity/invoicing/invoicingCatalog/invoicingCatalogState';
42
+ import { InvoicingPlanState } from './entity/invoicing/plan/planState';
43
+ import { InvoicingProductState } from './entity/invoicing/product/productState';
44
+ import { ActualMatchingState } from './entity/actualMatching/actualMatchingState';
44
45
  import { JESchedulesState } from './entity/jeSchedules/jeSchedulesState';
45
46
  import { MerchantState } from './entity/merchant/merchant';
46
47
  import { MonthEndCloseChecksState } from './entity/monthEndCloseChecks/monthEndCloseChecksState';
@@ -305,12 +306,13 @@ export type EntitiesState = {
305
306
  forecastState: ForecastState;
306
307
  globalMerchantState: GlobalMerchantState;
307
308
  insightState: InsightState;
308
- invoicingCatalogState: InvoicingCatalogState;
309
309
  invoicingCouponState: InvoicingCouponState;
310
310
  invoicingCreditNoteState: InvoicingCreditNoteState;
311
311
  invoicingCustomerState: InvoicingCustomerState;
312
312
  invoicingDunningCaseState: InvoicingDunningCaseState;
313
313
  invoicingInvoiceState: InvoicingInvoiceState;
314
+ invoicingPlanState: InvoicingPlanState;
315
+ invoicingProductState: InvoicingProductState;
314
316
  invoicingSubscriptionState: InvoicingSubscriptionState;
315
317
  invoicingTransactionState: InvoicingTransactionState;
316
318
  jeSchedulesState: JESchedulesState;
@@ -1,12 +1,12 @@
1
1
  import { ActionsObservable, StateObservable } from 'redux-observable';
2
2
  import { Observable } from 'rxjs';
3
3
  import { ActualMatchingMatchPayload } from '../../../../../entity/actualMatching/actualMatchingPayload';
4
- import { removeActualMatchingMatch, updateActualMatchingMatches } from '../../../../../entity/actualMatching/actualMatchingReducer';
4
+ import { updateActualMatchingMatches } from '../../../../../entity/actualMatching/actualMatchingReducer';
5
5
  import { ZeniAPIResponse } from '../../../../../responsePayload';
6
6
  import { clearAll } from '../../../../../rootActions';
7
7
  import { RootState } from '../../../../../rootStateTypes';
8
8
  import { ZeniAPI } from '../../../../../zeniAPI';
9
9
  import { fetchActualMatchingMatch, fetchActualMatchingMatchFailure, fetchActualMatchingMatchSuccess } from '../../../reducers/actualMatchingViewReducer';
10
10
  export type ActualMatchingMatchResponse = ZeniAPIResponse<ActualMatchingMatchPayload>;
11
- export type ActionType = ReturnType<typeof clearAll> | ReturnType<typeof fetchActualMatchingMatch> | ReturnType<typeof fetchActualMatchingMatchFailure> | ReturnType<typeof fetchActualMatchingMatchSuccess> | ReturnType<typeof removeActualMatchingMatch> | ReturnType<typeof updateActualMatchingMatches>;
11
+ export type ActionType = ReturnType<typeof clearAll> | ReturnType<typeof fetchActualMatchingMatch> | ReturnType<typeof fetchActualMatchingMatchFailure> | ReturnType<typeof fetchActualMatchingMatchSuccess> | ReturnType<typeof updateActualMatchingMatches>;
12
12
  export declare const fetchActualMatchingMatchEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -35,8 +35,6 @@ const fetchActualMatchingMatchEpic = (actions$, state$, zeniAPI) => actions$.pip
35
35
  refreshViewInBackground,
36
36
  status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', `Fetch actual matching match REST API call errored out ${JSON.stringify(error)}`),
37
37
  }),
38
- ])), (0, operators_1.takeUntil)(actions$.pipe((0, operators_1.filter)((action) => rootActions_1.clearAll.match(action) ||
39
- (actualMatchingReducer_1.removeActualMatchingMatch.match(action) &&
40
- action.payload.matchId === matchId)))));
38
+ ])), (0, operators_1.takeUntil)(actions$.pipe((0, operators_1.filter)(rootActions_1.clearAll.match))));
41
39
  }));
42
40
  exports.fetchActualMatchingMatchEpic = fetchActualMatchingMatchEpic;
@@ -12,7 +12,7 @@ const actualMatchingViewReducer_1 = require("../../../reducers/actualMatchingVie
12
12
  const actualMatchingViewState_1 = require("../../../types/actualMatchingViewState");
13
13
  const refreshActualMatchingList_1 = require("./refreshActualMatchingList");
14
14
  function isMatchFailedStatus(status) {
15
- return status === 'conflict' || status === 'claim_lost' || status === 'error';
15
+ return (status === 'conflict' || status === 'claim_lost' || status === 'error');
16
16
  }
17
17
  function matchAndReverseSnackbar(results, vendorName) {
18
18
  const reversedCount = results.filter((result) => result.status === 'reversed').length;
@@ -59,15 +59,12 @@ function matchAndReverseHttpFailSnackbar(vendorName) {
59
59
  });
60
60
  }
61
61
  function matchVendorName(state, matchId) {
62
- return ((0, actualMatchingSelector_1.getActualMatchingMatchById)(state.actualMatchingState, matchId)
63
- ?.vendorName ?? '');
62
+ return (0, actualMatchingSelector_1.getActualMatchingMatchById)(state.actualMatchingState, matchId)?.vendorName ?? '';
64
63
  }
65
64
  const matchAndReverseAccrualsEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(actualMatchingViewReducer_1.matchAndReverseAccruals.match),
66
- // Per-match exhaust: a second click on the same match drops while HTTP is in
67
- // flight. A different match must still run — a global exhaustMap left the
68
- // other match's reducer In-Progress with no request.
69
- (0, operators_1.groupBy)((action) => `${action.payload.transactionType.toLowerCase()}:${action.payload.transactionIntegrationId}`), (0, operators_1.mergeMap)((perMatch$) => perMatch$.pipe((0, operators_1.exhaustMap)((action) => {
70
- const { transactionId, transactionIntegrationId, transactionType, lineIds, accrualIds, transactionSyncToken, forMatchModal, } = action.payload;
65
+ // Posts reversing JEs; drop duplicate clicks while a request is in flight.
66
+ (0, operators_1.exhaustMap)((action) => {
67
+ const { transactionId, transactionIntegrationId, transactionType, lineIds, accrualIds, transactionSyncToken, } = action.payload;
71
68
  const body = {
72
69
  transaction_id: transactionId,
73
70
  transaction_integration_id: transactionIntegrationId,
@@ -86,40 +83,30 @@ const matchAndReverseAccrualsEpic = (actions$, state$, zeniAPI) => actions$.pipe
86
83
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
87
84
  const results = response.data.results.map(actualMatchingPayload_1.toMatchAndReverseResult);
88
85
  const successActions = [
89
- (0, actualMatchingViewReducer_1.matchAndReverseAccrualsSuccess)({
90
- matchId,
91
- results,
92
- ...(forMatchModal === true ? { forMatchModal: true } : {}),
93
- }),
86
+ (0, actualMatchingViewReducer_1.matchAndReverseAccrualsSuccess)({ matchId, results }),
94
87
  ];
95
88
  const occupancyChanged = results.some((result) => (0, actualMatchingViewState_1.isMatchAndReverseCompleteStatus)(result.status));
96
89
  const allComplete = results.length > 0 &&
97
90
  results.every((result) => (0, actualMatchingViewState_1.isMatchAndReverseCompleteStatus)(result.status));
98
91
  if (occupancyChanged) {
99
92
  // List + detail: list can omit leftovers; detail GET always
100
- // writes intended occupancy so leftover retry can join C
101
- // onto the occupied bill instead of a stale cached row.
93
+ // writes intended occupancy so Continue match prefills the
94
+ // remaining leftover set instead of a stale cached row.
102
95
  successActions.push(...(0, refreshActualMatchingList_1.refreshActualMatchingList)(state$.value), (0, actualMatchingViewReducer_1.fetchActualMatchingMatch)(matchId, true));
103
96
  }
104
97
  const snackbar = matchAndReverseSnackbar(results, vendorName);
105
98
  if (snackbar != null) {
106
99
  successActions.push(snackbar);
107
100
  }
108
- if (allComplete && forMatchModal === true) {
101
+ if (allComplete) {
109
102
  successActions.push((0, actualMatchingViewReducer_1.clearMatchNewModal)());
110
103
  }
111
104
  return (0, rxjs_1.from)(successActions);
112
105
  }
113
- return (0, rxjs_1.of)((0, actualMatchingViewReducer_1.matchAndReverseAccrualsFailure)({
114
- status: response.status,
115
- matchId,
116
- ...(forMatchModal === true ? { forMatchModal: true } : {}),
117
- }), matchAndReverseHttpFailSnackbar(vendorName));
106
+ return (0, rxjs_1.of)((0, actualMatchingViewReducer_1.matchAndReverseAccrualsFailure)({ status: response.status }), matchAndReverseHttpFailSnackbar(vendorName));
118
107
  }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, actualMatchingViewReducer_1.matchAndReverseAccrualsFailure)({
119
- matchId,
120
- ...(forMatchModal === true ? { forMatchModal: true } : {}),
121
108
  status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Match and reverse accruals REST API call errored out' +
122
109
  JSON.stringify(error)),
123
110
  }), matchAndReverseHttpFailSnackbar(vendorName))), (0, operators_1.takeUntil)(actions$.pipe((0, operators_1.filter)(rootActions_1.clearAll.match))));
124
- }))));
111
+ }));
125
112
  exports.matchAndReverseAccrualsEpic = matchAndReverseAccrualsEpic;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.searchMatchTransactionsEpic = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
+ const actualMatchingSelector_1 = require("../../../../../entity/actualMatching/actualMatchingSelector");
6
7
  const responsePayload_1 = require("../../../../../responsePayload");
7
8
  const rootActions_1 = require("../../../../../rootActions");
8
9
  const actualMatchingPayload_1 = require("../../../payload/actualMatchingPayload");
@@ -10,7 +11,27 @@ const actualMatchingViewReducer_1 = require("../../../reducers/actualMatchingVie
10
11
  const actualMatchingViewSelector_1 = require("../../../selectors/actualMatchingViewSelector");
11
12
  const actualMatchingViewState_1 = require("../../../types/actualMatchingViewState");
12
13
  const searchMatchTransactionsEpic = (actions$, state$, zeniAPI) => {
13
- const openModal$ = actions$.pipe((0, operators_1.filter)(actualMatchingViewReducer_1.openMatchNewModal.match), (0, operators_1.mergeMap)(() => (0, rxjs_1.from)([(0, actualMatchingViewReducer_1.searchMatchTransactions)(''), (0, actualMatchingViewReducer_1.searchMatchAccruals)('')])));
14
+ const openModal$ = actions$.pipe((0, operators_1.filter)(actualMatchingViewReducer_1.openMatchNewModal.match), (0, operators_1.mergeMap)((action) => {
15
+ const matchId = action.payload.matchId;
16
+ if (matchId == null || matchId === '') {
17
+ return (0, rxjs_1.from)([
18
+ (0, actualMatchingViewReducer_1.searchMatchTransactions)(''),
19
+ (0, actualMatchingViewReducer_1.searchMatchAccruals)(''),
20
+ ]);
21
+ }
22
+ const match = (0, actualMatchingSelector_1.getActualMatchingMatchById)(state$.value.actualMatchingState, matchId);
23
+ const parsed = (0, actualMatchingViewSelector_1.parseActualMatchingMatchId)(matchId);
24
+ const transactionType = match?.transactionType != null && match.transactionType !== ''
25
+ ? match.transactionType
26
+ : parsed?.transactionType;
27
+ const transactionIntegrationId = match?.transactionIntegrationId != null &&
28
+ match.transactionIntegrationId !== ''
29
+ ? match.transactionIntegrationId
30
+ : parsed?.transactionIntegrationId;
31
+ return (0, rxjs_1.from)([
32
+ (0, actualMatchingViewReducer_1.searchMatchTransactions)('', undefined, transactionType, transactionIntegrationId),
33
+ ]);
34
+ }));
14
35
  const searchActions$ = actions$.pipe((0, operators_1.filter)(actualMatchingViewReducer_1.searchMatchTransactions.match));
15
36
  const pagination$ = searchActions$.pipe((0, operators_1.filter)((action) => action.payload.pageToken != null));
16
37
  const newSearchDebounced$ = searchActions$.pipe((0, operators_1.filter)((action) => action.payload.pageToken == null), (0, operators_1.debounceTime)(actualMatchingViewState_1.MATCH_SEARCH_DEBOUNCE_MS));
@@ -39,7 +39,7 @@ export declare const getLineItemsByTransactionsIdsFromResponse: (transactions: S
39
39
  export declare const getLineItemsByTransactionIdsFromLocalData: (transactionLocalData: TransactionReviewLocalDataSelectorView[], selectedTab: TransactionsTab) => Record<ID, string[]>;
40
40
  export declare const mergeTabSpecificLineItems: (currentTabSpecificLineItems: TabSpecificLineItems, selectedTab: TransactionsTab, newLineItems: TabSpecificLineItems) => TabSpecificLineItems;
41
41
  export declare const getSnackbarMessageForTransactionReview: (updatedCount: number, failedCount: number, categorizedCount: number) => {
42
- messageSection: "common" | "recommendation_feedback" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "actual_matching_match_and_reverse" | "actual_matching_undo_reversal" | "actual_matching_ignore_suggestion" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_setup" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_approval_reorder" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "bill_pay_setup" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_approval_reorder" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "bill_pay_marked_as_paid" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_setup" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "card_policy_created" | "card_policy_updated" | "card_policy_deleted" | "charge_card_update_limit" | "charge_cards_update_limit" | "close_charge_card" | "lock_charge_card" | "lock_charge_card_card_user" | "lock_charge_cards" | "unlock_charge_card" | "unlock_charge_card_card_user" | "unlock_charge_cards" | "close_charge_cards" | "revoke_invite_charge_cards" | "charge_card_express_interest" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "revert_schedule" | "ignore_accrual" | "revert_accrual" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "snooze_task" | "unsnooze_task" | "create_tag" | "delete_tag" | "update_charge_card" | "update_charge_card_name" | "update_charge_card_name_card_user" | "issue_charge_card" | "issue_charge_cards" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed" | "receipt_match" | "receipts_upload" | "receipts_bulk_match" | "billing_address_view" | "express_pay_submit" | "exclude_transaction" | "reconcile" | "save_reconcile_for_later" | "recon_transaction_categorize" | "recon_transaction_match" | "update_debit_card_pin_attempt" | "set_debit_card_pin" | "ai_cfo_create_session_and_submit" | "ai_cfo_chat_session_deleted" | "charge_card_auto_pay_enable" | "charge_card_auto_pay_disable" | "treasury_setup" | "treasury_accept_term" | "treasury_transfer_money" | "treasury_transfer_money_failed" | "auto_transfer_rule_create" | "auto_transfer_rule_update" | "auto_transfer_rule_delete" | "auto_transfer_rule_pause" | "auto_transfer_rule_resume" | "treasury_update_portfolio_allocation" | "send_email_magic_link_to_user" | "complete_profile_done" | "create_transfer_entry" | "reports_resync" | "invalid_phone_number" | "transactions_categorized_updated_failed" | "transaction_categorized_updated_failed" | "transactionsCategorized_transactionsUpdated" | "transactionsCategorized_transactionUpdated" | "transactionCategorized_transactionsUpdated" | "transactionCategorized_transactionUpdated" | "transactionsCategorized_transactionsFailed" | "transactionsCategorized_transactionFailed" | "transactionCategorized_transactionsFailed" | "transactionCategorized_transactionFailed" | "transactionsUpdated_transactionsFailed" | "transactionsUpdated_transactionFailed" | "transactionUpdated_transactionsFailed" | "transactionUpdated_transactionFailed" | "transactionsCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionsUpdated_transactionFailed" | "transactionsCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionUpdated_transactionFailed" | "transactionCategorized_transactionsUpdated_transactionFailed" | "transactionCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionUpdated_transactionFailed" | "accounting_classes_enabled_update" | "accounting_projects_enabled_update" | "accounting_projects_qbo_not_enabled" | "capitalization_threshold_update" | "account_excluded_from_reconciliation" | "account_included_in_reconciliation" | "confirm_statement_mapping" | "statement_parsing_in_progress" | "statement_parsing_complete" | "ai_accountant_trigger_job" | "oauth_consent_approve" | "oauth_consent_invalid_request" | "credit_agent_update_profile" | "credit_agent_save_macro" | "credit_agent_schedule_cron" | "create_sub_task" | "qbo_connection_already_linked" | "qbo_connection_failed" | "accounting_projects_qbo_reconnect_failed" | "product_services_update" | "qbo_realm_id_update" | "kyc_kyb_reset" | "invoicing_dunning_case_resolved" | "invoicing_dunning_retry" | "invoicing_dunning_cancel" | "invoicing_dunning_settings_save" | "invoicing_qbo_backfill" | "invoicing_qbo_sync_health_retry" | "invoicing_qbo_settings_save" | "invoicing_branding_save" | "invoicing_discount_archive" | "invoicing_discount_unarchive" | "invoicing_discount_delete" | "invoicing_invoice_reminder_sent" | "invoicing_invoice_regenerated" | "invoicing_invoice_voided" | "invoicing_catalog_item_saved" | "invoicing_customer_saved" | "invoicing_subscription_saved" | "invoicing_coupon_saved" | "invoicing_invoice_saved" | "invoicing_credit_note_saved" | "invoicing_payment_recorded" | "invoicing_subscription_activated" | "invoicing_subscription_cancellation_removed" | "invoicing_subscription_cancelled" | "invoicing_subscription_non_renewing" | "invoicing_subscription_paused" | "invoicing_subscription_reactivated" | "invoicing_subscription_resumed" | "invoicing_subscription_term_end_changed" | "invoicing_data_import_download";
42
+ messageSection: "common" | "recommendation_feedback" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "actual_matching_match_and_reverse" | "actual_matching_undo_reversal" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_setup" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_approval_reorder" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "bill_pay_setup" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_approval_reorder" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "bill_pay_marked_as_paid" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_setup" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "card_policy_created" | "card_policy_updated" | "card_policy_deleted" | "charge_card_update_limit" | "charge_cards_update_limit" | "close_charge_card" | "lock_charge_card" | "lock_charge_card_card_user" | "lock_charge_cards" | "unlock_charge_card" | "unlock_charge_card_card_user" | "unlock_charge_cards" | "close_charge_cards" | "revoke_invite_charge_cards" | "charge_card_express_interest" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "revert_schedule" | "ignore_accrual" | "revert_accrual" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "snooze_task" | "unsnooze_task" | "create_tag" | "delete_tag" | "update_charge_card" | "update_charge_card_name" | "update_charge_card_name_card_user" | "issue_charge_card" | "issue_charge_cards" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed" | "receipt_match" | "receipts_upload" | "receipts_bulk_match" | "billing_address_view" | "express_pay_submit" | "exclude_transaction" | "reconcile" | "save_reconcile_for_later" | "recon_transaction_categorize" | "recon_transaction_match" | "update_debit_card_pin_attempt" | "set_debit_card_pin" | "ai_cfo_create_session_and_submit" | "ai_cfo_chat_session_deleted" | "charge_card_auto_pay_enable" | "charge_card_auto_pay_disable" | "treasury_setup" | "treasury_accept_term" | "treasury_transfer_money" | "treasury_transfer_money_failed" | "auto_transfer_rule_create" | "auto_transfer_rule_update" | "auto_transfer_rule_delete" | "auto_transfer_rule_pause" | "auto_transfer_rule_resume" | "treasury_update_portfolio_allocation" | "send_email_magic_link_to_user" | "complete_profile_done" | "create_transfer_entry" | "reports_resync" | "invalid_phone_number" | "transactions_categorized_updated_failed" | "transaction_categorized_updated_failed" | "transactionsCategorized_transactionsUpdated" | "transactionsCategorized_transactionUpdated" | "transactionCategorized_transactionsUpdated" | "transactionCategorized_transactionUpdated" | "transactionsCategorized_transactionsFailed" | "transactionsCategorized_transactionFailed" | "transactionCategorized_transactionsFailed" | "transactionCategorized_transactionFailed" | "transactionsUpdated_transactionsFailed" | "transactionsUpdated_transactionFailed" | "transactionUpdated_transactionsFailed" | "transactionUpdated_transactionFailed" | "transactionsCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionsUpdated_transactionFailed" | "transactionsCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionUpdated_transactionFailed" | "transactionCategorized_transactionsUpdated_transactionFailed" | "transactionCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionUpdated_transactionFailed" | "accounting_classes_enabled_update" | "accounting_projects_enabled_update" | "accounting_projects_qbo_not_enabled" | "capitalization_threshold_update" | "account_excluded_from_reconciliation" | "account_included_in_reconciliation" | "confirm_statement_mapping" | "statement_parsing_in_progress" | "statement_parsing_complete" | "ai_accountant_trigger_job" | "oauth_consent_approve" | "oauth_consent_invalid_request" | "credit_agent_update_profile" | "credit_agent_save_macro" | "credit_agent_schedule_cron" | "create_sub_task" | "qbo_connection_already_linked" | "qbo_connection_failed" | "accounting_projects_qbo_reconnect_failed" | "product_services_update" | "qbo_realm_id_update" | "invoicing_dunning_case_resolved" | "invoicing_dunning_retry" | "invoicing_dunning_cancel" | "invoicing_dunning_settings_save" | "invoicing_qbo_backfill" | "invoicing_qbo_sync_health_retry" | "invoicing_qbo_settings_save" | "invoicing_branding_save" | "invoicing_discount_archive" | "invoicing_discount_unarchive" | "invoicing_discount_delete" | "invoicing_invoice_reminder_sent" | "invoicing_invoice_regenerated" | "invoicing_invoice_voided" | "invoicing_catalog_item_saved" | "invoicing_customer_saved" | "invoicing_subscription_saved" | "invoicing_coupon_saved" | "invoicing_invoice_saved" | "invoicing_credit_note_saved" | "invoicing_payment_recorded" | "invoicing_subscription_activated" | "invoicing_subscription_cancellation_removed" | "invoicing_subscription_cancelled" | "invoicing_subscription_non_renewing" | "invoicing_subscription_paused" | "invoicing_subscription_reactivated" | "invoicing_subscription_resumed" | "invoicing_subscription_term_end_changed";
43
43
  messageText: "notification" | "failed" | "success";
44
44
  type: "error" | "success" | "info";
45
45
  variables: {
@@ -312,7 +312,8 @@ const buildLineItemById = (transaction, recommendations) => {
312
312
  isClassMiscategorized: false,
313
313
  };
314
314
  }
315
- if (line.type === 'transaction_info_line') {
315
+ if (line.type === 'transaction_info_line' ||
316
+ line.type === 'transaction_line_base') {
316
317
  const infoRecord = line;
317
318
  lineItemData[line.id] = {
318
319
  ...infoRecord,
@@ -3,7 +3,7 @@ import { TimePeriod } from '../../../commonStateTypes/timePeriod';
3
3
  import { ActualMatchingListResponsePayload, DisplayCurrencyFallback } from '../../../entity/actualMatching/actualMatchingPayload';
4
4
  import { JEOneTimeAccrualPayload } from '../../../entity/jeSchedules/jeSchedulesPayload';
5
5
  import { ZeniAPIResponse } from '../../../responsePayload';
6
- import { ActualMatchingIgnoreReasonType, ActualMatchingTransactionSearchResult, MatchAndReverseResult, UndoReversalResult } from '../types/actualMatchingViewState';
6
+ import { ActualMatchingTransactionSearchResult, MatchAndReverseResult, UndoReversalResult } from '../types/actualMatchingViewState';
7
7
  export declare function toServiceMonthFromPeriod(period: TimePeriod): string;
8
8
  export type ActualMatchingListResponse = ZeniAPIResponse<ActualMatchingListResponsePayload>;
9
9
  export interface ActualMatchingAccrualSearchResponsePayload {
@@ -72,17 +72,6 @@ export declare function toMatchAndReverseResult(payload: MatchAndReverseResultPa
72
72
  export interface UndoReversalRequestPayload {
73
73
  accrual_ids: ID[];
74
74
  }
75
- export interface IgnoreActualMatchingSuggestionRequestPayload {
76
- reason: ActualMatchingIgnoreReasonType;
77
- note?: string;
78
- }
79
- export interface IgnoreActualMatchingSuggestionResponsePayload {
80
- already_dismissed_accrual_ids?: string[];
81
- dismissed_accrual_ids?: string[];
82
- match_id?: string;
83
- no_longer_eligible_accrual_ids?: string[];
84
- }
85
- export type IgnoreActualMatchingSuggestionResponse = ZeniAPIResponse<IgnoreActualMatchingSuggestionResponsePayload>;
86
75
  export interface UndoReversalResultPayload {
87
76
  accrual_id: ID;
88
77
  status: string;
@@ -7,7 +7,7 @@ export declare const initialTransactionSearchState: ActualMatchingTransactionSea
7
7
  export declare const initialAccrualSearchState: ActualMatchingAccrualSearchState;
8
8
  export declare const initialMatchModalState: ActualMatchingMatchModalState;
9
9
  export declare const initialState: ActualMatchingViewState;
10
- export declare const ackCloseMatchAfterIgnore: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/ackCloseMatchAfterIgnore">, ackCloseMatchAfterUndo: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/ackCloseMatchAfterUndo">, clearActualMatchingView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/clearActualMatchingView">, clearMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/clearMatchNewModal">, closeMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/closeMatchNewModal">, fetchActualMatching: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, refreshViewInBackground?: any], {
10
+ export declare const ackCloseMatchAfterUndo: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/ackCloseMatchAfterUndo">, clearActualMatchingView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/clearActualMatchingView">, clearMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/clearMatchNewModal">, closeMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/closeMatchNewModal">, fetchActualMatching: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, refreshViewInBackground?: any], {
11
11
  period: TimePeriod;
12
12
  refreshViewInBackground: any;
13
13
  }, "expenseAutomationActualMatchingView/fetchActualMatching", never, never>, fetchActualMatchingFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -31,32 +31,21 @@ export declare const ackCloseMatchAfterIgnore: import("@reduxjs/toolkit").Action
31
31
  matchIds: ActualMatchingMatchId[];
32
32
  refreshViewInBackground: boolean;
33
33
  selectedPeriod: MonthYearPeriod;
34
- }, "expenseAutomationActualMatchingView/fetchActualMatchingSuccess">, ignoreActualMatchingSuggestion: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[matchId: string, reason: "other_ignore" | "already_handled" | "amount_off" | "wrong_period" | "wrong_bill", note?: string | undefined], {
35
- matchId: string;
36
- reason: "other_ignore" | "already_handled" | "amount_off" | "wrong_period" | "wrong_bill";
37
- note: string | undefined;
38
- }, "expenseAutomationActualMatchingView/ignoreActualMatchingSuggestion", never, never>, ignoreActualMatchingSuggestionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
39
- matchId: ActualMatchingMatchId;
40
- status: ZeniAPIStatus;
41
- }, "expenseAutomationActualMatchingView/ignoreActualMatchingSuggestionFailure">, ignoreActualMatchingSuggestionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
42
- matchId: ActualMatchingMatchId;
43
- }, "expenseAutomationActualMatchingView/ignoreActualMatchingSuggestionSuccess">, matchAndReverseAccruals: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: string, transactionIntegrationId: string, transactionType: string, lineIds: string[], transactionSyncToken: string, accrualIds: string[], forMatchModal?: boolean | undefined], {
44
- accrualIds: string[];
45
- lineIds: string[];
34
+ }, "expenseAutomationActualMatchingView/fetchActualMatchingSuccess">, matchAndReverseAccruals: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: string, transactionIntegrationId: string, transactionType: string, lineIds: string[], transactionSyncToken: string, accrualIds: string[]], {
46
35
  transactionId: string;
47
36
  transactionIntegrationId: string;
48
- transactionSyncToken: string;
49
37
  transactionType: string;
50
- forMatchModal: boolean | undefined;
38
+ lineIds: string[];
39
+ transactionSyncToken: string;
40
+ accrualIds: string[];
51
41
  }, "expenseAutomationActualMatchingView/matchAndReverseAccruals", never, never>, matchAndReverseAccrualsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
52
42
  status: ZeniAPIStatus;
53
- forMatchModal?: boolean;
54
- matchId?: ActualMatchingMatchId;
55
43
  }, "expenseAutomationActualMatchingView/matchAndReverseAccrualsFailure">, matchAndReverseAccrualsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
56
44
  results: MatchAndReverseResult[];
57
- forMatchModal?: boolean;
58
45
  matchId?: ActualMatchingMatchId;
59
- }, "expenseAutomationActualMatchingView/matchAndReverseAccrualsSuccess">, openMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationActualMatchingView/openMatchNewModal">, searchMatchAccruals: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[query: string, pageToken?: string | null | undefined], {
46
+ }, "expenseAutomationActualMatchingView/matchAndReverseAccrualsSuccess">, openMatchNewModal: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[matchId?: string | undefined], {
47
+ matchId: string | undefined;
48
+ }, "expenseAutomationActualMatchingView/openMatchNewModal", never, never>, searchMatchAccruals: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[query: string, pageToken?: string | null | undefined], {
60
49
  query: string;
61
50
  pageToken: string | undefined;
62
51
  }, "expenseAutomationActualMatchingView/searchMatchAccruals", never, never>, searchMatchAccrualsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.updateActualMatchingUIState = exports.undoReversalAccrualsSuccess = exports.undoReversalAccrualsFailure = exports.undoReversalAccruals = exports.searchMatchTransactionsSuccess = exports.searchMatchTransactionsFailure = exports.searchMatchTransactions = exports.searchMatchAccrualsSuccess = exports.searchMatchAccrualsFailure = exports.searchMatchAccruals = exports.openMatchNewModal = exports.matchAndReverseAccrualsSuccess = exports.matchAndReverseAccrualsFailure = exports.matchAndReverseAccruals = exports.ignoreActualMatchingSuggestionSuccess = exports.ignoreActualMatchingSuggestionFailure = exports.ignoreActualMatchingSuggestion = exports.fetchActualMatchingSuccess = exports.fetchActualMatchingPage = exports.fetchActualMatchingMatchSuccess = exports.fetchActualMatchingMatchFailure = exports.fetchActualMatchingMatch = exports.fetchActualMatchingFailure = exports.fetchActualMatching = exports.closeMatchNewModal = exports.clearMatchNewModal = exports.clearActualMatchingView = exports.ackCloseMatchAfterUndo = exports.ackCloseMatchAfterIgnore = exports.initialState = exports.initialMatchModalState = exports.initialAccrualSearchState = exports.initialTransactionSearchState = void 0;
4
+ exports.updateActualMatchingUIState = exports.undoReversalAccrualsSuccess = exports.undoReversalAccrualsFailure = exports.undoReversalAccruals = exports.searchMatchTransactionsSuccess = exports.searchMatchTransactionsFailure = exports.searchMatchTransactions = exports.searchMatchAccrualsSuccess = exports.searchMatchAccrualsFailure = exports.searchMatchAccruals = exports.openMatchNewModal = exports.matchAndReverseAccrualsSuccess = exports.matchAndReverseAccrualsFailure = exports.matchAndReverseAccruals = exports.fetchActualMatchingSuccess = exports.fetchActualMatchingPage = exports.fetchActualMatchingMatchSuccess = exports.fetchActualMatchingMatchFailure = exports.fetchActualMatchingMatch = exports.fetchActualMatchingFailure = exports.fetchActualMatching = exports.closeMatchNewModal = exports.clearMatchNewModal = exports.clearActualMatchingView = exports.ackCloseMatchAfterUndo = exports.initialState = exports.initialMatchModalState = exports.initialAccrualSearchState = exports.initialTransactionSearchState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
7
7
  const jeScheduleHelper_1 = require("../../../entity/jeSchedules/jeScheduleHelper");
@@ -26,6 +26,9 @@ exports.initialAccrualSearchState = {
26
26
  };
27
27
  exports.initialMatchModalState = {
28
28
  isOpen: false,
29
+ openedFromMatchId: undefined,
30
+ didPinPrefillTransactions: false,
31
+ pinnedTransactionResults: [],
29
32
  transactionSearch: exports.initialTransactionSearchState,
30
33
  accrualSearch: exports.initialAccrualSearchState,
31
34
  confirmStatus: { fetchState: 'Not-Started', error: undefined },
@@ -45,28 +48,16 @@ exports.initialState = {
45
48
  sortOrder: 'descending',
46
49
  searchString: '',
47
50
  scrollPosition: { scrollTop: 0, scrollLeft: undefined },
48
- statusFilter: 'all',
49
51
  },
50
52
  matchModal: exports.initialMatchModalState,
51
53
  undoReversalStatusByMatchId: {},
52
- ignoreStatusByMatchId: {},
53
- confirmStatusByMatchId: {},
54
- closeMatchAfterUndoMatchIds: [],
55
- closeMatchAfterIgnoreMatchIds: [],
54
+ closeMatchAfterUndo: false,
56
55
  lastMatchResultsByMatchId: {},
57
56
  lastUndoResultsByMatchId: {},
58
57
  hasValidState() {
59
58
  return this.fetchState == 'Completed';
60
59
  },
61
60
  };
62
- function enqueueCloseMatchId(ids, matchId) {
63
- if (!ids.includes(matchId)) {
64
- ids.push(matchId);
65
- }
66
- }
67
- function dropCloseMatchId(ids, matchId) {
68
- return ids.filter((id) => id !== matchId);
69
- }
70
61
  function pruneLastMatchResultsForUndone(draft, matchId, results) {
71
62
  const undoneIds = new Set(results
72
63
  .filter((result) => result.status === 'undone')
@@ -109,6 +100,9 @@ function resetMatchModalSearches(draft) {
109
100
  error: undefined,
110
101
  };
111
102
  draft.matchModal.lastBatchResults = undefined;
103
+ draft.matchModal.openedFromMatchId = undefined;
104
+ draft.matchModal.didPinPrefillTransactions = false;
105
+ draft.matchModal.pinnedTransactionResults = [];
112
106
  }
113
107
  const expenseAutomationActualMatchingView = (0, toolkit_1.createSlice)({
114
108
  name: 'expenseAutomationActualMatchingView',
@@ -249,13 +243,21 @@ const expenseAutomationActualMatchingView = (0, toolkit_1.createSlice)({
249
243
  if (action.payload.scrollPosition != null) {
250
244
  draft.uiState.scrollPosition = action.payload.scrollPosition;
251
245
  }
252
- if (action.payload.statusFilter != null) {
253
- draft.uiState.statusFilter = action.payload.statusFilter;
254
- }
255
246
  },
256
- openMatchNewModal(draft) {
257
- resetMatchModalSearches(draft);
258
- draft.matchModal.isOpen = true;
247
+ openMatchNewModal: {
248
+ prepare(matchId) {
249
+ return { payload: { matchId } };
250
+ },
251
+ reducer(draft, action) {
252
+ resetMatchModalSearches(draft);
253
+ draft.matchModal.isOpen = true;
254
+ const matchId = action.payload.matchId;
255
+ draft.matchModal.openedFromMatchId =
256
+ matchId != null && matchId !== '' ? matchId : undefined;
257
+ if (draft.matchModal.openedFromMatchId != null) {
258
+ draft.matchModal.accrualSearch.fetchState = 'Completed';
259
+ }
260
+ },
259
261
  },
260
262
  // Dismiss (Cancel / overlay). Store reset matches `clearMatchNewModal`;
261
263
  // the actions stay distinct so confirm-success vs user-dismiss stay observable.
@@ -310,6 +312,11 @@ const expenseAutomationActualMatchingView = (0, toolkit_1.createSlice)({
310
312
  }
311
313
  else {
312
314
  draft.matchModal.transactionSearch.results = results;
315
+ if (draft.matchModal.openedFromMatchId != null &&
316
+ !draft.matchModal.didPinPrefillTransactions) {
317
+ draft.matchModal.didPinPrefillTransactions = true;
318
+ draft.matchModal.pinnedTransactionResults = results;
319
+ }
313
320
  }
314
321
  draft.matchModal.transactionSearch.nextPageToken = nextPageToken;
315
322
  draft.matchModal.transactionSearch.isLoadingMore = false;
@@ -362,27 +369,21 @@ const expenseAutomationActualMatchingView = (0, toolkit_1.createSlice)({
362
369
  draft.matchModal.accrualSearch.error = action.payload.error;
363
370
  },
364
371
  matchAndReverseAccruals: {
365
- reducer(draft, action) {
366
- const inProgress = {
372
+ reducer(draft) {
373
+ draft.matchModal.confirmStatus = {
367
374
  fetchState: 'In-Progress',
368
375
  error: undefined,
369
376
  };
370
- if (action.payload.forMatchModal === true) {
371
- draft.matchModal.confirmStatus = inProgress;
372
- }
373
- const matchId = `${action.payload.transactionType.toLowerCase()}:${action.payload.transactionIntegrationId}`;
374
- draft.confirmStatusByMatchId[matchId] = inProgress;
375
377
  },
376
- prepare(transactionId, transactionIntegrationId, transactionType, lineIds, transactionSyncToken, accrualIds, forMatchModal) {
378
+ prepare(transactionId, transactionIntegrationId, transactionType, lineIds, transactionSyncToken, accrualIds) {
377
379
  return {
378
380
  payload: {
379
- accrualIds,
380
- lineIds,
381
381
  transactionId,
382
382
  transactionIntegrationId,
383
- transactionSyncToken,
384
383
  transactionType,
385
- forMatchModal,
384
+ lineIds,
385
+ transactionSyncToken,
386
+ accrualIds,
386
387
  },
387
388
  };
388
389
  },
@@ -391,33 +392,23 @@ const expenseAutomationActualMatchingView = (0, toolkit_1.createSlice)({
391
392
  const { results } = action.payload;
392
393
  const allComplete = results.length > 0 &&
393
394
  results.every((result) => (0, actualMatchingViewState_1.isMatchAndReverseCompleteStatus)(result.status));
394
- const confirmStatus = allComplete
395
+ draft.matchModal.confirmStatus = allComplete
395
396
  ? { fetchState: 'Completed', error: undefined }
396
397
  : {
397
398
  fetchState: 'Error',
398
399
  error: (0, responsePayload_1.createZeniAPIStatus)('Partial match-and-reverse', 'Some accruals were not reversed'),
399
400
  };
400
- if (action.payload.forMatchModal === true) {
401
- draft.matchModal.confirmStatus = confirmStatus;
402
- draft.matchModal.lastBatchResults = results;
403
- }
401
+ draft.matchModal.lastBatchResults = results;
404
402
  if (action.payload.matchId != null) {
405
- draft.confirmStatusByMatchId[action.payload.matchId] = confirmStatus;
406
403
  draft.lastMatchResultsByMatchId[action.payload.matchId] = results;
407
404
  pruneLastUndoResultsForMatched(draft, action.payload.matchId, action.payload.results);
408
405
  }
409
406
  },
410
407
  matchAndReverseAccrualsFailure(draft, action) {
411
- const failed = {
408
+ draft.matchModal.confirmStatus = {
412
409
  fetchState: 'Error',
413
410
  error: action.payload.status,
414
411
  };
415
- if (action.payload.forMatchModal === true) {
416
- draft.matchModal.confirmStatus = failed;
417
- }
418
- if (action.payload.matchId != null) {
419
- draft.confirmStatusByMatchId[action.payload.matchId] = failed;
420
- }
421
412
  },
422
413
  undoReversalAccruals: {
423
414
  reducer(draft, action) {
@@ -439,12 +430,7 @@ const expenseAutomationActualMatchingView = (0, toolkit_1.createSlice)({
439
430
  };
440
431
  const allUndone = results.length > 0 &&
441
432
  results.every((result) => result.status === 'undone');
442
- if (allUndone) {
443
- enqueueCloseMatchId(draft.closeMatchAfterUndoMatchIds, matchId);
444
- }
445
- else {
446
- draft.closeMatchAfterUndoMatchIds = dropCloseMatchId(draft.closeMatchAfterUndoMatchIds, matchId);
447
- }
433
+ draft.closeMatchAfterUndo = allUndone;
448
434
  pruneLastMatchResultsForUndone(draft, matchId, results);
449
435
  if (allUndone) {
450
436
  delete draft.lastUndoResultsByMatchId[matchId];
@@ -458,44 +444,7 @@ const expenseAutomationActualMatchingView = (0, toolkit_1.createSlice)({
458
444
  },
459
445
  },
460
446
  ackCloseMatchAfterUndo(draft) {
461
- draft.closeMatchAfterUndoMatchIds.shift();
462
- },
463
- ignoreActualMatchingSuggestion: {
464
- prepare(matchId, reason, note) {
465
- return { payload: { matchId, reason, note } };
466
- },
467
- reducer(draft, action) {
468
- draft.ignoreStatusByMatchId[action.payload.matchId] = {
469
- fetchState: 'In-Progress',
470
- error: undefined,
471
- };
472
- },
473
- },
474
- ignoreActualMatchingSuggestionSuccess(draft, action) {
475
- const { matchId } = action.payload;
476
- draft.ignoreStatusByMatchId[matchId] = {
477
- fetchState: 'Completed',
478
- error: undefined,
479
- };
480
- enqueueCloseMatchId(draft.closeMatchAfterIgnoreMatchIds, matchId);
481
- delete draft.lastMatchResultsByMatchId[matchId];
482
- delete draft.lastUndoResultsByMatchId[matchId];
483
- delete draft.detailFetchStateByMatchId[matchId];
484
- delete draft.detailRefreshStatusByMatchId[matchId];
485
- delete draft.undoReversalStatusByMatchId[matchId];
486
- delete draft.confirmStatusByMatchId[matchId];
487
- Object.keys(draft.matchIdsByPeriod).forEach((periodId) => {
488
- draft.matchIdsByPeriod[periodId] = draft.matchIdsByPeriod[periodId].filter((id) => id !== matchId);
489
- });
490
- },
491
- ignoreActualMatchingSuggestionFailure(draft, action) {
492
- draft.ignoreStatusByMatchId[action.payload.matchId] = {
493
- fetchState: 'Error',
494
- error: action.payload.status,
495
- };
496
- },
497
- ackCloseMatchAfterIgnore(draft) {
498
- draft.closeMatchAfterIgnoreMatchIds.shift();
447
+ draft.closeMatchAfterUndo = false;
499
448
  },
500
449
  undoReversalAccrualsFailure(draft, action) {
501
450
  draft.undoReversalStatusByMatchId[action.payload.matchId] = {
@@ -513,5 +462,5 @@ const expenseAutomationActualMatchingView = (0, toolkit_1.createSlice)({
513
462
  });
514
463
  },
515
464
  });
516
- _a = expenseAutomationActualMatchingView.actions, exports.ackCloseMatchAfterIgnore = _a.ackCloseMatchAfterIgnore, exports.ackCloseMatchAfterUndo = _a.ackCloseMatchAfterUndo, exports.clearActualMatchingView = _a.clearActualMatchingView, exports.clearMatchNewModal = _a.clearMatchNewModal, exports.closeMatchNewModal = _a.closeMatchNewModal, exports.fetchActualMatching = _a.fetchActualMatching, exports.fetchActualMatchingFailure = _a.fetchActualMatchingFailure, exports.fetchActualMatchingMatch = _a.fetchActualMatchingMatch, exports.fetchActualMatchingMatchFailure = _a.fetchActualMatchingMatchFailure, exports.fetchActualMatchingMatchSuccess = _a.fetchActualMatchingMatchSuccess, exports.fetchActualMatchingPage = _a.fetchActualMatchingPage, exports.fetchActualMatchingSuccess = _a.fetchActualMatchingSuccess, exports.ignoreActualMatchingSuggestion = _a.ignoreActualMatchingSuggestion, exports.ignoreActualMatchingSuggestionFailure = _a.ignoreActualMatchingSuggestionFailure, exports.ignoreActualMatchingSuggestionSuccess = _a.ignoreActualMatchingSuggestionSuccess, exports.matchAndReverseAccruals = _a.matchAndReverseAccruals, exports.matchAndReverseAccrualsFailure = _a.matchAndReverseAccrualsFailure, exports.matchAndReverseAccrualsSuccess = _a.matchAndReverseAccrualsSuccess, exports.openMatchNewModal = _a.openMatchNewModal, exports.searchMatchAccruals = _a.searchMatchAccruals, exports.searchMatchAccrualsFailure = _a.searchMatchAccrualsFailure, exports.searchMatchAccrualsSuccess = _a.searchMatchAccrualsSuccess, exports.searchMatchTransactions = _a.searchMatchTransactions, exports.searchMatchTransactionsFailure = _a.searchMatchTransactionsFailure, exports.searchMatchTransactionsSuccess = _a.searchMatchTransactionsSuccess, exports.undoReversalAccruals = _a.undoReversalAccruals, exports.undoReversalAccrualsFailure = _a.undoReversalAccrualsFailure, exports.undoReversalAccrualsSuccess = _a.undoReversalAccrualsSuccess, exports.updateActualMatchingUIState = _a.updateActualMatchingUIState;
465
+ _a = expenseAutomationActualMatchingView.actions, exports.ackCloseMatchAfterUndo = _a.ackCloseMatchAfterUndo, exports.clearActualMatchingView = _a.clearActualMatchingView, exports.clearMatchNewModal = _a.clearMatchNewModal, exports.closeMatchNewModal = _a.closeMatchNewModal, exports.fetchActualMatching = _a.fetchActualMatching, exports.fetchActualMatchingFailure = _a.fetchActualMatchingFailure, exports.fetchActualMatchingMatch = _a.fetchActualMatchingMatch, exports.fetchActualMatchingMatchFailure = _a.fetchActualMatchingMatchFailure, exports.fetchActualMatchingMatchSuccess = _a.fetchActualMatchingMatchSuccess, exports.fetchActualMatchingPage = _a.fetchActualMatchingPage, exports.fetchActualMatchingSuccess = _a.fetchActualMatchingSuccess, exports.matchAndReverseAccruals = _a.matchAndReverseAccruals, exports.matchAndReverseAccrualsFailure = _a.matchAndReverseAccrualsFailure, exports.matchAndReverseAccrualsSuccess = _a.matchAndReverseAccrualsSuccess, exports.openMatchNewModal = _a.openMatchNewModal, exports.searchMatchAccruals = _a.searchMatchAccruals, exports.searchMatchAccrualsFailure = _a.searchMatchAccrualsFailure, exports.searchMatchAccrualsSuccess = _a.searchMatchAccrualsSuccess, exports.searchMatchTransactions = _a.searchMatchTransactions, exports.searchMatchTransactionsFailure = _a.searchMatchTransactionsFailure, exports.searchMatchTransactionsSuccess = _a.searchMatchTransactionsSuccess, exports.undoReversalAccruals = _a.undoReversalAccruals, exports.undoReversalAccrualsFailure = _a.undoReversalAccrualsFailure, exports.undoReversalAccrualsSuccess = _a.undoReversalAccrualsSuccess, exports.updateActualMatchingUIState = _a.updateActualMatchingUIState;
517
466
  exports.default = expenseAutomationActualMatchingView.reducer;