@zeniai/client-epic-state 4.20.10 → 5.0.0-beta0ND

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 (277) hide show
  1. package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.d.ts +19 -0
  2. package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.js +2 -0
  3. package/lib/commonStateTypes/animations.d.ts +1 -1
  4. package/lib/commonStateTypes/animations.js +3 -0
  5. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  6. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  7. package/lib/coreEpics.js +2 -1
  8. package/lib/entity/account/accountPayload.d.ts +2 -0
  9. package/lib/entity/account/accountReducer.d.ts +5 -2
  10. package/lib/entity/account/accountReducer.js +7 -2
  11. package/lib/entity/account/accountState.d.ts +1 -1
  12. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  13. package/lib/entity/accountRecon/accountReconPayload.d.ts +1 -1
  14. package/lib/entity/accountRecon/accountReconPayload.js +4 -2
  15. package/lib/entity/aiCfo/aiCfoSelector.d.ts +1 -2
  16. package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
  17. package/lib/entity/class/classReducer.d.ts +4 -4
  18. package/lib/entity/class/classState.d.ts +1 -1
  19. package/lib/entity/forecast/forecastState.d.ts +1 -1
  20. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +38 -0
  21. package/lib/entity/jeSchedules/jeSchedulesPayload.js +78 -0
  22. package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +4 -1
  23. package/lib/entity/jeSchedules/jeSchedulesSelector.js +5 -1
  24. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +37 -0
  25. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  26. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  27. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  28. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  29. package/lib/entity/snackbar/snackbarTypes.js +7 -0
  30. package/lib/entity/tenant/SessionManager.d.ts +38 -0
  31. package/lib/entity/tenant/SessionManager.js +171 -0
  32. package/lib/entity/tenant/epic/sessionHeartbeatEpic.d.ts +16 -0
  33. package/lib/entity/tenant/epic/sessionHeartbeatEpic.js +16 -0
  34. package/lib/entity/tenant/sessionTypes.d.ts +26 -0
  35. package/lib/entity/tenant/sessionTypes.js +12 -0
  36. package/lib/entity/tenant/tenantPayload.d.ts +1 -0
  37. package/lib/entity/tenant/tenantReducer.d.ts +10 -3
  38. package/lib/entity/tenant/tenantReducer.js +30 -2
  39. package/lib/entity/tenant/tenantSelector.d.ts +1 -0
  40. package/lib/entity/tenant/tenantSelector.js +9 -1
  41. package/lib/entity/tenant/tenantState.d.ts +2 -0
  42. package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.d.ts +4 -1
  43. package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.js +1 -0
  44. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +9 -0
  45. package/lib/entity/transaction/payloadTypes/transactionPayload.js +79 -1
  46. package/lib/entity/transaction/stateTypes/scheduleTransaction.d.ts +1 -0
  47. package/lib/entity/transaction/stateTypes/transaction.d.ts +11 -0
  48. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +1 -1
  49. package/lib/epic.d.ts +15 -1
  50. package/lib/epic.js +15 -1
  51. package/lib/esm/common/aiCfo/aiCfoSuggestedQuestionsPageContext.js +1 -0
  52. package/lib/esm/commonStateTypes/animations.js +3 -0
  53. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  54. package/lib/esm/coreEpics.js +2 -1
  55. package/lib/esm/entity/account/accountReducer.js +6 -1
  56. package/lib/esm/entity/accountRecon/accountReconPayload.js +4 -2
  57. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +78 -0
  58. package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +5 -1
  59. package/lib/esm/entity/snackbar/snackbarTypes.js +7 -0
  60. package/lib/esm/entity/tenant/SessionManager.js +167 -0
  61. package/lib/esm/entity/tenant/epic/sessionHeartbeatEpic.js +12 -0
  62. package/lib/esm/entity/tenant/sessionTypes.js +9 -0
  63. package/lib/esm/entity/tenant/tenantReducer.js +28 -1
  64. package/lib/esm/entity/tenant/tenantSelector.js +7 -0
  65. package/lib/esm/entity/transaction/payloadTypes/scheduleTransactionPayload.js +1 -0
  66. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +79 -1
  67. package/lib/esm/epic.js +15 -1
  68. package/lib/esm/index.js +22 -16
  69. package/lib/esm/reducer.js +3 -0
  70. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +82 -1
  71. package/lib/esm/view/aiCfoView/aiCfoViewSelector.js +8 -2
  72. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +29 -0
  73. package/lib/esm/view/classList/fetchClassListEpic.js +9 -2
  74. package/lib/esm/view/commonVendorView/vendorView/vendorViewSelector.js +18 -5
  75. package/lib/esm/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +6 -2
  76. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +19 -1
  77. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +3 -1
  78. package/lib/esm/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +17 -0
  79. package/lib/esm/view/companyView/companyViewReducer.js +26 -1
  80. package/lib/esm/view/companyView/epic/companyPassport/updateAccountingClassesEnabledEpic.js +61 -0
  81. package/lib/esm/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  82. package/lib/esm/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.js +44 -0
  83. package/lib/esm/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +4 -9
  84. package/lib/esm/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.js +44 -0
  85. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +2 -2
  86. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/bulkUploadMatchResultToastEpic.js +33 -0
  87. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/bulkUploadReceiptsEpic.js +3 -3
  88. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/fetchBulkUploadBatchesEpic.js +6 -4
  89. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/refetchCompletedTransactionsOnBulkUploadSortEpic.js +12 -0
  90. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/restoreBulkUploadAutomatchingOnMountEpic.js +98 -0
  91. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +7 -13
  92. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/watchBulkUploadBatchStatusEpic.js +13 -5
  93. package/lib/esm/view/expenseAutomationView/expenseAutomationViewSelector.js +0 -1
  94. package/lib/esm/view/expenseAutomationView/{bulkUploadTiming.js → helpers/bulkUploadTiming.js} +6 -0
  95. package/lib/esm/view/expenseAutomationView/helpers/rollingCalendarDateRangeInclusive.js +13 -0
  96. package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -2
  97. package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
  98. package/lib/esm/view/expenseAutomationView/payload/missingReceiptsPayload.js +9 -0
  99. package/lib/esm/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +21 -1
  100. package/lib/esm/view/expenseAutomationView/reducers/missingReceiptsViewReducer.js +26 -3
  101. package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +167 -3
  102. package/lib/esm/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +1 -2
  103. package/lib/esm/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +10 -2
  104. package/lib/esm/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +63 -6
  105. package/lib/esm/view/expenseAutomationView/selectors/missingReceiptsSelector.js +14 -4
  106. package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +136 -9
  107. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +15 -5
  108. package/lib/esm/view/expenseAutomationView/types/jeSchedulesViewState.js +24 -1
  109. package/lib/esm/view/profitAndLossClassesView/profitAndLossClassesByClassHorizontalSelector.js +3 -0
  110. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesPayload.js +26 -0
  111. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesReducer.js +199 -0
  112. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +52 -0
  113. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesState.js +1 -0
  114. package/lib/esm/view/spendManagement/autotransferRules/epics/createAutoTransferRuleEpic.js +100 -0
  115. package/lib/esm/view/spendManagement/autotransferRules/epics/deleteAutoTransferRuleEpic.js +48 -0
  116. package/lib/esm/view/spendManagement/autotransferRules/epics/fetchAutoTransferReviewDetailEpic.js +36 -0
  117. package/lib/esm/view/spendManagement/autotransferRules/epics/fetchAutoTransferRuleHistory.js +45 -0
  118. package/lib/esm/view/spendManagement/autotransferRules/epics/fetchAutoTransferRulesEpic.js +50 -0
  119. package/lib/esm/view/spendManagement/autotransferRules/epics/updateAutoTransferRuleEpic.js +69 -0
  120. package/lib/esm/view/spendManagement/billPay/billList/billListSelector.js +10 -0
  121. package/lib/esm/view/spendManagement/billPay/billList/billListState.js +1 -0
  122. package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +7 -3
  123. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
  124. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +7 -2
  125. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +13 -6
  126. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +1 -0
  127. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +2 -0
  128. package/lib/esm/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +7 -4
  129. package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListSelector.js +12 -0
  130. package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListState.js +1 -0
  131. package/lib/esm/view/spendManagement/treasury/treasuryList/epics/fetchTreasuryDetailEpic.js +2 -2
  132. package/lib/esm/view/spendManagement/treasury/treasuryList/treasuryDetailReducer.js +2 -1
  133. package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
  134. package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +2 -2
  135. package/lib/esm/view/transactionDetail/transactionDetailLocalDataHelper.js +16 -14
  136. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +9 -2
  137. package/lib/index.d.ts +32 -22
  138. package/lib/index.js +72 -33
  139. package/lib/reducer.d.ts +3 -0
  140. package/lib/reducer.js +3 -0
  141. package/lib/tsconfig.typecheck.tsbuildinfo +1 -0
  142. package/lib/view/aiCfoView/aiCfoViewPayload.d.ts +7 -0
  143. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +15 -1
  144. package/lib/view/aiCfoView/aiCfoViewReducer.js +83 -2
  145. package/lib/view/aiCfoView/aiCfoViewSelector.d.ts +4 -1
  146. package/lib/view/aiCfoView/aiCfoViewSelector.js +9 -2
  147. package/lib/view/aiCfoView/aiCfoViewState.d.ts +15 -1
  148. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +8 -0
  149. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +33 -0
  150. package/lib/view/auditReportView/auditReportViewState.d.ts +2 -2
  151. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  152. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  153. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  154. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  155. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  156. package/lib/view/classList/fetchClassListEpic.d.ts +1 -1
  157. package/lib/view/classList/fetchClassListEpic.js +8 -1
  158. package/lib/view/commonVendorView/vendorView/vendorViewSelector.d.ts +1 -0
  159. package/lib/view/commonVendorView/vendorView/vendorViewSelector.js +18 -5
  160. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.d.ts +1 -0
  161. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +6 -2
  162. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +2 -2
  163. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +20 -2
  164. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +4 -1
  165. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +3 -1
  166. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +9 -1
  167. package/lib/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.d.ts +7 -0
  168. package/lib/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +21 -0
  169. package/lib/view/companyView/companyViewReducer.d.ts +6 -1
  170. package/lib/view/companyView/companyViewReducer.js +28 -2
  171. package/lib/view/companyView/epic/companyPassport/updateAccountingClassesEnabledEpic.d.ts +10 -0
  172. package/lib/view/companyView/epic/companyPassport/updateAccountingClassesEnabledEpic.js +65 -0
  173. package/lib/view/companyView/types/companyPassport/companyPassportViewState.d.ts +1 -0
  174. package/lib/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  175. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  176. package/lib/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.d.ts +8 -0
  177. package/lib/view/expenseAutomationView/epics/accountRecon/excludeAccountFromReconciliationEpic.js +48 -0
  178. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +4 -9
  179. package/lib/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.d.ts +9 -0
  180. package/lib/view/expenseAutomationView/epics/accountRecon/includeAccountInReconciliationEpic.js +48 -0
  181. package/lib/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +2 -2
  182. package/lib/view/expenseAutomationView/epics/missingReceipts/bulkUploadMatchResultToastEpic.d.ts +13 -0
  183. package/lib/view/expenseAutomationView/epics/missingReceipts/bulkUploadMatchResultToastEpic.js +37 -0
  184. package/lib/view/expenseAutomationView/epics/missingReceipts/bulkUploadReceiptsEpic.js +2 -2
  185. package/lib/view/expenseAutomationView/epics/missingReceipts/fetchBulkUploadBatchesEpic.js +5 -3
  186. package/lib/view/expenseAutomationView/epics/missingReceipts/refetchCompletedTransactionsOnBulkUploadSortEpic.d.ts +10 -0
  187. package/lib/view/expenseAutomationView/epics/missingReceipts/refetchCompletedTransactionsOnBulkUploadSortEpic.js +16 -0
  188. package/lib/view/expenseAutomationView/epics/missingReceipts/restoreBulkUploadAutomatchingOnMountEpic.d.ts +18 -0
  189. package/lib/view/expenseAutomationView/epics/missingReceipts/restoreBulkUploadAutomatchingOnMountEpic.js +102 -0
  190. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +7 -13
  191. package/lib/view/expenseAutomationView/epics/missingReceipts/watchBulkUploadBatchStatusEpic.d.ts +2 -2
  192. package/lib/view/expenseAutomationView/epics/missingReceipts/watchBulkUploadBatchStatusEpic.js +12 -4
  193. package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +0 -1
  194. package/lib/view/expenseAutomationView/{bulkUploadTiming.d.ts → helpers/bulkUploadTiming.d.ts} +6 -0
  195. package/lib/view/expenseAutomationView/{bulkUploadTiming.js → helpers/bulkUploadTiming.js} +7 -1
  196. package/lib/view/expenseAutomationView/helpers/rollingCalendarDateRangeInclusive.d.ts +7 -0
  197. package/lib/view/expenseAutomationView/helpers/rollingCalendarDateRangeInclusive.js +16 -0
  198. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -2
  199. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  200. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
  201. package/lib/view/expenseAutomationView/payload/jeSchedulesPayload.d.ts +1 -1
  202. package/lib/view/expenseAutomationView/payload/missingReceiptsPayload.d.ts +5 -0
  203. package/lib/view/expenseAutomationView/payload/missingReceiptsPayload.js +10 -0
  204. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +45 -0
  205. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +2 -2
  206. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +22 -2
  207. package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.d.ts +12 -2
  208. package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.js +27 -4
  209. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +18 -4
  210. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +168 -4
  211. package/lib/view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes.d.ts +2 -0
  212. package/lib/view/expenseAutomationView/selectorTypes/missingReceiptsSelectorTypes.d.ts +2 -0
  213. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +7 -2
  214. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +2 -2
  215. package/lib/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +10 -2
  216. package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +63 -6
  217. package/lib/view/expenseAutomationView/selectors/missingReceiptsSelector.js +14 -4
  218. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +136 -9
  219. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +13 -3
  220. package/lib/view/expenseAutomationView/types/jeSchedulesViewState.d.ts +8 -0
  221. package/lib/view/expenseAutomationView/types/jeSchedulesViewState.js +27 -0
  222. package/lib/view/expenseAutomationView/types/missingReceiptsViewState.d.ts +4 -0
  223. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +14 -0
  224. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  225. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  226. package/lib/view/onboardingView/cockpitView/types/onboardingCockpitViewTypes.d.ts +1 -1
  227. package/lib/view/profitAndLossClassesView/profitAndLossClassesByClassHorizontalSelector.js +3 -0
  228. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  229. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  230. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  231. package/lib/view/spendManagement/autotransferRules/autoTransferRulesPayload.d.ts +75 -0
  232. package/lib/view/spendManagement/autotransferRules/autoTransferRulesPayload.js +30 -0
  233. package/lib/view/spendManagement/autotransferRules/autoTransferRulesReducer.d.ts +50 -0
  234. package/lib/view/spendManagement/autotransferRules/autoTransferRulesReducer.js +206 -0
  235. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +24 -0
  236. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +61 -0
  237. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +38 -0
  238. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.js +2 -0
  239. package/lib/view/spendManagement/autotransferRules/epics/createAutoTransferRuleEpic.d.ts +12 -0
  240. package/lib/view/spendManagement/autotransferRules/epics/createAutoTransferRuleEpic.js +106 -0
  241. package/lib/view/spendManagement/autotransferRules/epics/deleteAutoTransferRuleEpic.d.ts +8 -0
  242. package/lib/view/spendManagement/autotransferRules/epics/deleteAutoTransferRuleEpic.js +52 -0
  243. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferReviewDetailEpic.d.ts +7 -0
  244. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferReviewDetailEpic.js +40 -0
  245. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRuleHistory.d.ts +7 -0
  246. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRuleHistory.js +52 -0
  247. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRulesEpic.d.ts +10 -0
  248. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRulesEpic.js +54 -0
  249. package/lib/view/spendManagement/autotransferRules/epics/updateAutoTransferRuleEpic.d.ts +8 -0
  250. package/lib/view/spendManagement/autotransferRules/epics/updateAutoTransferRuleEpic.js +73 -0
  251. package/lib/view/spendManagement/billPay/billList/billListSelector.js +10 -0
  252. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
  253. package/lib/view/spendManagement/billPay/billList/billListState.js +1 -0
  254. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +7 -3
  255. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
  256. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +7 -2
  257. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +13 -6
  258. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.d.ts +1 -1
  259. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  260. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +1 -0
  261. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +2 -0
  262. package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +6 -3
  263. package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.d.ts +1 -0
  264. package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.js +12 -0
  265. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +1 -1
  266. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.js +1 -0
  267. package/lib/view/spendManagement/treasury/treasuryList/epics/fetchTreasuryDetailEpic.js +2 -2
  268. package/lib/view/spendManagement/treasury/treasuryList/treasuryDetailReducer.d.ts +2 -1
  269. package/lib/view/spendManagement/treasury/treasuryList/treasuryDetailReducer.js +2 -1
  270. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
  271. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  272. package/lib/view/topEx/topExSelector.d.ts +1 -1
  273. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +2 -2
  274. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +16 -14
  275. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +1 -0
  276. package/lib/view/transactionDetail/transactionDetailSelector.js +9 -2
  277. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.updateRecommendationForAccountSettingsFailure = exports.updateRecommendationForAccountSettings = exports.updateJeScheduleTransactionKeys = exports.updateJeScheduleLocalDataById = exports.updateAccountSettingsListForAccountTypesFailure = exports.updateAccountSettingsListForAccountTypes = exports.saveAccountSettingsSuccess = exports.saveAccountSettingsLocalData = exports.saveAccountSettingsFailure = exports.saveAccountSettings = exports.retryJeScheduleSuccess = exports.retryJeScheduleFailure = exports.retryJeSchedule = exports.removeJeScheduleTransactionKey = exports.removeJeScheduleLocalDataById = exports.removeFailedJeScheduleTransactionKey = exports.initializeJeScheduleLocalData = exports.initializeAccountSettingsView = exports.ignoreRecommendedJeScheduleSuccess = exports.ignoreRecommendedJeScheduleFailure = exports.ignoreRecommendedJeSchedule = exports.fetchRecommendationForAccountSettings = exports.fetchJeSchedulesSuccess = exports.fetchJeSchedulesPage = exports.fetchJeSchedulesFailure = exports.fetchJeSchedules = exports.fetchAccountSettingsListForAccountTypes = exports.clearJeScheduleLocalData = exports.clearJeAccountSettingsLocalData = exports.clearExpenseAutomationJESchedulesView = exports.initialState = exports.accountSettingsInitialState = void 0;
4
+ exports.updateRecommendationForAccountSettingsFailure = exports.updateRecommendationForAccountSettings = exports.updateJeScheduleTransactionKeys = exports.updateJeScheduleLocalDataById = exports.updateJESchedulesUIState = exports.updateAccountSettingsListForAccountTypesFailure = exports.updateAccountSettingsListForAccountTypes = exports.saveAccountSettingsSuccess = exports.saveAccountSettingsLocalData = exports.saveAccountSettingsFailure = exports.saveAccountSettings = exports.retryJeScheduleSuccess = exports.retryJeScheduleFailure = exports.retryJeSchedule = exports.removeJeScheduleTransactionKey = exports.removeJeScheduleLocalDataById = exports.removeFailedJeScheduleTransactionKey = exports.initializeJeScheduleLocalData = exports.initializeAccountSettingsView = exports.ignoreRecommendedJeScheduleSuccess = exports.ignoreRecommendedJeScheduleFailure = exports.ignoreRecommendedJeSchedule = exports.fetchRecommendationForAccountSettings = exports.fetchJeSchedulesSuccess = exports.fetchJeSchedulesPage = exports.fetchJeSchedulesFailure = exports.fetchJeSchedules = exports.fetchAccountSettingsListForAccountTypes = exports.clearJeScheduleLocalData = exports.clearJeAccountSettingsLocalData = exports.clearExpenseAutomationJESchedulesView = exports.initialState = exports.accountSettingsInitialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const getNestedAccountIDHierarchyForReport_1 = require("../../../commonStateTypes/accountView/getNestedAccountIDHierarchyForReport");
7
7
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
@@ -48,6 +48,9 @@ exports.initialState = {
48
48
  uiState: {
49
49
  searchString: '',
50
50
  scrollPosition: { scrollTop: 0, scrollLeft: undefined },
51
+ selectedMainTab: 'pending_review',
52
+ sortKey: 'transactionDate',
53
+ sortOrder: 'descending',
51
54
  totalCount: 0,
52
55
  limit: 10,
53
56
  },
@@ -369,12 +372,29 @@ const expenseAutomationJESchedulesView = (0, toolkit_1.createSlice)({
369
372
  clearJeAccountSettingsLocalData(draft) {
370
373
  draft.accountSettings.localData = exports.accountSettingsInitialState.localData;
371
374
  },
375
+ updateJESchedulesUIState(draft, action) {
376
+ if (action.payload.sortKey != null) {
377
+ draft.uiState.sortKey = action.payload.sortKey;
378
+ }
379
+ if (action.payload.sortOrder != null) {
380
+ draft.uiState.sortOrder = action.payload.sortOrder;
381
+ }
382
+ if (action.payload.searchString != null) {
383
+ draft.uiState.searchString = action.payload.searchString;
384
+ }
385
+ if (action.payload.scrollPosition != null) {
386
+ draft.uiState.scrollPosition = action.payload.scrollPosition;
387
+ }
388
+ if (action.payload.selectedMainTab != null) {
389
+ draft.uiState.selectedMainTab = action.payload.selectedMainTab;
390
+ }
391
+ },
372
392
  clearExpenseAutomationJESchedulesView(draft) {
373
393
  Object.assign(draft, exports.initialState);
374
394
  },
375
395
  },
376
396
  });
377
- _a = expenseAutomationJESchedulesView.actions, exports.clearExpenseAutomationJESchedulesView = _a.clearExpenseAutomationJESchedulesView, exports.clearJeAccountSettingsLocalData = _a.clearJeAccountSettingsLocalData, exports.clearJeScheduleLocalData = _a.clearJeScheduleLocalData, exports.fetchAccountSettingsListForAccountTypes = _a.fetchAccountSettingsListForAccountTypes, exports.fetchJeSchedules = _a.fetchJeSchedules, exports.fetchJeSchedulesFailure = _a.fetchJeSchedulesFailure, exports.fetchJeSchedulesPage = _a.fetchJeSchedulesPage, exports.fetchJeSchedulesSuccess = _a.fetchJeSchedulesSuccess, exports.fetchRecommendationForAccountSettings = _a.fetchRecommendationForAccountSettings, exports.ignoreRecommendedJeSchedule = _a.ignoreRecommendedJeSchedule, exports.ignoreRecommendedJeScheduleFailure = _a.ignoreRecommendedJeScheduleFailure, exports.ignoreRecommendedJeScheduleSuccess = _a.ignoreRecommendedJeScheduleSuccess, exports.initializeAccountSettingsView = _a.initializeAccountSettingsView, exports.initializeJeScheduleLocalData = _a.initializeJeScheduleLocalData, exports.removeFailedJeScheduleTransactionKey = _a.removeFailedJeScheduleTransactionKey, exports.removeJeScheduleLocalDataById = _a.removeJeScheduleLocalDataById, exports.removeJeScheduleTransactionKey = _a.removeJeScheduleTransactionKey, exports.retryJeSchedule = _a.retryJeSchedule, exports.retryJeScheduleFailure = _a.retryJeScheduleFailure, exports.retryJeScheduleSuccess = _a.retryJeScheduleSuccess, exports.saveAccountSettings = _a.saveAccountSettings, exports.saveAccountSettingsFailure = _a.saveAccountSettingsFailure, exports.saveAccountSettingsLocalData = _a.saveAccountSettingsLocalData, exports.saveAccountSettingsSuccess = _a.saveAccountSettingsSuccess, exports.updateAccountSettingsListForAccountTypes = _a.updateAccountSettingsListForAccountTypes, exports.updateAccountSettingsListForAccountTypesFailure = _a.updateAccountSettingsListForAccountTypesFailure, exports.updateJeScheduleLocalDataById = _a.updateJeScheduleLocalDataById, exports.updateJeScheduleTransactionKeys = _a.updateJeScheduleTransactionKeys, exports.updateRecommendationForAccountSettings = _a.updateRecommendationForAccountSettings, exports.updateRecommendationForAccountSettingsFailure = _a.updateRecommendationForAccountSettingsFailure;
397
+ _a = expenseAutomationJESchedulesView.actions, exports.clearExpenseAutomationJESchedulesView = _a.clearExpenseAutomationJESchedulesView, exports.clearJeAccountSettingsLocalData = _a.clearJeAccountSettingsLocalData, exports.clearJeScheduleLocalData = _a.clearJeScheduleLocalData, exports.fetchAccountSettingsListForAccountTypes = _a.fetchAccountSettingsListForAccountTypes, exports.fetchJeSchedules = _a.fetchJeSchedules, exports.fetchJeSchedulesFailure = _a.fetchJeSchedulesFailure, exports.fetchJeSchedulesPage = _a.fetchJeSchedulesPage, exports.fetchJeSchedulesSuccess = _a.fetchJeSchedulesSuccess, exports.fetchRecommendationForAccountSettings = _a.fetchRecommendationForAccountSettings, exports.ignoreRecommendedJeSchedule = _a.ignoreRecommendedJeSchedule, exports.ignoreRecommendedJeScheduleFailure = _a.ignoreRecommendedJeScheduleFailure, exports.ignoreRecommendedJeScheduleSuccess = _a.ignoreRecommendedJeScheduleSuccess, exports.initializeAccountSettingsView = _a.initializeAccountSettingsView, exports.initializeJeScheduleLocalData = _a.initializeJeScheduleLocalData, exports.removeFailedJeScheduleTransactionKey = _a.removeFailedJeScheduleTransactionKey, exports.removeJeScheduleLocalDataById = _a.removeJeScheduleLocalDataById, exports.removeJeScheduleTransactionKey = _a.removeJeScheduleTransactionKey, exports.retryJeSchedule = _a.retryJeSchedule, exports.retryJeScheduleFailure = _a.retryJeScheduleFailure, exports.retryJeScheduleSuccess = _a.retryJeScheduleSuccess, exports.saveAccountSettings = _a.saveAccountSettings, exports.saveAccountSettingsFailure = _a.saveAccountSettingsFailure, exports.saveAccountSettingsLocalData = _a.saveAccountSettingsLocalData, exports.saveAccountSettingsSuccess = _a.saveAccountSettingsSuccess, exports.updateAccountSettingsListForAccountTypes = _a.updateAccountSettingsListForAccountTypes, exports.updateAccountSettingsListForAccountTypesFailure = _a.updateAccountSettingsListForAccountTypesFailure, exports.updateJESchedulesUIState = _a.updateJESchedulesUIState, exports.updateJeScheduleLocalDataById = _a.updateJeScheduleLocalDataById, exports.updateJeScheduleTransactionKeys = _a.updateJeScheduleTransactionKeys, exports.updateRecommendationForAccountSettings = _a.updateRecommendationForAccountSettings, exports.updateRecommendationForAccountSettingsFailure = _a.updateRecommendationForAccountSettingsFailure;
378
398
  exports.default = expenseAutomationJESchedulesView.reducer;
379
399
  const doUpdateRecommendationForAccountSettings = (draft, payload) => {
380
400
  const { prepaidExpensesRecommendations, fixedAssetsRecommendations, accruedExpensesRecommendations, } = (0, accountTypeRecommendationPayload_1.mapAccountTypeRecommendationPayloadToAccountRecommendationByType)(payload);
@@ -12,6 +12,12 @@ export declare const initialBulkUploadState: BulkUploadState;
12
12
  export declare const initialState: MissingReceiptsViewState;
13
13
  /** Epic trigger only; batch-details fetch is handled in epics. */
14
14
  export declare const fetchBulkUploadBatchDetails: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationMissingReceiptsView/fetchBulkUploadBatchDetails">;
15
+ /**
16
+ * Epic trigger only. Dispatched from the screen on missing-receipts entry / period switch so the
17
+ * automatching banner is restored for the logged-in user even when they sit on the Missing tab
18
+ * after a hard refresh. The epic owns the list + details API calls end-to-end.
19
+ */
20
+ export declare const restoreBulkUploadAutomatchingOnMount: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationMissingReceiptsView/restoreBulkUploadAutomatchingOnMount">;
15
21
  export declare const fetchMissingReceipts: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, minimumTransactionAmount: Amount, cacheOverride?: any, refreshViewInBackground?: any], {
16
22
  period: TimePeriod;
17
23
  minimumTransactionAmount: Amount;
@@ -34,11 +40,15 @@ export declare const fetchMissingReceipts: import("@reduxjs/toolkit").ActionCrea
34
40
  selectedPeriod: MonthYearPeriod;
35
41
  }, "expenseAutomationMissingReceiptsView/markMissingReceiptAsDone", never, never>, clearExpenseAutomationMissingReceiptsView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationMissingReceiptsView/clearExpenseAutomationMissingReceiptsView">, bulkUploadReceipts: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[files: File[]], {
36
42
  files: File[];
37
- }, "expenseAutomationMissingReceiptsView/bulkUploadReceipts", never, never>, updateBulkUploadProgress: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "expenseAutomationMissingReceiptsView/updateBulkUploadProgress">, bulkUploadReceiptsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
43
+ fileCount: number;
44
+ }, "expenseAutomationMissingReceiptsView/bulkUploadReceipts", never, never>, updateBulkUploadProgress: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "expenseAutomationMissingReceiptsView/updateBulkUploadProgress">, setBulkUploadUploadedFileCount: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "expenseAutomationMissingReceiptsView/setBulkUploadUploadedFileCount">, bulkUploadReceiptsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
38
45
  batchId: ID;
39
46
  }, "expenseAutomationMissingReceiptsView/bulkUploadReceiptsSuccess">, bulkUploadReceiptsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
40
47
  error: ZeniAPIStatus;
41
- }, "expenseAutomationMissingReceiptsView/bulkUploadReceiptsFailure">, bulkUploadAutomatchingTimedOut: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[batchId: string], {
48
+ }, "expenseAutomationMissingReceiptsView/bulkUploadReceiptsFailure">, restoreBulkUploadMatchingState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
49
+ batchId: ID;
50
+ totalFiles: number;
51
+ }, "expenseAutomationMissingReceiptsView/restoreBulkUploadMatchingState">, bulkUploadAutomatchingTimedOut: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[batchId: string], {
42
52
  batchId: string;
43
53
  }, "expenseAutomationMissingReceiptsView/bulkUploadAutomatchingTimedOut", never, never>, pusherBatchStatusUpdate: import("@reduxjs/toolkit").ActionCreatorWithPayload<BatchStatus, "expenseAutomationMissingReceiptsView/pusherBatchStatusUpdate">, requestMissingReceiptsTabNavigation: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
44
54
  tab: BulkUploadResultsTab;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.fetchCompletedTransactionsFailure = exports.fetchCompletedTransactionsSuccess = exports.fetchCompletedTransactions = exports.acknowledgeBulkUploadConfirmMatchComplete = exports.clearManualSearchResults = exports.searchTransactionsForManualMatchFailure = exports.searchTransactionsForManualMatchSuccess = exports.searchTransactionsForManualMatch = exports.clearBulkUpload = exports.setBulkUploadSortConfig = exports.setBulkUploadCompletedSubTab = exports.setBulkUploadResultsTab = exports.confirmBulkUploadMatchFailure = exports.confirmBulkUploadMatchSuccess = exports.confirmBulkUploadMatch = exports.fetchBulkUploadBatchesFailure = exports.fetchBulkUploadBatchesSuccess = exports.fetchBulkUploadBatches = exports.fetchMoreBatchDetailsFailure = exports.fetchMoreBatchDetailsComplete = exports.fetchMoreBatchDetails = exports.setInitialBatchDetailsLoading = exports.batchDetailFetchFailed = exports.storeBatchDetails = exports.fetchBulkUploadBatchDetailsFailure = exports.fetchBulkUploadBatchDetailsSuccess = exports.clearMissingReceiptsTabNavigation = exports.requestMissingReceiptsTabNavigation = exports.pusherBatchStatusUpdate = exports.bulkUploadAutomatchingTimedOut = exports.bulkUploadReceiptsFailure = exports.bulkUploadReceiptsSuccess = exports.updateBulkUploadProgress = exports.bulkUploadReceipts = exports.clearExpenseAutomationMissingReceiptsView = exports.markMissingReceiptAsDone = exports.updateMissingReceiptsUIState = exports.updateMissingReceiptUploadState = exports.uploadMissingReceiptSuccess = exports.fetchMissingReceiptsFailure = exports.fetchMissingReceiptsSuccess = exports.fetchMissingReceipts = exports.fetchBulkUploadBatchDetails = exports.initialState = exports.initialBulkUploadState = exports.getCompletedTransactionsCacheKey = void 0;
4
+ exports.fetchCompletedTransactionsFailure = exports.fetchCompletedTransactionsSuccess = exports.fetchCompletedTransactions = exports.acknowledgeBulkUploadConfirmMatchComplete = exports.clearManualSearchResults = exports.searchTransactionsForManualMatchFailure = exports.searchTransactionsForManualMatchSuccess = exports.searchTransactionsForManualMatch = exports.clearBulkUpload = exports.setBulkUploadSortConfig = exports.setBulkUploadCompletedSubTab = exports.setBulkUploadResultsTab = exports.confirmBulkUploadMatchFailure = exports.confirmBulkUploadMatchSuccess = exports.confirmBulkUploadMatch = exports.fetchBulkUploadBatchesFailure = exports.fetchBulkUploadBatchesSuccess = exports.fetchBulkUploadBatches = exports.fetchMoreBatchDetailsFailure = exports.fetchMoreBatchDetailsComplete = exports.fetchMoreBatchDetails = exports.setInitialBatchDetailsLoading = exports.batchDetailFetchFailed = exports.storeBatchDetails = exports.fetchBulkUploadBatchDetailsFailure = exports.fetchBulkUploadBatchDetailsSuccess = exports.clearMissingReceiptsTabNavigation = exports.requestMissingReceiptsTabNavigation = exports.pusherBatchStatusUpdate = exports.bulkUploadAutomatchingTimedOut = exports.restoreBulkUploadMatchingState = exports.bulkUploadReceiptsFailure = exports.bulkUploadReceiptsSuccess = exports.setBulkUploadUploadedFileCount = exports.updateBulkUploadProgress = exports.bulkUploadReceipts = exports.clearExpenseAutomationMissingReceiptsView = exports.markMissingReceiptAsDone = exports.updateMissingReceiptsUIState = exports.updateMissingReceiptUploadState = exports.uploadMissingReceiptSuccess = exports.fetchMissingReceiptsFailure = exports.fetchMissingReceiptsSuccess = exports.fetchMissingReceipts = exports.restoreBulkUploadAutomatchingOnMount = exports.fetchBulkUploadBatchDetails = exports.initialState = exports.initialBulkUploadState = exports.getCompletedTransactionsCacheKey = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
7
7
  const missingReceiptsViewState_1 = require("../types/missingReceiptsViewState");
@@ -32,6 +32,7 @@ exports.initialBulkUploadState = {
32
32
  phase: 'idle',
33
33
  sortKey: 'date',
34
34
  sortOrder: 'descending',
35
+ uploadedFileCount: 0,
35
36
  uploadProgress: 0,
36
37
  uploadStatus: { fetchState: 'Not-Started', error: undefined },
37
38
  };
@@ -58,6 +59,12 @@ exports.initialState = {
58
59
  };
59
60
  /** Epic trigger only; batch-details fetch is handled in epics. */
60
61
  exports.fetchBulkUploadBatchDetails = (0, toolkit_1.createAction)('expenseAutomationMissingReceiptsView/fetchBulkUploadBatchDetails');
62
+ /**
63
+ * Epic trigger only. Dispatched from the screen on missing-receipts entry / period switch so the
64
+ * automatching banner is restored for the logged-in user even when they sit on the Missing tab
65
+ * after a hard refresh. The epic owns the list + details API calls end-to-end.
66
+ */
67
+ exports.restoreBulkUploadAutomatchingOnMount = (0, toolkit_1.createAction)('expenseAutomationMissingReceiptsView/restoreBulkUploadAutomatchingOnMount');
61
68
  const expenseAutomationMissingReceiptsView = (0, toolkit_1.createSlice)({
62
69
  name: 'expenseAutomationMissingReceiptsView',
63
70
  initialState: exports.initialState,
@@ -161,21 +168,29 @@ const expenseAutomationMissingReceiptsView = (0, toolkit_1.createSlice)({
161
168
  },
162
169
  // -- Bulk Upload Actions --
163
170
  bulkUploadReceipts: {
164
- reducer(draft) {
171
+ reducer(draft, action) {
165
172
  draft.bulkUpload.phase = 'uploading';
166
173
  draft.bulkUpload.uploadProgress = 0;
174
+ draft.bulkUpload.uploadedFileCount = action.payload.fileCount;
167
175
  draft.bulkUpload.uploadStatus = {
168
176
  fetchState: 'In-Progress',
169
177
  error: undefined,
170
178
  };
171
179
  },
172
180
  prepare(files) {
173
- return { payload: { files } };
181
+ return { payload: { files, fileCount: files.length } };
174
182
  },
175
183
  },
176
184
  updateBulkUploadProgress(draft, action) {
177
185
  draft.bulkUpload.uploadProgress = action.payload;
178
186
  },
187
+ /**
188
+ * Sync file count when bulk upload uses direct HTTP (`bulkUploadReceipts` Redux action is not
189
+ * dispatched, so `bulkUploadReceipts` reducer never runs).
190
+ */
191
+ setBulkUploadUploadedFileCount(draft, action) {
192
+ draft.bulkUpload.uploadedFileCount = action.payload;
193
+ },
179
194
  bulkUploadReceiptsSuccess(draft, action) {
180
195
  draft.bulkUpload.currentBatchId = action.payload.batchId;
181
196
  draft.bulkUpload.uploadProgress = 100;
@@ -192,6 +207,14 @@ const expenseAutomationMissingReceiptsView = (0, toolkit_1.createSlice)({
192
207
  };
193
208
  draft.bulkUpload.phase = 'idle';
194
209
  },
210
+ restoreBulkUploadMatchingState(draft, action) {
211
+ if (draft.bulkUpload.phase !== 'idle') {
212
+ return;
213
+ }
214
+ draft.bulkUpload.currentBatchId = action.payload.batchId;
215
+ draft.bulkUpload.uploadedFileCount = action.payload.totalFiles;
216
+ draft.bulkUpload.phase = 'matching';
217
+ },
195
218
  bulkUploadAutomatchingTimedOut: {
196
219
  reducer(draft, action) {
197
220
  if (draft.bulkUpload.phase !== 'matching' ||
@@ -556,7 +579,7 @@ const expenseAutomationMissingReceiptsView = (0, toolkit_1.createSlice)({
556
579
  });
557
580
  _a = expenseAutomationMissingReceiptsView.actions, exports.fetchMissingReceipts = _a.fetchMissingReceipts, exports.fetchMissingReceiptsSuccess = _a.fetchMissingReceiptsSuccess, exports.fetchMissingReceiptsFailure = _a.fetchMissingReceiptsFailure, exports.uploadMissingReceiptSuccess = _a.uploadMissingReceiptSuccess, exports.updateMissingReceiptUploadState = _a.updateMissingReceiptUploadState, exports.updateMissingReceiptsUIState = _a.updateMissingReceiptsUIState, exports.markMissingReceiptAsDone = _a.markMissingReceiptAsDone, exports.clearExpenseAutomationMissingReceiptsView = _a.clearExpenseAutomationMissingReceiptsView,
558
581
  // Bulk Upload
559
- exports.bulkUploadReceipts = _a.bulkUploadReceipts, exports.updateBulkUploadProgress = _a.updateBulkUploadProgress, exports.bulkUploadReceiptsSuccess = _a.bulkUploadReceiptsSuccess, exports.bulkUploadReceiptsFailure = _a.bulkUploadReceiptsFailure, exports.bulkUploadAutomatchingTimedOut = _a.bulkUploadAutomatchingTimedOut, exports.pusherBatchStatusUpdate = _a.pusherBatchStatusUpdate, exports.requestMissingReceiptsTabNavigation = _a.requestMissingReceiptsTabNavigation, exports.clearMissingReceiptsTabNavigation = _a.clearMissingReceiptsTabNavigation, exports.fetchBulkUploadBatchDetailsSuccess = _a.fetchBulkUploadBatchDetailsSuccess, exports.fetchBulkUploadBatchDetailsFailure = _a.fetchBulkUploadBatchDetailsFailure, exports.storeBatchDetails = _a.storeBatchDetails, exports.batchDetailFetchFailed = _a.batchDetailFetchFailed, exports.setInitialBatchDetailsLoading = _a.setInitialBatchDetailsLoading, exports.fetchMoreBatchDetails = _a.fetchMoreBatchDetails, exports.fetchMoreBatchDetailsComplete = _a.fetchMoreBatchDetailsComplete, exports.fetchMoreBatchDetailsFailure = _a.fetchMoreBatchDetailsFailure, exports.fetchBulkUploadBatches = _a.fetchBulkUploadBatches, exports.fetchBulkUploadBatchesSuccess = _a.fetchBulkUploadBatchesSuccess, exports.fetchBulkUploadBatchesFailure = _a.fetchBulkUploadBatchesFailure, exports.confirmBulkUploadMatch = _a.confirmBulkUploadMatch, exports.confirmBulkUploadMatchSuccess = _a.confirmBulkUploadMatchSuccess, exports.confirmBulkUploadMatchFailure = _a.confirmBulkUploadMatchFailure, exports.setBulkUploadResultsTab = _a.setBulkUploadResultsTab, exports.setBulkUploadCompletedSubTab = _a.setBulkUploadCompletedSubTab, exports.setBulkUploadSortConfig = _a.setBulkUploadSortConfig, exports.clearBulkUpload = _a.clearBulkUpload, exports.searchTransactionsForManualMatch = _a.searchTransactionsForManualMatch, exports.searchTransactionsForManualMatchSuccess = _a.searchTransactionsForManualMatchSuccess, exports.searchTransactionsForManualMatchFailure = _a.searchTransactionsForManualMatchFailure, exports.clearManualSearchResults = _a.clearManualSearchResults, exports.acknowledgeBulkUploadConfirmMatchComplete = _a.acknowledgeBulkUploadConfirmMatchComplete,
582
+ exports.bulkUploadReceipts = _a.bulkUploadReceipts, exports.updateBulkUploadProgress = _a.updateBulkUploadProgress, exports.setBulkUploadUploadedFileCount = _a.setBulkUploadUploadedFileCount, exports.bulkUploadReceiptsSuccess = _a.bulkUploadReceiptsSuccess, exports.bulkUploadReceiptsFailure = _a.bulkUploadReceiptsFailure, exports.restoreBulkUploadMatchingState = _a.restoreBulkUploadMatchingState, exports.bulkUploadAutomatchingTimedOut = _a.bulkUploadAutomatchingTimedOut, exports.pusherBatchStatusUpdate = _a.pusherBatchStatusUpdate, exports.requestMissingReceiptsTabNavigation = _a.requestMissingReceiptsTabNavigation, exports.clearMissingReceiptsTabNavigation = _a.clearMissingReceiptsTabNavigation, exports.fetchBulkUploadBatchDetailsSuccess = _a.fetchBulkUploadBatchDetailsSuccess, exports.fetchBulkUploadBatchDetailsFailure = _a.fetchBulkUploadBatchDetailsFailure, exports.storeBatchDetails = _a.storeBatchDetails, exports.batchDetailFetchFailed = _a.batchDetailFetchFailed, exports.setInitialBatchDetailsLoading = _a.setInitialBatchDetailsLoading, exports.fetchMoreBatchDetails = _a.fetchMoreBatchDetails, exports.fetchMoreBatchDetailsComplete = _a.fetchMoreBatchDetailsComplete, exports.fetchMoreBatchDetailsFailure = _a.fetchMoreBatchDetailsFailure, exports.fetchBulkUploadBatches = _a.fetchBulkUploadBatches, exports.fetchBulkUploadBatchesSuccess = _a.fetchBulkUploadBatchesSuccess, exports.fetchBulkUploadBatchesFailure = _a.fetchBulkUploadBatchesFailure, exports.confirmBulkUploadMatch = _a.confirmBulkUploadMatch, exports.confirmBulkUploadMatchSuccess = _a.confirmBulkUploadMatchSuccess, exports.confirmBulkUploadMatchFailure = _a.confirmBulkUploadMatchFailure, exports.setBulkUploadResultsTab = _a.setBulkUploadResultsTab, exports.setBulkUploadCompletedSubTab = _a.setBulkUploadCompletedSubTab, exports.setBulkUploadSortConfig = _a.setBulkUploadSortConfig, exports.clearBulkUpload = _a.clearBulkUpload, exports.searchTransactionsForManualMatch = _a.searchTransactionsForManualMatch, exports.searchTransactionsForManualMatchSuccess = _a.searchTransactionsForManualMatchSuccess, exports.searchTransactionsForManualMatchFailure = _a.searchTransactionsForManualMatchFailure, exports.clearManualSearchResults = _a.clearManualSearchResults, exports.acknowledgeBulkUploadConfirmMatchComplete = _a.acknowledgeBulkUploadConfirmMatchComplete,
560
583
  // Completed Transactions
561
584
  exports.fetchCompletedTransactions = _a.fetchCompletedTransactions, exports.fetchCompletedTransactionsSuccess = _a.fetchCompletedTransactionsSuccess, exports.fetchCompletedTransactionsFailure = _a.fetchCompletedTransactionsFailure;
562
585
  exports.default = expenseAutomationMissingReceiptsView.reducer;
@@ -2,9 +2,10 @@ import { Amount } from '../../../commonStateTypes/amount';
2
2
  import { FetchState, ID } from '../../../commonStateTypes/common';
3
3
  import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes';
4
4
  import { MonthYearPeriod } from '../../../commonStateTypes/timePeriod';
5
+ import { ReconciliationDataPayload } from '../../../entity/accountRecon/accountReconPayload';
5
6
  import { ZeniAPIStatus } from '../../../responsePayload';
6
- import { ReconciliationPayload, UploadStatementDocumentAIPayload } from '../payload/reconciliationPayload';
7
- import { AccountReconciliationLocalData, ActionFetchStates, ReconReconcileSortKey, ReconReviewSortKey, ReconciliationReviewTabLocalData, ReconciliationTabsState, ReconciliationViewState, ReconciliationViewTabType, SaveReconcileDetailActionPayload, SaveReconciliationDetailFailurePayload, TransactionSummary } from '../types/reconciliationViewState';
7
+ import { ExcludedAccountFromReconciliationPayload, ReconciliationPayload, UploadStatementDocumentAIPayload } from '../payload/reconciliationPayload';
8
+ import { AccountReconciliationLocalData, ActionFetchStates, ExcludeAccountFromReconciliationPayload, ReconReconcileSortKey, ReconReviewSortKey, ReconciliationReviewTabLocalData, ReconciliationTabsState, ReconciliationViewState, ReconciliationViewTabType, SaveReconcileDetailActionPayload, SaveReconciliationDetailFailurePayload, TransactionSummary } from '../types/reconciliationViewState';
8
9
  export declare const initialReconciliationTabsState: ReconciliationTabsState;
9
10
  export declare const initialActionFetchState: ActionFetchStates;
10
11
  export declare const initialState: ReconciliationViewState;
@@ -86,7 +87,17 @@ export declare const fetchReconciliation: import("@reduxjs/toolkit").ActionCreat
86
87
  accountId: ID;
87
88
  error: ZeniAPIStatus;
88
89
  selectedPeriod: MonthYearPeriod;
89
- }, "expenseAutomationReconciliationView/deleteAccountStatementFailure">, uploadAccountStatement: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
90
+ }, "expenseAutomationReconciliationView/deleteAccountStatementFailure">, excludeAccountFromReconciliation: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: ExcludeAccountFromReconciliationPayload], ExcludeAccountFromReconciliationPayload, "expenseAutomationReconciliationView/excludeAccountFromReconciliation", never, never>, excludeAccountFromReconciliationSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
91
+ selectedPeriod: MonthYearPeriod;
92
+ account?: ExcludedAccountFromReconciliationPayload;
93
+ }, "expenseAutomationReconciliationView/excludeAccountFromReconciliationSuccess">, excludeAccountFromReconciliationFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
94
+ error: ZeniAPIStatus;
95
+ }, "expenseAutomationReconciliationView/excludeAccountFromReconciliationFailure">, includeAccountInReconciliation: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: ExcludeAccountFromReconciliationPayload], ExcludeAccountFromReconciliationPayload, "expenseAutomationReconciliationView/includeAccountInReconciliation", never, never>, includeAccountInReconciliationSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
96
+ selectedPeriod: MonthYearPeriod;
97
+ reconciliation?: ReconciliationDataPayload;
98
+ }, "expenseAutomationReconciliationView/includeAccountInReconciliationSuccess">, includeAccountInReconciliationFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
99
+ error: ZeniAPIStatus;
100
+ }, "expenseAutomationReconciliationView/includeAccountInReconciliationFailure">, uploadAccountStatement: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
90
101
  accountId: ID;
91
102
  payload: UploadStatementDocumentAIPayload;
92
103
  selectedPeriod: MonthYearPeriod;
@@ -99,6 +110,9 @@ export declare const fetchReconciliation: import("@reduxjs/toolkit").ActionCreat
99
110
  selectedPeriod: MonthYearPeriod;
100
111
  }, "expenseAutomationReconciliationView/uploadAccountStatementFailure">, updateStatementUploadChosen: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
101
112
  statementUploadChosen: boolean;
102
- }, "expenseAutomationReconciliationView/updateStatementUploadChosen">;
113
+ }, "expenseAutomationReconciliationView/updateStatementUploadChosen">, updateNodeCollapseState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
114
+ collapsed: boolean;
115
+ nodeId: ID;
116
+ }, "expenseAutomationReconciliationView/updateNodeCollapseState">;
103
117
  declare const _default: import("redux").Reducer<ReconciliationViewState>;
104
118
  export default _default;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.updateStatementUploadChosen = exports.uploadAccountStatementFailure = exports.uploadAccountStatementSuccess = exports.uploadAccountStatement = exports.deleteAccountStatementFailure = exports.deleteAccountStatementSuccess = exports.deleteAccountStatement = exports.updateAccountReconciliationLocalData = exports.updateReconListScrollPosition = exports.updateSaveReconciliationReviewFetchStatus = exports.saveReconciliationReview = exports.updateReviewTabLocalData = exports.initializeReconciliationReviewTabLocalData = exports.updateReviewTabSortState = exports.updateSelectedDrawerAccountId = exports.clearExpenseAutomationReconciliationView = exports.initialiseLocalDataForSelectedAccountId = exports.updateBalancesLocalData = exports.updateSelectedTab = exports.saveReconciliationDetailSuccess = exports.updateReconcileTabListScrollState = exports.updateReconcileTabListSortState = exports.updateReconcileTabLocalData = exports.setStatementParseInProgress = exports.setConnectionInProgressForAccount = exports.updateSelectedAccountId = exports.saveReconciliationDetailFailure = exports.saveReconciliationDetail = exports.fetchReconciliationSuccess = exports.fetchReconciliationFailure = exports.fetchReconciliation = exports.initialState = exports.initialActionFetchState = exports.initialReconciliationTabsState = void 0;
4
+ exports.updateNodeCollapseState = exports.updateStatementUploadChosen = exports.uploadAccountStatementFailure = exports.uploadAccountStatementSuccess = exports.uploadAccountStatement = exports.includeAccountInReconciliationFailure = exports.includeAccountInReconciliationSuccess = exports.includeAccountInReconciliation = exports.excludeAccountFromReconciliationFailure = exports.excludeAccountFromReconciliationSuccess = exports.excludeAccountFromReconciliation = exports.deleteAccountStatementFailure = exports.deleteAccountStatementSuccess = exports.deleteAccountStatement = exports.updateAccountReconciliationLocalData = exports.updateReconListScrollPosition = exports.updateSaveReconciliationReviewFetchStatus = exports.saveReconciliationReview = exports.updateReviewTabLocalData = exports.initializeReconciliationReviewTabLocalData = exports.updateReviewTabSortState = exports.updateSelectedDrawerAccountId = exports.clearExpenseAutomationReconciliationView = exports.initialiseLocalDataForSelectedAccountId = exports.updateBalancesLocalData = exports.updateSelectedTab = exports.saveReconciliationDetailSuccess = exports.updateReconcileTabListScrollState = exports.updateReconcileTabListSortState = exports.updateReconcileTabLocalData = exports.setStatementParseInProgress = exports.setConnectionInProgressForAccount = exports.updateSelectedAccountId = exports.saveReconciliationDetailFailure = exports.saveReconciliationDetail = exports.fetchReconciliationSuccess = exports.fetchReconciliationFailure = exports.fetchReconciliation = exports.initialState = exports.initialActionFetchState = exports.initialReconciliationTabsState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
7
7
  const accountState_1 = require("../../../entity/account/accountState");
@@ -41,7 +41,15 @@ exports.initialReconciliationTabsState = {
41
41
  },
42
42
  };
43
43
  exports.initialActionFetchState = {
44
+ excludeAccountFetch: {
45
+ fetchState: 'Not-Started',
46
+ error: undefined,
47
+ },
44
48
  excludeFetchById: {},
49
+ includeAccountFetch: {
50
+ fetchState: 'Not-Started',
51
+ error: undefined,
52
+ },
45
53
  reconcileFetch: {
46
54
  fetchState: 'Not-Started',
47
55
  error: undefined,
@@ -55,6 +63,7 @@ exports.initialActionFetchState = {
55
63
  exports.initialState = {
56
64
  accountReconciliationRecordsBySelectedPeriod: {},
57
65
  accountConnectionStatusByAccountID: {},
66
+ excludedAccountExclusionInfo: {},
58
67
  fetchState: 'Not-Started',
59
68
  error: undefined,
60
69
  selectedTab: 'review',
@@ -64,10 +73,12 @@ exports.initialState = {
64
73
  selectedAccountId: undefined,
65
74
  statementUploadChosen: false,
66
75
  reconListUIState: {
76
+ nodeCollapseState: {},
67
77
  scrollPosition: {
68
78
  scrollTop: 0,
69
79
  },
70
80
  },
81
+ excludedAccountIDs: [],
71
82
  };
72
83
  // Create slice with reducers
73
84
  const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
@@ -136,7 +147,7 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
136
147
  fetchReconciliationSuccess: {
137
148
  reducer(draft, action) {
138
149
  if (action.payload.accountId == null) {
139
- updateAllReconciliation(draft, action.payload.reconciliation.accounts, action.payload.selectedPeriod, action.payload.reconciliation.reconciliation, action.payload.refreshViewInBackground);
150
+ updateAllReconciliation(draft, action.payload.reconciliation.accounts, action.payload.selectedPeriod, action.payload.reconciliation.reconciliation, action.payload.refreshViewInBackground, action.payload.reconciliation.excluded_accounts ?? []);
140
151
  }
141
152
  else if (action.payload.reconciliation.reconciliation.length > 0 &&
142
153
  action.payload.reconciliation.accounts.length > 0) {
@@ -348,6 +359,10 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
348
359
  updateReconListScrollPosition: (draft, action) => {
349
360
  draft.reconListUIState.scrollPosition = action.payload.scrollPosition;
350
361
  },
362
+ updateNodeCollapseState: (draft, action) => {
363
+ draft.reconListUIState.nodeCollapseState[action.payload.nodeId] =
364
+ action.payload.collapsed;
365
+ },
351
366
  setConnectionInProgressForAccount: (draft, action) => {
352
367
  if (draft.accountConnectionStatusByAccountID[action.payload.accountId] ==
353
368
  null) {
@@ -425,6 +440,85 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
425
440
  ...localData,
426
441
  };
427
442
  },
443
+ excludeAccountFromReconciliation: {
444
+ reducer(draft) {
445
+ draft.actionFetchState.excludeAccountFetch = {
446
+ fetchState: 'In-Progress',
447
+ error: undefined,
448
+ };
449
+ },
450
+ prepare(payload) {
451
+ return { payload };
452
+ },
453
+ },
454
+ excludeAccountFromReconciliationSuccess: (draft, action) => {
455
+ draft.actionFetchState.excludeAccountFetch = {
456
+ fetchState: 'Completed',
457
+ error: undefined,
458
+ };
459
+ const { account, selectedPeriod } = action.payload;
460
+ if (account != null) {
461
+ if (!draft.excludedAccountIDs.includes(account.account_id)) {
462
+ draft.excludedAccountIDs.push(account.account_id);
463
+ }
464
+ updateExcludedAccountExclusionInfo(draft, account);
465
+ const monthYearPeriodId = (0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod);
466
+ if (draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId]
467
+ ?.accountIDs != null) {
468
+ draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId].accountIDs = draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId].accountIDs.filter((id) => id !== account.account_id);
469
+ }
470
+ }
471
+ },
472
+ excludeAccountFromReconciliationFailure: (draft, action) => {
473
+ draft.actionFetchState.excludeAccountFetch = {
474
+ fetchState: 'Error',
475
+ error: action.payload.error,
476
+ };
477
+ },
478
+ includeAccountInReconciliation: {
479
+ reducer(draft) {
480
+ draft.actionFetchState.includeAccountFetch = {
481
+ fetchState: 'In-Progress',
482
+ error: undefined,
483
+ };
484
+ },
485
+ prepare(payload) {
486
+ return { payload };
487
+ },
488
+ },
489
+ includeAccountInReconciliationSuccess: (draft, action) => {
490
+ draft.actionFetchState.includeAccountFetch = {
491
+ fetchState: 'Completed',
492
+ error: undefined,
493
+ };
494
+ const { reconciliation, selectedPeriod } = action.payload;
495
+ if (reconciliation == null) {
496
+ return;
497
+ }
498
+ const accountId = reconciliation.account_id;
499
+ draft.excludedAccountIDs = draft.excludedAccountIDs.filter((id) => id !== accountId);
500
+ delete draft.excludedAccountExclusionInfo[accountId];
501
+ const monthYearPeriodId = (0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod);
502
+ const accountReconciliationRecords = draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId];
503
+ if (accountReconciliationRecords != null) {
504
+ if (!accountReconciliationRecords.accountIDs.includes(accountId)) {
505
+ accountReconciliationRecords.accountIDs.push(accountId);
506
+ }
507
+ // put this in a function
508
+ updateReconciliationByAccountIDOnIncludeAccount(draft, accountId, reconciliation, monthYearPeriodId);
509
+ }
510
+ draft.accountConnectionStatusByAccountID[accountId] = {
511
+ status: (0, accountReconState_1.toBankStatusCodeType)(reconciliation.bank_status.code),
512
+ connectionInProgress: false,
513
+ paymentAccountId: undefined,
514
+ };
515
+ },
516
+ includeAccountInReconciliationFailure: (draft, action) => {
517
+ draft.actionFetchState.includeAccountFetch = {
518
+ fetchState: 'Error',
519
+ error: action.payload.error,
520
+ };
521
+ },
428
522
  updateStatementUploadChosen: (draft, action) => {
429
523
  draft.statementUploadChosen = action.payload.statementUploadChosen;
430
524
  },
@@ -434,10 +528,38 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
434
528
  },
435
529
  });
436
530
  // Export actions
437
- _a = expenseAutomationReconciliationView.actions, exports.fetchReconciliation = _a.fetchReconciliation, exports.fetchReconciliationFailure = _a.fetchReconciliationFailure, exports.fetchReconciliationSuccess = _a.fetchReconciliationSuccess, exports.saveReconciliationDetail = _a.saveReconciliationDetail, exports.saveReconciliationDetailFailure = _a.saveReconciliationDetailFailure, exports.updateSelectedAccountId = _a.updateSelectedAccountId, exports.setConnectionInProgressForAccount = _a.setConnectionInProgressForAccount, exports.setStatementParseInProgress = _a.setStatementParseInProgress, exports.updateReconcileTabLocalData = _a.updateReconcileTabLocalData, exports.updateReconcileTabListSortState = _a.updateReconcileTabListSortState, exports.updateReconcileTabListScrollState = _a.updateReconcileTabListScrollState, exports.saveReconciliationDetailSuccess = _a.saveReconciliationDetailSuccess, exports.updateSelectedTab = _a.updateSelectedTab, exports.updateBalancesLocalData = _a.updateBalancesLocalData, exports.initialiseLocalDataForSelectedAccountId = _a.initialiseLocalDataForSelectedAccountId, exports.clearExpenseAutomationReconciliationView = _a.clearExpenseAutomationReconciliationView, exports.updateSelectedDrawerAccountId = _a.updateSelectedDrawerAccountId, exports.updateReviewTabSortState = _a.updateReviewTabSortState, exports.initializeReconciliationReviewTabLocalData = _a.initializeReconciliationReviewTabLocalData, exports.updateReviewTabLocalData = _a.updateReviewTabLocalData, exports.saveReconciliationReview = _a.saveReconciliationReview, exports.updateSaveReconciliationReviewFetchStatus = _a.updateSaveReconciliationReviewFetchStatus, exports.updateReconListScrollPosition = _a.updateReconListScrollPosition, exports.updateAccountReconciliationLocalData = _a.updateAccountReconciliationLocalData, exports.deleteAccountStatement = _a.deleteAccountStatement, exports.deleteAccountStatementSuccess = _a.deleteAccountStatementSuccess, exports.deleteAccountStatementFailure = _a.deleteAccountStatementFailure, exports.uploadAccountStatement = _a.uploadAccountStatement, exports.uploadAccountStatementSuccess = _a.uploadAccountStatementSuccess, exports.uploadAccountStatementFailure = _a.uploadAccountStatementFailure, exports.updateStatementUploadChosen = _a.updateStatementUploadChosen;
531
+ _a = expenseAutomationReconciliationView.actions, exports.fetchReconciliation = _a.fetchReconciliation, exports.fetchReconciliationFailure = _a.fetchReconciliationFailure, exports.fetchReconciliationSuccess = _a.fetchReconciliationSuccess, exports.saveReconciliationDetail = _a.saveReconciliationDetail, exports.saveReconciliationDetailFailure = _a.saveReconciliationDetailFailure, exports.updateSelectedAccountId = _a.updateSelectedAccountId, exports.setConnectionInProgressForAccount = _a.setConnectionInProgressForAccount, exports.setStatementParseInProgress = _a.setStatementParseInProgress, exports.updateReconcileTabLocalData = _a.updateReconcileTabLocalData, exports.updateReconcileTabListSortState = _a.updateReconcileTabListSortState, exports.updateReconcileTabListScrollState = _a.updateReconcileTabListScrollState, exports.saveReconciliationDetailSuccess = _a.saveReconciliationDetailSuccess, exports.updateSelectedTab = _a.updateSelectedTab, exports.updateBalancesLocalData = _a.updateBalancesLocalData, exports.initialiseLocalDataForSelectedAccountId = _a.initialiseLocalDataForSelectedAccountId, exports.clearExpenseAutomationReconciliationView = _a.clearExpenseAutomationReconciliationView, exports.updateSelectedDrawerAccountId = _a.updateSelectedDrawerAccountId, exports.updateReviewTabSortState = _a.updateReviewTabSortState, exports.initializeReconciliationReviewTabLocalData = _a.initializeReconciliationReviewTabLocalData, exports.updateReviewTabLocalData = _a.updateReviewTabLocalData, exports.saveReconciliationReview = _a.saveReconciliationReview, exports.updateSaveReconciliationReviewFetchStatus = _a.updateSaveReconciliationReviewFetchStatus, exports.updateReconListScrollPosition = _a.updateReconListScrollPosition, exports.updateAccountReconciliationLocalData = _a.updateAccountReconciliationLocalData, exports.deleteAccountStatement = _a.deleteAccountStatement, exports.deleteAccountStatementSuccess = _a.deleteAccountStatementSuccess, exports.deleteAccountStatementFailure = _a.deleteAccountStatementFailure, exports.excludeAccountFromReconciliation = _a.excludeAccountFromReconciliation, exports.excludeAccountFromReconciliationSuccess = _a.excludeAccountFromReconciliationSuccess, exports.excludeAccountFromReconciliationFailure = _a.excludeAccountFromReconciliationFailure, exports.includeAccountInReconciliation = _a.includeAccountInReconciliation, exports.includeAccountInReconciliationSuccess = _a.includeAccountInReconciliationSuccess, exports.includeAccountInReconciliationFailure = _a.includeAccountInReconciliationFailure, exports.uploadAccountStatement = _a.uploadAccountStatement, exports.uploadAccountStatementSuccess = _a.uploadAccountStatementSuccess, exports.uploadAccountStatementFailure = _a.uploadAccountStatementFailure, exports.updateStatementUploadChosen = _a.updateStatementUploadChosen, exports.updateNodeCollapseState = _a.updateNodeCollapseState;
438
532
  // Export reducer
439
533
  exports.default = expenseAutomationReconciliationView.reducer;
440
- function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliationData, refreshViewInBackground) {
534
+ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliationData, refreshViewInBackground, excludedAccounts) {
535
+ draft.excludedAccountIDs = excludedAccounts.map((ea) => ea.account_id);
536
+ draft.excludedAccountExclusionInfo = {};
537
+ excludedAccounts.forEach((ea) => {
538
+ const { exclusion_info } = ea;
539
+ draft.excludedAccountExclusionInfo[ea.account_id] = {
540
+ bankBalance: exclusion_info.bank_balance != null
541
+ ? {
542
+ amount: exclusion_info.bank_balance,
543
+ currencyCode: ea.currency_code ?? 'USD',
544
+ currencySymbol: ea.currency_symbol ?? '$',
545
+ }
546
+ : undefined,
547
+ clearedBalance: exclusion_info.cleared_balance != null
548
+ ? {
549
+ amount: exclusion_info.cleared_balance,
550
+ currencyCode: ea.currency_code ?? 'USD',
551
+ currencySymbol: ea.currency_symbol ?? '$',
552
+ }
553
+ : undefined,
554
+ variance: exclusion_info.variance != null
555
+ ? {
556
+ amount: exclusion_info.variance,
557
+ currencyCode: ea.currency_code ?? 'USD',
558
+ currencySymbol: ea.currency_symbol ?? '$',
559
+ }
560
+ : undefined,
561
+ };
562
+ });
441
563
  draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)] = {
442
564
  accountIDs: [],
443
565
  reconciliationByAccountID: {},
@@ -475,6 +597,9 @@ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliation
475
597
  ? (0, accountState_1.toReconciliationAccountSource)(account.reconciliation_source)
476
598
  : undefined,
477
599
  },
600
+ accountDetectionReason: account?.detection_info != null && account.detection_reason != null
601
+ ? account.detection_reason
602
+ : undefined,
478
603
  };
479
604
  accountReconciliationRecords.accountIDs.push(reconciliation.account_id);
480
605
  });
@@ -520,3 +645,42 @@ function updateReconciliationByAccountID(draft, accounts, selectedPeriod, accoun
520
645
  };
521
646
  }
522
647
  }
648
+ const updateExcludedAccountExclusionInfo = (draft, account) => {
649
+ draft.excludedAccountExclusionInfo[account.account_id] = {
650
+ bankBalance: account.bank_balance != null
651
+ ? {
652
+ amount: account.bank_balance,
653
+ currencyCode: account.currency_code ?? 'USD',
654
+ currencySymbol: account.currency_symbol ?? '$',
655
+ }
656
+ : undefined,
657
+ clearedBalance: account.cleared_balance != null
658
+ ? {
659
+ amount: account.cleared_balance,
660
+ currencyCode: account.currency_code ?? 'USD',
661
+ currencySymbol: account.currency_symbol ?? '$',
662
+ }
663
+ : undefined,
664
+ variance: account.variance != null
665
+ ? {
666
+ amount: account.variance,
667
+ currencyCode: account.currency_code ?? 'USD',
668
+ currencySymbol: account.currency_symbol ?? '$',
669
+ }
670
+ : undefined,
671
+ };
672
+ };
673
+ const updateReconciliationByAccountIDOnIncludeAccount = (draft, accountId, reconciliation, monthYearPeriodId) => {
674
+ draft.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId].reconciliationByAccountID[accountId] = {
675
+ accountId,
676
+ reconciliationId: reconciliation.reconciliation_id ?? undefined,
677
+ transactionFetchState: { fetchState: 'Not-Started', error: undefined },
678
+ refreshStatus: { fetchState: 'Not-Started', error: undefined },
679
+ statementDeleteStatus: { fetchState: 'Not-Started', error: undefined },
680
+ statementUploadStatus: { fetchState: 'Not-Started', error: undefined },
681
+ statementUpdateStatus: { fetchState: 'Not-Started', error: undefined },
682
+ statementParseInProgress: reconciliation.bank_status.code === 'parsing',
683
+ localData: {},
684
+ accountDetectionReason: undefined,
685
+ };
686
+ };
@@ -18,10 +18,12 @@ export interface ExpenseAutomationJESchedulesViewSelector extends SelectorView {
18
18
  allDepreciationAccountList: AccountBase[];
19
19
  allDepreciationAccountListNestedAccountHierarchy: NestedAccountHierarchyForReport[];
20
20
  classListNestedAccountHierarchy: NestedClassHierarchyForReport[];
21
+ completedSchedules: JEScheduledTransaction[];
21
22
  completionStatus: CompletionStatusType;
22
23
  draftSchedules: JEScheduledTransaction[];
23
24
  ignoreStatusById: Record<JEScheduleTransactionKey, FetchStateAndError>;
24
25
  jeScheduleLocalDataById: Record<ID, JEScheduleLocalData>;
26
+ ongoingSchedules: JEScheduledTransaction[];
25
27
  postStatusById: Record<ID, FetchStateAndError>;
26
28
  refreshStatus: FetchStateAndError;
27
29
  resolveSchedules: JEScheduledTransactionWithFailedEntries[];
@@ -51,8 +51,10 @@ export interface BulkUploadSelectorData {
51
51
  sortKey: BulkUploadSortKey;
52
52
  sortOrder: SortOrder;
53
53
  unmatchedFiles: ResolvedBatchFile[];
54
+ uploadedFileCount: number;
54
55
  uploadProgress: number;
55
56
  uploadStatus: FetchStateAndError;
57
+ currentBatchId?: ID;
56
58
  }
57
59
  export interface ResolvedBatchDetails {
58
60
  batchId: ID;
@@ -11,7 +11,7 @@ import { Vendor } from '../../../entity/vendor/vendorState';
11
11
  import { PlaidConnectionDetails } from '../../spendManagement/plaidAccount/plaidAccountViewState';
12
12
  import { AccountReconciliationLocalData, ActionFetchStates, ReconListUIState, ReconciliationTabsState, ReconciliationViewTabType } from '../types/reconciliationViewState';
13
13
  export declare const ALL_ACCOUNT_RECON_SECTION_IDS: readonly ["assets", "liabilities"];
14
- declare const toAccountReconSectionID: (v: string) => "assets" | "liabilities";
14
+ export declare const toAccountReconSectionID: (v: string) => "assets" | "liabilities";
15
15
  export type AccountReconSectionID = ReturnType<typeof toAccountReconSectionID>;
16
16
  export interface ExpenseAutomationReconciliationViewSelector {
17
17
  accountListNestedAccountHierarchy: NestedAccountHierarchyForReport[];
@@ -24,7 +24,12 @@ export interface ExpenseAutomationReconciliationViewSelector {
24
24
  classListNestedAccountHierarchy: NestedClassHierarchyForReport[];
25
25
  completionStatus: CompletionStatusType;
26
26
  creditCards: AccountBase[];
27
+ excludeAccountFetchState: FetchStateAndError;
28
+ excludedAccountIDs: ID[];
29
+ excludedAccountReconciliationByAccountID: Record<ID, AccountReconciliationByAccount>;
30
+ excludedAccountReconciliationBySectionID: Record<AccountReconSectionID, AccountReconciliationBySection>;
27
31
  fetchStatus: FetchStateAndError;
32
+ includeAccountFetchState: FetchStateAndError;
28
33
  monthYearPeriod: MonthYearPeriod;
29
34
  plaidConnectionDetails: PlaidConnectionDetails;
30
35
  reconciliationTabsState: ReconciliationTabsState;
@@ -57,6 +62,6 @@ export interface AccountReconciliationByAccount {
57
62
  statementUpdateStatus: FetchStateAndError;
58
63
  statementUploadStatus: FetchStateAndError;
59
64
  transactionFetchState: FetchStateAndError;
65
+ accountDetectionReason?: string;
60
66
  paymentAccountId?: ID;
61
67
  }
62
- export {};
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALL_ACCOUNT_RECON_SECTION_IDS = void 0;
3
+ exports.toAccountReconSectionID = exports.ALL_ACCOUNT_RECON_SECTION_IDS = void 0;
4
4
  const stringToUnion_1 = require("../../../commonStateTypes/stringToUnion");
5
5
  exports.ALL_ACCOUNT_RECON_SECTION_IDS = ['assets', 'liabilities'];
6
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
6
  const toAccountReconSectionID = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_ACCOUNT_RECON_SECTION_IDS);
7
+ exports.toAccountReconSectionID = toAccountReconSectionID;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getExpenseAutomationFluxAnalysisView = getExpenseAutomationFluxAnalysisView;
4
+ const reduceFetchState_1 = require("../../../commonStateTypes/reduceFetchState");
4
5
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
5
6
  const accountSelector_1 = require("../../../entity/account/accountSelector");
6
7
  const classSelector_1 = require("../../../entity/class/classSelector");
@@ -9,7 +10,7 @@ const userSelector_1 = require("../../../entity/user/userSelector");
9
10
  const vendorSelector_1 = require("../../../entity/vendor/vendorSelector");
10
11
  const expenseAutomationViewSelectorTypes_1 = require("../selectorTypes/expenseAutomationViewSelectorTypes");
11
12
  function getExpenseAutomationFluxAnalysisView(state) {
12
- const { expenseAutomationFluxAnalysisViewState, monthEndCloseChecksState } = state;
13
+ const { expenseAutomationFluxAnalysisViewState, monthEndCloseChecksState, monthEndCloseChecksViewState, } = state;
13
14
  const { fetchState, error, refreshStatus, uiState, reviewOperatingExpenseIdsByPeriod, selectedSectionIdsByPeriod, groupsBySelectedPeriod, fluxAnalysisEntities, bulkReviewStatus, currency, totalBalancesAndVariance, } = expenseAutomationFluxAnalysisViewState;
14
15
  const fetchStateAndError = {
15
16
  fetchState,
@@ -94,10 +95,17 @@ function getExpenseAutomationFluxAnalysisView(state) {
94
95
  },
95
96
  };
96
97
  const completionStatus = fluxCompletionStatus != null ? fluxCompletionStatus : 'incomplete';
98
+ const monthEndFetchState = monthYearPeriodId != null
99
+ ? (monthEndCloseChecksViewState.monthEndCloseChecksViewByTenantId[currentTenant.tenantId]?.[monthYearPeriodId] ?? { fetchState: 'Not-Started', error: undefined })
100
+ : { fetchState: 'Not-Started', error: undefined };
101
+ const reducedFetchStatus = (0, reduceFetchState_1.reduceAnyFetchState)([
102
+ fetchStateAndError,
103
+ monthEndFetchState,
104
+ ]);
97
105
  return {
98
106
  sections,
99
107
  totalBalancesAndVariance,
100
- fetchStatus: fetchStateAndError,
108
+ fetchStatus: reducedFetchStatus,
101
109
  bulkReviewStatus,
102
110
  reviewOperatingExpensesIds,
103
111
  selectedSectionIds,