@zeniai/client-epic-state 4.15.25 → 4.15.26

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 (124) hide show
  1. package/lib/commonStateTypes/timePeriod.d.ts +1 -1
  2. package/lib/commonStateTypes/timePeriod.js +2 -2
  3. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  4. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
  5. package/lib/configureStore.js +1 -2
  6. package/lib/entity/account/accountState.d.ts +1 -1
  7. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  8. package/lib/entity/class/classReducer.d.ts +4 -4
  9. package/lib/entity/class/classState.d.ts +1 -1
  10. package/lib/entity/customer/customerPayload.d.ts +1 -1
  11. package/lib/entity/customer/customerPayload.js +6 -16
  12. package/lib/entity/forecast/forecastState.d.ts +1 -1
  13. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  14. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  15. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  16. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  17. package/lib/entity/snackbar/snackbarTypes.js +0 -4
  18. package/lib/entity/task/taskState.d.ts +1 -1
  19. package/lib/entity/tenant/clearAllEpic.d.ts +2 -4
  20. package/lib/entity/tenant/clearAllEpic.js +0 -4
  21. package/lib/entity/tenant/tenantReducer.d.ts +1 -1
  22. package/lib/entity/tenant/tenantReducer.js +2 -7
  23. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.d.ts +1 -1
  24. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.js +2 -1
  25. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -2
  26. package/lib/entity/transaction/payloadTypes/transactionPayload.js +3 -7
  27. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.d.ts +1 -9
  28. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.js +2 -23
  29. package/lib/entity/transaction/stateTypes/transaction.d.ts +1 -3
  30. package/lib/entity/transaction/stateTypes/transactionType.d.ts +1 -1
  31. package/lib/entity/transaction/stateTypes/transactionType.js +0 -1
  32. package/lib/entity/transaction/stateTypes/vendorTransaction.d.ts +0 -5
  33. package/lib/entity/transaction/stateTypes/vendorTransaction.js +1 -5
  34. package/lib/entity/transaction/toSupportedTransaction.js +1 -6
  35. package/lib/entity/transaction/transactionReducer.d.ts +0 -17
  36. package/lib/entity/transaction/transactionReducer.js +2 -47
  37. package/lib/entity/transaction/transactionSelector.d.ts +0 -2
  38. package/lib/entity/transaction/transactionSelector.js +0 -5
  39. package/lib/entity/transaction/transactionState.d.ts +4 -6
  40. package/lib/entity/vendorExpense/vendorExpenseSelector.d.ts +2 -2
  41. package/lib/epic.d.ts +1 -6
  42. package/lib/epic.js +1 -6
  43. package/lib/index.d.ts +6 -14
  44. package/lib/index.js +27 -52
  45. package/lib/reducer.d.ts +1 -7
  46. package/lib/reducer.js +0 -6
  47. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  48. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  49. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  50. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  51. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  52. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  53. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewReducer.d.ts +2 -2
  54. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  55. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.d.ts +1 -2
  56. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +10 -24
  57. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.d.ts +1 -2
  58. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +0 -14
  59. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +4 -20
  60. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -2
  61. package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +2 -17
  62. package/lib/view/expenseAutomationView/expenseAutomationViewState.d.ts +2 -2
  63. package/lib/view/expenseAutomationView/expenseAutomationViewState.js +1 -1
  64. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +30 -81
  65. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  66. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +10 -54
  67. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -2
  68. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +4 -5
  69. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.d.ts +0 -2
  70. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.js +1 -1
  71. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +0 -8
  72. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  73. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  74. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  75. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  76. package/lib/view/spendManagement/billPay/billsBulkActionView/epics/validateBillsBulkActionEpic.ts.js +3 -4
  77. package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.js +3 -11
  78. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.d.ts +1 -2
  79. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.js +1 -3
  80. package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.d.ts +1 -1
  81. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  82. package/lib/view/topEx/topExSelector.d.ts +1 -1
  83. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +4 -13
  84. package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +3 -16
  85. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +5 -22
  86. package/lib/view/transactionDetail/transactionDetailState.d.ts +0 -1
  87. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +0 -6
  88. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewState.d.ts +1 -1
  89. package/lib/zeniAPI.d.ts +0 -1
  90. package/package.json +1 -2
  91. package/lib/entity/accountRecon/accountReconPayload.d.ts +0 -70
  92. package/lib/entity/accountRecon/accountReconPayload.js +0 -125
  93. package/lib/entity/accountRecon/accountReconReducer.d.ts +0 -16
  94. package/lib/entity/accountRecon/accountReconReducer.js +0 -71
  95. package/lib/entity/accountRecon/accountReconSelector.d.ts +0 -28
  96. package/lib/entity/accountRecon/accountReconSelector.js +0 -44
  97. package/lib/entity/accountRecon/accountReconState.d.ts +0 -70
  98. package/lib/entity/accountRecon/accountReconState.js +0 -28
  99. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.d.ts +0 -35
  100. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.js +0 -53
  101. package/lib/entity/transaction/stateTypes/reconciliationTransaction.d.ts +0 -32
  102. package/lib/entity/transaction/stateTypes/reconciliationTransaction.js +0 -10
  103. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.d.ts +0 -15
  104. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +0 -118
  105. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.d.ts +0 -10
  106. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +0 -49
  107. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.d.ts +0 -14
  108. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.js +0 -169
  109. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.d.ts +0 -9
  110. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +0 -154
  111. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.d.ts +0 -6
  112. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.js +0 -110
  113. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.d.ts +0 -7
  114. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.js +0 -18
  115. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +0 -25
  116. package/lib/view/expenseAutomationView/payload/reconciliationPayload.js +0 -51
  117. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +0 -66
  118. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +0 -375
  119. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +0 -50
  120. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +0 -7
  121. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.d.ts +0 -5
  122. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +0 -249
  123. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +0 -102
  124. package/lib/view/expenseAutomationView/types/reconciliationViewState.js +0 -38
@@ -1,249 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAccountReconReport = exports.getExpenseAutomationReconciliationView = void 0;
4
- const toolkit_1 = require("@reduxjs/toolkit");
5
- const lodash_1 = require("lodash");
6
- const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
7
- const accountReconSelector_1 = require("../../../entity/accountRecon/accountReconSelector");
8
- const tenantSelector_1 = require("../../../entity/tenant/tenantSelector");
9
- const accountListSelector_1 = require("../../accountList/accountListSelector");
10
- const classListSelector_1 = require("../../classList/classListSelector");
11
- const reconciliationViewReducer_1 = require("../reducers/reconciliationViewReducer");
12
- const expenseAutomationViewSelectorTypes_1 = require("../selectorTypes/expenseAutomationViewSelectorTypes");
13
- exports.getExpenseAutomationReconciliationView = (0, toolkit_1.createSelector)((state) => state, (state) => (0, tenantSelector_1.getCurrentTenant)(state), (state) => state.expenseAutomationReconciliationViewState, (state) => state.expenseAutomationViewState, (state) => state.plaidAccountViewState, (state) => state.accountListState, (state) => state.accountState, (state) => state.classListState, (state) => state.classState, (state) => state.monthEndCloseChecksState, (state, currentTenant, reconciliationViewState, expenseAutomationViewState, plaidAccountViewState, accountListState, accountState, classListState, classState, monthEndCloseChecksState) => {
14
- var _a;
15
- const { selectedPeriodByTenantId } = expenseAutomationViewState;
16
- const reconcileTabUiState = reconciliationViewState.reconTabsState.reconcile.uiState;
17
- const reviewTabUiState = reconciliationViewState.reconTabsState.review.uiState;
18
- const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
19
- const accountReconForMonthYearPeriod = selectedPeriod != null
20
- ? reconciliationViewState.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)]
21
- : undefined;
22
- if (accountReconForMonthYearPeriod == null) {
23
- return {
24
- accountListNestedAccountHierarchy: [],
25
- classListNestedAccountHierarchy: [],
26
- allAccountList: [],
27
- allClassList: [],
28
- fetchStatus: {
29
- fetchState: reconciliationViewState.fetchState,
30
- error: reconciliationViewState.error,
31
- },
32
- plaidConnectionDetails: plaidAccountViewState['expense_automation_reconcile']
33
- .plaidConnectionDetails,
34
- completionStatus: 'incomplete',
35
- refreshStatus: reconciliationViewState.refreshStatus,
36
- selectedTab: reconciliationViewState.selectedTab,
37
- monthYearPeriod: selectedPeriod,
38
- selectedAccountId: reconciliationViewState.selectedAccountId,
39
- accountReconciliationsByAccountID: {},
40
- reconciliationTabsState: reconciliationViewReducer_1.initialReconciliationTabsState,
41
- actionFetchStates: reconciliationViewReducer_1.initialActionFetchState,
42
- accountReconciliationBySectionID: {
43
- assets: {
44
- sectionId: 'assets',
45
- accountIDs: [],
46
- totalBankBalance: undefined,
47
- totalClearedBalance: undefined,
48
- totalReconciledBalance: undefined,
49
- totalVariance: undefined,
50
- totalVariancePercentage: undefined,
51
- },
52
- liabilities: {
53
- sectionId: 'liabilities',
54
- accountIDs: [],
55
- totalBankBalance: undefined,
56
- totalClearedBalance: undefined,
57
- totalReconciledBalance: undefined,
58
- totalVariance: undefined,
59
- totalVariancePercentage: undefined,
60
- },
61
- },
62
- };
63
- }
64
- const allAccountIDs = accountReconForMonthYearPeriod.accountIDs;
65
- const reconList = {};
66
- const assetAccountIDs = [];
67
- const liabilityAccountIDs = [];
68
- const assetTotals = {};
69
- const liabilityTotals = {};
70
- allAccountIDs.forEach((accountID) => {
71
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
72
- const accountRecon = (0, accountReconSelector_1.getAccountReconByAccountIdAndSelectedPeriod)(state, accountID, selectedPeriod);
73
- if (accountRecon == null) {
74
- console.error(`Account reconciliation not found for account ${accountID} in period ${selectedPeriod.toString()}`);
75
- return;
76
- }
77
- const accountConnectionStatus = reconciliationViewState.accountConnectionStatusByAccountID[accountID];
78
- if (accountConnectionStatus == null) {
79
- console.error(`Account connection status not found for account ${accountID} in period ${selectedPeriod.toString()}`);
80
- return;
81
- }
82
- const account = accountRecon.account;
83
- const sortedReconcileTransactions = sortReconcileTransactions(accountRecon.transactionsToReconcile, reconcileTabUiState);
84
- accountRecon.transactionsToReconcile = sortedReconcileTransactions;
85
- const sortedReviewTabTransactions = sortReviewTabTransactions(accountRecon.transactionsToReview, reviewTabUiState);
86
- accountRecon.transactionsToReview = sortedReviewTabTransactions;
87
- if (accountConnectionStatus.status === 'connected') {
88
- if ((account === null || account === void 0 ? void 0 : account.accountType) === 'bank') {
89
- if (accountRecon.balance != null &&
90
- accountRecon.clearedBalance != null &&
91
- accountRecon.variance != null) {
92
- assetTotals.balanceTotal = Object.assign(Object.assign({}, accountRecon.balance), { amount: ((_b = (_a = assetTotals.balanceTotal) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : 0) +
93
- accountRecon.balance.amount });
94
- assetTotals.clearedTotal = Object.assign(Object.assign({}, accountRecon.clearedBalance), { amount: ((_d = (_c = assetTotals.clearedTotal) === null || _c === void 0 ? void 0 : _c.amount) !== null && _d !== void 0 ? _d : 0) +
95
- accountRecon.clearedBalance.amount });
96
- assetTotals.varianceTotal = Object.assign(Object.assign({}, accountRecon.variance), { amount: ((_f = (_e = assetTotals.varianceTotal) === null || _e === void 0 ? void 0 : _e.amount) !== null && _f !== void 0 ? _f : 0) +
97
- accountRecon.variance.amount });
98
- assetTotals.variancePercentage =
99
- assetTotals.varianceTotal.amount != null
100
- ? (assetTotals.varianceTotal.amount /
101
- assetTotals.clearedTotal.amount) *
102
- 100
103
- : undefined;
104
- }
105
- }
106
- else if (account.accountType === 'credit_card') {
107
- if (accountRecon.balance != null &&
108
- accountRecon.clearedBalance != null &&
109
- accountRecon.variance != null) {
110
- liabilityTotals.balanceTotal = Object.assign(Object.assign({}, accountRecon.balance), { amount: ((_h = (_g = liabilityTotals.balanceTotal) === null || _g === void 0 ? void 0 : _g.amount) !== null && _h !== void 0 ? _h : 0) +
111
- accountRecon.balance.amount });
112
- liabilityTotals.clearedTotal = Object.assign(Object.assign({}, accountRecon.clearedBalance), { amount: ((_k = (_j = liabilityTotals.clearedTotal) === null || _j === void 0 ? void 0 : _j.amount) !== null && _k !== void 0 ? _k : 0) +
113
- accountRecon.clearedBalance.amount });
114
- liabilityTotals.varianceTotal = Object.assign(Object.assign({}, accountRecon.variance), { amount: ((_m = (_l = liabilityTotals.varianceTotal) === null || _l === void 0 ? void 0 : _l.amount) !== null && _m !== void 0 ? _m : 0) +
115
- accountRecon.variance.amount });
116
- liabilityTotals.variancePercentage =
117
- liabilityTotals.varianceTotal.amount != null
118
- ? (liabilityTotals.varianceTotal.amount /
119
- liabilityTotals.clearedTotal.amount) *
120
- 100
121
- : undefined;
122
- }
123
- }
124
- }
125
- if ((account === null || account === void 0 ? void 0 : account.accountType) === 'bank') {
126
- assetAccountIDs.push(accountID);
127
- }
128
- else if (account.accountType === 'credit_card') {
129
- liabilityAccountIDs.push(accountID);
130
- }
131
- reconList[accountID] = {
132
- accountConnectionStatus: accountConnectionStatus.status,
133
- connectionInProgress: accountConnectionStatus.connectionInProgress,
134
- accountReconEntity: accountRecon,
135
- refreshStatus: accountReconForMonthYearPeriod.reconciliationByAccountID[accountID]
136
- .refreshStatus,
137
- transactionFetchState: accountReconForMonthYearPeriod.reconciliationByAccountID[accountID]
138
- .transactionFetchState, // transaction fetch state
139
- };
140
- });
141
- const accountReconciliationBySectionID = {
142
- assets: {
143
- sectionId: 'assets',
144
- accountIDs: assetAccountIDs,
145
- totalBankBalance: assetTotals.balanceTotal,
146
- totalClearedBalance: assetTotals.clearedTotal,
147
- totalReconciledBalance: assetTotals.varianceTotal,
148
- totalVariance: assetTotals.varianceTotal,
149
- totalVariancePercentage: assetTotals.variancePercentage,
150
- },
151
- liabilities: {
152
- sectionId: 'liabilities',
153
- accountIDs: liabilityAccountIDs,
154
- totalBankBalance: liabilityTotals.balanceTotal,
155
- totalClearedBalance: liabilityTotals.clearedTotal,
156
- totalReconciledBalance: liabilityTotals.varianceTotal,
157
- totalVariance: liabilityTotals.varianceTotal,
158
- totalVariancePercentage: liabilityTotals.variancePercentage,
159
- },
160
- };
161
- const accountListNestedAccountHierarchy = (0, accountListSelector_1.getNestedAccountListHierarchy)(accountListState, 'accountList');
162
- const classListNestedAccountHierarchy = (0, classListSelector_1.getNestedClassListHierarchy)(classListState);
163
- const accountsList = (0, accountListSelector_1.getAccountList)(accountState, accountListState, 'accountList');
164
- const classList = (0, classListSelector_1.getClassList)(classState, classListState);
165
- const allClasses = classList.classes.map((classData) => {
166
- return (0, lodash_1.omit)(classData, ['accountIds', 'key']);
167
- });
168
- const allSteps = selectedPeriod != null
169
- ? (0, expenseAutomationViewSelectorTypes_1.getAllSteps)(monthEndCloseChecksState, (0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod), currentTenant.tenantId)
170
- : [];
171
- const reconciliationCompletionStatus = (_a = allSteps.find((step) => step.step === 'reconciliation')) === null || _a === void 0 ? void 0 : _a.completionStatus;
172
- const completionStatus = reconciliationCompletionStatus !== null && reconciliationCompletionStatus !== void 0 ? reconciliationCompletionStatus : 'incomplete';
173
- return {
174
- accountReconciliationsByAccountID: reconList,
175
- fetchStatus: {
176
- fetchState: reconciliationViewState.fetchState,
177
- error: reconciliationViewState.error,
178
- },
179
- plaidConnectionDetails: plaidAccountViewState['expense_automation_reconcile']
180
- .plaidConnectionDetails,
181
- reconciliationTabsState: reconciliationViewState.reconTabsState,
182
- completionStatus,
183
- refreshStatus: reconciliationViewState.refreshStatus,
184
- selectedTab: reconciliationViewState.selectedTab,
185
- selectedDrawerAccountId: reconciliationViewState.selectedDrawerAccountId,
186
- monthYearPeriod: selectedPeriod,
187
- accountReconciliationBySectionID,
188
- selectedAccountId: reconciliationViewState.selectedAccountId,
189
- selectedReconAccount: reconciliationViewState.selectedAccountId != null &&
190
- reconList[reconciliationViewState.selectedAccountId] != null
191
- ? reconList[reconciliationViewState.selectedAccountId]
192
- : undefined, // Selects the reconciliation account based on the selectedAccountId
193
- accountListNestedAccountHierarchy,
194
- actionFetchStates: reconciliationViewState.actionFetchState,
195
- classListNestedAccountHierarchy,
196
- allAccountList: accountsList.accounts,
197
- allClassList: allClasses,
198
- };
199
- });
200
- const isAccountReconReport = (reportId) => {
201
- return reportId.endsWith('reconciliation');
202
- };
203
- exports.isAccountReconReport = isAccountReconReport;
204
- function sortReconcileTransactions(transactions, uiState) {
205
- const { sortKey, sortOrder } = uiState;
206
- return (0, lodash_1.orderBy)(transactions, (transaction) => {
207
- var _a, _b, _c, _d, _e, _f;
208
- switch (sortKey) {
209
- case 'clearedDate':
210
- return (_b = (_a = transaction.clearedDate) === null || _a === void 0 ? void 0 : _a.valueOf()) !== null && _b !== void 0 ? _b : null;
211
- case 'type':
212
- return transaction.type.toLowerCase();
213
- case 'payee':
214
- return (_d = (_c = transaction.merchantName) === null || _c === void 0 ? void 0 : _c.toLowerCase()) !== null && _d !== void 0 ? _d : null;
215
- case 'account':
216
- return (_f = (_e = transaction.accountName) === null || _e === void 0 ? void 0 : _e.toLowerCase()) !== null && _f !== void 0 ? _f : null;
217
- case 'transactionDirection':
218
- return transaction.transactionDirection.toLowerCase();
219
- case 'memo':
220
- return transaction.memo.toLowerCase();
221
- case 'amount':
222
- return transaction.amount.amount;
223
- case 'date':
224
- default:
225
- return transaction.date.valueOf();
226
- }
227
- }, sortOrder === 'ascending' ? 'asc' : 'desc');
228
- }
229
- function sortReviewTabTransactions(transactions, uiState) {
230
- const { sortKey, sortOrder } = uiState;
231
- return (0, lodash_1.orderBy)(transactions, (transaction) => {
232
- var _a, _b, _c, _d;
233
- switch (sortKey) {
234
- case 'match':
235
- return ((_b = (_a = transaction.recommendedAction) === null || _a === void 0 ? void 0 : _a.recommendedTransactions.length) !== null && _b !== void 0 ? _b : null);
236
- case 'payee':
237
- return (_d = (_c = transaction.merchantName) === null || _c === void 0 ? void 0 : _c.toLowerCase()) !== null && _d !== void 0 ? _d : null;
238
- case 'direction':
239
- return transaction.transactionDirection.toLowerCase();
240
- case 'memo':
241
- return transaction.memo.toLowerCase();
242
- case 'amount':
243
- return transaction.amount.amount;
244
- case 'date':
245
- default:
246
- return transaction.transactionDate.valueOf();
247
- }
248
- }, sortOrder === 'ascending' ? 'asc' : 'desc');
249
- }
@@ -1,102 +0,0 @@
1
- import { Amount } from '../../../commonStateTypes/amount';
2
- import { FetchStateAndError, ID } from '../../../commonStateTypes/common';
3
- import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes';
4
- import { MonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
5
- import { BankStatusCodeType } from '../../../entity/accountRecon/accountReconState';
6
- import { VendorBase } from '../../../entity/vendor/vendorState';
7
- import { ZeniAPIStatus } from '../../../responsePayload';
8
- export declare const RECONCILE_ACTIONS: readonly ["reconcile", "save_reconcile_for_later", "exclude"];
9
- export declare const toReconcileActions: (v: string) => "reconcile" | "save_reconcile_for_later" | "exclude";
10
- export type ReconcileActionType = ReturnType<typeof toReconcileActions>;
11
- export type SaveReconcileDetailActionPayload = {
12
- reconcileAction: 'exclude';
13
- excludeTransactionId: ID;
14
- } | {
15
- reconcileAction: 'reconcile' | 'save_reconcile_for_later';
16
- };
17
- export interface SaveReconciliationDetailFailurePayload {
18
- fetchStateByAction: SaveReconcileDetailActionPayload;
19
- error: ZeniAPIStatus;
20
- }
21
- export declare const toReconciliationTabsType: (v: string) => "reconcile" | "review";
22
- export declare type ReconciliationViewTabType = ReturnType<typeof toReconciliationTabsType>;
23
- declare const toReconReconcileSortKeysType: (v: string) => "type" | "date" | "amount" | "account" | "memo" | "transactionDirection" | "clearedDate" | "payee" | "recommended";
24
- export declare type ReconReconcileSortKey = ReturnType<typeof toReconReconcileSortKeysType>;
25
- export interface ReconciliationReconcileTabLocalData {
26
- selectedTransactionIds: ID[];
27
- }
28
- export interface ReconciliationReconcileTabViewUiState {
29
- scrollYOffset?: number;
30
- sortKey: ReconReconcileSortKey;
31
- sortOrder: SortOrder;
32
- }
33
- export interface TransactionSummary {
34
- count: number;
35
- totalAmount: Amount;
36
- }
37
- export interface BalancesLocalData {
38
- variance: Amount;
39
- clearedBalance: Amount;
40
- variancePercentage: number;
41
- payments: TransactionSummary;
42
- deposits: TransactionSummary;
43
- }
44
- export interface ReconciliationTabsState {
45
- reconcile: {
46
- localData: ReconciliationReconcileTabLocalData;
47
- uiState: ReconciliationReconcileTabViewUiState;
48
- };
49
- review: {
50
- localData: Record<ID, ReconciliationReviewTabLocalData>;
51
- uiState: ReconciliationReviewTabViewUiState;
52
- };
53
- balances: BalancesLocalData;
54
- }
55
- declare const toReconReviewSortKey: (v: string) => "match" | "direction" | "date" | "amount" | "memo" | "payee";
56
- export type ReconReviewSortKey = ReturnType<typeof toReconReviewSortKey>;
57
- export interface ReconciliationReviewTabViewUiState {
58
- scrollPosition: {
59
- scrollLeft?: number;
60
- scrollTop: number;
61
- } | undefined;
62
- sortKey: ReconReviewSortKey;
63
- sortOrder: SortOrder;
64
- }
65
- export interface ReconciliationReviewTabLocalData {
66
- memo: string;
67
- categoryId?: ID;
68
- classId?: ID;
69
- vendor?: VendorBase;
70
- matchedTransactionId?: ID;
71
- }
72
- export interface ActionFetchStates {
73
- excludeFetchById: Record<ID, FetchStateAndError>;
74
- saveForLaterFetch: FetchStateAndError;
75
- reconcileFetch: FetchStateAndError;
76
- saveReconciliationReviewFetch: Record<ID, FetchStateAndError>;
77
- }
78
- export interface ReconciliationViewState extends FetchStateAndError {
79
- accountReconciliationRecordsBySelectedPeriod: Record<MonthYearPeriodId, AccountReconciliationRecords>;
80
- refreshStatus: FetchStateAndError;
81
- accountConnectionStatusByAccountID: Record<ID, BankConnectionStatus>;
82
- selectedTab: ReconciliationViewTabType;
83
- selectedAccountId?: ID;
84
- selectedDrawerAccountId?: ID;
85
- reconTabsState: ReconciliationTabsState;
86
- actionFetchState: ActionFetchStates;
87
- }
88
- export interface BankConnectionStatus {
89
- status: BankStatusCodeType;
90
- connectionInProgress: boolean;
91
- }
92
- export interface AccountReconciliationRecords {
93
- accountIDs: ID[];
94
- reconciliationByAccountID: Record<ID, AccountReconciliationDataWithTransactionFetchState>;
95
- }
96
- export interface AccountReconciliationDataWithTransactionFetchState {
97
- accountId: ID;
98
- reconciliationId?: ID;
99
- transactionFetchState: FetchStateAndError;
100
- refreshStatus: FetchStateAndError;
101
- }
102
- export {};
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toReconciliationTabsType = exports.toReconcileActions = exports.RECONCILE_ACTIONS = void 0;
4
- const stringToUnion_1 = require("../../../commonStateTypes/stringToUnion");
5
- exports.RECONCILE_ACTIONS = [
6
- 'reconcile',
7
- 'save_reconcile_for_later',
8
- 'exclude',
9
- ];
10
- const toReconcileActions = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.RECONCILE_ACTIONS);
11
- exports.toReconcileActions = toReconcileActions;
12
- const RECONCILIATION_VIEW_TABS = ['reconcile', 'review'];
13
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
- const toReconciliationTabsType = (v) => (0, stringToUnion_1.stringToUnion)(v, RECONCILIATION_VIEW_TABS);
15
- exports.toReconciliationTabsType = toReconciliationTabsType;
16
- const RECON_RECONCILE_SORT_KEYS = [
17
- 'date',
18
- 'clearedDate',
19
- 'type',
20
- 'payee',
21
- 'account',
22
- 'transactionDirection',
23
- 'memo',
24
- 'amount',
25
- 'recommended',
26
- ];
27
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
- const toReconReconcileSortKeysType = (v) => (0, stringToUnion_1.stringToUnion)(v, RECON_RECONCILE_SORT_KEYS);
29
- const RECON_REVIEW_SORT_KEYS = [
30
- 'date',
31
- 'payee',
32
- 'memo',
33
- 'amount',
34
- 'direction',
35
- 'match',
36
- ];
37
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
- const toReconReviewSortKey = (v) => (0, stringToUnion_1.stringToUnion)(v, RECON_REVIEW_SORT_KEYS);