@zeniai/client-epic-state 4.15.52 → 4.15.54
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/README.md +1 -19
- package/lib/commonPayloadTypes/recommendationPayload.d.ts +0 -1
- package/lib/commonStateTypes/common.d.ts +1 -1
- package/lib/commonStateTypes/fiscalYearHelpers/getFYMonths.d.ts +2 -2
- package/lib/commonStateTypes/fiscalYearHelpers/getFYQuarterAndYear.d.ts +2 -2
- package/lib/commonStateTypes/timePeriod.d.ts +7 -7
- package/lib/commonStateTypes/timePeriod.js +2 -2
- package/lib/commonStateTypes/viewAndReport/agingReportStateTypes.d.ts +1 -1
- package/lib/commonStateTypes/viewAndReport/agingReportStateTypes.js +1 -1
- package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
- package/lib/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
- package/lib/configureStore.js +1 -2
- package/lib/entity/account/accountSelector.d.ts +3 -3
- package/lib/entity/account/accountState.d.ts +1 -1
- package/lib/entity/account/pickAndMergeForecastAccountReport.d.ts +1 -1
- package/lib/entity/accountGroup/accountGroupSelector.d.ts +22 -22
- package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
- package/lib/entity/approvalRule/approvalRuleState.d.ts +2 -2
- package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +4 -4
- package/lib/entity/chargeCard/chargeCard.d.ts +1 -1
- package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -1
- package/lib/entity/class/classReducer.d.ts +4 -4
- package/lib/entity/class/classState.d.ts +1 -1
- package/lib/entity/company/companyReducer.js +1 -0
- package/lib/entity/customer/customerPayload.d.ts +1 -1
- package/lib/entity/customer/customerPayload.js +6 -16
- package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
- package/lib/entity/entityApprovalStatus/entityApprovalStatusState.d.ts +2 -2
- package/lib/entity/file/fileState.d.ts +3 -3
- package/lib/entity/forecast/forecastState.d.ts +1 -1
- package/lib/entity/jeSchedules/jeSchedulesReducer.d.ts +2 -2
- package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +2 -2
- package/lib/entity/notification/types/notificationTypes.d.ts +2 -2
- package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
- package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
- package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
- package/lib/entity/snackbar/snackbarTypes.d.ts +2 -2
- package/lib/entity/snackbar/snackbarTypes.js +0 -4
- package/lib/entity/task/taskState.d.ts +3 -3
- package/lib/entity/tenant/clearAllEpic.d.ts +2 -4
- package/lib/entity/tenant/clearAllEpic.js +0 -4
- package/lib/entity/tenant/tenantReducer.d.ts +2 -2
- package/lib/entity/tenant/tenantReducer.js +9 -18
- package/lib/entity/tenant/tenantSelector.d.ts +0 -2
- package/lib/entity/tenant/tenantSelector.js +0 -6
- package/lib/entity/tenant/tenantState.d.ts +0 -3
- package/lib/entity/transaction/payloadTypes/customerTransactionPayload.d.ts +1 -1
- package/lib/entity/transaction/payloadTypes/customerTransactionPayload.js +2 -1
- package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -2
- package/lib/entity/transaction/payloadTypes/transactionPayload.js +6 -9
- package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.d.ts +1 -9
- package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.js +2 -24
- package/lib/entity/transaction/stateTypes/attachment.d.ts +2 -2
- package/lib/entity/transaction/stateTypes/transaction.d.ts +1 -3
- package/lib/entity/transaction/stateTypes/transactionType.d.ts +1 -1
- package/lib/entity/transaction/stateTypes/transactionType.js +1 -1
- package/lib/entity/transaction/stateTypes/vendorTransaction.d.ts +0 -5
- package/lib/entity/transaction/stateTypes/vendorTransaction.js +1 -5
- package/lib/entity/transaction/toSupportedTransaction.js +1 -6
- package/lib/entity/transaction/transactionReducer.d.ts +0 -17
- package/lib/entity/transaction/transactionReducer.js +2 -47
- package/lib/entity/transaction/transactionSelector.d.ts +0 -2
- package/lib/entity/transaction/transactionSelector.js +0 -5
- package/lib/entity/transaction/transactionState.d.ts +4 -6
- package/lib/entity/vendorExpense/vendorExpenseReducer.js +1 -0
- package/lib/entity/vendorExpense/vendorExpenseSelector.d.ts +2 -2
- package/lib/epic.d.ts +1 -6
- package/lib/epic.js +1 -6
- package/lib/index.d.ts +14 -22
- package/lib/index.js +27 -57
- package/lib/init.d.ts +1 -2
- package/lib/init.js +2 -9
- package/lib/reducer.d.ts +1 -7
- package/lib/reducer.js +0 -6
- package/lib/responsePayload.d.ts +0 -2
- package/lib/responsePayload.js +1 -9
- package/lib/view/accountList/accountListReducer.js +3 -1
- package/lib/view/accountMappingView/accountMappingReducer.js +1 -0
- package/lib/view/apAgingView/apAgingDetail/apAgingDetailReducer.js +2 -1
- package/lib/view/auditReportView/auditReportViewReducer.d.ts +2 -2
- package/lib/view/auditReportView/auditReportViewState.d.ts +2 -2
- package/lib/view/balanceSheet/balanceSheetReducer.js +6 -1
- package/lib/view/bankAccountView/bankAccountViewReducer.js +1 -0
- package/lib/view/billPayCard/billPayCardSelector.d.ts +2 -2
- package/lib/view/cardBalance/cardBalanceSelector.d.ts +3 -3
- package/lib/view/cashBalance/cashBalanceSelector.d.ts +3 -3
- package/lib/view/cashFlow/cashFlowReducer.js +4 -1
- package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +2 -2
- package/lib/view/cashPosition/cashPositionReducer.js +1 -0
- package/lib/view/cashPosition/cashPositionSelector.d.ts +2 -2
- package/lib/view/common/reportsHelpers.d.ts +1 -1
- package/lib/view/commonVendorView/transactionVendorView/epics/saveTransactionVendorEpic.js +2 -20
- package/lib/view/commonVendorView/vendorView/epics/fetchAndUpdateVendorRecommendationsEpic.js +3 -1
- package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewReducer.d.ts +2 -2
- package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +2 -2
- package/lib/view/companyView/companyViewReducer.d.ts +1 -1
- package/lib/view/companyView/companyViewReducer.js +10 -1
- package/lib/view/companyView/types/cockpitTypes.d.ts +3 -3
- package/lib/view/companyView/types/companyPassport/companyUsersLocalData.d.ts +1 -1
- package/lib/view/dashboard/dashboardEpic.js +2 -0
- package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
- package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.d.ts +1 -2
- package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +10 -24
- package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.d.ts +1 -2
- package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +0 -14
- package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +7 -30
- package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -2
- package/lib/view/expenseAutomationView/expenseAutomationViewReducer.js +5 -1
- package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +2 -17
- package/lib/view/expenseAutomationView/expenseAutomationViewState.d.ts +2 -2
- package/lib/view/expenseAutomationView/expenseAutomationViewState.js +1 -1
- package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +53 -53
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +10 -86
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +11 -11
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -12
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +7 -66
- package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.d.ts +0 -2
- package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.js +1 -1
- package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +2 -5
- package/lib/view/expenseAutomationView/types/fluxAnalysisViewState.d.ts +1 -1
- package/lib/view/expenseAutomationView/types/missingReceiptsViewState.d.ts +1 -1
- package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +2 -12
- package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
- package/lib/view/financeStatement/financeStatementReducer.js +4 -1
- package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +4 -4
- package/lib/view/netBurnOrIncome/netBurnOrIncomeReducer.js +10 -3
- package/lib/view/netBurnOrIncomeClassesView/netBurnOrIncomeClassesViewReducer.js +6 -1
- package/lib/view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardReducer.js +1 -0
- package/lib/view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardState.d.ts +1 -1
- package/lib/view/notificationView/notificationViewReducer.d.ts +8 -8
- package/lib/view/notificationView/notificationViewState.d.ts +2 -2
- package/lib/view/onboardingView/cockpitView/onboardingCockpitViewReducer.js +3 -0
- package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +2 -2
- package/lib/view/opEx/opExForTimeFrameEpic.js +1 -1
- package/lib/view/opEx/opExReducer.js +14 -4
- package/lib/view/opExByVendor/opExByVendorReducer.js +3 -1
- package/lib/view/opExByVendor/opExByVendorState.d.ts +1 -1
- package/lib/view/opExClassesView/opExClassesViewReducer.js +6 -1
- package/lib/view/people/fetchPeopleEpic.js +3 -1
- package/lib/view/people/invitePeopleEpic.js +3 -1
- package/lib/view/people/inviteZeniPeopleEpic.js +3 -1
- package/lib/view/people/peopleReducer.js +1 -0
- package/lib/view/people/peopleSaveUpdatesEpic.js +1 -1
- package/lib/view/profitAndLoss/profitAndLossReducer.js +6 -1
- package/lib/view/profitAndLossClassesView/profitAndLossClassesViewReducer.js +6 -1
- package/lib/view/recommendation/recommendationReducer.js +4 -1
- package/lib/view/referralView/referralState.d.ts +1 -1
- package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +2 -2
- package/lib/view/reportUIOptions/reportUIOptionsReducer.d.ts +8 -8
- package/lib/view/reportUIOptions/updateReportUIOptionThisPeriodEpic.js +3 -1
- package/lib/view/revenue/revenueReducer.js +10 -3
- package/lib/view/revenueClassesView/revenueClassesViewReducer.js +6 -1
- package/lib/view/scheduleView/scheduleAccruedDetailView/LinkBillExpenseView/linkBillExpense.d.ts +1 -1
- package/lib/view/scheduleView/scheduleDetailView/scheduleDetailReducer.d.ts +4 -4
- package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +2 -2
- package/lib/view/settingsView/settingsViewReducer.js +1 -0
- package/lib/view/settingsView/settingsViewState.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListReducer.js +1 -0
- package/lib/view/spendManagement/billPay/billList/billListState.d.ts +2 -2
- package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigState.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigState.js +6 -0
- package/lib/view/spendManagement/billPay/billsBulkActionView/billsBulkActionViewReducer.d.ts +2 -2
- package/lib/view/spendManagement/billPay/billsBulkActionView/epics/validateBillsBulkActionEpic.ts.js +3 -4
- package/lib/view/spendManagement/billPay/editBillView/epics/fetchBillAndInitializeLocalStoreEpic.js +3 -1
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.d.ts +2 -2
- package/lib/view/spendManagement/commonHistoryView/commonHistory.d.ts +1 -1
- package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +7 -7
- package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +1 -1
- package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.js +3 -11
- package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.d.ts +10 -11
- package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.js +1 -3
- package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.d.ts +1 -1
- package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchRecommendationsAndUpdateMerchantRecommendationsEpic.js +6 -2
- package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchRemiAndInitializeLocalStoreEpic.js +3 -1
- package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +1 -1
- package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.js +1 -0
- package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +4 -4
- package/lib/view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewReducer.d.ts +2 -2
- package/lib/view/subscriptionView/subscriptionViewReducer.js +1 -0
- package/lib/view/subscriptionView/types/subscriptionTypes.js +1 -0
- package/lib/view/taskManager/taskListView/epics/dragNDropTasksEpic.js +3 -1
- package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
- package/lib/view/taskManager/taskListView/taskListSelector.d.ts +1 -1
- package/lib/view/tasksCard/fetchTasksCardEpic.js +2 -1
- package/lib/view/tasksCard/tasksCardSelector.d.ts +2 -2
- package/lib/view/tasksCard/tasksCardSelector.js +1 -1
- package/lib/view/topEx/topExSelector.d.ts +3 -3
- package/lib/view/transactionDetail/epics/saveTransactionHelper.js +59 -34
- package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +4 -22
- package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +13 -66
- package/lib/view/transactionDetail/transactionDetailReducer.d.ts +4 -13
- package/lib/view/transactionDetail/transactionDetailReducer.js +21 -51
- package/lib/view/transactionDetail/transactionDetailState.d.ts +2 -3
- package/lib/view/transactionDetail/transactionDetailTypes.d.ts +0 -8
- package/lib/view/transactionList/transactionListByEntitySelector.js +2 -0
- package/lib/view/transactionList/transactionListReducer.js +6 -4
- package/lib/view/trendWithTransactions/trendWithTransactionsReducer.js +1 -0
- package/lib/view/userFinancialAccount/userFinancialAccountReducer.js +3 -1
- package/lib/view/vendorFiling1099/vendorFiling1099List/vendorFiling1099ListState.d.ts +1 -1
- package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewState.d.ts +1 -1
- package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewState.d.ts +1 -1
- package/lib/zeniAPI.d.ts +0 -1
- package/lib/zeniUrl.d.ts +1 -1
- package/package.json +13 -14
- package/lib/entity/accountRecon/accountReconPayload.d.ts +0 -71
- package/lib/entity/accountRecon/accountReconPayload.js +0 -131
- package/lib/entity/accountRecon/accountReconReducer.d.ts +0 -16
- package/lib/entity/accountRecon/accountReconReducer.js +0 -71
- package/lib/entity/accountRecon/accountReconSelector.d.ts +0 -34
- package/lib/entity/accountRecon/accountReconSelector.js +0 -47
- package/lib/entity/accountRecon/accountReconState.d.ts +0 -76
- package/lib/entity/accountRecon/accountReconState.js +0 -35
- package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.d.ts +0 -35
- package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.js +0 -53
- package/lib/entity/transaction/stateTypes/reconciliationTransaction.d.ts +0 -32
- package/lib/entity/transaction/stateTypes/reconciliationTransaction.js +0 -10
- package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.d.ts +0 -15
- package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +0 -118
- package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.d.ts +0 -10
- package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +0 -49
- package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.d.ts +0 -14
- package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.js +0 -178
- package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.d.ts +0 -9
- package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +0 -154
- package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.d.ts +0 -6
- package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.js +0 -110
- package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.d.ts +0 -7
- package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.js +0 -18
- package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +0 -28
- package/lib/view/expenseAutomationView/payload/reconciliationPayload.js +0 -51
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +0 -66
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +0 -384
- package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +0 -53
- package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +0 -7
- package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.d.ts +0 -5
- package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +0 -278
- package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +0 -103
- package/lib/view/expenseAutomationView/types/reconciliationViewState.js +0 -37
|
@@ -9,14 +9,10 @@ const expenseAutomationViewReducer_1 = require("../../expenseAutomationViewReduc
|
|
|
9
9
|
const fluxAnalysisViewReducer_1 = require("../../reducers/fluxAnalysisViewReducer");
|
|
10
10
|
const jeSchedulesViewReducer_1 = require("../../reducers/jeSchedulesViewReducer");
|
|
11
11
|
const missingReceiptsViewReducer_1 = require("../../reducers/missingReceiptsViewReducer");
|
|
12
|
-
const reconciliationViewReducer_1 = require("../../reducers/reconciliationViewReducer");
|
|
13
12
|
const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
|
|
14
13
|
const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(expenseAutomationViewReducer_1.fetchAllExpenseAutomationTabs.match), (0, operators_1.switchMap)((action) => {
|
|
15
|
-
var _a, _b;
|
|
16
14
|
const { cacheOverride, refreshViewInBackground } = action.payload;
|
|
17
15
|
const state = state$.value;
|
|
18
|
-
const { monthEndCloseChecksState } = state;
|
|
19
|
-
const { monthEndCloseChecksByTenantId } = monthEndCloseChecksState;
|
|
20
16
|
const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
|
|
21
17
|
const companyId = currentTenant.companyId;
|
|
22
18
|
const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
|
|
@@ -25,24 +21,22 @@ const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.pipe((0
|
|
|
25
21
|
const timePeriodStart = (0, timePeriod_1.toAbsoluteDay)(period.start);
|
|
26
22
|
const timePeriodEnd = (0, timePeriod_1.toAbsoluteDay)(period.end);
|
|
27
23
|
const monthYearPeriodId = (0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod);
|
|
28
|
-
const monthEndCheckState = (_a = monthEndCloseChecksByTenantId === null || monthEndCloseChecksByTenantId === void 0 ? void 0 : monthEndCloseChecksByTenantId[currentTenant.tenantId]) === null || _a === void 0 ? void 0 : _a[monthYearPeriodId];
|
|
29
|
-
const reconciliationEnabled = (_b = monthEndCheckState === null || monthEndCheckState === void 0 ? void 0 : monthEndCheckState.monthEndCloseCheckList.some((list) => list.id === 'reconciliation')) !== null && _b !== void 0 ? _b : false;
|
|
30
24
|
if (timePeriodStart == null ||
|
|
31
25
|
timePeriodEnd == null ||
|
|
32
26
|
companyId == null) {
|
|
33
27
|
throw Error(`Invalid start - ${timePeriodStart} and end - ${timePeriodEnd} period from given ${selectedPeriod}`);
|
|
34
28
|
}
|
|
35
29
|
if (cacheOverride === true) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
30
|
+
return (0, rxjs_1.from)([
|
|
31
|
+
(0, transactionsViewReducer_1.fetchTransactionCategorizationView)(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, cacheOverride, false, undefined, undefined, refreshViewInBackground),
|
|
32
|
+
(0, missingReceiptsViewReducer_1.fetchMissingReceipts)({ start: timePeriodStart, end: timePeriodEnd }, {
|
|
33
|
+
amount: 75.0,
|
|
34
|
+
currencyCode: 'USD',
|
|
35
|
+
currencySymbol: '$',
|
|
36
|
+
}, cacheOverride, refreshViewInBackground),
|
|
37
|
+
(0, fluxAnalysisViewReducer_1.fetchFluxAnalysisView)(selectedPeriod, cacheOverride, refreshViewInBackground, null),
|
|
38
|
+
(0, jeSchedulesViewReducer_1.fetchJeSchedulesPage)({ start: timePeriodStart, end: timePeriodEnd }, cacheOverride),
|
|
39
|
+
]);
|
|
46
40
|
}
|
|
47
41
|
else {
|
|
48
42
|
const fetchActions = [];
|
|
@@ -74,14 +68,6 @@ const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.pipe((0
|
|
|
74
68
|
null)) {
|
|
75
69
|
fetchActions.push((0, jeSchedulesViewReducer_1.fetchJeSchedulesPage)({ start: timePeriodStart, end: timePeriodEnd }, cacheOverride));
|
|
76
70
|
}
|
|
77
|
-
if (state.expenseAutomationReconciliationViewState.fetchState !==
|
|
78
|
-
'In-Progress' &&
|
|
79
|
-
state.expenseAutomationReconciliationViewState
|
|
80
|
-
.accountReconciliationRecordsBySelectedPeriod[monthYearPeriodId] ==
|
|
81
|
-
null &&
|
|
82
|
-
reconciliationEnabled) {
|
|
83
|
-
fetchActions.push((0, reconciliationViewReducer_1.fetchReconciliation)(selectedPeriod, undefined, cacheOverride, refreshViewInBackground));
|
|
84
|
-
}
|
|
85
71
|
if (state.expenseAutomationTransactionsViewState
|
|
86
72
|
.transactionCategorizationView[selectedTransactionCategorizationTab]
|
|
87
73
|
.fetchState !== 'In-Progress' &&
|
package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import { refreshExpenseAutomationCurrentTab } from '../../expenseAutomationViewR
|
|
|
7
7
|
import { fetchFluxAnalysisView } from '../../reducers/fluxAnalysisViewReducer';
|
|
8
8
|
import { fetchJeSchedulesPage } from '../../reducers/jeSchedulesViewReducer';
|
|
9
9
|
import { fetchMissingReceipts } from '../../reducers/missingReceiptsViewReducer';
|
|
10
|
-
import { fetchReconciliation } from '../../reducers/reconciliationViewReducer';
|
|
11
10
|
import { fetchTransactionCategorizationView } from '../../reducers/transactionsViewReducer';
|
|
12
|
-
export type ActionType = ReturnType<typeof refreshExpenseAutomationCurrentTab> | ReturnType<typeof fetchCompanyMonthEndReportView> | ReturnType<typeof fetchCompanyMonthEndReportTemplates> | ReturnType<typeof fetchMissingReceipts> | ReturnType<typeof fetchMonthEndCloseChecks> | ReturnType<typeof fetchFluxAnalysisView> | ReturnType<typeof
|
|
11
|
+
export type ActionType = ReturnType<typeof refreshExpenseAutomationCurrentTab> | ReturnType<typeof fetchCompanyMonthEndReportView> | ReturnType<typeof fetchCompanyMonthEndReportTemplates> | ReturnType<typeof fetchMissingReceipts> | ReturnType<typeof fetchMonthEndCloseChecks> | ReturnType<typeof fetchFluxAnalysisView> | ReturnType<typeof fetchJeSchedulesPage> | ReturnType<typeof fetchTransactionCategorizationView>;
|
|
13
12
|
export declare const refreshExpenseAutomationCurrentTabEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
|
package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js
CHANGED
|
@@ -10,7 +10,6 @@ const expenseAutomationViewReducer_1 = require("../../expenseAutomationViewReduc
|
|
|
10
10
|
const fluxAnalysisViewReducer_1 = require("../../reducers/fluxAnalysisViewReducer");
|
|
11
11
|
const jeSchedulesViewReducer_1 = require("../../reducers/jeSchedulesViewReducer");
|
|
12
12
|
const missingReceiptsViewReducer_1 = require("../../reducers/missingReceiptsViewReducer");
|
|
13
|
-
const reconciliationViewReducer_1 = require("../../reducers/reconciliationViewReducer");
|
|
14
13
|
const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
|
|
15
14
|
const refreshExpenseAutomationCurrentTabEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(expenseAutomationViewReducer_1.refreshExpenseAutomationCurrentTab.match), (0, operators_1.switchMap)(() => {
|
|
16
15
|
const state = state$.value;
|
|
@@ -19,7 +18,6 @@ const refreshExpenseAutomationCurrentTabEpic = (actions$, state$) => actions$.pi
|
|
|
19
18
|
const { selectedTransactionCategorizationTab } = state.expenseAutomationTransactionsViewState;
|
|
20
19
|
const { selectedPeriodByTenantId, currentSelectedView } = state.expenseAutomationViewState;
|
|
21
20
|
const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
|
|
22
|
-
const { selectedAccountId } = state.expenseAutomationReconciliationViewState;
|
|
23
21
|
const period = (0, timePeriod_1.convertToPeriod)(selectedPeriod);
|
|
24
22
|
const timePeriodStart = (0, timePeriod_1.toAbsoluteDay)(period.start);
|
|
25
23
|
const timePeriodEnd = (0, timePeriod_1.toAbsoluteDay)(period.end);
|
|
@@ -50,18 +48,6 @@ const refreshExpenseAutomationCurrentTabEpic = (actions$, state$) => actions$.pi
|
|
|
50
48
|
(0, companyMonthEndReportViewReducer_1.fetchCompanyMonthEndReportView)(true, companyId, currentTenant.tenantId),
|
|
51
49
|
(0, companyMonthEndReportViewReducer_1.fetchCompanyMonthEndReportTemplates)(companyId, currentTenant.tenantId),
|
|
52
50
|
]);
|
|
53
|
-
case 'reconciliation': {
|
|
54
|
-
if (selectedAccountId != null) {
|
|
55
|
-
return (0, rxjs_1.from)([
|
|
56
|
-
(0, reconciliationViewReducer_1.fetchReconciliation)(selectedPeriod, selectedAccountId, true, true),
|
|
57
|
-
]);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
return (0, rxjs_1.from)([
|
|
61
|
-
(0, reconciliationViewReducer_1.fetchReconciliation)(selectedPeriod, undefined, true, true),
|
|
62
|
-
]);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
51
|
case 'transaction_categorization':
|
|
66
52
|
default:
|
|
67
53
|
return (0, rxjs_1.from)([
|
|
@@ -40,17 +40,13 @@ const updateTransactionCategorizationEpic = (actions$, state$, zeniAPI) => actio
|
|
|
40
40
|
}));
|
|
41
41
|
exports.updateTransactionCategorizationEpic = updateTransactionCategorizationEpic;
|
|
42
42
|
function prepareTransactionPayload(selectedTab, transactionState, vendorState, transactionsViewState, transactionId, saveUpdates) {
|
|
43
|
-
var _a
|
|
43
|
+
var _a;
|
|
44
44
|
const detail = (0, transactionSelector_1.getSupportedTransactionById)(transactionState, transactionId);
|
|
45
45
|
const tranDetail = (0, get_1.default)(transactionsViewState.transactionCategorizationView[selectedTab]
|
|
46
46
|
.transactionReviewLocalDataById, transactionId, undefined);
|
|
47
47
|
const tranVendorUpdates = (_a = tranDetail === null || tranDetail === void 0 ? void 0 : tranDetail.transactionReviewLocalData) === null || _a === void 0 ? void 0 : _a.vendorUpdates;
|
|
48
|
-
const tranCustomerUpdates = (_b = tranDetail === null || tranDetail === void 0 ? void 0 : tranDetail.transactionReviewLocalData) === null || _b === void 0 ? void 0 : _b.customerUpdates;
|
|
49
|
-
const tranSelectedEntity = (_c = tranDetail === null || tranDetail === void 0 ? void 0 : tranDetail.transactionReviewLocalData) === null || _c === void 0 ? void 0 : _c.selectedEntity;
|
|
50
48
|
let vendorUpdates = undefined;
|
|
51
|
-
if ((tranVendorUpdates === null || tranVendorUpdates === void 0 ? void 0 : tranVendorUpdates.qboId) != null
|
|
52
|
-
tranSelectedEntity != null &&
|
|
53
|
-
tranSelectedEntity.type === 'vendor') {
|
|
49
|
+
if ((tranVendorUpdates === null || tranVendorUpdates === void 0 ? void 0 : tranVendorUpdates.qboId) != null) {
|
|
54
50
|
const vendor = (0, vendorSelector_1.getVendorByVendorId)(vendorState, tranVendorUpdates.qboId);
|
|
55
51
|
if (vendor != null) {
|
|
56
52
|
vendorUpdates = {
|
|
@@ -65,23 +61,8 @@ function prepareTransactionPayload(selectedTab, transactionState, vendorState, t
|
|
|
65
61
|
};
|
|
66
62
|
}
|
|
67
63
|
}
|
|
68
|
-
let customerUpdates = undefined;
|
|
69
|
-
if (tranSelectedEntity != null && tranSelectedEntity.type === 'customer') {
|
|
70
|
-
if ((tranCustomerUpdates === null || tranCustomerUpdates === void 0 ? void 0 : tranCustomerUpdates.qboId) != null) {
|
|
71
|
-
customerUpdates = {
|
|
72
|
-
id: tranCustomerUpdates.qboId,
|
|
73
|
-
name: tranCustomerUpdates.name,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
customerUpdates = {
|
|
78
|
-
id: tranSelectedEntity.id,
|
|
79
|
-
name: tranSelectedEntity.name,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
64
|
if (detail != null) {
|
|
84
|
-
const transUpdates = toTransactionUpdatePayload(saveUpdates.updates, detail, vendorUpdates
|
|
65
|
+
const transUpdates = toTransactionUpdatePayload(saveUpdates.updates, detail, vendorUpdates);
|
|
85
66
|
const entityUpdates = toEntityUpdatePayload(saveUpdates.entityRelatedUpdates);
|
|
86
67
|
return {
|
|
87
68
|
entity_related_updates: entityUpdates,
|
|
@@ -110,10 +91,12 @@ function preparePayload(selectedTab, transactionState, vendorState, transactions
|
|
|
110
91
|
return payload;
|
|
111
92
|
}
|
|
112
93
|
}
|
|
113
|
-
const toTransactionUpdatePayload = (updates, detail, vendorUpdates
|
|
94
|
+
const toTransactionUpdatePayload = (updates, detail, vendorUpdates) => {
|
|
114
95
|
var _a, _b;
|
|
115
96
|
const transaction = Object.assign({}, detail);
|
|
116
97
|
transaction.memo = (_a = updates.memo) !== null && _a !== void 0 ? _a : '';
|
|
98
|
+
transaction.vendorId = vendorUpdates === null || vendorUpdates === void 0 ? void 0 : vendorUpdates.id;
|
|
99
|
+
transaction.vendorName = vendorUpdates === null || vendorUpdates === void 0 ? void 0 : vendorUpdates.name;
|
|
117
100
|
const recommendationUpdates = {};
|
|
118
101
|
for (const key in updates.updatesByLineId) {
|
|
119
102
|
const lineUpdates = updates.updatesByLineId[key];
|
|
@@ -150,17 +133,11 @@ const toTransactionUpdatePayload = (updates, detail, vendorUpdates, customerUpda
|
|
|
150
133
|
transaction.lines = newLineMap;
|
|
151
134
|
}
|
|
152
135
|
transaction.recommendations = recommendationUpdates;
|
|
153
|
-
// Added this check because now customer are also part of Expense,Journal Entry and Check type of transactions
|
|
154
136
|
if ((0, customerTransaction_1.isCustomerTransaction)(transaction)) {
|
|
155
137
|
return (0, customerTransactionPayload_1.toCustomerTransactionPayload)(transaction);
|
|
156
138
|
}
|
|
157
139
|
else if ((0, vendorTransaction_1.isVendorTransaction)(transaction)) {
|
|
158
|
-
|
|
159
|
-
return (0, vendorTransactionPayload_1.toVendorTransactionWithCustomerPayload)(transaction, customerUpdates);
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
return (0, vendorTransactionPayload_1.toVendorTransactionPayload)(transaction, vendorUpdates);
|
|
163
|
-
}
|
|
140
|
+
return (0, vendorTransactionPayload_1.toVendorTransactionPayload)(transaction, vendorUpdates);
|
|
164
141
|
}
|
|
165
142
|
else if ((0, otherTransaction_1.isTransferTransaction)(transaction)) {
|
|
166
143
|
return (0, otherTransactionPayload_1.toTransferTransactionPayload)(transaction);
|
|
@@ -8,8 +8,8 @@ export declare const fetchAllExpenseAutomationTabs: import("@reduxjs/toolkit").A
|
|
|
8
8
|
}, "expenseAutomationView/fetchAllExpenseAutomationTabs", never, never>, updateCurrentSelectedPeriod: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, newSelectedPeriod: MonthYearPeriod], {
|
|
9
9
|
newSelectedPeriod: MonthYearPeriod;
|
|
10
10
|
tenantId: string;
|
|
11
|
-
}, "expenseAutomationView/updateCurrentSelectedPeriod", never, never>, updateCurrentSelectedView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newSelectedView: "transaction_categorization" | "je_schedules" | "
|
|
12
|
-
newSelectedView: "transaction_categorization" | "je_schedules" | "
|
|
11
|
+
}, "expenseAutomationView/updateCurrentSelectedPeriod", never, never>, updateCurrentSelectedView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newSelectedView: "transaction_categorization" | "je_schedules" | "account_recon" | "missing_receipts" | "flux_analysis" | "month_end_insights"], {
|
|
12
|
+
newSelectedView: "transaction_categorization" | "je_schedules" | "account_recon" | "missing_receipts" | "flux_analysis" | "month_end_insights";
|
|
13
13
|
}, "expenseAutomationView/updateCurrentSelectedView", never, never>, clearExpenseAutomationView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationView/clearExpenseAutomationView">, initializeSelectedPeriodForTenants: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
14
14
|
selectedPeriodByTenantId: Record<ID, MonthYearPeriod>;
|
|
15
15
|
}, "expenseAutomationView/initializeSelectedPeriodForTenants">, refreshExpenseAutomationCurrentTab: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationView/refreshExpenseAutomationCurrentTab">;
|
|
@@ -22,7 +22,11 @@ const expenseAutomationView = (0, toolkit_1.createSlice)({
|
|
|
22
22
|
reducer() {
|
|
23
23
|
//do nothing
|
|
24
24
|
},
|
|
25
|
-
prepare(
|
|
25
|
+
prepare(
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
27
|
+
cacheOverride = false,
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
29
|
+
refreshViewInBackground = false) {
|
|
26
30
|
return {
|
|
27
31
|
payload: { cacheOverride, refreshViewInBackground },
|
|
28
32
|
};
|
|
@@ -11,7 +11,6 @@ const expenseAutomationViewSelectorTypes_1 = require("./selectorTypes/expenseAut
|
|
|
11
11
|
const fluxAnalysisViewSelector_1 = require("./selectors/fluxAnalysisViewSelector");
|
|
12
12
|
const jeSchedulesViewSelector_1 = require("./selectors/jeSchedulesViewSelector");
|
|
13
13
|
const missingReceiptsSelector_1 = require("./selectors/missingReceiptsSelector");
|
|
14
|
-
const reconciliationViewSelector_1 = require("./selectors/reconciliationViewSelector");
|
|
15
14
|
const transactionCategorizationSelector_1 = require("./selectors/transactionCategorizationSelector");
|
|
16
15
|
const isPreviousStepDisabled = (selectedTransactionCategorizationTab, allSteps, stepIndex, currentTenant, selectedPeriod, userAllowedToAccessMonthEndInsights, reportEmailSentDate, auditSummary) => {
|
|
17
16
|
if (stepIndex === 0) {
|
|
@@ -25,7 +24,7 @@ const isPreviousStepDisabled = (selectedTransactionCategorizationTab, allSteps,
|
|
|
25
24
|
};
|
|
26
25
|
function getExpenseAutomationView(state) {
|
|
27
26
|
var _a, _b, _c;
|
|
28
|
-
const { expenseAutomationViewState, tenantState, expenseAutomationMissingReceiptsViewState, expenseAutomationJESchedulesViewState, expenseAutomationTransactionsViewState,
|
|
27
|
+
const { expenseAutomationViewState, tenantState, expenseAutomationMissingReceiptsViewState, expenseAutomationJESchedulesViewState, expenseAutomationTransactionsViewState, monthEndCloseChecksState, companyState, } = state;
|
|
29
28
|
const { loggedInUser, currentTenantId } = tenantState;
|
|
30
29
|
const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
|
|
31
30
|
const { currentSelectedView, selectedPeriodByTenantId } = expenseAutomationViewState;
|
|
@@ -43,15 +42,9 @@ function getExpenseAutomationView(state) {
|
|
|
43
42
|
const missingReceipts = (0, missingReceiptsSelector_1.getExpenseAutomationMissingReceiptsView)(state);
|
|
44
43
|
const fluxAnalysis = (0, fluxAnalysisViewSelector_1.getExpenseAutomationFluxAnalysisView)(state);
|
|
45
44
|
const monthEndInsights = (0, companyMonthEndReportViewSelector_1.getCompanyMonthEndReportSelectorView)(state, currentTenant.companyId, loggedInUser);
|
|
46
|
-
const reconciliation = (0, reconciliationViewSelector_1.getExpenseAutomationReconciliationView)(state);
|
|
47
45
|
const expenseAutomationTransactionsView = (0, transactionCategorizationSelector_1.getExpenseAutomationTransactionView)(state);
|
|
48
46
|
const jeSchedules = (0, jeSchedulesViewSelector_1.getExpenseAutomationJESchedulesView)(state);
|
|
49
47
|
switch (currentSelectedView) {
|
|
50
|
-
case 'reconciliation':
|
|
51
|
-
currentSelectedViewFetchState = reconciliation.fetchStatus;
|
|
52
|
-
currentSelectedViewBackgroundRefreshFetchState =
|
|
53
|
-
reconciliation.refreshStatus;
|
|
54
|
-
break;
|
|
55
48
|
case 'flux_analysis':
|
|
56
49
|
currentSelectedViewFetchState = fluxAnalysis.fetchStatus;
|
|
57
50
|
currentSelectedViewBackgroundRefreshFetchState =
|
|
@@ -97,7 +90,6 @@ function getExpenseAutomationView(state) {
|
|
|
97
90
|
expenseAutomationJESchedulesViewState,
|
|
98
91
|
monthEndCloseChecksView,
|
|
99
92
|
expenseAutomationTransactionsView,
|
|
100
|
-
expenseAutomationReconciliationViewState,
|
|
101
93
|
];
|
|
102
94
|
let allSteps = [];
|
|
103
95
|
let auditSummary = undefined;
|
|
@@ -130,9 +122,6 @@ function getExpenseAutomationView(state) {
|
|
|
130
122
|
? (0, monthEndCloseChecksViewSelector_1.isMonthEndInsightDisabled)(currentTenant, selectedPeriod, userAllowedToAccessMonthEndInsights, auditSummary)
|
|
131
123
|
: true });
|
|
132
124
|
return;
|
|
133
|
-
case 'reconciliation':
|
|
134
|
-
allStepsOriginal[index] = Object.assign(Object.assign({}, stepDetail), { completionStatus: reconciliation.completionStatus });
|
|
135
|
-
return;
|
|
136
125
|
case 'flux_analysis':
|
|
137
126
|
default:
|
|
138
127
|
allStepsOriginal[index] = Object.assign(Object.assign({}, stepDetail), { completionStatus: fluxAnalysis.completionStatus });
|
|
@@ -142,10 +131,7 @@ function getExpenseAutomationView(state) {
|
|
|
142
131
|
allSteps.forEach((stepDetail, index, allStepsOriginal) => {
|
|
143
132
|
allStepsOriginal[index] = Object.assign(Object.assign({}, stepDetail), { isNextDisabled: index === allStepsOriginal.length - 1
|
|
144
133
|
? allStepsOriginal[0].isDisabled
|
|
145
|
-
:
|
|
146
|
-
reconciliation.selectedTab === 'review'
|
|
147
|
-
? false
|
|
148
|
-
: allStepsOriginal[index + 1].isDisabled, isPrevDisabled: isPreviousStepDisabled(selectedTransactionCategorizationTab, allStepsOriginal, index, currentTenant, selectedPeriod, userAllowedToAccessMonthEndInsights, reportEmailSentDate, auditSummary) });
|
|
134
|
+
: allStepsOriginal[index + 1].isDisabled, isPrevDisabled: isPreviousStepDisabled(selectedTransactionCategorizationTab, allStepsOriginal, index, currentTenant, selectedPeriod, userAllowedToAccessMonthEndInsights, reportEmailSentDate, auditSummary) });
|
|
149
135
|
});
|
|
150
136
|
}
|
|
151
137
|
const reducedFetchStatus = (0, reduceFetchState_1.reduceAnyFetchState)(fetchStateVariables); // Add more states
|
|
@@ -160,7 +146,6 @@ function getExpenseAutomationView(state) {
|
|
|
160
146
|
jeSchedules,
|
|
161
147
|
transactionView: expenseAutomationTransactionsView,
|
|
162
148
|
missingReceipts,
|
|
163
|
-
reconciliation,
|
|
164
149
|
currentSelectedViewFetchState,
|
|
165
150
|
currentSelectedViewBackgroundRefreshFetchState,
|
|
166
151
|
fluxAnalysis,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FetchStateAndError, FetchedState, ID } from '../../commonStateTypes/common';
|
|
2
2
|
import { MonthYearPeriod } from '../../commonStateTypes/timePeriod';
|
|
3
|
-
export declare const EXPENSE_AUTOMATION_VIEW_TYPES: readonly ["transaction_categorization", "je_schedules", "
|
|
4
|
-
export declare const toExpenseAutomationViewType: (v: string) => "transaction_categorization" | "je_schedules" | "
|
|
3
|
+
export declare const EXPENSE_AUTOMATION_VIEW_TYPES: readonly ["transaction_categorization", "je_schedules", "account_recon", "missing_receipts", "flux_analysis", "month_end_insights"];
|
|
4
|
+
export declare const toExpenseAutomationViewType: (v: string) => "transaction_categorization" | "je_schedules" | "account_recon" | "missing_receipts" | "flux_analysis" | "month_end_insights";
|
|
5
5
|
export type ExpenseAutomationViewType = ReturnType<typeof toExpenseAutomationViewType>;
|
|
6
6
|
export interface ExpenseAutomationViewState extends FetchedState {
|
|
7
7
|
saveStatus: FetchStateAndError;
|
|
@@ -5,7 +5,7 @@ const stringToUnion_1 = require("../../commonStateTypes/stringToUnion");
|
|
|
5
5
|
exports.EXPENSE_AUTOMATION_VIEW_TYPES = [
|
|
6
6
|
'transaction_categorization',
|
|
7
7
|
'je_schedules',
|
|
8
|
-
'
|
|
8
|
+
'account_recon', // Not part of scope in v1
|
|
9
9
|
'missing_receipts',
|
|
10
10
|
'flux_analysis',
|
|
11
11
|
'month_end_insights',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toTransactionUpdatesFromTransactionCategorizationLocalData = void 0;
|
|
4
|
+
const entity_1 = require("../../../entity/genericEntity/entity");
|
|
4
5
|
const vendorTransaction_1 = require("../../../entity/transaction/stateTypes/vendorTransaction");
|
|
5
6
|
const recommendationState_1 = require("../../recommendation/recommendationState");
|
|
6
7
|
const saveTransactionHelper_1 = require("../../transactionDetail/epics/saveTransactionHelper");
|
|
@@ -9,7 +10,7 @@ const saveTransactionHelper_1 = require("../../transactionDetail/epics/saveTrans
|
|
|
9
10
|
* @param transactionCategorizationLocalData
|
|
10
11
|
*/
|
|
11
12
|
const toTransactionUpdatesFromTransactionCategorizationLocalData = (transactionCategorizationLocalData, transaction, uncategorizedIncomeExpense) => {
|
|
12
|
-
var _a;
|
|
13
|
+
var _a, _b, _c;
|
|
13
14
|
const updates = {
|
|
14
15
|
updatesByLineId: {},
|
|
15
16
|
};
|
|
@@ -18,24 +19,25 @@ const toTransactionUpdatesFromTransactionCategorizationLocalData = (transactionC
|
|
|
18
19
|
const isTransactionMisCategorized = (0, saveTransactionHelper_1.isTransactionMiscategorized)(transaction, true);
|
|
19
20
|
const isTransactionUnCategorized = (0, saveTransactionHelper_1.isTransactionUncategorized)(transaction, uncategorizedIncomeExpense);
|
|
20
21
|
updates.memo = transactionCategorizationLocalData.memo;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
currentSelectedEntity != null &&
|
|
24
|
-
currentSelectedEntity.type === 'vendor') {
|
|
25
|
-
updates.vendorId = currentSelectedEntity.qboId;
|
|
26
|
-
}
|
|
27
|
-
if ((0, vendorTransaction_1.isVendorTransactionWithCustomer)(transaction) === true &&
|
|
28
|
-
currentSelectedEntity != null &&
|
|
29
|
-
currentSelectedEntity.type === 'customer') {
|
|
30
|
-
updates.customerId = currentSelectedEntity.qboId;
|
|
22
|
+
if ((0, vendorTransaction_1.isVendorTransaction)(transaction) === true) {
|
|
23
|
+
updates.vendorId = (_a = transactionCategorizationLocalData.vendorUpdates) === null || _a === void 0 ? void 0 : _a.id;
|
|
31
24
|
}
|
|
25
|
+
const entity = transaction.vendorId != null
|
|
26
|
+
? {
|
|
27
|
+
id: transaction.vendorId,
|
|
28
|
+
name: (_b = transaction.vendorName) !== null && _b !== void 0 ? _b : '',
|
|
29
|
+
type: (0, entity_1.toEntityType)('vendor'),
|
|
30
|
+
qboId: transaction.vendorId,
|
|
31
|
+
zeniId: transaction.vendorId,
|
|
32
|
+
}
|
|
33
|
+
: undefined;
|
|
32
34
|
let lastUpdatedCategory;
|
|
33
35
|
let lastUpdatedClass;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const entityDetails = getEntityDetails(
|
|
36
|
+
// single recommendation to just pick the last recommendation in the list of lines
|
|
37
|
+
(_c = transaction.lines) === null || _c === void 0 ? void 0 : _c.forEach((line) => {
|
|
38
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
39
|
+
const updatedEntityId = (_a = transactionCategorizationLocalData.vendorUpdates) === null || _a === void 0 ? void 0 : _a.qboId;
|
|
40
|
+
const entityDetails = getEntityDetails(entity, transactionCategorizationLocalData.lineItemById[line.id], transactionCategorizationLocalData.vendorUpdates);
|
|
39
41
|
if (line.type === 'transaction_with_account_and_class_line' ||
|
|
40
42
|
line.type === 'transaction_with_product_or_service_line' ||
|
|
41
43
|
line.type === 'journal_entry_transaction_line') {
|
|
@@ -48,25 +50,24 @@ const toTransactionUpdatesFromTransactionCategorizationLocalData = (transactionC
|
|
|
48
50
|
};
|
|
49
51
|
if (line.type === 'journal_entry_transaction_line' ||
|
|
50
52
|
line.platformLineDetailType === 'deposit_line_detail') {
|
|
51
|
-
updatesByLineId[line.id] = Object.assign(Object.assign({}, updatesByLineId[line.id]), { vendor:
|
|
52
|
-
currentSelectedEntityLine.type === 'vendor'
|
|
53
|
-
? lineItem.vendor
|
|
54
|
-
: undefined, customer: currentSelectedEntityLine != null &&
|
|
55
|
-
currentSelectedEntityLine.type === 'customer'
|
|
56
|
-
? lineItem.customer
|
|
57
|
-
: undefined });
|
|
53
|
+
updatesByLineId[line.id] = Object.assign(Object.assign({}, updatesByLineId[line.id]), { vendor: lineItem.vendor });
|
|
58
54
|
}
|
|
59
55
|
let hasCategoryChanged = false;
|
|
60
56
|
let hasClassChanged = false;
|
|
61
57
|
const accountLine = line;
|
|
62
58
|
hasCategoryChanged =
|
|
63
|
-
((
|
|
64
|
-
Boolean((
|
|
59
|
+
((_b = lineItem.account) === null || _b === void 0 ? void 0 : _b.qboId) !== accountLine.account.qboId &&
|
|
60
|
+
Boolean((_c = lineItem.account) === null || _c === void 0 ? void 0 : _c.qboId);
|
|
65
61
|
hasClassChanged =
|
|
66
|
-
Boolean((
|
|
67
|
-
((
|
|
62
|
+
Boolean((_d = lineItem.class) === null || _d === void 0 ? void 0 : _d.qboId) &&
|
|
63
|
+
((_e = lineItem.class) === null || _e === void 0 ? void 0 : _e.qboId) !== accountLine.class.qboId;
|
|
68
64
|
const recommendedAccountBase = (0, saveTransactionHelper_1.toRecommendedAccountBase)(lineItem.amount.amount, lineItem.account);
|
|
69
65
|
const recommendedClassBase = (0, saveTransactionHelper_1.toRecommendedClassBase)(lineItem.amount.amount, lineItem.class);
|
|
66
|
+
const updatedLineEntityId = ((_f = accountLine.vendor) === null || _f === void 0 ? void 0 : _f.id) != null
|
|
67
|
+
? ((_g = accountLine.vendor) === null || _g === void 0 ? void 0 : _g.id) != ((_h = lineItem.vendor) === null || _h === void 0 ? void 0 : _h.id)
|
|
68
|
+
? (_j = lineItem.vendor) === null || _j === void 0 ? void 0 : _j.id
|
|
69
|
+
: (_k = accountLine.vendor) === null || _k === void 0 ? void 0 : _k.id
|
|
70
|
+
: undefined;
|
|
70
71
|
if (entityDetails != null &&
|
|
71
72
|
(hasCategoryChanged === true || hasClassChanged === true)) {
|
|
72
73
|
lastUpdatedCategory =
|
|
@@ -79,9 +80,24 @@ const toTransactionUpdatesFromTransactionCategorizationLocalData = (transactionC
|
|
|
79
80
|
account: lastUpdatedCategory,
|
|
80
81
|
class: lastUpdatedClass,
|
|
81
82
|
};
|
|
82
|
-
if (recommended.class != null ||
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
if (recommended.class != null ||
|
|
84
|
+
recommended.account != null ||
|
|
85
|
+
updatedEntityId != null) {
|
|
86
|
+
const vendorIdToUpdate = (_l = transactionCategorizationLocalData.vendorUpdates) === null || _l === void 0 ? void 0 : _l.qboId;
|
|
87
|
+
let entityId = entityDetails.entityId;
|
|
88
|
+
if (line.type === 'journal_entry_transaction_line' ||
|
|
89
|
+
line.platformLineDetailType === 'deposit_line_detail') {
|
|
90
|
+
const entityId = (_m = accountLine.vendor) === null || _m === void 0 ? void 0 : _m.id;
|
|
91
|
+
if (entityId != null) {
|
|
92
|
+
doUpdateEntityUpdates(entityUpdates, entityId, entityDetails.entityType, recommended, false, updatedLineEntityId);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
if (vendorIdToUpdate != null) {
|
|
97
|
+
entityId = vendorIdToUpdate;
|
|
98
|
+
}
|
|
99
|
+
doUpdateEntityUpdates(entityUpdates, entityId, entityDetails.entityType, recommended, false, updatedEntityId);
|
|
100
|
+
}
|
|
85
101
|
}
|
|
86
102
|
}
|
|
87
103
|
}
|
|
@@ -119,45 +135,29 @@ const doUpdateEntityUpdates = (entityUpdates, entityId, entityType, recommendati
|
|
|
119
135
|
entityUpdates[entityKey] = Object.assign(Object.assign({}, entityUpdate), { recommendations: recommendation });
|
|
120
136
|
}
|
|
121
137
|
};
|
|
122
|
-
const getEntityDetails = (entity, lineItemLocalData, vendorUpdates
|
|
123
|
-
var _a, _b, _c
|
|
138
|
+
const getEntityDetails = (entity, lineItemLocalData, vendorUpdates) => {
|
|
139
|
+
var _a, _b, _c;
|
|
124
140
|
if (entity != null) {
|
|
125
141
|
return {
|
|
126
142
|
entityId: (_a = entity.qboId) !== null && _a !== void 0 ? _a : entity.id,
|
|
127
143
|
entityType: entity.type,
|
|
128
144
|
};
|
|
129
145
|
}
|
|
130
|
-
if (vendorUpdates != null && vendorUpdates.id != null) {
|
|
131
|
-
return {
|
|
132
|
-
entityId: vendorUpdates.id,
|
|
133
|
-
entityType: 'vendor',
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
if (customerUpdates != null && customerUpdates.id != null) {
|
|
137
|
-
return {
|
|
138
|
-
entityId: customerUpdates.id,
|
|
139
|
-
entityType: 'customer',
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
146
|
if (lineItemLocalData.lineEntity != null) {
|
|
143
147
|
return {
|
|
144
148
|
entityId: (_b = lineItemLocalData.lineEntity.qboId) !== null && _b !== void 0 ? _b : lineItemLocalData.lineEntity.id,
|
|
145
149
|
entityType: lineItemLocalData.vendor != null ? 'vendor' : 'customer',
|
|
146
150
|
};
|
|
147
151
|
}
|
|
148
|
-
if (
|
|
149
|
-
currentSelectedEntityLine != null &&
|
|
150
|
-
currentSelectedEntityLine.type === 'customer') {
|
|
152
|
+
if (vendorUpdates != null && vendorUpdates.id != null) {
|
|
151
153
|
return {
|
|
152
|
-
entityId:
|
|
153
|
-
entityType: '
|
|
154
|
+
entityId: vendorUpdates.id,
|
|
155
|
+
entityType: 'vendor',
|
|
154
156
|
};
|
|
155
157
|
}
|
|
156
|
-
if (((
|
|
157
|
-
currentSelectedEntityLine != null &&
|
|
158
|
-
currentSelectedEntityLine.type === 'vendor') {
|
|
158
|
+
if (((_c = lineItemLocalData.vendor) === null || _c === void 0 ? void 0 : _c.id) != null) {
|
|
159
159
|
return {
|
|
160
|
-
entityId:
|
|
160
|
+
entityId: lineItemLocalData.vendor.id,
|
|
161
161
|
entityType: 'vendor',
|
|
162
162
|
};
|
|
163
163
|
}
|
package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ import { UncategorizedAccounts } from '../../accountList/accountListSelector';
|
|
|
8
8
|
import { TransactionReviewLocalData, TransactionsTabViewState } from '../types/transactionsViewState';
|
|
9
9
|
export declare const MAX_SELECTION_LIMIT = 5;
|
|
10
10
|
export declare const toTransactionDetailLocalData: (transaction: SupportedTransaction) => TransactionReviewLocalData;
|
|
11
|
-
export declare const toSetAllLineItemsToCategoryClass: (draft: TransactionsTabViewState, transaction: SupportedTransaction, transactionId: ID, transactionLineId: ID, transactionDetailLocalData: TransactionReviewLocalData, updatedItem: "category" | "class", uncategorizedAccounts: UncategorizedAccounts, vendorId?: ID,
|
|
11
|
+
export declare const toSetAllLineItemsToCategoryClass: (draft: TransactionsTabViewState, transaction: SupportedTransaction, transactionId: ID, transactionLineId: ID, transactionDetailLocalData: TransactionReviewLocalData, updatedItem: "category" | "class", uncategorizedAccounts: UncategorizedAccounts, vendorId?: ID, selectedAccount?: AccountBase, selectedClassBase?: ClassBase) => TransactionReviewLocalData;
|
|
12
12
|
export declare const setEntityRecommendationForLineIdInLocalData: (draft: TransactionsTabViewState, transaction: SupportedTransaction, transactionDetailLocalData: TransactionReviewLocalData, entity: Entity, recommendationLineIds: ID[], uncategorizedAccounts: UncategorizedAccounts, recommendationByLineId?: RecommendationByLineId) => TransactionReviewLocalData;
|
|
13
13
|
export declare const checkIfAllLineItemsAreCategoryClassFilled: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionReviewLocalData, uncategorizedAccounts: UncategorizedAccounts) => boolean;
|