@zeniai/client-epic-state 5.2.14-betaRD0 → 5.2.14
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.
- package/lib/entity/jeSchedules/jeScheduleHelper.d.ts +0 -1
- package/lib/entity/jeSchedules/jeScheduleHelper.js +0 -7
- package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +1 -78
- package/lib/entity/jeSchedules/jeSchedulesPayload.js +4 -183
- package/lib/entity/jeSchedules/jeSchedulesReducer.d.ts +2 -4
- package/lib/entity/jeSchedules/jeSchedulesReducer.js +2 -30
- package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +2 -11
- package/lib/entity/jeSchedules/jeSchedulesSelector.js +3 -38
- package/lib/entity/jeSchedules/jeSchedulesState.d.ts +1 -123
- package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -24
- package/lib/entity/jeSchedules/jeSchedulesTypes.js +1 -96
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +0 -3
- package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.d.ts +0 -2
- package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.js +0 -2
- package/lib/entity/transaction/stateTypes/scheduleTransaction.d.ts +0 -2
- package/lib/epic.d.ts +1 -9
- package/lib/epic.js +0 -16
- package/lib/esm/entity/jeSchedules/jeScheduleHelper.js +0 -6
- package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +5 -183
- package/lib/esm/entity/jeSchedules/jeSchedulesReducer.js +2 -30
- package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +2 -36
- package/lib/esm/entity/jeSchedules/jeSchedulesTypes.js +0 -86
- package/lib/esm/entity/snackbar/snackbarTypes.js +0 -3
- package/lib/esm/entity/transaction/payloadTypes/scheduleTransactionPayload.js +0 -2
- package/lib/esm/epic.js +0 -16
- package/lib/esm/index.js +8 -14
- package/lib/esm/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -6
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulePageEpic.js +1 -9
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +5 -41
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/ignoreRecommendedJeScheduleEpic.js +2 -14
- package/lib/esm/view/expenseAutomationView/payload/jeSchedulesPayload.js +0 -55
- package/lib/esm/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +29 -319
- package/lib/esm/view/expenseAutomationView/selectors/jeAccountSettingsViewSelector.js +0 -1
- package/lib/esm/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +22 -327
- package/lib/esm/view/expenseAutomationView/types/jeSchedulesViewState.js +6 -5
- package/lib/esm/view/scheduleView/scheduleListView/epics/fetchAccruedScheduleListEpic.js +1 -1
- package/lib/esm/view/scheduleView/scheduleListView/epics/fetchDownloadSchedulesEpic.js +2 -7
- package/lib/esm/view/scheduleView/scheduleListView/scheduleListReducer.js +3 -5
- package/lib/index.d.ts +12 -17
- package/lib/index.js +47 -91
- package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -6
- package/lib/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulePageEpic.js +1 -9
- package/lib/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.d.ts +2 -3
- package/lib/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +3 -39
- package/lib/view/expenseAutomationView/epics/jeSchedule/ignoreRecommendedJeScheduleEpic.js +2 -14
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/payload/jeSchedulesPayload.d.ts +3 -86
- package/lib/view/expenseAutomationView/payload/jeSchedulesPayload.js +1 -58
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +12 -93
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +29 -321
- package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.d.ts +1 -1
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +2 -2
- package/lib/view/expenseAutomationView/selectorTypes/jeAccountSettingsViewSelectorTypes.d.ts +0 -1
- package/lib/view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes.d.ts +7 -41
- package/lib/view/expenseAutomationView/selectors/jeAccountSettingsViewSelector.js +0 -1
- package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.d.ts +0 -34
- package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +21 -335
- package/lib/view/expenseAutomationView/types/completedSubTab.d.ts +1 -1
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.d.ts +8 -83
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.js +8 -8
- package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
- package/lib/view/scheduleView/scheduleListView/epics/fetchAccruedScheduleListEpic.js +1 -1
- package/lib/view/scheduleView/scheduleListView/epics/fetchDownloadSchedulesEpic.js +2 -7
- package/lib/view/scheduleView/scheduleListView/scheduleListReducer.d.ts +2 -4
- package/lib/view/scheduleView/scheduleListView/scheduleListReducer.js +3 -5
- package/package.json +1 -1
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/fetchOneTimeAccrualEpic.js +0 -45
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/newSchedule/createOneTimeAccrualEpic.js +0 -104
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/newSchedule/initializeNewScheduleEpic.js +0 -25
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/newSchedule/saveNewScheduleEpic.js +0 -138
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/newSchedule/searchTransactionsForNewScheduleEpic.js +0 -79
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/oneTimeAccrualActionsEpic.js +0 -180
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/revertJeScheduleEpic.js +0 -111
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/switchJESchedulesTabEpic.js +0 -28
- package/lib/esm/view/expenseAutomationView/helpers/newScheduleLocalDataHelper.js +0 -140
- package/lib/esm/view/expenseAutomationView/selectorTypes/jeNewScheduleViewSelectorTypes.js +0 -1
- package/lib/esm/view/expenseAutomationView/selectors/jeNewScheduleViewSelector.js +0 -106
- package/lib/view/expenseAutomationView/epics/jeSchedule/fetchOneTimeAccrualEpic.d.ts +0 -21
- package/lib/view/expenseAutomationView/epics/jeSchedule/fetchOneTimeAccrualEpic.js +0 -49
- package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/createOneTimeAccrualEpic.d.ts +0 -9
- package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/createOneTimeAccrualEpic.js +0 -108
- package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/initializeNewScheduleEpic.d.ts +0 -8
- package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/initializeNewScheduleEpic.js +0 -29
- package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/saveNewScheduleEpic.d.ts +0 -9
- package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/saveNewScheduleEpic.js +0 -142
- package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/searchTransactionsForNewScheduleEpic.d.ts +0 -8
- package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/searchTransactionsForNewScheduleEpic.js +0 -83
- package/lib/view/expenseAutomationView/epics/jeSchedule/oneTimeAccrualActionsEpic.d.ts +0 -13
- package/lib/view/expenseAutomationView/epics/jeSchedule/oneTimeAccrualActionsEpic.js +0 -187
- package/lib/view/expenseAutomationView/epics/jeSchedule/revertJeScheduleEpic.d.ts +0 -65
- package/lib/view/expenseAutomationView/epics/jeSchedule/revertJeScheduleEpic.js +0 -115
- package/lib/view/expenseAutomationView/epics/jeSchedule/switchJESchedulesTabEpic.d.ts +0 -6
- package/lib/view/expenseAutomationView/epics/jeSchedule/switchJESchedulesTabEpic.js +0 -32
- package/lib/view/expenseAutomationView/helpers/newScheduleLocalDataHelper.d.ts +0 -36
- package/lib/view/expenseAutomationView/helpers/newScheduleLocalDataHelper.js +0 -145
- package/lib/view/expenseAutomationView/selectorTypes/jeNewScheduleViewSelectorTypes.d.ts +0 -42
- package/lib/view/expenseAutomationView/selectorTypes/jeNewScheduleViewSelectorTypes.js +0 -2
- package/lib/view/expenseAutomationView/selectors/jeNewScheduleViewSelector.d.ts +0 -21
- package/lib/view/expenseAutomationView/selectors/jeNewScheduleViewSelector.js +0 -112
package/lib/esm/epic.js
CHANGED
|
@@ -195,17 +195,9 @@ import { initializeAccountSettingsViewEpic, } from './view/expenseAutomationView
|
|
|
195
195
|
import { saveAccountSettingsViewEpic, } from './view/expenseAutomationView/epics/jeSchedule/accountSettings/saveAccountSettingsViewEpic';
|
|
196
196
|
import { fetchJeSchedulesPageEpic as fetchExpenseAutomationJESchedulesPageEpic, } from './view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulePageEpic';
|
|
197
197
|
import { fetchJeSchedulesEpic as fetchExpenseAutomationJeSchedulesEpic, } from './view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic';
|
|
198
|
-
import { fetchOneTimeAccrualEpic, } from './view/expenseAutomationView/epics/jeSchedule/fetchOneTimeAccrualEpic';
|
|
199
198
|
import { ignoreRecommendedJeScheduleEpic as ignoreExpenseAutomationJEScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/ignoreRecommendedJeScheduleEpic';
|
|
200
199
|
import { initializeJeScheduleLocalDataEpic as initializeExpenseAutomationJeScheduleLocalDataEpic, } from './view/expenseAutomationView/epics/jeSchedule/initializeJeScheduleLocalDataEpic';
|
|
201
|
-
import { createOneTimeAccrualEpic, } from './view/expenseAutomationView/epics/jeSchedule/newSchedule/createOneTimeAccrualEpic';
|
|
202
|
-
import { initializeNewScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/newSchedule/initializeNewScheduleEpic';
|
|
203
|
-
import { saveNewScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/newSchedule/saveNewScheduleEpic';
|
|
204
|
-
import { searchTransactionsForNewScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/newSchedule/searchTransactionsForNewScheduleEpic';
|
|
205
|
-
import { oneTimeAccrualActionsEpic, } from './view/expenseAutomationView/epics/jeSchedule/oneTimeAccrualActionsEpic';
|
|
206
200
|
import { retryJeScheduleEpic as retryExpenseAutomationJEScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/retryJeSchedulesEpic';
|
|
207
|
-
import { revertJeScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/revertJeScheduleEpic';
|
|
208
|
-
import { switchJESchedulesTabEpic as switchExpenseAutomationJESchedulesTabEpic, } from './view/expenseAutomationView/epics/jeSchedule/switchJESchedulesTabEpic';
|
|
209
201
|
import { bulkUploadMatchResultToastEpic, } from './view/expenseAutomationView/epics/missingReceipts/bulkUploadMatchResultToastEpic';
|
|
210
202
|
import { bulkUploadReceiptsEpic, } from './view/expenseAutomationView/epics/missingReceipts/bulkUploadReceiptsEpic';
|
|
211
203
|
import { confirmBulkUploadMatchEpic, } from './view/expenseAutomationView/epics/missingReceipts/confirmBulkUploadMatchEpic';
|
|
@@ -791,7 +783,6 @@ const ALL_EPICS = [
|
|
|
791
783
|
createNewSchedulesAccruedEpic,
|
|
792
784
|
createNewSchedulesEpic,
|
|
793
785
|
createNewTaskGroupEpic,
|
|
794
|
-
createOneTimeAccrualEpic,
|
|
795
786
|
createPaymentInstrumentEpic,
|
|
796
787
|
createSessionAndSubmitEpic,
|
|
797
788
|
createSessionEpic,
|
|
@@ -1071,7 +1062,6 @@ const ALL_EPICS = [
|
|
|
1071
1062
|
fetchOnboardingCustomerSetupViewEpic,
|
|
1072
1063
|
fetchOnboardingCustomerViewEpic,
|
|
1073
1064
|
fetchOnboardingViewEpic,
|
|
1074
|
-
fetchOneTimeAccrualEpic,
|
|
1075
1065
|
fetchOpExByVendorEpic,
|
|
1076
1066
|
fetchOpExByVendorReportForTimeframeEpic,
|
|
1077
1067
|
fetchOpExByVendorReportSummaryEpic,
|
|
@@ -1226,7 +1216,6 @@ const ALL_EPICS = [
|
|
|
1226
1216
|
initializeInvoicingCustomerAddressEpic,
|
|
1227
1217
|
initializeInvoicingSubscriptionAddressEpic,
|
|
1228
1218
|
initializeMyProfileLocalDataEpic,
|
|
1229
|
-
initializeNewScheduleEpic,
|
|
1230
1219
|
initializeOnboardingCustomerViewUpdateDataEpic,
|
|
1231
1220
|
initializeRemiSetupApproverViewUpdateDataEpic,
|
|
1232
1221
|
initializeRemiToLocalStoreEpic,
|
|
@@ -1249,7 +1238,6 @@ const ALL_EPICS = [
|
|
|
1249
1238
|
markAsCompleteScheduleDetailEpic,
|
|
1250
1239
|
markTransactionAsNotMiscategorizedEpic,
|
|
1251
1240
|
notifyMeForFeatureEpic,
|
|
1252
|
-
oneTimeAccrualActionsEpic,
|
|
1253
1241
|
parallelFetchAccountTransactionListEpic,
|
|
1254
1242
|
parallelFetchClassTransactionListEpic,
|
|
1255
1243
|
parallelFetchEntityTransactionListEpic,
|
|
@@ -1293,7 +1281,6 @@ const ALL_EPICS = [
|
|
|
1293
1281
|
retryExpenseAutomationJEScheduleEpic,
|
|
1294
1282
|
retryInvoicingQboSyncTaskEpic,
|
|
1295
1283
|
retryOrRefundBillEpic,
|
|
1296
|
-
revertJeScheduleEpic,
|
|
1297
1284
|
reviewDraftRemisBulkActionEpic,
|
|
1298
1285
|
reviewExpenseAutomationFluxAnalysisViewEpic,
|
|
1299
1286
|
revokeCardInviteEpic,
|
|
@@ -1329,7 +1316,6 @@ const ALL_EPICS = [
|
|
|
1329
1316
|
saveInvoicingSubscriptionEpic,
|
|
1330
1317
|
saveMagicLinkBankAccountEpic,
|
|
1331
1318
|
saveNewAddressEpic,
|
|
1332
|
-
saveNewScheduleEpic,
|
|
1333
1319
|
saveNotificationPreferencesEpic,
|
|
1334
1320
|
saveNotificationSettingsEpic,
|
|
1335
1321
|
saveOAuthConnectionEpic,
|
|
@@ -1354,7 +1340,6 @@ const ALL_EPICS = [
|
|
|
1354
1340
|
saveVendorsTabVendorEpic,
|
|
1355
1341
|
scheduleTenantCreditScoreCronEpic,
|
|
1356
1342
|
searchTransactionsForManualMatchEpic,
|
|
1357
|
-
searchTransactionsForNewScheduleEpic,
|
|
1358
1343
|
seedAiCardCreationFormDraftEpic,
|
|
1359
1344
|
seedAiCardPolicyFormDraftEpic,
|
|
1360
1345
|
sendCompanyMonthEndReportEpic,
|
|
@@ -1378,7 +1363,6 @@ const ALL_EPICS = [
|
|
|
1378
1363
|
submitInvoicingBrandingFormEpic,
|
|
1379
1364
|
submitInvoicingQboSettingsEpic,
|
|
1380
1365
|
submitQuestionEpic,
|
|
1381
|
-
switchExpenseAutomationJESchedulesTabEpic,
|
|
1382
1366
|
syncInvoicingSubscriptionCouponsEpic,
|
|
1383
1367
|
syncTabsAfterAutomatchEpic,
|
|
1384
1368
|
toggleReportUIOptionForecastModeEpic,
|
package/lib/esm/index.js
CHANGED
|
@@ -60,7 +60,7 @@ import { getForecast } from './entity/forecast/forecastSelector';
|
|
|
60
60
|
import { toEntityType, } from './entity/genericEntity/entity';
|
|
61
61
|
import { updateEntities } from './entity/genericEntity/entityReducer';
|
|
62
62
|
import { getEntityByEntityIDs } from './entity/genericEntity/entitySelector';
|
|
63
|
-
import {
|
|
63
|
+
import { ALL_SCHEDULES_TYPES, getJEScheduleTransactionKey, toScheduleTypesType, toScheduleTypesTypeStrict, } from './entity/jeSchedules/jeSchedulesTypes';
|
|
64
64
|
import { ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, } from './entity/monthEndCloseChecks/monthEndCloseChecksState';
|
|
65
65
|
import { updateCommentsNotifications, updateCommentsNotificationsStatuses, } from './entity/notification/notificationReducer';
|
|
66
66
|
import { toNotificationModeStrict, } from './entity/notification/types/notificationTypes';
|
|
@@ -83,7 +83,7 @@ import { isTransferTransaction, } from './entity/transaction/stateTypes/otherTra
|
|
|
83
83
|
import { toPlatformLineDetailType, } from './entity/transaction/stateTypes/transactionLine';
|
|
84
84
|
import { toTransactionCategory, toTransactionType, toTransactionTypeStrict, } from './entity/transaction/stateTypes/transactionType';
|
|
85
85
|
import { isVendorTransaction, isVendorTransactionWithCustomer, } from './entity/transaction/stateTypes/vendorTransaction';
|
|
86
|
-
import {
|
|
86
|
+
import { getSupportedTransactionById } from './entity/transaction/transactionSelector';
|
|
87
87
|
import { getUserRoleByUserId, getUserRoleByUserIds, } from './entity/userRole/userRoleSelector';
|
|
88
88
|
import { hasBillPayAccessible, hasBillPayFallbackAdminLevelAccess, hasChargeCardAccessible, hasReimbursementAccessible, hasReimbursementUserAccess, hasRemiFallbackAdminLevelAccess, hasTreasuryAccessible, hasZeniAccountsAccessible, isZeniSignedInUser, } from './entity/userRole/userRoleTenantAccess';
|
|
89
89
|
import { getUserRoleMap, hasAICFOAccess, hasAdminLevelAccess, hasAnyCompanyRole, hasAnyFinOpRole, hasBillPayAccess, hasBillPayAdminLevelAccess, hasBookKeepingAdminLevelAccess, hasBookKeepingUserLevelAccess, hasChargeCardAccess, hasChargeCardAdminLevelAccess, hasEmployeeLevelAccess, hasFullOrAdminLevelAccess, hasInvestorBankerLevelAccess, hasInvoicingAdminLevelAccess, hasOnlyBillPayAccess, hasOnlyChargeCardAccess, hasOnlyReimbursementAccess, hasOnlyZeniAccountsAccess, hasReimbursementAccess, hasReimbursementAdminLevelAccess, hasSpendManagementAccess, hasSpendManagementAdminLevelAccess, hasSuperAdminLevelAccess, hasTreasuryAccess, hasTreasuryAdminLevelAccess, hasZeniAccountsAccess, hasZeniAccountsAdminLevelAccess, hasZeniRoleOrCompanyOfficerAccess, isFinOpsUserRoleType, isNonZeniRole, toUserRoleType, toUserRoleTypeStrict, } from './entity/userRole/userRoleType';
|
|
@@ -181,22 +181,20 @@ import uploadAccountStatementIntoDocumentAI from './view/expenseAutomationView/e
|
|
|
181
181
|
import { fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedPeriod, updateCurrentSelectedView, } from './view/expenseAutomationView/expenseAutomationViewReducer';
|
|
182
182
|
import { getExpenseAutomationView } from './view/expenseAutomationView/expenseAutomationViewSelector';
|
|
183
183
|
import { toExpenseAutomationViewType, } from './view/expenseAutomationView/expenseAutomationViewState';
|
|
184
|
-
import { computeNewScheduleJeDetails } from './view/expenseAutomationView/helpers/newScheduleLocalDataHelper';
|
|
185
184
|
import { isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardCreditType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, } from './view/expenseAutomationView/helpers/reconciliationHelpers';
|
|
186
185
|
import { MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, } from './view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper';
|
|
187
186
|
import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFluxAnalysisView, updateFluxAnalysisViewPageMetaData, updateFluxAnalysisViewUIState, updateOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview, } from './view/expenseAutomationView/reducers/fluxAnalysisViewReducer';
|
|
188
|
-
import { clearJeScheduleLocalData as clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView,
|
|
187
|
+
import { clearJeScheduleLocalData as clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchJeSchedulesPage as fetchExpenseAutomationJESchedulesPage, ignoreRecommendedJeSchedule as ignoreExpenseAutomationJESchedule, initializeAccountSettingsView as initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryJeSchedule as retryExpenseAutomationJESchedule, saveAccountSettings as saveJeAccountSettings, saveAccountSettingsLocalData as saveJeAccountSettingsLocalData, updateJESchedulesUIState as updateExpenseAutomationJESchedulesUIState, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, } from './view/expenseAutomationView/reducers/jeSchedulesViewReducer';
|
|
189
188
|
import { acknowledgeBulkUploadConfirmMatchComplete, bulkUploadAutomatchingTimedOut, bulkUploadReceipts, bulkUploadReceiptsFailure, bulkUploadReceiptsSuccess, clearBulkUpload, clearBulkUploadBatchDetailsForScopeChange, clearManualSearchResults, clearMissingReceiptsTabNavigation, confirmBulkUploadMatch, confirmBulkUploadMatchFailure, confirmBulkUploadMatchSuccess, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsFailure, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatches, fetchBulkUploadBatchesFailure, fetchBulkUploadBatchesSuccess, fetchCompletedTransactions, fetchCompletedTransactionsFailure, fetchCompletedTransactionsSuccess, fetchMissingReceipts as fetchExpenseAutomationMissingReceipts, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, markBatchDetailRefreshAttempted, markMissingReceiptAsDone as markExpenseAutomationMissingReceiptAsDone, pusherBatchStatusUpdate, refreshBatchDetailsForBatchId, requestMissingReceiptsTabNavigation, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, searchTransactionsForManualMatch, searchTransactionsForManualMatchFailure, searchTransactionsForManualMatchSuccess, setBulkUploadCompletedSubTab, setBulkUploadResultsTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, storeBatchDetails, updateBulkUploadProgress, updateMissingReceiptUploadState as updateExpenseAutomationMissingReceiptUploadState, updateMissingReceiptsUIState as updateExpenseAutomationMissingReceiptsUIState, uploadMissingReceiptSuccess as uploadExpenseAutomationMissingReceiptSuccess, } from './view/expenseAutomationView/reducers/missingReceiptsViewReducer';
|
|
190
189
|
import { clearStatementDateConflict, confirmStatementMapping, deleteAccountStatement, excludeAccountFromReconciliation, fetchReconciliation as fetchReconciliationView, includeAccountInReconciliation, parseCombinedStatement, parseStatement, parseStatementFailure, parseStatementSuccess, reparseStatement, reparseStatementFailure, reparseStatementSuccess, resetReparseStatementStatus, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, setStatementProcessingDismissedToBackground, submitCombinedStatementUpdate, submitStatementUpdate, updateAccountReconciliationLocalData as updateExpenseAutomationAccountReconciliationLocalData, updateSelectedAccountId as updateExpenseAutomationAccountReconciliationSelectedAccountId, updateSelectedTab as updateExpenseAutomationAccountReconciliationSelectedTab, updateReconListScrollPosition as updateExpenseAutomationReconListScrollPosition, updateReviewTabSortState as updateExpenseAutomationReconReviewTabListSortState, updateReviewTabLocalData as updateExpenseAutomationReconReviewTabLocalData, updateReconcileTabListScrollState as updateExpenseAutomationReconcileTabListScrollState, updateReconcileTabListSortState as updateExpenseAutomationReconcileTabListSortState, updateReconcileTabLocalData as updateExpenseAutomationReconcileTabLocalData, updateSelectedDrawerAccountId as updateExpenseAutomationSelectedDrawerAccountId, updateNodeCollapseState, updateParsedStatementData, updateStatementProcessingBackgroundCompletedSteps, updateStatementProcessingFailed, updateStatementUpdateLocalData, updateStatementUploadChosen, uploadAccountStatement, } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
|
|
191
190
|
import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markCategoryClassRecommendationsFailureForCategorization, markTransactionAsNotMiscategorized, removeTransactionFromAllTabs, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationCompletedSubTab, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, updateTransactionFilters, updateTransactionGroup, uploadTransactionCategorizationReceiptSuccess, } from './view/expenseAutomationView/reducers/transactionsViewReducer';
|
|
192
191
|
import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
|
|
193
|
-
import { getNewAccrualAccountsView as getJeNewAccrualAccountsView, getNewScheduleSearchTransactionsView as getJeNewScheduleSearchTransactionsView, getNewScheduleView as getJeNewScheduleView, } from './view/expenseAutomationView/selectors/jeNewScheduleViewSelector';
|
|
194
192
|
import { getExpenseAutomationReconciliationView, getLedgerAccountIdsWithStatementOverrideWarning, getLedgerAccountsForCombinedStatementMapping, getReparseStatementStatusByAccountId, getUnavailableLedgerAccountIds, isAccountReconReport, } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
|
|
195
193
|
import { getExpenseAutomationTransactionView, getLastTransferEntryReplacement, } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
|
|
196
194
|
import { applyTransactionFilters } from './view/expenseAutomationView/transactionFilterHelpers';
|
|
197
195
|
import { TRANSACTION_FILTER_CATEGORIES, } from './view/expenseAutomationView/transactionFilterTypes';
|
|
198
196
|
import { DEFAULT_COMPLETED_SUB_TAB, toCompletedSubTab, } from './view/expenseAutomationView/types/completedSubTab';
|
|
199
|
-
import { toJEScheduleSortKey as toExpenseAutomationJEScheduleSortKey,
|
|
197
|
+
import { toJEScheduleMainTab as toExpenseAutomationJEScheduleMainTab, toJEScheduleSortKey as toExpenseAutomationJEScheduleSortKey, } from './view/expenseAutomationView/types/jeSchedulesViewState';
|
|
200
198
|
import { BATCH_FILE_STATUSES, isUnmatchedTabFileStatus, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toMatchSource, toMissingReceiptsTab, } from './view/expenseAutomationView/types/missingReceiptsViewState';
|
|
201
199
|
import { toMissingReceiptsSortKey as toExpenseAutomationMissingReceiptsSortKey, } from './view/expenseAutomationView/types/missingReceiptsViewState';
|
|
202
200
|
import { toReconciliationTabsType, } from './view/expenseAutomationView/types/reconciliationViewState';
|
|
@@ -485,10 +483,9 @@ export { stringToUnion, stringToUnionStrict };
|
|
|
485
483
|
export { fetchMonthEndCloseChecks, fetchMonthClosePerformanceTrend, getMonthEndCloseChecksViewByTenantId, ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, };
|
|
486
484
|
export {
|
|
487
485
|
// Bulk Upload Types
|
|
488
|
-
BATCH_FILE_STATUSES, isUnmatchedTabFileStatus, DEFAULT_COMPLETED_SUB_TAB, DEFAULT_TRANSACTION_GROUP, TRANSACTION_GROUPS, toTransactionGroup, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab,
|
|
486
|
+
BATCH_FILE_STATUSES, isUnmatchedTabFileStatus, DEFAULT_COMPLETED_SUB_TAB, DEFAULT_TRANSACTION_GROUP, TRANSACTION_GROUPS, toTransactionGroup, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, toExpenseAutomationJEScheduleMainTab, toExpenseAutomationJEScheduleSortKey, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, updateTransactionCategorizationCompletedSubTab, updateTransactionGroup, fetchExpenseAutomationMissingReceipts,
|
|
489
487
|
// Bulk Upload Actions
|
|
490
488
|
bulkUploadReceipts, bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, bulkUploadReceiptsFailure, restoreBulkUploadAutomatchingOnMount, restoreBulkUploadMatchingState, updateBulkUploadProgress, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, clearMissingReceiptsTabNavigation, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatchDetailsFailure, storeBatchDetails, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, fetchBulkUploadBatches, fetchBulkUploadBatchesSuccess, fetchBulkUploadBatchesFailure, clearBulkUploadBatchDetailsForScopeChange, markBatchDetailRefreshAttempted, refreshBatchDetailsForBatchId, confirmBulkUploadMatch, confirmBulkUploadMatchSuccess, confirmBulkUploadMatchFailure, setBulkUploadResultsTab, setBulkUploadCompletedSubTab, setBulkUploadSortConfig, setBulkUploadUploadedFileCount, clearBulkUpload, searchTransactionsForManualMatch, searchTransactionsForManualMatchSuccess, searchTransactionsForManualMatchFailure, clearManualSearchResults, acknowledgeBulkUploadConfirmMatchComplete, fetchCompletedTransactions, fetchCompletedTransactionsSuccess, fetchCompletedTransactionsFailure, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, getExpenseAutomationFluxAnalysisView, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, getLastTransferEntryReplacement, updateFluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, excludeAccountFromReconciliation, includeAccountInReconciliation, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, getExpenseAutomationReconciliationView, getLedgerAccountIdsWithStatementOverrideWarning, getLedgerAccountsForCombinedStatementMapping, getReparseStatementStatusByAccountId, getUnavailableLedgerAccountIds, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, getAccountReconByAccountIdAndSelectedPeriod, toReconciliationTabsType, isAccountReconReport, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, updateStatementProcessingFailed, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, toReconciliationAccountSource, deleteAccountStatement, uploadAccountStatement, parseCombinedStatement, parseStatement, parseStatementSuccess, parseStatementFailure, reparseStatement, reparseStatementSuccess, reparseStatementFailure, resetReparseStatementStatus, updateParsedStatementData, updateNodeCollapseState, updateStatementUploadChosen, submitCombinedStatementUpdate, submitStatementUpdate, clearStatementDateConflict, confirmStatementMapping, updateStatementUpdateLocalData, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, setStatementProcessingDismissedToBackground, updateStatementProcessingBackgroundCompletedSteps, };
|
|
491
|
-
export { computeNewScheduleJeDetails, createOneTimeAccrual, createOneTimeAccrualFailure, createOneTimeAccrualSuccess, fetchOneTimeAccrual, getJeNewAccrualAccountsView, ignoreOneTimeAccrual, promoteOneTimeAccrual, revertJeSchedule, revertOneTimeAccrual, getJeNewScheduleSearchTransactionsView, getJeNewScheduleView, };
|
|
492
489
|
export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateTransactionFilters, updateSelectedCheckboxTransactionIds, markCategoryClassRecommendationsFailureForCategorization, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, createTransferEntry, createTransferEntryFailure, createTransferEntryReplacedTransaction, createTransferEntrySuccess, resetCreateTransferEntryStatus, clearTransferEntryRouteReplacement, fetchAccountsForTransferFlow, removeTransactionFromAllTabs, clearExpenseAutomationTransactionsView, toTransactionsSortKey, };
|
|
493
490
|
export { TOP_EX_TIME_PERIODS };
|
|
494
491
|
export { toTimeframeTick, mapTimePeriodtoTimeframeTick, toTimePeriod, toAbsoluteDay, toMonthYearPeriodId, convertToPeriod, };
|
|
@@ -544,7 +541,7 @@ export { toTransactionType, toTransactionTypeStrict, toTransactionCategory, };
|
|
|
544
541
|
export { defaultVendorCurrency, updateVendors };
|
|
545
542
|
export { isVendorTransaction, isVendorTransactionWithCustomer, };
|
|
546
543
|
export { isTransferTransaction };
|
|
547
|
-
export {
|
|
544
|
+
export { getSupportedTransactionById, };
|
|
548
545
|
export { updateLatestTransactionId, parallelFetchAccountTransactionList, parallelFetchEntityTransactionList, fetchAccountTransactionList, updateTransactionListByAccount, updateTransactionListByAccountFailure, updateTransactionListByAccountUIState, parallelFetchClassTransactionList, updateTransactionListByClassUIState, updateTransactionListByClass, parallelFetchProjectTransactionList, updateTransactionListByProjectUIState, updateTransactionListByProject, updateTransactionListUIStateByCategoryType, parallelFetchTransactionListByCategoryType, };
|
|
549
546
|
export { getTransactionListByAccount, getTransactionListUIStateByAccountKey, };
|
|
550
547
|
export { fetchEntityTransactionList, updateTransactionListByEntity, saveTransactionDetailLocalData, clearTransactionDetailSaveStatus, updateTransactionListByEntityFailure, resetLineItemsCategoryClassInLocalData, setAllLineItemsToCategoryClassInLocalData, saveTransactionDetail, setAllLineItemsLocalDataIsUpdateAllChecked, initializeTransactionDetailLocalData, markCategoryClassRecommendationsFailureForTransactionDetail, removeEntityRecommendationForLineIdForTransactionDetail, updateSelectedVendor, updateSelectedCustomer, resetSelectedCustomer, resetVendor, updateLocalDataWithTransactionsUpdateWithVendorCheckbox, updateVendorToAllLineItems, resetAllLineItemsToVendor, updateLatestSelectedEntity, updateVendorBulkRecommendationsFetchStatus, setIsVendorUpdateAllChecked, addSplitLine, deleteSplitLine, toggleSplitEditMode, };
|
|
@@ -655,9 +652,9 @@ export { updateChargeCardTransactionAttachments, updateChargeCardStatusFromPushe
|
|
|
655
652
|
export { TIME_SERIES_DURATIONS, convertToTimeSeriesSelectionRange, toTimeSeriesDuration, fetchAggregatedReport, aggregatedReportView, };
|
|
656
653
|
export { fetchApAging, getApAgingReport, updateApAgingUIState, };
|
|
657
654
|
export { fetchApAgingDetail, getApAgingDetailForVendor, updateApAgingDetailUIState, };
|
|
658
|
-
export { clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView,
|
|
655
|
+
export { clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchExpenseAutomationJESchedulesPage, ignoreExpenseAutomationJESchedule, initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryExpenseAutomationJESchedule, updateExpenseAutomationJESchedulesUIState, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, };
|
|
659
656
|
export { createNewSchedulesAccrued, deleteScheduleAccruedDetail, cancelScheduleAccruedJournalEntry, fetchScheduleAccruedDetails, fetchScheduleAccruedDetailsPage, resetJEAccruedLinkInLocalData, saveScheduleAccruedDetails, updateAmountsInScheduleAccruedDetail, updatedJEAccruedLinkWithRecommendedLocalData, updatedJELinkInLocalDataAccruedExpenses, fetchRecommendedTransactionRowIndex, clearSelectedJELinkRowIndex, updateLinkBillExpenseLocalData, updateScheduleAccruedDetailsLocalData, updateSelectedJEAccruedScheduleKey, resetSelectedJEAccruedScheduleKey, resetAccruedDetailNewScheduleState, };
|
|
660
|
-
export { getJEScheduleTransactionKey,
|
|
657
|
+
export { getJEScheduleTransactionKey, ALL_SCHEDULES_TYPES, getScheduleListReport, getAccruedScheduleListReport, fetchScheduleList, fetchAccruedScheduleList, fetchDownloadSchedules, fetchSchedulesAccount, updateScheduleListLocalData, getFetchStateForScheduleAccountList, toScheduleTypesType, toScheduleTypesTypeStrict, toScheduleListTabsFileTypeStrict, toScheduleSubTabType, updateScheduleListSubTab, updateScheduleListSearchText, updateScheduleListScrollState, updateScheduleListSortState, updateSelectedJEScheduleKey, fetchScheduleDetails, getScheduleDetailsView, getAccruedScheduleDetailsView, fetchScheduleDetailsPage, saveScheduleDetails, deleteScheduleDetail, createNewSchedules, updateScheduleDetailsLocalData, updateScheduleListDownloadState, updateAccruedJEScheduleAccruedByListKey, updatedSelectedJELinkRowIndex, getQBOUrlForLink, getThirdPartyIDFromQBOURL, updatedJELinkInLocalData, updateAmountsInScheduleDetail, resetJELinkInLocalData, updatedJELinkWithRecommendedLocalData, getFetchStateForScheduleListByType, getDefaultSelectedTimeframeForScheduleType, markAsCompleteScheduleDetail, resetMarkAsCompleteStatus, fetchVendorTabView, updateVendorTabViewTab, getVendorTabView, };
|
|
661
658
|
export { toVendorFirstReviewViewColumnKeyType, getGlobalMerchantAutoCompleteResults, getVendorFirstReviewView, getVendorFirstReviewAttachmentView, fetchVendorFirstReviewView, fetchVendorFirstReviewAttachments, updateVendorFirstReviewViewScrollYOffset, resetVendorFirstReviewLocalData, updateVendorFirstReviewViewPageToken, clearRecentlySavedErroredVendorData, saveVendorFirstReviewView, updateVendorFirstReviewViewLocalData, updateVendorFirstReviewSortUiState, fetchGlobalMerchantAutoCompleteView, clearGlobalMerchantAutoCompleteResults, updateReviewVendorDetailLocalData, saveVendorDetailsView, getVendorDetailSelectorView, };
|
|
662
659
|
export { fetchGlobalMerchantRecommendation, createGlobalMerchant, updateCreateGlobalMerchantLocalData, clearGlobalMerchantView, getGlobalMerchantView, };
|
|
663
660
|
export { approveVendorGlobalReview, rejectVendorGlobalReview, fetchVendorGlobalReviewView, updateSelectedGlobalMerchant, updateVendorGlobalReviewViewUIState, getVendorGlobalReviewView, getTenantMerchantByMerchantId, toVendorGlobalReviewColumnSortKeyType, updateVendorGlobalReviewViewLocalData, };
|
|
@@ -866,6 +863,3 @@ export { INVOICING_QBO_CUSTOMER_MATCHING_MODES, getInvoicingQboAccountMappingId,
|
|
|
866
863
|
export { acceptInvoicingTerms, enableInvoicing, fetchInvoicingConfig, resetInvoicingConfigActionStates, updateInvoicingConfig, } from './view/invoicing/invoicingConfigView/invoicingConfigViewReducer';
|
|
867
864
|
export { getInvoicingConfigView } from './view/invoicing/invoicingConfigView/invoicingConfigViewSelector';
|
|
868
865
|
export { getInvoicingOnboardingGateView } from './view/invoicing/invoicingConfigView/invoicingConfigViewSelector';
|
|
869
|
-
// Accrued JE schedules are not a discriminated union member, so consumers need this guard to
|
|
870
|
-
// narrow a JEScheduleRow before reading baseTransaction / recurringAmount.
|
|
871
|
-
export { getExpenseAutomationJEOneTimeAccrualDetailView, getJEScheduleRowType, isAccruedScheduleRow, isAiAccountantSchedule, isExistingTabRow, isOneTimeAccrualRow, isRenderableOneTimeAccrual, isPendingReviewRow, } from './view/expenseAutomationView/selectors/jeSchedulesViewSelector';
|
package/lib/esm/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js
CHANGED
|
@@ -8,7 +8,6 @@ import { fetchJeSchedulesPage } from '../../reducers/jeSchedulesViewReducer';
|
|
|
8
8
|
import { fetchMissingReceipts } from '../../reducers/missingReceiptsViewReducer';
|
|
9
9
|
import { fetchReconciliation } from '../../reducers/reconciliationViewReducer';
|
|
10
10
|
import { fetchTransactionCategorizationView } from '../../reducers/transactionsViewReducer';
|
|
11
|
-
import { getJESchedulePeriodTabKey } from '../../types/jeSchedulesViewState';
|
|
12
11
|
export const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.pipe(filter(fetchAllExpenseAutomationTabs.match), switchMap((action) => {
|
|
13
12
|
const { cacheOverride, refreshViewInBackground } = action.payload;
|
|
14
13
|
const state = state$.value;
|
|
@@ -60,16 +59,14 @@ export const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.
|
|
|
60
59
|
state.expenseAutomationFluxAnalysisViewState.groupsBySelectedPeriod[monthYearPeriodId] == null)) {
|
|
61
60
|
fetchActions.push(fetchFluxAnalysisView(selectedPeriod, cacheOverride, refreshViewInBackground, null));
|
|
62
61
|
}
|
|
63
|
-
// The two JE tabs cache separately, so only the tab actually being shown decides whether a
|
|
64
|
-
// fetch is still needed.
|
|
65
|
-
const jeSchedulesPeriodTabKey = getJESchedulePeriodTabKey(state.expenseAutomationJESchedulesViewState.uiState.selectedPageTab, monthYearPeriodId);
|
|
66
62
|
if (state.expenseAutomationJESchedulesViewState.fetchState !==
|
|
67
63
|
'In-Progress' &&
|
|
68
64
|
(!state.expenseAutomationJESchedulesViewState.hasValidState() ||
|
|
69
65
|
state.expenseAutomationJESchedulesViewState
|
|
70
|
-
.
|
|
66
|
+
.jeScheduleTransactionKeysByPeriod[monthYearPeriodId] == null ||
|
|
71
67
|
state.expenseAutomationJESchedulesViewState
|
|
72
|
-
.
|
|
68
|
+
.failedJeScheduleTransactionKeysByPeriod[monthYearPeriodId] ==
|
|
69
|
+
null)) {
|
|
73
70
|
fetchActions.push(fetchJeSchedulesPage({ start: timePeriodStart, end: timePeriodEnd }, cacheOverride));
|
|
74
71
|
}
|
|
75
72
|
if (state.expenseAutomationReconciliationViewState.fetchState !==
|
|
@@ -14,14 +14,6 @@ export const fetchJeSchedulesPageEpic = (actions$, state$) => actions$.pipe(filt
|
|
|
14
14
|
jeSchedulePageActions.push(fetchAccountList(accountType.accountListKey, true, false, false, false, accountType.allowedAccountList));
|
|
15
15
|
}
|
|
16
16
|
jeSchedulePageActions.push(fetchJeSchedules(period, refreshViewInBackground));
|
|
17
|
-
|
|
18
|
-
// refresh, and re-initializing puts accountSettingsView back to 'In-Progress' -- which the
|
|
19
|
-
// page reads as "still loading" and answers with a full skeleton over rows it already has.
|
|
20
|
-
// The action also resets localData, so re-dispatching it blindly would empty the settings
|
|
21
|
-
// form until the refetch lands. Saving account settings still re-initializes explicitly.
|
|
22
|
-
if (!state$.value.expenseAutomationJESchedulesViewState.accountSettings
|
|
23
|
-
.hasLoadedAccountSettings) {
|
|
24
|
-
jeSchedulePageActions.push(initializeAccountSettingsView());
|
|
25
|
-
}
|
|
17
|
+
jeSchedulePageActions.push(initializeAccountSettingsView());
|
|
26
18
|
return concat(from(jeSchedulePageActions));
|
|
27
19
|
}));
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { from, of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { updateAccruedJESchedules, updateAccruedJESchedulesDetails, updateJEOneTimeAccruals, updateJESchedules, updateJESchedulesDetails, } from '../../../../entity/jeSchedules/jeSchedulesReducer';
|
|
2
|
+
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { toString } from '../../../../commonStateTypes/timePeriod';
|
|
4
|
+
import { updateJESchedules, updateJESchedulesDetails, } from '../../../../entity/jeSchedules/jeSchedulesReducer';
|
|
6
5
|
import { getCurrentTenant } from '../../../../entity/tenant/tenantSelector';
|
|
7
6
|
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
|
|
8
|
-
import { clearAll } from '../../../../rootActions';
|
|
9
|
-
import { date } from '../../../../zeniDayJS';
|
|
10
7
|
import { fetchJeSchedules, fetchJeSchedulesFailure, fetchJeSchedulesSuccess, initializeJeScheduleLocalData, } from '../../reducers/jeSchedulesViewReducer';
|
|
11
8
|
export const fetchJeSchedulesEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchJeSchedules.match), mergeMap((action) => {
|
|
12
9
|
const state = state$.value;
|
|
@@ -14,54 +11,27 @@ export const fetchJeSchedulesEpic = (actions$, state$, zeniAPI) => actions$.pipe
|
|
|
14
11
|
const { period, refreshViewInBackground } = action.payload;
|
|
15
12
|
const currentTenant = getCurrentTenant(state);
|
|
16
13
|
const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
|
|
17
|
-
const { selectedPageTab } = state.expenseAutomationJESchedulesViewState.uiState;
|
|
18
|
-
const isClosePeriodTab = selectedPageTab === 'schedules';
|
|
19
|
-
const existingEndDate = toAbsoluteDay(date(toString(period.start))
|
|
20
|
-
.subtract(1, 'month')
|
|
21
|
-
.endOf('month')
|
|
22
|
-
.format(DEFAULT_DATE_FORMAT));
|
|
23
14
|
const queryParam = {
|
|
24
15
|
start_date: toString(period.start),
|
|
25
|
-
end_date:
|
|
26
|
-
? toString(period.end)
|
|
27
|
-
: toString(existingEndDate),
|
|
28
|
-
include_accrued: true,
|
|
29
|
-
...(isClosePeriodTab
|
|
30
|
-
? { close_period_start_date: toString(period.start) }
|
|
31
|
-
: {}),
|
|
16
|
+
end_date: toString(period.end),
|
|
32
17
|
};
|
|
33
18
|
return zeniAPI
|
|
34
19
|
.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expenses_automation/je_schedules?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
|
|
35
20
|
.pipe(mergeMap((response) => {
|
|
36
21
|
if (isSuccessResponse(response) && response.data != null) {
|
|
37
22
|
const updateActions = [];
|
|
38
|
-
const accruedJeSchedules = response.data.accrued_je_schedules?.je_schedules ?? [];
|
|
39
|
-
const oneTimeAccruals = response.data.one_time_accruals ?? [];
|
|
40
23
|
updateActions.push(updateJESchedules([
|
|
41
24
|
...response.data.je_schedules,
|
|
42
25
|
...response.data.failed_je_postings.je_schedules,
|
|
43
26
|
]), updateJESchedulesDetails([...response.data.failed_je_postings.je_schedules], response.data.failed_je_postings.scheduled_journal_entries), initializeJeScheduleLocalData([
|
|
44
27
|
...response.data.failed_je_postings.je_schedules,
|
|
45
28
|
]));
|
|
46
|
-
if (accruedJeSchedules.length > 0) {
|
|
47
|
-
updateActions.push(updateAccruedJESchedules(accruedJeSchedules), updateAccruedJESchedulesDetails(accruedJeSchedules, response.data.accrued_je_schedules
|
|
48
|
-
?.scheduled_journal_entries));
|
|
49
|
-
}
|
|
50
|
-
if (oneTimeAccruals.length > 0) {
|
|
51
|
-
// Single action, unlike the accrued pair above: this one writes the entity
|
|
52
|
-
// directly because an accrual denormalizes its vendor, accounts and classes, so
|
|
53
|
-
// there is no fan-out fetch to trigger.
|
|
54
|
-
updateActions.push(updateJEOneTimeAccruals(oneTimeAccruals));
|
|
55
|
-
}
|
|
56
29
|
updateActions.push(fetchJeSchedulesSuccess({
|
|
57
30
|
jeSchedules: [...response.data.je_schedules],
|
|
58
31
|
failedJeSchedules: [
|
|
59
32
|
...response.data.failed_je_postings.je_schedules,
|
|
60
33
|
],
|
|
61
|
-
accruedJeSchedules: accruedJeSchedules,
|
|
62
|
-
oneTimeAccruals: oneTimeAccruals,
|
|
63
34
|
selectedPeriod: selectedPeriod,
|
|
64
|
-
selectedPageTab: selectedPageTab,
|
|
65
35
|
refreshViewInBackground: refreshViewInBackground,
|
|
66
36
|
}));
|
|
67
37
|
return from(updateActions);
|
|
@@ -70,17 +40,11 @@ export const fetchJeSchedulesEpic = (actions$, state$, zeniAPI) => actions$.pipe
|
|
|
70
40
|
return of(fetchJeSchedulesFailure({
|
|
71
41
|
status: response.status,
|
|
72
42
|
selectedPeriod,
|
|
73
|
-
selectedPageTab,
|
|
74
43
|
}));
|
|
75
44
|
}
|
|
76
45
|
}), catchError((error) => of(fetchJeSchedulesFailure({
|
|
77
46
|
status: createZeniAPIStatus('Unexpected Error', 'fetch JE schedules REST API call errored out' +
|
|
78
47
|
JSON.stringify(error)),
|
|
79
48
|
selectedPeriod,
|
|
80
|
-
|
|
81
|
-
}))),
|
|
82
|
-
// A tenant switch clears the store while this request is still in flight. Without this
|
|
83
|
-
// the old tenant's rows are written back into the freshly cleared store and stay on
|
|
84
|
-
// screen under the new tenant until a manual refresh.
|
|
85
|
-
takeUntil(actions$.pipe(filter(clearAll.match))));
|
|
49
|
+
}))));
|
|
86
50
|
}));
|
package/lib/esm/view/expenseAutomationView/epics/jeSchedule/ignoreRecommendedJeScheduleEpic.js
CHANGED
|
@@ -11,25 +11,13 @@ import { ignoreRecommendedJeSchedule, ignoreRecommendedJeScheduleFailure, ignore
|
|
|
11
11
|
export const ignoreRecommendedJeScheduleEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(ignoreRecommendedJeSchedule.match), mergeMap((action) => {
|
|
12
12
|
const state = state$.value;
|
|
13
13
|
const { expenseAutomationViewState: { selectedPeriodByTenantId }, } = state;
|
|
14
|
-
const { scheduleType, jeScheduleTransactionKey
|
|
14
|
+
const { scheduleType, jeScheduleTransactionKey } = action.payload;
|
|
15
15
|
const currentTenant = getCurrentTenant(state);
|
|
16
16
|
const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
|
|
17
17
|
const actions = [];
|
|
18
18
|
const jeScheduleTransactionState = getJEScheduledTransactionByJEScheduleTransactionKey(jeScheduleTransactionKey, state);
|
|
19
|
-
const ignorePayload = prepareIgnoreSchedulePayload(scheduleType, jeScheduleTransactionState, state);
|
|
20
|
-
// The gateway reads reason/note from je_schedules[0].feedback and nowhere else, and rejects
|
|
21
|
-
// anything but those two keys inside it — `action` is stamped server-side.
|
|
22
19
|
const payload = {
|
|
23
|
-
...
|
|
24
|
-
je_schedules: ignorePayload.je_schedules.map((schedule, index) => index === 0
|
|
25
|
-
? {
|
|
26
|
-
...schedule,
|
|
27
|
-
feedback: {
|
|
28
|
-
reason,
|
|
29
|
-
...(note != null && note !== '' ? { note } : {}),
|
|
30
|
-
},
|
|
31
|
-
}
|
|
32
|
-
: schedule),
|
|
20
|
+
...prepareIgnoreSchedulePayload(scheduleType, jeScheduleTransactionState, state),
|
|
33
21
|
};
|
|
34
22
|
const queryParam = {
|
|
35
23
|
je_schedule_type: scheduleType,
|
|
@@ -1,60 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_DATE_FORMAT } from '../../../commonStateTypes/timePeriod';
|
|
2
|
-
import { getClassList } from '../../classList/classListSelector';
|
|
3
2
|
import { mapScheduleTransactionToBaseScheduleTransactionPayload, mapVendorToVendorPayload, } from '../../scheduleView/scheduleDetailView/scheduleDetailPayload';
|
|
4
|
-
const BALANCE_SHEET_CLASS_LABEL = 'balance_sheet';
|
|
5
|
-
const SERVICE_MONTH_FORMAT = 'YYYY-MM';
|
|
6
|
-
/**
|
|
7
|
-
* The credit line is the accrued liability, which always sits on the balance sheet — the
|
|
8
|
-
* recurring accrued path resolves the same class the same way (see
|
|
9
|
-
* prepareNewScheduleAccruedDetailPayload). Omitted rather than sent empty when the tenant has
|
|
10
|
-
* no balance_sheet class, since the API treats the field as optional.
|
|
11
|
-
*/
|
|
12
|
-
export const prepareCreateOneTimeAccrualPayload = (state, localData) => {
|
|
13
|
-
const { classListState, classState } = state;
|
|
14
|
-
const balanceSheetClass = getClassList(classState, classListState).classes.find((accountingClass) => accountingClass.labels?.includes(BALANCE_SHEET_CLASS_LABEL) === true);
|
|
15
|
-
// reverse_next_month alone decides reversal_policy server-side, so reversal_policy is
|
|
16
|
-
// deliberately not sent — the API documents it only as an alternate way to say on_bill_match,
|
|
17
|
-
// and sending both would be two sources of truth for one toggle.
|
|
18
|
-
const reversalFields = localData.reverseNextMonth
|
|
19
|
-
? {
|
|
20
|
-
reverse_next_month: true,
|
|
21
|
-
expected_reversal_date: getExpectedReversalDate(localData.serviceMonth).format(DEFAULT_DATE_FORMAT),
|
|
22
|
-
}
|
|
23
|
-
: { reverse_next_month: false };
|
|
24
|
-
return {
|
|
25
|
-
vendor_id: localData.vendorId,
|
|
26
|
-
vendor_name: localData.vendorName,
|
|
27
|
-
service_month: localData.serviceMonth.format(SERVICE_MONTH_FORMAT),
|
|
28
|
-
amount: localData.amount,
|
|
29
|
-
memo: localData.memo,
|
|
30
|
-
je_debit_account_id: localData.debitAccountId,
|
|
31
|
-
je_credit_account_id: localData.creditAccountId,
|
|
32
|
-
...(localData.debitAccountName != null
|
|
33
|
-
? { je_debit_account_name: localData.debitAccountName }
|
|
34
|
-
: {}),
|
|
35
|
-
...(localData.creditAccountName != null
|
|
36
|
-
? { je_credit_account_name: localData.creditAccountName }
|
|
37
|
-
: {}),
|
|
38
|
-
...(localData.debitClassId != null
|
|
39
|
-
? { je_debit_accounting_class_id: localData.debitClassId }
|
|
40
|
-
: {}),
|
|
41
|
-
...(localData.debitClassName != null
|
|
42
|
-
? { je_debit_accounting_class_name: localData.debitClassName }
|
|
43
|
-
: {}),
|
|
44
|
-
...(balanceSheetClass != null
|
|
45
|
-
? {
|
|
46
|
-
je_credit_accounting_class_id: balanceSheetClass.classId,
|
|
47
|
-
je_credit_accounting_class_name: balanceSheetClass.className,
|
|
48
|
-
}
|
|
49
|
-
: {}),
|
|
50
|
-
...reversalFields,
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* The API defaults this to the 1st of the month after service_month. We send it explicitly so the
|
|
55
|
-
* date the form promised the user is the date that gets stored.
|
|
56
|
-
*/
|
|
57
|
-
export const getExpectedReversalDate = (serviceMonth) => serviceMonth.add(1, 'month').startOf('month');
|
|
58
3
|
export const prepareIgnoreSchedulePayload = (scheduleType, jeScheduleTransaction, state) => {
|
|
59
4
|
const { vendorState } = state;
|
|
60
5
|
const { vendor, currencyCode, currencySymbol, baseTransaction, status, balanceAsOfToday, period, startDate, endDate, jeCredit, jeDebit, } = jeScheduleTransaction;
|