@zeniai/client-epic-state 5.0.51 → 5.0.52
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/commonStateTypes/recommendationBase.d.ts +1 -2
- package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
- package/lib/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
- package/lib/entity/account/accountState.d.ts +1 -1
- package/lib/entity/accountGroup/accountGroupState.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/forecast/forecastState.d.ts +1 -1
- package/lib/entity/project/projectPayload.d.ts +1 -8
- package/lib/entity/project/projectPayload.js +1 -15
- package/lib/entity/project/projectState.d.ts +2 -4
- 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/sectionProjectView/sectionProjectView.d.ts +1 -1
- package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
- package/lib/entity/tenant/SessionManager.d.ts +0 -4
- package/lib/entity/tenant/SessionManager.js +0 -6
- package/lib/entity/tenant/clearAllEpic.d.ts +1 -2
- package/lib/entity/tenant/clearAllEpic.js +0 -2
- package/lib/entity/transaction/payloadTypes/transactionLinePayload.d.ts +0 -2
- package/lib/entity/transaction/payloadTypes/transactionLinePayload.js +0 -9
- package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -2
- package/lib/entity/transaction/payloadTypes/transactionPayload.js +0 -6
- package/lib/entity/transaction/stateTypes/transaction.d.ts +0 -2
- package/lib/entity/transaction/stateTypes/transactionLine.d.ts +0 -2
- package/lib/epic.d.ts +1 -4
- package/lib/epic.js +1 -4
- package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
- package/lib/esm/entity/project/projectPayload.js +0 -12
- package/lib/esm/entity/tenant/SessionManager.js +0 -6
- package/lib/esm/entity/tenant/clearAllEpic.js +0 -2
- package/lib/esm/entity/transaction/payloadTypes/transactionLinePayload.js +0 -9
- package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +0 -6
- package/lib/esm/epic.js +1 -4
- package/lib/esm/index.js +5 -9
- package/lib/esm/reducer.js +0 -3
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +0 -8
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +0 -3
- package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +0 -1
- package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -11
- package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +4 -13
- package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +2 -7
- package/lib/esm/view/expenseAutomationView/types/transactionsViewState.js +0 -1
- package/lib/esm/view/profitAndLossClassesView/profitAndLossHorizontalEnrichment.js +0 -44
- package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +0 -1
- package/lib/esm/view/transactionDetail/epics/transactionDetailEpic.js +0 -6
- package/lib/esm/view/transactionDetail/epics/updateTransactionDetailEpic.js +0 -3
- package/lib/esm/view/transactionDetail/transactionDetailSelector.js +2 -14
- package/lib/esm/view/transactionList/transactionListReducer.js +2 -83
- package/lib/esm/view/transactionList/transactionListState.js +0 -10
- package/lib/index.d.ts +7 -11
- package/lib/index.js +27 -40
- package/lib/reducer.d.ts +0 -3
- package/lib/reducer.js +0 -3
- package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
- package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
- package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
- package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
- package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
- package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
- package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
- package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.d.ts +1 -2
- package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +0 -8
- package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +0 -3
- package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +0 -1
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -2
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -11
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -3
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +4 -13
- package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +0 -3
- package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +1 -6
- package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +1 -4
- package/lib/view/expenseAutomationView/types/transactionsViewState.js +0 -1
- package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
- package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
- package/lib/view/profitAndLossClassesView/profitAndLossHorizontalEnrichment.d.ts +1 -15
- package/lib/view/profitAndLossClassesView/profitAndLossHorizontalEnrichment.js +0 -45
- package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
- package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
- package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
- package/lib/view/topEx/topExSelector.d.ts +1 -1
- package/lib/view/transactionDetail/epics/saveTransactionHelper.js +0 -1
- package/lib/view/transactionDetail/epics/transactionDetailEpic.d.ts +1 -2
- package/lib/view/transactionDetail/epics/transactionDetailEpic.js +0 -6
- package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +0 -3
- package/lib/view/transactionDetail/transactionDetailSelector.d.ts +0 -3
- package/lib/view/transactionDetail/transactionDetailSelector.js +1 -13
- package/lib/view/transactionDetail/transactionDetailState.d.ts +0 -2
- package/lib/view/transactionDetail/transactionDetailTypes.d.ts +0 -2
- package/lib/view/transactionList/transactionListPayload.d.ts +0 -15
- package/lib/view/transactionList/transactionListReducer.d.ts +2 -25
- package/lib/view/transactionList/transactionListReducer.js +2 -83
- package/lib/view/transactionList/transactionListState.d.ts +0 -15
- package/lib/view/transactionList/transactionListState.js +1 -13
- package/package.json +1 -1
- package/lib/esm/view/projectList/fetchProjectListEpic.js +0 -38
- package/lib/esm/view/projectList/projectListPayload.js +0 -1
- package/lib/esm/view/projectList/projectListReducer.js +0 -39
- package/lib/esm/view/projectList/projectListSelector.js +0 -9
- package/lib/esm/view/projectList/projectListState.js +0 -1
- package/lib/esm/view/transactionList/fetchTransactionListByProjectEpic.js +0 -45
- package/lib/esm/view/transactionList/parallelFetchProjectTransactionListEpic.js +0 -32
- package/lib/esm/view/transactionList/transactionListByProjectSelector.js +0 -58
- package/lib/tsconfig.typecheck.tsbuildinfo +0 -1
- package/lib/view/projectList/fetchProjectListEpic.d.ts +0 -8
- package/lib/view/projectList/fetchProjectListEpic.js +0 -42
- package/lib/view/projectList/projectListPayload.d.ts +0 -7
- package/lib/view/projectList/projectListPayload.js +0 -2
- package/lib/view/projectList/projectListReducer.d.ts +0 -9
- package/lib/view/projectList/projectListReducer.js +0 -43
- package/lib/view/projectList/projectListSelector.d.ts +0 -8
- package/lib/view/projectList/projectListSelector.js +0 -13
- package/lib/view/projectList/projectListState.d.ts +0 -4
- package/lib/view/projectList/projectListState.js +0 -2
- package/lib/view/transactionList/fetchTransactionListByProjectEpic.d.ts +0 -8
- package/lib/view/transactionList/fetchTransactionListByProjectEpic.js +0 -52
- package/lib/view/transactionList/parallelFetchProjectTransactionListEpic.d.ts +0 -6
- package/lib/view/transactionList/parallelFetchProjectTransactionListEpic.js +0 -36
- package/lib/view/transactionList/transactionListByProjectSelector.d.ts +0 -22
- package/lib/view/transactionList/transactionListByProjectSelector.js +0 -66
package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js
CHANGED
|
@@ -183,7 +183,6 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
|
|
|
183
183
|
const lineId = line.id;
|
|
184
184
|
record.account = accountLine.account;
|
|
185
185
|
record.class = accountLine.class;
|
|
186
|
-
record.project = accountLine.project;
|
|
187
186
|
record.vendor =
|
|
188
187
|
accountLine.vendor != null
|
|
189
188
|
? {
|
|
@@ -306,7 +305,7 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
|
|
|
306
305
|
});
|
|
307
306
|
return lineItemData;
|
|
308
307
|
};
|
|
309
|
-
export const toSetAllLineItemsToCategoryClass = (draft, transaction, transactionId, transactionLineId, transactionDetailLocalData, updatedItem, uncategorizedAccounts, selectedTab, vendorId, customerId, selectedAccount, selectedClassBase,
|
|
308
|
+
export const toSetAllLineItemsToCategoryClass = (draft, transaction, transactionId, transactionLineId, transactionDetailLocalData, updatedItem, uncategorizedAccounts, selectedTab, vendorId, customerId, selectedAccount, selectedClassBase, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled) => {
|
|
310
309
|
let newLineItems = {};
|
|
311
310
|
let selectedCheckBoxTransactionIds = draft.selectedCheckBoxTransactionIds;
|
|
312
311
|
let similarTransactionUpdated = false;
|
|
@@ -326,7 +325,7 @@ export const toSetAllLineItemsToCategoryClass = (draft, transaction, transaction
|
|
|
326
325
|
const record = {
|
|
327
326
|
...transactionDetailLocalData.lineItemById[lineId],
|
|
328
327
|
};
|
|
329
|
-
// if the line is the one that is being updated, then set the account
|
|
328
|
+
// if the line is the one that is being updated, then set the account and class
|
|
330
329
|
if (transactionId === record.transactionId &&
|
|
331
330
|
transactionLineId === lineId) {
|
|
332
331
|
if (selectedAccount != null) {
|
|
@@ -335,9 +334,6 @@ export const toSetAllLineItemsToCategoryClass = (draft, transaction, transaction
|
|
|
335
334
|
if (selectedClassBase != null) {
|
|
336
335
|
record.class = selectedClassBase;
|
|
337
336
|
}
|
|
338
|
-
if (selectedProjectBase != null) {
|
|
339
|
-
record.project = selectedProjectBase;
|
|
340
|
-
}
|
|
341
337
|
const isClassSatisfied = isAccountingClassesEnabled === false || record.class != null;
|
|
342
338
|
if (isClassSatisfied && record.account != null) {
|
|
343
339
|
if (selectedCheckBoxTransactionIds.length < MAX_SELECTION_LIMIT &&
|
|
@@ -389,10 +385,6 @@ export const toSetAllLineItemsToCategoryClass = (draft, transaction, transaction
|
|
|
389
385
|
selectedCheckBoxTransactionIds.push(transaction.id);
|
|
390
386
|
}
|
|
391
387
|
}
|
|
392
|
-
// Project intentionally does NOT propagate to other rows of
|
|
393
|
-
// the same vendor: each line can carry a different project,
|
|
394
|
-
// and auto-filling siblings (the way class does) leads to
|
|
395
|
-
// unexpected bulk selection.
|
|
396
388
|
}
|
|
397
389
|
}
|
|
398
390
|
if (line.type === 'transaction_with_product_or_service_line') {
|
|
@@ -522,7 +514,6 @@ export const setEntityRecommendationForLineIdInLocalData = (draft, transaction,
|
|
|
522
514
|
...newLineItem,
|
|
523
515
|
class: matchingRecord.class,
|
|
524
516
|
account: matchingRecord.account,
|
|
525
|
-
project: matchingRecord.project,
|
|
526
517
|
lineEntity: matchingRecord.lineEntity,
|
|
527
518
|
};
|
|
528
519
|
}
|
|
@@ -282,7 +282,7 @@ const expenseAutomationTransactionsView = createSlice({
|
|
|
282
282
|
},
|
|
283
283
|
setAllItemsToCategoryClassInLocalDataForCategorization: {
|
|
284
284
|
reducer(draft, action) {
|
|
285
|
-
const { vendorId, customerId, selectedAccount, selectedClassBase,
|
|
285
|
+
const { vendorId, customerId, selectedAccount, selectedClassBase, transactions, transactionId, lineId, selectedTab, uncategorizedAccounts, isAccountingClassesEnabled, isUncategorizedExpenseCategoryEnabled, } = action.payload;
|
|
286
286
|
const transactionLocalData = recordGet(draft.transactionCategorizationView[selectedTab]
|
|
287
287
|
.transactionReviewLocalDataById, transactionId, undefined);
|
|
288
288
|
const existingAccount = transactionLocalData?.transactionReviewLocalData.lineItemById[lineId]
|
|
@@ -296,7 +296,6 @@ const expenseAutomationTransactionsView = createSlice({
|
|
|
296
296
|
...transactionLocalData.transactionReviewLocalData.lineItemById[lineId],
|
|
297
297
|
account: selectedAccount,
|
|
298
298
|
class: selectedClassBase,
|
|
299
|
-
project: selectedProjectBase,
|
|
300
299
|
},
|
|
301
300
|
},
|
|
302
301
|
};
|
|
@@ -325,16 +324,9 @@ const expenseAutomationTransactionsView = createSlice({
|
|
|
325
324
|
const transactionLocalData = recordGet(draft.transactionCategorizationView[selectedTab]
|
|
326
325
|
.transactionReviewLocalDataById, transaction.id, undefined);
|
|
327
326
|
if (transactionLocalData != null) {
|
|
328
|
-
const
|
|
329
|
-
const existingProjectId = transactionLocalData.transactionReviewLocalData.lineItemById[lineId]?.project?.projectId;
|
|
330
|
-
const updatedItem = existingAccount?.accountId !== selectedAccount?.accountId
|
|
327
|
+
const { localData, similarTransactionUpdated } = toSetAllLineItemsToCategoryClass(draft.transactionCategorizationView[selectedTab], transaction, transactionId, lineId, transactionLocalData.transactionReviewLocalData, existingAccount?.accountId !== selectedAccount?.accountId
|
|
331
328
|
? 'category'
|
|
332
|
-
:
|
|
333
|
-
? 'class'
|
|
334
|
-
: existingProjectId !== selectedProjectBase?.projectId
|
|
335
|
-
? 'project'
|
|
336
|
-
: 'class';
|
|
337
|
-
const { localData, similarTransactionUpdated } = toSetAllLineItemsToCategoryClass(draft.transactionCategorizationView[selectedTab], transaction, transactionId, lineId, transactionLocalData.transactionReviewLocalData, updatedItem, uncategorizedAccounts, selectedTab, vendorId, customerId, selectedAccount, selectedClassBase, selectedProjectBase, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled);
|
|
329
|
+
: 'class', uncategorizedAccounts, selectedTab, vendorId, customerId, selectedAccount, selectedClassBase, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled);
|
|
338
330
|
draft.transactionCategorizationView[selectedTab].transactionReviewLocalDataById[transaction.id] = {
|
|
339
331
|
transactionId: transaction.id,
|
|
340
332
|
transactionReviewLocalData: localData,
|
|
@@ -353,7 +345,7 @@ const expenseAutomationTransactionsView = createSlice({
|
|
|
353
345
|
...dirtyIds,
|
|
354
346
|
]);
|
|
355
347
|
},
|
|
356
|
-
prepare(selectedTab, transactionId, lineId, transactions, uncategorizedAccounts, vendorId, customerId, selectedAccount, selectedClassBase, lineEntity, recommendations, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled
|
|
348
|
+
prepare(selectedTab, transactionId, lineId, transactions, uncategorizedAccounts, vendorId, customerId, selectedAccount, selectedClassBase, lineEntity, recommendations, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled) {
|
|
357
349
|
return {
|
|
358
350
|
payload: {
|
|
359
351
|
selectedTab,
|
|
@@ -365,7 +357,6 @@ const expenseAutomationTransactionsView = createSlice({
|
|
|
365
357
|
lineEntity,
|
|
366
358
|
selectedAccount,
|
|
367
359
|
selectedClassBase,
|
|
368
|
-
selectedProjectBase,
|
|
369
360
|
recommendations,
|
|
370
361
|
uncategorizedAccounts,
|
|
371
362
|
isAccountingClassesEnabled,
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import omit from 'lodash/omit';
|
|
2
2
|
import { reduceAllFetchState, reduceAnyFetchState, } from '../../../commonStateTypes/reduceFetchState';
|
|
3
3
|
import { toMonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
|
|
4
|
-
import {
|
|
4
|
+
import { getIsAccountingClassesEnabled, getCurrentTenant, } from '../../../entity/tenant/tenantSelector';
|
|
5
5
|
import { getTransactionWithCOT } from '../../../entity/transaction/transactionHelper';
|
|
6
6
|
import { getSupportedTransactionsByIds } from '../../../entity/transaction/transactionSelector';
|
|
7
7
|
import { getAccountList, getNestedAccountListHierarchy, getUncategorizedAccounts, } from '../../accountList/accountListSelector';
|
|
8
8
|
import { getClassList, getNestedClassListHierarchy, } from '../../classList/classListSelector';
|
|
9
|
-
import { getProjectList } from '../../projectList/projectListSelector';
|
|
10
9
|
import { getAllSteps } from '../selectorTypes/expenseAutomationViewSelectorTypes';
|
|
11
10
|
export function getExpenseAutomationTransactionView(state) {
|
|
12
|
-
const { accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, expenseAutomationViewState,
|
|
11
|
+
const { accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, expenseAutomationViewState, transactionState, monthEndCloseChecksState, monthEndCloseChecksViewState, } = state;
|
|
13
12
|
const { selectedTransactionCategorizationTab } = expenseAutomationTransactionsViewState;
|
|
14
13
|
const { uiState, refreshStatus, saveStatus, markAsNotMiscategorizedStatus, transactionIdsBySelectedPeriod, transactionReviewLocalDataById, selectedCheckBoxTransactionIds, transactionIdsWithUnsavedData, uploadReceiptStatusById, selectedTransactionId, selectedTransactionLineId, } = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab];
|
|
15
14
|
const uncategorizedIncomeExpense = getUncategorizedAccounts(accountState, accountListState, 'accountList');
|
|
@@ -18,8 +17,6 @@ export function getExpenseAutomationTransactionView(state) {
|
|
|
18
17
|
const allClasses = classList.classes.map((classData) => {
|
|
19
18
|
return omit(classData, ['accountIds', 'key']);
|
|
20
19
|
});
|
|
21
|
-
const projectList = getProjectList(projectState, projectListState);
|
|
22
|
-
const isAccountingProjectsEnabled = getIsAccountingProjectsEnabled(state);
|
|
23
20
|
const accountsHierarchyList = getNestedAccountListHierarchy(accountListState, 'accountList');
|
|
24
21
|
const classHierarchyList = getNestedClassListHierarchy(classListState);
|
|
25
22
|
const currentTenant = getCurrentTenant(state);
|
|
@@ -99,8 +96,6 @@ export function getExpenseAutomationTransactionView(state) {
|
|
|
99
96
|
classList: allClasses,
|
|
100
97
|
accountsHierarchyList,
|
|
101
98
|
classHierarchyList,
|
|
102
|
-
isAccountingProjectsEnabled,
|
|
103
|
-
projectList,
|
|
104
99
|
transactionLocalData,
|
|
105
100
|
uiState,
|
|
106
101
|
refreshStatus,
|
|
@@ -115,50 +115,6 @@ function buildHorizontalClassColumnBalancesSlice(report, classAmounts, totalAmou
|
|
|
115
115
|
},
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
|
-
/**
|
|
119
|
-
* Sum balances across descendant accounts (recursive).
|
|
120
|
-
*
|
|
121
|
-
* Parent rows in the horizontal pivot only carry their own direct postings
|
|
122
|
-
* (zero for "container" accounts), so callers rendering "Total {parent}" rows
|
|
123
|
-
* must aggregate from descendants to get the real per-class totals.
|
|
124
|
-
*
|
|
125
|
-
* Returns one `COABalance` per class column + total (same shape as the
|
|
126
|
-
* enriched `balancesInTimeframe.balances`), with `amount` summed and `type`
|
|
127
|
-
* set to `default_with_null_balance` for zeros. Returns `[]` when no
|
|
128
|
-
* descendants have enriched data.
|
|
129
|
-
*/
|
|
130
|
-
export function aggregateHorizontalDescendantBalances(accounts, childIndices, childrenByParent) {
|
|
131
|
-
let template;
|
|
132
|
-
const sums = new Map();
|
|
133
|
-
const walk = (idx) => {
|
|
134
|
-
const childRow = accounts[idx];
|
|
135
|
-
const childBalances = childRow?.accountReportData?.balancesInTimeframe.balances;
|
|
136
|
-
if (childBalances != null) {
|
|
137
|
-
if (template == null) {
|
|
138
|
-
template = childBalances;
|
|
139
|
-
}
|
|
140
|
-
childBalances.forEach((b, i) => {
|
|
141
|
-
sums.set(i, (sums.get(i) ?? 0) + (b.balance.amount ?? 0));
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
// Always recurse — a missing intermediate node should not prune its
|
|
145
|
-
// descendants from the aggregate.
|
|
146
|
-
const grandChildren = childrenByParent[idx] ?? [];
|
|
147
|
-
grandChildren.forEach(walk);
|
|
148
|
-
};
|
|
149
|
-
childIndices.forEach(walk);
|
|
150
|
-
if (template == null) {
|
|
151
|
-
return [];
|
|
152
|
-
}
|
|
153
|
-
return template.map((tpl, i) => {
|
|
154
|
-
const amount = sums.get(i) ?? 0;
|
|
155
|
-
return {
|
|
156
|
-
...tpl,
|
|
157
|
-
balance: { ...tpl.balance, amount },
|
|
158
|
-
type: amount === 0 ? 'default_with_null_balance' : 'default',
|
|
159
|
-
};
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
118
|
/**
|
|
163
119
|
* Parent index per DFS row — O(n). Matches the scan in the former
|
|
164
120
|
* `findHorizontalAccountParentIndex` (depth <= 2 rows have no parent).
|
|
@@ -51,7 +51,6 @@ export const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDe
|
|
|
51
51
|
lineDescription: lineItem.lineDescription,
|
|
52
52
|
class: lineItem.class,
|
|
53
53
|
account: lineItem.account,
|
|
54
|
-
project: lineItem.project,
|
|
55
54
|
recommendation: convertCOTRecommendationsToRegular(lineItem.recommendationsWithCOT),
|
|
56
55
|
};
|
|
57
56
|
if (line.type === 'journal_entry_transaction_line' ||
|
|
@@ -14,7 +14,6 @@ import { fetchClassList } from '../../classList/classListReducer';
|
|
|
14
14
|
import { getInitializedTransactionVendorLocalData } from '../../commonVendorView/transactionVendorView/transactionVendorLocalDataHelper';
|
|
15
15
|
import { updateTransactionVendorLocalData } from '../../commonVendorView/transactionVendorView/transactionVendorViewReducer';
|
|
16
16
|
import { fetchOwnerList } from '../../ownerList/ownerListReducer';
|
|
17
|
-
import { fetchProjectList } from '../../projectList/projectListReducer';
|
|
18
17
|
import { fetchTransactionDetail, initializeTransactionDetailLocalData, removeTransactionDetail, updateTransactionDetailFetchState, } from '../transactionDetailReducer';
|
|
19
18
|
import { getAllLinkedTransactions, getTransactionDetailKey, } from '../transactionDetailState';
|
|
20
19
|
export const fetchTransactionDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchTransactionDetail.match), mergeMap((action) => {
|
|
@@ -40,11 +39,6 @@ export const fetchTransactionDetailEpic = (actions$, state$, zeniAPI) => actions
|
|
|
40
39
|
classList.fetchState !== 'In-Progress') {
|
|
41
40
|
transactionActions.push(fetchClassList());
|
|
42
41
|
}
|
|
43
|
-
const projectList = state$.value.projectListState;
|
|
44
|
-
if (projectList.hasValidState() === false &&
|
|
45
|
-
projectList.fetchState !== 'In-Progress') {
|
|
46
|
-
transactionActions.push(fetchProjectList());
|
|
47
|
-
}
|
|
48
42
|
transactionActions.push(updateTransactionDetailFetchState(transactionId, 'In-Progress'));
|
|
49
43
|
const query = { transaction_type: transactionId.type };
|
|
50
44
|
const getTransactionDetail$ = zeniAPI
|
|
@@ -181,9 +181,6 @@ const toTransactionUpdatePayload = (updates, detail, cotTransactionTracking, ven
|
|
|
181
181
|
if (lineUpdates.account != null) {
|
|
182
182
|
lineTobeUpdated.account = lineUpdates.account;
|
|
183
183
|
}
|
|
184
|
-
if (lineUpdates.project != null) {
|
|
185
|
-
lineTobeUpdated.project = lineUpdates.project;
|
|
186
|
-
}
|
|
187
184
|
if (lineUpdates.customer != null) {
|
|
188
185
|
lineTobeUpdated.customer = lineUpdates.customer;
|
|
189
186
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import recordGet from 'lodash/get';
|
|
2
2
|
import { reduceFetchState } from '../../commonStateTypes/reduceFetchState';
|
|
3
|
-
import { getIsAccountingClassesEnabled
|
|
3
|
+
import { getIsAccountingClassesEnabled } from '../../entity/tenant/tenantSelector';
|
|
4
4
|
import { toTransactionTypeStrict } from '../../entity/transaction/stateTypes/transactionType';
|
|
5
5
|
import { getTransactionWithCOT } from '../../entity/transaction/transactionHelper';
|
|
6
6
|
import { getSupportedTransactionById } from '../../entity/transaction/transactionSelector';
|
|
@@ -8,10 +8,9 @@ import { getVendorsByVendorIds } from '../../entity/vendor/vendorSelector';
|
|
|
8
8
|
import { dateNow } from '../../zeniDayJS';
|
|
9
9
|
import { getAccountList, getNestedAccountListHierarchy, } from '../accountList/accountListSelector';
|
|
10
10
|
import { getClassList, getNestedClassListHierarchy, } from '../classList/classListSelector';
|
|
11
|
-
import { getProjectList, } from '../projectList/projectListSelector';
|
|
12
11
|
import { getAllLinkedTransactions, getTransactionDetailKey, initialSupportedTransactionDetail, } from './transactionDetailState';
|
|
13
12
|
export const getTransactionDetail = (state, transactionId, fetchLinkedTransactions = true) => {
|
|
14
|
-
const { transactionDetailState, transactionState, vendorState, vendorListState, accountState, classState, classListState, accountListState,
|
|
13
|
+
const { transactionDetailState, transactionState, vendorState, vendorListState, accountState, classState, classListState, accountListState, } = state;
|
|
15
14
|
const detailKey = getTransactionDetailKey(transactionId);
|
|
16
15
|
const transactionDetail = recordGet(transactionDetailState.transactionDetailById, detailKey);
|
|
17
16
|
let fetchState = {
|
|
@@ -57,15 +56,6 @@ export const getTransactionDetail = (state, transactionId, fetchLinkedTransactio
|
|
|
57
56
|
const classList = isAccountingClassesEnabled
|
|
58
57
|
? getClassList(classState, classListState)
|
|
59
58
|
: { classes: [], nestedClassHierarchy: [], fetchState: 'Completed', error: undefined, version: 0 };
|
|
60
|
-
const isAccountingProjectsEnabled = getIsAccountingProjectsEnabled(state);
|
|
61
|
-
const projectList = isAccountingProjectsEnabled
|
|
62
|
-
? getProjectList(projectState, projectListState)
|
|
63
|
-
: {
|
|
64
|
-
projects: [],
|
|
65
|
-
fetchState: 'Completed',
|
|
66
|
-
error: undefined,
|
|
67
|
-
version: 0,
|
|
68
|
-
};
|
|
69
59
|
const accountsHierarchyList = getNestedAccountListHierarchy(accountListState, 'accountList');
|
|
70
60
|
const classHierarchyList = isAccountingClassesEnabled
|
|
71
61
|
? getNestedClassListHierarchy(classListState)
|
|
@@ -88,8 +78,6 @@ export const getTransactionDetail = (state, transactionId, fetchLinkedTransactio
|
|
|
88
78
|
accountsHierarchyList,
|
|
89
79
|
classList: classList,
|
|
90
80
|
isAccountingClassesEnabled,
|
|
91
|
-
isAccountingProjectsEnabled,
|
|
92
|
-
projectList,
|
|
93
81
|
isUpdateNotAllowed: transactionDetail?.isUpdateNotAllowed,
|
|
94
82
|
transactionDetailLocalData: transactionDetail?.transactionDetailLocalData ??
|
|
95
83
|
initialSupportedTransactionDetail.transactionDetailLocalData,
|
|
@@ -2,7 +2,7 @@ import { createSlice } from '@reduxjs/toolkit';
|
|
|
2
2
|
import { toAbsoluteDay } from '../../commonStateTypes/timePeriod';
|
|
3
3
|
import { mapAccountBasePayloadToAccountBase } from '../../entity/account/accountPayload';
|
|
4
4
|
import { toEntityType } from '../../entity/genericEntity/entity';
|
|
5
|
-
import { accountTransactionsInitialState, getAcKey, getAcTranKey, getCategoryTypeTranKey, getClassAcKey, getClassAcTranKey, getEntityTranKey,
|
|
5
|
+
import { accountTransactionsInitialState, getAcKey, getAcTranKey, getCategoryTypeTranKey, getClassAcKey, getClassAcTranKey, getEntityTranKey, initialClassTransactionState, initialEntityTransactionState, initialTransactionsStateByCategoryType, } from './transactionListState';
|
|
6
6
|
export const initialState = {
|
|
7
7
|
byAccount: {
|
|
8
8
|
transactionListByAccountKey: {},
|
|
@@ -37,10 +37,6 @@ export const initialState = {
|
|
|
37
37
|
transactionListByClassKey: {},
|
|
38
38
|
transactionListUIStateByClassKey: {},
|
|
39
39
|
},
|
|
40
|
-
byProject: {
|
|
41
|
-
transactionListByProjectKey: {},
|
|
42
|
-
transactionListUIStateByProjectKey: {},
|
|
43
|
-
},
|
|
44
40
|
};
|
|
45
41
|
const transactionList = createSlice({
|
|
46
42
|
name: 'transactionList',
|
|
@@ -250,64 +246,6 @@ const transactionList = createSlice({
|
|
|
250
246
|
return { payload: { accountId, accountType, classId, period, error } };
|
|
251
247
|
},
|
|
252
248
|
},
|
|
253
|
-
// Transaction list by project related reducers
|
|
254
|
-
//
|
|
255
|
-
// Mirrors the by-class set; the only behavioural difference is that the
|
|
256
|
-
// server query param is `zeni_project_id` (post-Ayon's accounting #3984
|
|
257
|
-
// rename) and there's no equivalent of `include_sub_class_transactions`
|
|
258
|
-
// — projects don't have a sub-project hierarchy in this layout yet.
|
|
259
|
-
parallelFetchProjectTransactionList: {
|
|
260
|
-
reducer() {
|
|
261
|
-
// Do nothing..
|
|
262
|
-
},
|
|
263
|
-
prepare(accountId, accountType, projectId, period, cacheOverride = false) {
|
|
264
|
-
return {
|
|
265
|
-
payload: { accountId, accountType, projectId, period, cacheOverride },
|
|
266
|
-
};
|
|
267
|
-
},
|
|
268
|
-
},
|
|
269
|
-
fetchProjectTransactionList: {
|
|
270
|
-
reducer(draft, action) {
|
|
271
|
-
const key = getProjectAcTranKey(action.payload.accountId, action.payload.accountType, action.payload.projectId, action.payload.period);
|
|
272
|
-
if (action.payload.cacheOverride === true ||
|
|
273
|
-
draft.byProject.transactionListByProjectKey[key] == null ||
|
|
274
|
-
(draft.byProject.transactionListByProjectKey[key]?.hasValidState() ===
|
|
275
|
-
false &&
|
|
276
|
-
draft.byProject.transactionListByProjectKey[key]?.fetchState !=
|
|
277
|
-
'In-Progress')) {
|
|
278
|
-
draft.byProject.transactionListByProjectKey[key] = {
|
|
279
|
-
...initialProjectTransactionState,
|
|
280
|
-
fetchState: 'In-Progress',
|
|
281
|
-
error: undefined,
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
},
|
|
285
|
-
prepare(accountId, accountType, projectId, period, cacheOverride = false) {
|
|
286
|
-
return {
|
|
287
|
-
payload: { accountId, accountType, projectId, period, cacheOverride },
|
|
288
|
-
};
|
|
289
|
-
},
|
|
290
|
-
},
|
|
291
|
-
updateTransactionListByProject(draft, action) {
|
|
292
|
-
doUpdateTransactionListByProject(draft.byProject.transactionListByProjectKey, action.payload);
|
|
293
|
-
},
|
|
294
|
-
updateTransactionListByProjectUIState(draft, action) {
|
|
295
|
-
const key = getProjectAcKey(action.payload.accountId, action.payload.accountType, action.payload.projectId);
|
|
296
|
-
draft.byProject.transactionListUIStateByProjectKey[key] = Object.assign({}, draft.byProject.transactionListUIStateByProjectKey[key], action.payload.uiState);
|
|
297
|
-
},
|
|
298
|
-
updateTransactionListByProjectFailure: {
|
|
299
|
-
reducer(draft, action) {
|
|
300
|
-
const key = getProjectAcTranKey(action.payload.accountId, action.payload.accountType, action.payload.projectId, action.payload.period);
|
|
301
|
-
draft.byProject.transactionListByProjectKey[key] = {
|
|
302
|
-
...initialProjectTransactionState,
|
|
303
|
-
fetchState: 'Error',
|
|
304
|
-
error: action.payload.error,
|
|
305
|
-
};
|
|
306
|
-
},
|
|
307
|
-
prepare(accountId, accountType, projectId, period, error) {
|
|
308
|
-
return { payload: { accountId, accountType, projectId, period, error } };
|
|
309
|
-
},
|
|
310
|
-
},
|
|
311
249
|
parallelFetchTransactionListByCategoryType: {
|
|
312
250
|
reducer() {
|
|
313
251
|
// Do nothing..
|
|
@@ -402,7 +340,7 @@ const transactionList = createSlice({
|
|
|
402
340
|
},
|
|
403
341
|
},
|
|
404
342
|
});
|
|
405
|
-
export const { parallelFetchAccountTransactionList, fetchAccountTransactionList, updateTransactionListByAccount, updateTransactionListByAccountFailure, parallelFetchEntityTransactionList, fetchEntityTransactionList, updateTransactionListByEntity, updateTransactionListByEntityFailure, updateTransactionListByAccountUIState, parallelFetchClassTransactionList, fetchClassTransactionList, updateTransactionListByClass, updateTransactionListByClassUIState, updateTransactionListByClassFailure,
|
|
343
|
+
export const { parallelFetchAccountTransactionList, fetchAccountTransactionList, updateTransactionListByAccount, updateTransactionListByAccountFailure, parallelFetchEntityTransactionList, fetchEntityTransactionList, updateTransactionListByEntity, updateTransactionListByEntityFailure, updateTransactionListByAccountUIState, parallelFetchClassTransactionList, fetchClassTransactionList, updateTransactionListByClass, updateTransactionListByClassUIState, updateTransactionListByClassFailure, parallelFetchTransactionListByCategoryType, fetchTransactionsListByCategoryType, updateTransactionListByCategoryType, updateTransactionsListByCategoryTypeFailure, updateTransactionListUIStateByCategoryType, clearTransactionList, updateLatestTransactionId, } = transactionList.actions;
|
|
406
344
|
export default transactionList.reducer;
|
|
407
345
|
/**
|
|
408
346
|
* Helper functions
|
|
@@ -452,22 +390,3 @@ function doUpdateTransactionListByClass(draft, payload) {
|
|
|
452
390
|
transactionIDs,
|
|
453
391
|
};
|
|
454
392
|
}
|
|
455
|
-
function doUpdateTransactionListByProject(draft, payload) {
|
|
456
|
-
const transactionIDs = payload.account.transactions.map((transactionPaylod) => transactionPaylod.transaction_id);
|
|
457
|
-
const account = mapAccountBasePayloadToAccountBase(payload.account);
|
|
458
|
-
const projectId = payload.query.zeni_project_id;
|
|
459
|
-
const start = toAbsoluteDay(payload.query.start_date);
|
|
460
|
-
const end = toAbsoluteDay(payload.query.end_date);
|
|
461
|
-
const key = getProjectAcTranKey(account.accountId, account.accountType, projectId, {
|
|
462
|
-
start,
|
|
463
|
-
end,
|
|
464
|
-
});
|
|
465
|
-
draft[key] = {
|
|
466
|
-
...initialProjectTransactionState,
|
|
467
|
-
fetchState: 'Completed',
|
|
468
|
-
error: undefined,
|
|
469
|
-
account: account,
|
|
470
|
-
projectId: projectId,
|
|
471
|
-
transactionIDs,
|
|
472
|
-
};
|
|
473
|
-
}
|
|
@@ -30,16 +30,6 @@ export const initialClassTransactionState = {
|
|
|
30
30
|
return this.fetchState == 'Completed';
|
|
31
31
|
},
|
|
32
32
|
};
|
|
33
|
-
export const getProjectAcTranKey = (accountId, accountType, projectId, period) => `${accountId}-${accountType}-${projectId}-${period.start.day}_${period.start.month}_${period.start.year}_${period.end.day}_${period.end.month}_${period.end.year}`;
|
|
34
|
-
export const getProjectAcKey = (accountId, accountType, projectId) => `${accountId}-${accountType}-${projectId}`;
|
|
35
|
-
export const initialProjectTransactionState = {
|
|
36
|
-
transactionIDs: [],
|
|
37
|
-
fetchState: 'Not-Started',
|
|
38
|
-
error: undefined,
|
|
39
|
-
hasValidState() {
|
|
40
|
-
return this.fetchState == 'Completed';
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
33
|
export const getCategoryTypeTranKey = (categoryType, period) => `${categoryType}_${period.start.day}_${period.start.month}_${period.start.year}_${period.end.day}_${period.end.month}_${period.end.year}`;
|
|
44
34
|
export const initialTransactionsStateByCategoryType = {
|
|
45
35
|
transactionIDs: [],
|
package/lib/index.d.ts
CHANGED
|
@@ -103,7 +103,7 @@ import { ExternalNotificationData, NotificationActivityType, NotificationGroup,
|
|
|
103
103
|
import { Logo, PaymentAccount, VERIFIED_PAYMENT_ACCOUNT_PROVIDER_VERIFICATION_STATUS } from './entity/paymentAccount/paymentAccountState';
|
|
104
104
|
import { PaymentInstrument } from './entity/paymentInstrument/paymentInstrument';
|
|
105
105
|
import { AccountingSummary, Runway } from './entity/portfolio/accountingSummary/accountingSummaryState';
|
|
106
|
-
import { Project
|
|
106
|
+
import { Project } from './entity/project/projectState';
|
|
107
107
|
import { MilageReimbursementLine, OutofPocketReimbursementLine, Reimbursement, ReimbursementLine, ReimbursementTypeCode } from './entity/reimbursement/reimbursementState';
|
|
108
108
|
import { SectionAccountsViewReport } from './entity/sectionAccountsView/sectionAccountsViewSelector';
|
|
109
109
|
import { SectionClassesView as SectionClassesViewV2 } from './entity/sectionClassesViewV2/sectionClassesView';
|
|
@@ -215,8 +215,6 @@ import { getCashPosition, getCashPositionForHighlightedRange, getCashPositionFor
|
|
|
215
215
|
import { CashPositionReport, CashPositionUIStateSelectorView } from './view/cashPosition/cashPositionSelectorTypes';
|
|
216
216
|
import { fetchClassList } from './view/classList/classListReducer';
|
|
217
217
|
import { ClassListSelectorView, getClassList } from './view/classList/classListSelector';
|
|
218
|
-
import { fetchProjectList } from './view/projectList/projectListReducer';
|
|
219
|
-
import { ProjectListSelectorView, getProjectList } from './view/projectList/projectListSelector';
|
|
220
218
|
import { RecurringDatePickerOptions, RecurringFrequencyType, SEMI_WEEKLY_REQUIRED_DAYS_COUNT, getMinAllowedEndDate, getRecurringEndDateFromCount, toRecurringFrequency } from './view/common/recurringViewHelper';
|
|
221
219
|
import { ZENI_CLEARING_ACCOUNT, isZeniClearingAccount, isZeniClearingAccountReport } from './view/common/zeniClearingAccountHelper';
|
|
222
220
|
import { clearTransactionVendorSaveStatus, resetTransactionVendorLocalData, saveTransactionVendor, saveTransactionVendorSuccessOrFailure, updateTransactionVendorLocalData } from './view/commonVendorView/transactionVendorView/transactionVendorViewReducer';
|
|
@@ -357,7 +355,6 @@ import { ProfitAndLossReport, getPandLReportFetchState, getProfitAndLossReport }
|
|
|
357
355
|
import { ProfitAndLossState, ProfitAndLossUIState } from './view/profitAndLoss/profitAndLossState';
|
|
358
356
|
import { getEmptyHorizontalSectionBalancesSlice } from './view/profitAndLossClassesView/horizontalSectionEmptyBalancesSlice';
|
|
359
357
|
import { getProfitAndLossClassesHorizontalView } from './view/profitAndLossClassesView/profitAndLossClassesByClassHorizontalSelector';
|
|
360
|
-
import { aggregateHorizontalDescendantBalances } from './view/profitAndLossClassesView/profitAndLossHorizontalEnrichment';
|
|
361
358
|
import { ClassColumnDefinition, HORIZONTAL_CLASS_TOTAL_BALANCE_ID, HorizontalAccountReportData, HorizontalAccountRow, HorizontalCalculatedSection, HorizontalClassBalance, HorizontalSectionReport, HorizontalSectionTreeLayout, ProfitAndLossByClassHorizontalReport, isHorizontalAccountReportData } from './view/profitAndLossClassesView/profitAndLossClassesByClassHorizontalSelectorTypes';
|
|
362
359
|
import { fetchProfitAndLossClassesView, resetProfitAndLossClassesNodeCollapseState, updateClassViewLayout, updateAccountViewMode as updateProfitAndLossAccountViewMode, updateClassesToFilterOut as updateProfitAndLossClassesToFilterOut, updateProfitAndLossClassesViewUIState } from './view/profitAndLossClassesView/profitAndLossClassesViewReducer';
|
|
363
360
|
import { getProfitAndLossClassesView } from './view/profitAndLossClassesView/profitAndLossClassesViewSelector';
|
|
@@ -572,9 +569,8 @@ import { TransactionDetailLineItemData, TransactionDetailLocalData, TransactionV
|
|
|
572
569
|
import { TransactionListByAccountReport, getTransactionListByAccount, getTransactionListUIStateByAccountKey } from './view/transactionList/transactionListByAccountSelector';
|
|
573
570
|
import { TransactionListByCategoryType, getTransactionListUIStateByCategoryType, getTransactionsListByCategoryType } from './view/transactionList/transactionListByCategoryTypeSelector';
|
|
574
571
|
import { TransactionListByClassReport, getTransactionListByClass, getTransactionListUIStateByClassKey } from './view/transactionList/transactionListByClassSelector';
|
|
575
|
-
import { TransactionListByProjectReport, getTransactionListByProject, getTransactionListUIStateByProjectKey } from './view/transactionList/transactionListByProjectSelector';
|
|
576
572
|
import { TransactionListByEntityView, getTransactionListByEntity, getTransactionListByEntityForSinglePeriod } from './view/transactionList/transactionListByEntitySelector';
|
|
577
|
-
import { clearTransactionList, fetchAccountTransactionList, fetchEntityTransactionList, parallelFetchAccountTransactionList, parallelFetchClassTransactionList,
|
|
573
|
+
import { clearTransactionList, fetchAccountTransactionList, fetchEntityTransactionList, parallelFetchAccountTransactionList, parallelFetchClassTransactionList, parallelFetchEntityTransactionList, parallelFetchTransactionListByCategoryType, updateLatestTransactionId, updateTransactionListByAccount, updateTransactionListByAccountFailure, updateTransactionListByAccountUIState, updateTransactionListByClass, updateTransactionListByClassUIState, updateTransactionListByEntity, updateTransactionListByEntityFailure, updateTransactionListUIStateByCategoryType } from './view/transactionList/transactionListReducer';
|
|
578
574
|
import { TransactionCategoryType } from './view/transactionList/transactionListState';
|
|
579
575
|
import { clearTrendData, fetchExpenseTrend, fetchIncomeTrend } from './view/trend/trendReducer';
|
|
580
576
|
import { TrendView, getCurrentFiscalQuarterDateRange, getTrendForEntity } from './view/trend/trendSelector';
|
|
@@ -697,8 +693,8 @@ export { fetchDashboard, getDashboard, DashboardReport, updateTreasuryVideoClose
|
|
|
697
693
|
export { updateDashboardLayout };
|
|
698
694
|
export { PandLWithForecastView, getPandLWithForecast, } from './view/profitAndLoss/pAndLWithForecast/pAndLWithForecastSelector';
|
|
699
695
|
export { fetchProfitAndLoss, resetProfitAndLossNodeCollapseState, updateProfitAndLossUIState, ProfitAndLossState, ProfitAndLossUIState, getProfitAndLossReport, ProfitAndLossReport, getPandLReportFetchState, fetchProfitAndLossForTimeframe, };
|
|
700
|
-
export { fetchProfitAndLossClassesView, updateProfitAndLossClassesToFilterOut, resetProfitAndLossClassesNodeCollapseState, updateProfitAndLossClassesViewUIState, updateProfitAndLossAccountViewMode, updateClassViewLayout, ProfitAndLossClassesViewUIState, ProfitAndLossClassesViewReport, getProfitAndLossClassesView,
|
|
701
|
-
export { clearProfitAndLossProjectView, fetchProfitAndLossForTimeframeProjectView, fetchProfitAndLossProjectView, resetProfitAndLossProjectNodeCollapseState, updateProjectViewAccountViewMode, updateProjectsToFilterOut, updateProfitAndLossProjectViewUIState, ProfitAndLossProjectViewUIState, getProfitAndLossProjectView, ProfitAndLossProjectViewReport, Project,
|
|
696
|
+
export { fetchProfitAndLossClassesView, updateProfitAndLossClassesToFilterOut, resetProfitAndLossClassesNodeCollapseState, updateProfitAndLossClassesViewUIState, updateProfitAndLossAccountViewMode, updateClassViewLayout, ProfitAndLossClassesViewUIState, ProfitAndLossClassesViewReport, getProfitAndLossClassesView, getEmptyHorizontalSectionBalancesSlice, getProfitAndLossClassesHorizontalView, PandLReportViewSectionID, PandLReportViewCalculatedSectionID, isPandLReportViewCalculatedSectionID, isPandLReportViewSectionID, ClassViewLayout, ProfitAndLossByClassHorizontalReport, ClassColumnDefinition, HORIZONTAL_CLASS_TOTAL_BALANCE_ID, HorizontalAccountReportData, HorizontalAccountRow, HorizontalClassBalance, HorizontalSectionReport, HorizontalSectionTreeLayout, HorizontalCalculatedSection, isHorizontalAccountReportData, };
|
|
697
|
+
export { clearProfitAndLossProjectView, fetchProfitAndLossForTimeframeProjectView, fetchProfitAndLossProjectView, resetProfitAndLossProjectNodeCollapseState, updateProjectViewAccountViewMode, updateProjectsToFilterOut, updateProfitAndLossProjectViewUIState, ProfitAndLossProjectViewUIState, getProfitAndLossProjectView, ProfitAndLossProjectViewReport, Project, ProjectReportWithBalances, SectionProjectViewReport, };
|
|
702
698
|
export { AccountingProviderAttachmentSelector, getAccountingProviderAttachment };
|
|
703
699
|
export { fetchUserListByType, getUserList, UserListSelectorView };
|
|
704
700
|
export { fetchAllPeopleRequiredViews, fetchPeoplePage, fetchPeople, deletePerson, resendInvite, changeZeniPersonRoles, invitePeople, inviteZeniPeople, updatePeopleUIState, peopleSaveUpdates, resetUpdateErrorMessage, peopleSaveDataInLocalStore, peopleClearDataInLocalStore, PeopleSelectorView, PeopleLocalDataView, Person, getPeople, getPeopleLocalData, PeopleState, PersonUpdateType, PeoplePageMode, ZeniPersonUserRoleType, PeopleUIState, PeopleLocalData, initializeEditPerson, };
|
|
@@ -721,12 +717,12 @@ export { VendorTransaction, VendorTransactionWithCOT, isVendorTransaction, Vendo
|
|
|
721
717
|
export { TransferTransaction, isTransferTransaction };
|
|
722
718
|
export { MatchedTransaction };
|
|
723
719
|
export { SupportedTransaction, SupportedTransactionWithCOT, SupportedTransactionPayload, getSupportedTransactionById, };
|
|
724
|
-
export { clearTransactionList, updateLatestTransactionId, parallelFetchAccountTransactionList, parallelFetchEntityTransactionList, fetchAccountTransactionList, updateTransactionListByAccount, updateTransactionListByAccountFailure, updateTransactionListByAccountUIState, parallelFetchClassTransactionList, updateTransactionListByClassUIState, updateTransactionListByClass,
|
|
720
|
+
export { clearTransactionList, updateLatestTransactionId, parallelFetchAccountTransactionList, parallelFetchEntityTransactionList, fetchAccountTransactionList, updateTransactionListByAccount, updateTransactionListByAccountFailure, updateTransactionListByAccountUIState, parallelFetchClassTransactionList, updateTransactionListByClassUIState, updateTransactionListByClass, updateTransactionListUIStateByCategoryType, parallelFetchTransactionListByCategoryType, };
|
|
725
721
|
export { TransactionListByAccountReport, getTransactionListByAccount, getTransactionListUIStateByAccountKey, };
|
|
726
722
|
export { fetchEntityTransactionList, updateTransactionListByEntity, saveTransactionDetailLocalData, clearTransactionDetailSaveStatus, updateTransactionListByEntityFailure, resetLineItemsCategoryClassInLocalData, setAllLineItemsToCategoryClassInLocalData, saveTransactionDetail, setAllLineItemsLocalDataIsUpdateAllChecked, initializeTransactionDetailLocalData, removeEntityRecommendationForLineIdForTransactionDetail, updateSelectedVendor, updateSelectedCustomer, resetSelectedCustomer, resetVendor, updateLocalDataWithTransactionsUpdateWithVendorCheckbox, updateVendorToAllLineItems, resetAllLineItemsToVendor, updateLatestSelectedEntity, updateVendorBulkRecommendationsFetchStatus, setIsVendorUpdateAllChecked, };
|
|
727
723
|
export { TransactionUpdates, downloadAccountingProviderAttachment, downloadAccountingProviderAttachmentSuccess, downloadAccountingProviderAttachmentFailure, fetchTransactionDetail, updateTransactionDetail, uploadMissingAttachmentSuccess, deleteTransactionAttachment, getThirdPartyIdFromTransactionId, };
|
|
728
724
|
export { TransactionListByEntityView, getTransactionListByEntity };
|
|
729
|
-
export { TransactionListByClassReport, getTransactionListByClass, getTransactionListUIStateByClassKey,
|
|
725
|
+
export { TransactionListByClassReport, getTransactionListByClass, getTransactionListUIStateByClassKey, getTransactionListByEntityForSinglePeriod, };
|
|
730
726
|
export { TransactionDetailReport, getTransactionDetail, getTransactionDetailForTransaction, VendorDetailsView, getInitialUpdatablePeriodsForTransactionRecommendations as getUpdatablePeriodsForTransactionRecommendations, };
|
|
731
727
|
export { getInsights, fetchInsightsCard, updateSelectedInsightIndex, InsightsView, };
|
|
732
728
|
export { fetchForecastList } from './view/forecastList/forecastListReducer';
|
|
@@ -790,7 +786,7 @@ export { fetchVendorsList, updateScrollYOffset, fetchVendorsFiling1099All, fetch
|
|
|
790
786
|
export { W9FormProcessingPayload, W9Form, updateW9FormUploadFetchState, updateW9FormUploadFile, getVendorUploadDetailsByVendorId, VendorFiling1099UploadDetailsSelectorView, VendorFiling1099UploadDetailsState, vendorFiling1099UploadDetailsSave, vendorFiling1099UploadDetailsResetFormStatus, vendorFiling1099UploadDetailsResetLocalData, initializeVendorFiling1099UploadDetailsLocalState, updateVendor1099DetailsLocalData, updateW9FormOCRDataToLocalData, VendorsFiling1099UploadDetailsLocalData, };
|
|
791
787
|
export { BillTransaction, BillPayInfo, BillStage, BillStageCodeType, BillTransactionView, InternationalTransferFeeBearerPaymentMethod, DeletionSourceType, BillBulkSelectExceptionInfoType, toOutsideZeniPaymentModeType, checkShowMarkAsPaidButton, };
|
|
792
788
|
export { MilageReimbursementLine, OutofPocketReimbursementLine, ReimbursementLine, ReimbursementTypeCode, Reimbursement, RemiTabType, toRemiSubTabType, toRemiSubTabTypeStrict, toRemiTabType, toRemiTabTypeStrict, toReimbursementTypeCode, RemiSubTabType, ReimbursementViewSortKey, RemiListUIState, RemiListReport, RemiListDownloadReport, ReimbursementView, ReimbursementFilters, ReimbursementFilterCategory, RemiListViewFilterCategoryField, getRemiList, getRemiDownloadList, fetchRemiList, fetchRemiListPerTab, updateRemiListTab, updateRemiListSubTab, updateRemiDetailSaveRemiCode, updateRemiListUIState, updateRemiListSearchResult, updateBillListFilterResult, updateRemiListFilterResult, REIMBURSEMENT_FILTER_CATEGORIES, REIMBURSEMENT_FILTER_CATEGORIES_RESTRICTED, updateRemiListDownloadUIState, updateBillListDownloadUIState, updateBillsBulkActionList, removeBillFromBulkActionList, clearAllBillsFromBulkActionList, getBillsBulkReviewView, BillsBulkReviewView, validateBillsBulkAction, approveOrRejectBillsBulkAction, cancelOrDeleteBillsBulkAction, submitDraftBillsBulkAction, autoReviewPendingApprovalBills, incrementBulkActionProcessedCount, getBillsBulkOperationProgress, BulkOperationProgress, clearBillPayBulkActionView, isBillConditionallyValid, getRemisBulkReviewView, RemisBulkReviewView, getRemisBulkOperationProgress, updateRemisBulkActionList, removeRemiFromBulkActionList, clearAllRemisFromBulkActionList, reviewDraftRemisBulkAction, approveOrRejectRemisBulkAction, cancelOrDeleteRemisBulkAction, submitDraftRemisBulkAction, autoReviewPendingApprovalRemis, clearRemiBulkActionView, incrementRemiBulkActionProcessedCount, RemiBulkSelectExceptionInfoType, OutsideZeniPaymentLocalData, updateOutsideZeniPaymentLocalData, discardOutsideZeniPaymentLocalData, checkIfCreatorIsApprover, };
|
|
793
|
-
export { AccountListSelectorView, ClassListSelectorView, getClassList, fetchClassList,
|
|
789
|
+
export { AccountListSelectorView, ClassListSelectorView, getClassList, fetchClassList, };
|
|
794
790
|
export { BillTab, BillsSubTabType, SaveBillStageCode, BillPayReviewSelectorView, DuplicateBillsSelectorView, EditBillDetailSelectorView, LineItemRecommendationsLocalData, EditBillInitialDetails, BillableStatus, PaymentDetailsSection, BillListReport, BillListDownloadReport, WhatForSection, fetchBillList, fetchBillListPerTab, updateTab, updateSubTab, updateSelectedBillId, updateBillDetailSaveBillCode, fetchVendorByNameAndParseInvoice, saveBillUpdatesToLocalStore, discardBillUpdatesInLocalStore, saveBillDetail, approveOrRejectBill, updateApprovalStatusOnSuccess, deleteBill, cancelAndDeleteBill, retryOrRefundBill, getBillList, getBillDownloadList, BillDetailViewSelector, ActorActivityWithUser, BillActivity, StepWithStatus, getBillDetailView, checkApproveRejectBtnShowForBill, BillDetailView, getBillTransactionDetailKey, fetchBillDetail, fetchEditBillDetailPage, fetchAndUpdateVendorRecommendations, fetchDuplicateBill, clearBillPayReview, EditBillDetail, EditBillDetailViewState, getEditBillDetail, getReviewPageBillDetail, BillDetailLocalData, PaymentDetailsSectionView, fetchBillAndInitializeLocalStore, updateShowAutofill, saveVendorSuccessOrFailure, BillPaymentStatus, BillPaymentStatusCodeType, BillPaymentRefundStatus, BillPaymentRefundStatusCodeType, BillStatus, BillStatusCodeType, BillApprovalType, updateBillListUIState, BillListUIState, BillPayViewSortKey, BillPayFilters, BillPayFilterCategory, BillListViewFilterCategoryField, BILL_PAY_FILTER_CATEGORIES, updateVendorDetailLocalData, resetVendorDetailLocalData, resetVendorSaveStatus, updateContactsInVendorDetailLocalData, updateVendorTabDetailUIState, updateContactsInVendorTabDetailLocalData, updateBillUploadFetchState, updateBillListSearchResult, fetchUserDetails, verifyUser, updateVendorContact, PaymentToOption, toPaymentToOption, convertAmountToHomeCurrency, RecurringBillInstance, RecurringBillConfigLocalData, EditRecurringBillType, fetchVendorAndUpdateBillLocalData, markBillForRetry, updateWithdrawFromAccountId, removeBillFileFromLocalStore, replaceBillFileInLocalStore, updateShouldReplaceBillData, };
|
|
795
791
|
export { SpendManagementFiltersType, SpendManagementFilterEntityType, FilterCategoryType, BillPayFilterCategoryDropdownOption, ReimbursementFilterCategoryDropdownOption, TaskFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, MatchingOperatorDropdownOption, CategoryCombinationOperator, hideCreatedByFilter, };
|
|
796
792
|
export { BillPaySetupViewState, ZeniAccountSetupViewState, BillPaySetupViewLocalData, ZeniAccountSetupViewLocalData, PlaidAccountState, fetchBillPaySetupView, fetchZeniAccountSetupView, enableSetup, getPaymentAccounts, getPlaidLinkToken, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData, updateBusinessVerificationDetails, updatePaymentAccount, updatePaymentAccountLoginStatus, updatePaymentAccountStatus, establishPlaidConnection, updateMappedCashAccount, updatePrimaryFundingAccount, acceptBillPayTerms, acceptZeniAccountTerms, acceptBillPayUpdatedTerms, saveSetupViewDataInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, saveIndustryAndIncDateInLocalStore, clearSetupViewDataInLocalStore, clearBillPaySetupView, clearZeniAccountSetupView, sendOtp, resendOtp, verifyOtp, CompanyDetails, CompanyOfficersDetails, BillPaySetupView, ZeniAccountSetupView, BillPayBusinessVerificationDetails, ZeniAccountBusinessVerificationDetails, TreasuryBusinessVerificationDetails, SetupViewState, SetupViewLocalData, SetupView, BusinessVerificationDetails, getBillPaySetupViewDetails, getPlaidAccountDetails, getZeniAccountSetupViewDetails, getBusinessVerificationDetails, getBillPayBusinessVerificationDetails, getZeniAccountBusinessVerificationDetails, getTreasuryBusinessVerificationDetails, getCommonSetupViewDetails, PlaidConnectionDetails, PlaidLinkTokenType, PlaidAccountKeyType, Token, FundingAccount, getTwoFactorAuthenticationView, getTwoFactorAuthenticationViewForCardUserOnboarding, getTwoFactorAuthenticationViewForChargeCardHolder, TwoFactorAuthenticationView, };
|