@zeniai/client-epic-state 5.2.14-betaRD1 → 5.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/entity/accountRecon/accountReconReducer.d.ts +2 -1
- package/lib/entity/accountRecon/accountReconReducer.js +22 -10
- package/lib/entity/accountRecon/accountReconSelector.d.ts +1 -0
- package/lib/entity/accountRecon/accountReconSelector.js +1 -0
- package/lib/epic.d.ts +2 -1
- package/lib/epic.js +2 -0
- package/lib/esm/entity/accountRecon/accountReconReducer.js +22 -10
- package/lib/esm/entity/accountRecon/accountReconSelector.js +1 -0
- package/lib/esm/epic.js +2 -0
- package/lib/esm/index.js +2 -2
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic.js +2 -2
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/deleteCombinedStatementEpic.js +54 -0
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +1 -1
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic.js +3 -6
- package/lib/esm/view/expenseAutomationView/helpers/reconciliationHelpers.js +12 -0
- package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +20 -2
- package/lib/index.d.ts +2 -2
- package/lib/index.js +46 -45
- package/lib/view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic.d.ts +10 -2
- package/lib/view/expenseAutomationView/epics/accountRecon/confirmStatementMappingEpic.js +1 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/deleteCombinedStatementEpic.d.ts +9 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/deleteCombinedStatementEpic.js +58 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +1 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic.js +3 -6
- package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.d.ts +6 -0
- package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.js +13 -0
- package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +4 -0
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +6 -1
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +22 -4
- package/package.json +1 -1
|
@@ -42,7 +42,7 @@ const confirmStatementMappingEpic = (actions$, _state$, zeniAPI) => actions$.pip
|
|
|
42
42
|
accountId,
|
|
43
43
|
selectedPeriod,
|
|
44
44
|
statementUploads: (0, reconciliationPayload_1.transformConfirmStatementMappingPayloadToState)(response.data),
|
|
45
|
-
}));
|
|
45
|
+
}), (0, reconciliationViewReducer_1.fetchReconciliation)(selectedPeriod, undefined, true, true));
|
|
46
46
|
}
|
|
47
47
|
const mappingConflict = (0, reconciliationPayload_1.isConfirmStatementMappingConflictResponse)(response)
|
|
48
48
|
? (0, reconciliationPayload_1.transformConfirmStatementMappingConflictToState)(response)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { updateAccountReconDeleteStatement } from '../../../../entity/accountRecon/accountReconReducer';
|
|
4
|
+
import { removeFiles } from '../../../../entity/file/fileReducer';
|
|
5
|
+
import { RootState } from '../../../../rootStateTypes';
|
|
6
|
+
import { ZeniAPI } from '../../../../zeniAPI';
|
|
7
|
+
import { deleteAccountStatementFailure, deleteAccountStatementSuccess, deleteCombinedStatement, fetchReconciliation } from '../../reducers/reconciliationViewReducer';
|
|
8
|
+
export type ActionType = ReturnType<typeof deleteCombinedStatement> | ReturnType<typeof removeFiles> | ReturnType<typeof updateAccountReconDeleteStatement> | ReturnType<typeof deleteAccountStatementFailure> | ReturnType<typeof deleteAccountStatementSuccess> | ReturnType<typeof fetchReconciliation>;
|
|
9
|
+
export declare const deleteCombinedStatementEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteCombinedStatementEpic = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const operators_1 = require("rxjs/operators");
|
|
6
|
+
const timePeriod_1 = require("../../../../commonStateTypes/timePeriod");
|
|
7
|
+
const accountReconReducer_1 = require("../../../../entity/accountRecon/accountReconReducer");
|
|
8
|
+
const accountReconState_1 = require("../../../../entity/accountRecon/accountReconState");
|
|
9
|
+
const fileReducer_1 = require("../../../../entity/file/fileReducer");
|
|
10
|
+
const responsePayload_1 = require("../../../../responsePayload");
|
|
11
|
+
const reconciliationHelpers_1 = require("../../helpers/reconciliationHelpers");
|
|
12
|
+
const reconciliationViewReducer_1 = require("../../reducers/reconciliationViewReducer");
|
|
13
|
+
const deleteCombinedStatementEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(reconciliationViewReducer_1.deleteCombinedStatement.match), (0, operators_1.switchMap)((action) => {
|
|
14
|
+
const { accountId, selectedPeriod, fileId } = action.payload;
|
|
15
|
+
let combinedStatementGroupId = action.payload.combinedStatementGroupId;
|
|
16
|
+
if (combinedStatementGroupId === '') {
|
|
17
|
+
const accountRecon = state$.value.expenseAutomationReconciliationViewState
|
|
18
|
+
.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
19
|
+
combinedStatementGroupId =
|
|
20
|
+
(0, reconciliationHelpers_1.resolveCombinedStatementGroupId)(accountRecon);
|
|
21
|
+
}
|
|
22
|
+
if (combinedStatementGroupId === '') {
|
|
23
|
+
return (0, rxjs_1.of)((0, reconciliationViewReducer_1.deleteAccountStatementFailure)({
|
|
24
|
+
accountId,
|
|
25
|
+
selectedPeriod,
|
|
26
|
+
error: (0, responsePayload_1.createZeniAPIStatus)('Missing Data', 'No combined statement group id found for delete'),
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
const deleteUrl = `${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/2.0/statement-uploads/combined-statement-groups/${combinedStatementGroupId}`;
|
|
30
|
+
return zeniAPI
|
|
31
|
+
.deleteAndGetJSON(deleteUrl)
|
|
32
|
+
.pipe((0, operators_1.mergeMap)((response) => {
|
|
33
|
+
if ((0, responsePayload_1.isSuccessResponse)(response) === true) {
|
|
34
|
+
const actions = [];
|
|
35
|
+
if (fileId != null && fileId !== '') {
|
|
36
|
+
actions.push((0, fileReducer_1.removeFiles)([fileId]));
|
|
37
|
+
}
|
|
38
|
+
if (response.data != null) {
|
|
39
|
+
actions.push((0, accountReconReducer_1.updateAccountReconDeleteStatement)((0, accountReconState_1.toAccountReconKey)(accountId, selectedPeriod), {
|
|
40
|
+
statement_upload: response.data.statement_upload,
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
actions.push((0, reconciliationViewReducer_1.deleteAccountStatementSuccess)({ accountId, selectedPeriod }), (0, reconciliationViewReducer_1.fetchReconciliation)(selectedPeriod, undefined, true, true));
|
|
44
|
+
return (0, rxjs_1.of)(...actions);
|
|
45
|
+
}
|
|
46
|
+
return (0, rxjs_1.of)((0, reconciliationViewReducer_1.deleteAccountStatementFailure)({
|
|
47
|
+
accountId,
|
|
48
|
+
selectedPeriod,
|
|
49
|
+
error: response.status,
|
|
50
|
+
}));
|
|
51
|
+
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, reconciliationViewReducer_1.deleteAccountStatementFailure)({
|
|
52
|
+
accountId,
|
|
53
|
+
selectedPeriod,
|
|
54
|
+
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Delete Combined Statement REST API call errored out ' +
|
|
55
|
+
(error instanceof Error ? error.message : String(error))),
|
|
56
|
+
}))));
|
|
57
|
+
}));
|
|
58
|
+
exports.deleteCombinedStatementEpic = deleteCombinedStatementEpic;
|
|
@@ -60,7 +60,7 @@ const fetchReconciliationViewEpic = (actions$, state$, zeniAPI) => actions$.pipe
|
|
|
60
60
|
updateActions.push((0, accountReducer_1.updateAccounts)(response.data.accounts, 'account_reconciliation'), (0, accountReducer_1.updateAccounts)(response.data.excluded_accounts ?? [], 'excluded_account_reconciliation'), (0, userReducer_1.updateAllUsers)({
|
|
61
61
|
users: response.data.users ?? [],
|
|
62
62
|
updateType: 'merge',
|
|
63
|
-
}), (0, fileReducer_1.updateFiles)({ files: response.data.files ?? [] }), (0, transactionReducer_1.updateMultipleReconcileTransactions)(allTransactionsPerRecon, 'merge'), (0, accountReconReducer_1.updateAccountRecon)(selectedPeriod, response.data.reconciliation));
|
|
63
|
+
}), (0, fileReducer_1.updateFiles)({ files: response.data.files ?? [] }), (0, transactionReducer_1.updateMultipleReconcileTransactions)(allTransactionsPerRecon, 'merge'), (0, accountReconReducer_1.updateAccountRecon)(selectedPeriod, response.data.reconciliation, accountId == null));
|
|
64
64
|
const reviewTabLocalData = (0, exports.prepareReviewTabLocalData)(response.data.reconciliation[0]?.transactions?.review ?? []);
|
|
65
65
|
if (accountId != null) {
|
|
66
66
|
const selectedTransactionIds = (0, saveReconciliationDetailEpic_1.getTransactionIdFromCheckedMatchedTransactionPayload)(response.data.reconciliation[0].transactions.reconcile);
|
package/lib/view/expenseAutomationView/epics/accountRecon/updateCombinedStatementInfoEpic.js
CHANGED
|
@@ -6,6 +6,7 @@ const operators_1 = require("rxjs/operators");
|
|
|
6
6
|
const timePeriod_1 = require("../../../../commonStateTypes/timePeriod");
|
|
7
7
|
const responsePayload_1 = require("../../../../responsePayload");
|
|
8
8
|
const mapStatementUpdateLocalDataToRequestBody_1 = require("../../helpers/mapStatementUpdateLocalDataToRequestBody");
|
|
9
|
+
const reconciliationHelpers_1 = require("../../helpers/reconciliationHelpers");
|
|
9
10
|
const reconciliationPayload_1 = require("../../payload/reconciliationPayload");
|
|
10
11
|
const reconciliationViewReducer_1 = require("../../reducers/reconciliationViewReducer");
|
|
11
12
|
const statementParseViewSelector_1 = require("../../selectors/statementParseViewSelector");
|
|
@@ -26,12 +27,8 @@ const updateCombinedStatementInfoEpic = (actions$, state$, zeniAPI) => actions$.
|
|
|
26
27
|
error: (0, responsePayload_1.createZeniAPIStatus)('Missing Data', 'No statement update data found for combined accounts'),
|
|
27
28
|
}));
|
|
28
29
|
}
|
|
29
|
-
const combinedStatementGroupId = accountRecon
|
|
30
|
-
|
|
31
|
-
.combinedStatementGroupId ??
|
|
32
|
-
parsedStatementData.statementUpload.combinedStatementDetails
|
|
33
|
-
?.combinedStatementGroupId;
|
|
34
|
-
if (combinedStatementGroupId == null || combinedStatementGroupId === '') {
|
|
30
|
+
const combinedStatementGroupId = (0, reconciliationHelpers_1.resolveCombinedStatementGroupId)(accountRecon);
|
|
31
|
+
if (combinedStatementGroupId === '') {
|
|
35
32
|
return (0, rxjs_1.of)((0, reconciliationViewReducer_1.submitStatementUpdateFailure)({
|
|
36
33
|
accountId,
|
|
37
34
|
selectedPeriod,
|
|
@@ -3,10 +3,16 @@ import { AccountType } from '../../../entity/account/accountState';
|
|
|
3
3
|
import { ReconciliationDataPayload } from '../../../entity/accountRecon/accountReconPayload';
|
|
4
4
|
import { TransactionsToReview } from '../../../entity/accountRecon/accountReconState';
|
|
5
5
|
import { MatchedTransactionPayload } from '../../../entity/transaction/payloadTypes/reconciliationTransactionPayloads';
|
|
6
|
+
import { AccountReconciliationDataWithTransactionFetchState } from '../types/reconciliationViewState';
|
|
6
7
|
export declare const getAllReviewTransactionsFromReconcilePayload: (reconcilePayload: ReconciliationDataPayload[]) => {
|
|
7
8
|
allReconciledTransactions: MatchedTransactionPayload[];
|
|
8
9
|
currencyPayload: CurrencyPayload;
|
|
9
10
|
}[];
|
|
11
|
+
/**
|
|
12
|
+
* Resolves combined group id from view record fields that may hold it after
|
|
13
|
+
* parse / mapping confirm (top-level, statement meta, or combined details).
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveCombinedStatementGroupId(accountRecon: Pick<AccountReconciliationDataWithTransactionFetchState, 'combinedStatementGroupId' | 'parsedStatementData'> | undefined): string;
|
|
10
16
|
export declare const isReviewTransactionBillPaymentType: (transaction: TransactionsToReview) => boolean;
|
|
11
17
|
export declare const isReviewTransactionExpenseType: (transaction: TransactionsToReview) => boolean;
|
|
12
18
|
export declare const isReviewTransactionDepositType: (transaction: TransactionsToReview) => boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isReviewTransactionCreditCardCreditType = exports.isReviewTransactionCreditCardPaymentType = exports.isReviewTransactionBankTransferType = exports.isReviewTransactionDepositType = exports.isReviewTransactionExpenseType = exports.isReviewTransactionBillPaymentType = exports.getAllReviewTransactionsFromReconcilePayload = void 0;
|
|
4
|
+
exports.resolveCombinedStatementGroupId = resolveCombinedStatementGroupId;
|
|
4
5
|
const getAllReviewTransactionsFromReconcilePayload = (reconcilePayload) => {
|
|
5
6
|
const transactionsPerRecon = reconcilePayload.map((reconcile) => {
|
|
6
7
|
const allReconciledTransactions = [];
|
|
@@ -16,6 +17,18 @@ const getAllReviewTransactionsFromReconcilePayload = (reconcilePayload) => {
|
|
|
16
17
|
return transactionsPerRecon;
|
|
17
18
|
};
|
|
18
19
|
exports.getAllReviewTransactionsFromReconcilePayload = getAllReviewTransactionsFromReconcilePayload;
|
|
20
|
+
/**
|
|
21
|
+
* Resolves combined group id from view record fields that may hold it after
|
|
22
|
+
* parse / mapping confirm (top-level, statement meta, or combined details).
|
|
23
|
+
*/
|
|
24
|
+
function resolveCombinedStatementGroupId(accountRecon) {
|
|
25
|
+
return (accountRecon?.combinedStatementGroupId ??
|
|
26
|
+
accountRecon?.parsedStatementData?.statementUpload.statementMeta
|
|
27
|
+
.combinedStatementGroupId ??
|
|
28
|
+
accountRecon?.parsedStatementData?.statementUpload
|
|
29
|
+
.combinedStatementDetails?.combinedStatementGroupId ??
|
|
30
|
+
'');
|
|
31
|
+
}
|
|
19
32
|
const isReviewTransactionBillPaymentType = (transaction) => {
|
|
20
33
|
return transaction.recommendedAction.action === 'record_bill_payment';
|
|
21
34
|
};
|
|
@@ -99,6 +99,10 @@ export interface DeleteStatementResponsePayload {
|
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
export type DeleteStatementResponse = ZeniAPIResponse<DeleteStatementResponsePayload>;
|
|
102
|
+
export interface DeleteCombinedStatementResponsePayload extends DeleteStatementResponsePayload {
|
|
103
|
+
deleted_statement_upload_ids: ID[];
|
|
104
|
+
}
|
|
105
|
+
export type DeleteCombinedStatementResponse = ZeniAPIResponse<DeleteCombinedStatementResponsePayload>;
|
|
102
106
|
export interface UploadStatementDocumentAIPayload {
|
|
103
107
|
files: FilePayload[];
|
|
104
108
|
processor_run_id: string;
|
|
@@ -95,7 +95,12 @@ export declare const fetchReconciliation: import("@reduxjs/toolkit").ActionCreat
|
|
|
95
95
|
fileId: ID;
|
|
96
96
|
selectedPeriod: MonthYearPeriod;
|
|
97
97
|
statementUploadId: ID;
|
|
98
|
-
}, "expenseAutomationReconciliationView/deleteAccountStatement">,
|
|
98
|
+
}, "expenseAutomationReconciliationView/deleteAccountStatement">, deleteCombinedStatement: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
99
|
+
accountId: ID;
|
|
100
|
+
combinedStatementGroupId: string;
|
|
101
|
+
selectedPeriod: MonthYearPeriod;
|
|
102
|
+
fileId?: ID;
|
|
103
|
+
}, "expenseAutomationReconciliationView/deleteCombinedStatement">, deleteAccountStatementSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
99
104
|
accountId: ID;
|
|
100
105
|
selectedPeriod: MonthYearPeriod;
|
|
101
106
|
}, "expenseAutomationReconciliationView/deleteAccountStatementSuccess">, deleteAccountStatementFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
5
|
-
exports.updateNodeCollapseState = exports.updateStatementUploadChosen = exports.confirmStatementMappingFailure = exports.confirmStatementMappingSuccess = exports.confirmStatementMapping = exports.clearStatementDateConflict = exports.submitStatementUpdateFailure = exports.submitStatementUpdateSuccess = exports.submitCombinedStatementUpdate = exports.submitStatementUpdate = exports.updateStatementUpdateLocalData = exports.updateParsedStatementData = void 0;
|
|
4
|
+
exports.reparseStatementFailure = exports.reparseStatementSuccess = exports.reparseStatement = exports.parseStatementFailure = exports.parseStatementSuccess = exports.parseCombinedStatement = exports.parseStatement = exports.uploadAccountStatementFailure = exports.uploadAccountStatementSuccess = exports.uploadAccountStatement = exports.includeAccountInReconciliationFailure = exports.includeAccountInReconciliationSuccess = exports.includeAccountInReconciliation = exports.excludeAccountFromReconciliationFailure = exports.excludeAccountFromReconciliationSuccess = exports.excludeAccountFromReconciliation = exports.deleteAccountStatementFailure = exports.deleteAccountStatementSuccess = exports.deleteCombinedStatement = exports.deleteAccountStatement = exports.updateAccountReconciliationLocalData = exports.updateReconListScrollPosition = exports.updateSaveReconciliationReviewFetchStatus = exports.saveReconciliationReview = exports.updateReviewTabLocalData = exports.initializeReconciliationReviewTabLocalData = exports.updateReviewTabSortState = exports.updateStatementProcessingFailed = exports.updateSelectedDrawerAccountId = exports.clearExpenseAutomationReconciliationView = exports.initialiseLocalDataForSelectedAccountId = exports.updateBalancesLocalData = exports.updateSelectedTab = exports.saveReconciliationDetailSuccess = exports.updateReconcileTabListScrollState = exports.updateReconcileTabListSortState = exports.updateReconcileTabLocalData = exports.updateStatementProcessingBackgroundCompletedSteps = exports.setStatementProcessingDismissedToBackground = exports.setStatementParseInProgress = exports.setConnectionInProgressForAccount = exports.updateSelectedAccountId = exports.saveReconciliationDetailFailure = exports.saveReconciliationDetail = exports.fetchReconciliationSuccess = exports.fetchReconciliationFailure = exports.fetchReconciliation = exports.initialState = exports.initialActionFetchState = exports.initialReconciliationTabsState = void 0;
|
|
5
|
+
exports.updateNodeCollapseState = exports.updateStatementUploadChosen = exports.confirmStatementMappingFailure = exports.confirmStatementMappingSuccess = exports.confirmStatementMapping = exports.clearStatementDateConflict = exports.submitStatementUpdateFailure = exports.submitStatementUpdateSuccess = exports.submitCombinedStatementUpdate = exports.submitStatementUpdate = exports.updateStatementUpdateLocalData = exports.updateParsedStatementData = exports.resetReparseStatementStatus = void 0;
|
|
6
6
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
7
7
|
const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
|
|
8
8
|
const accountState_1 = require("../../../entity/account/accountState");
|
|
@@ -507,6 +507,18 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
|
|
|
507
507
|
// Drop sticky parse latch on discard so the drawer shows empty upload UI.
|
|
508
508
|
accountRecon.statementParseInProgress = false;
|
|
509
509
|
},
|
|
510
|
+
deleteCombinedStatement: (draft, action) => {
|
|
511
|
+
const { accountId, selectedPeriod } = action.payload;
|
|
512
|
+
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
513
|
+
if (accountRecon == null) {
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
accountRecon.statementDeleteStatus = {
|
|
517
|
+
fetchState: 'In-Progress',
|
|
518
|
+
error: undefined,
|
|
519
|
+
};
|
|
520
|
+
accountRecon.statementParseInProgress = false;
|
|
521
|
+
},
|
|
510
522
|
deleteAccountStatementSuccess: (draft, action) => {
|
|
511
523
|
const { accountId, selectedPeriod } = action.payload;
|
|
512
524
|
const accountRecon = draft.accountReconciliationRecordsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)]?.reconciliationByAccountID[accountId];
|
|
@@ -917,7 +929,7 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
|
|
|
917
929
|
},
|
|
918
930
|
});
|
|
919
931
|
// Export actions
|
|
920
|
-
_a = expenseAutomationReconciliationView.actions, exports.fetchReconciliation = _a.fetchReconciliation, exports.fetchReconciliationFailure = _a.fetchReconciliationFailure, exports.fetchReconciliationSuccess = _a.fetchReconciliationSuccess, exports.saveReconciliationDetail = _a.saveReconciliationDetail, exports.saveReconciliationDetailFailure = _a.saveReconciliationDetailFailure, exports.updateSelectedAccountId = _a.updateSelectedAccountId, exports.setConnectionInProgressForAccount = _a.setConnectionInProgressForAccount, exports.setStatementParseInProgress = _a.setStatementParseInProgress, exports.setStatementProcessingDismissedToBackground = _a.setStatementProcessingDismissedToBackground, exports.updateStatementProcessingBackgroundCompletedSteps = _a.updateStatementProcessingBackgroundCompletedSteps, exports.updateReconcileTabLocalData = _a.updateReconcileTabLocalData, exports.updateReconcileTabListSortState = _a.updateReconcileTabListSortState, exports.updateReconcileTabListScrollState = _a.updateReconcileTabListScrollState, exports.saveReconciliationDetailSuccess = _a.saveReconciliationDetailSuccess, exports.updateSelectedTab = _a.updateSelectedTab, exports.updateBalancesLocalData = _a.updateBalancesLocalData, exports.initialiseLocalDataForSelectedAccountId = _a.initialiseLocalDataForSelectedAccountId, exports.clearExpenseAutomationReconciliationView = _a.clearExpenseAutomationReconciliationView, exports.updateSelectedDrawerAccountId = _a.updateSelectedDrawerAccountId, exports.updateStatementProcessingFailed = _a.updateStatementProcessingFailed, exports.updateReviewTabSortState = _a.updateReviewTabSortState, exports.initializeReconciliationReviewTabLocalData = _a.initializeReconciliationReviewTabLocalData, exports.updateReviewTabLocalData = _a.updateReviewTabLocalData, exports.saveReconciliationReview = _a.saveReconciliationReview, exports.updateSaveReconciliationReviewFetchStatus = _a.updateSaveReconciliationReviewFetchStatus, exports.updateReconListScrollPosition = _a.updateReconListScrollPosition, exports.updateAccountReconciliationLocalData = _a.updateAccountReconciliationLocalData, exports.deleteAccountStatement = _a.deleteAccountStatement, exports.deleteAccountStatementSuccess = _a.deleteAccountStatementSuccess, exports.deleteAccountStatementFailure = _a.deleteAccountStatementFailure, exports.excludeAccountFromReconciliation = _a.excludeAccountFromReconciliation, exports.excludeAccountFromReconciliationSuccess = _a.excludeAccountFromReconciliationSuccess, exports.excludeAccountFromReconciliationFailure = _a.excludeAccountFromReconciliationFailure, exports.includeAccountInReconciliation = _a.includeAccountInReconciliation, exports.includeAccountInReconciliationSuccess = _a.includeAccountInReconciliationSuccess, exports.includeAccountInReconciliationFailure = _a.includeAccountInReconciliationFailure, exports.uploadAccountStatement = _a.uploadAccountStatement, exports.uploadAccountStatementSuccess = _a.uploadAccountStatementSuccess, exports.uploadAccountStatementFailure = _a.uploadAccountStatementFailure, exports.parseStatement = _a.parseStatement, exports.parseCombinedStatement = _a.parseCombinedStatement, exports.parseStatementSuccess = _a.parseStatementSuccess, exports.parseStatementFailure = _a.parseStatementFailure, exports.reparseStatement = _a.reparseStatement, exports.reparseStatementSuccess = _a.reparseStatementSuccess, exports.reparseStatementFailure = _a.reparseStatementFailure, exports.resetReparseStatementStatus = _a.resetReparseStatementStatus, exports.updateParsedStatementData = _a.updateParsedStatementData, exports.updateStatementUpdateLocalData = _a.updateStatementUpdateLocalData, exports.submitStatementUpdate = _a.submitStatementUpdate, exports.submitCombinedStatementUpdate = _a.submitCombinedStatementUpdate, exports.submitStatementUpdateSuccess = _a.submitStatementUpdateSuccess, exports.submitStatementUpdateFailure = _a.submitStatementUpdateFailure, exports.clearStatementDateConflict = _a.clearStatementDateConflict, exports.confirmStatementMapping = _a.confirmStatementMapping, exports.confirmStatementMappingSuccess = _a.confirmStatementMappingSuccess, exports.confirmStatementMappingFailure = _a.confirmStatementMappingFailure, exports.updateStatementUploadChosen = _a.updateStatementUploadChosen, exports.updateNodeCollapseState = _a.updateNodeCollapseState;
|
|
932
|
+
_a = expenseAutomationReconciliationView.actions, exports.fetchReconciliation = _a.fetchReconciliation, exports.fetchReconciliationFailure = _a.fetchReconciliationFailure, exports.fetchReconciliationSuccess = _a.fetchReconciliationSuccess, exports.saveReconciliationDetail = _a.saveReconciliationDetail, exports.saveReconciliationDetailFailure = _a.saveReconciliationDetailFailure, exports.updateSelectedAccountId = _a.updateSelectedAccountId, exports.setConnectionInProgressForAccount = _a.setConnectionInProgressForAccount, exports.setStatementParseInProgress = _a.setStatementParseInProgress, exports.setStatementProcessingDismissedToBackground = _a.setStatementProcessingDismissedToBackground, exports.updateStatementProcessingBackgroundCompletedSteps = _a.updateStatementProcessingBackgroundCompletedSteps, exports.updateReconcileTabLocalData = _a.updateReconcileTabLocalData, exports.updateReconcileTabListSortState = _a.updateReconcileTabListSortState, exports.updateReconcileTabListScrollState = _a.updateReconcileTabListScrollState, exports.saveReconciliationDetailSuccess = _a.saveReconciliationDetailSuccess, exports.updateSelectedTab = _a.updateSelectedTab, exports.updateBalancesLocalData = _a.updateBalancesLocalData, exports.initialiseLocalDataForSelectedAccountId = _a.initialiseLocalDataForSelectedAccountId, exports.clearExpenseAutomationReconciliationView = _a.clearExpenseAutomationReconciliationView, exports.updateSelectedDrawerAccountId = _a.updateSelectedDrawerAccountId, exports.updateStatementProcessingFailed = _a.updateStatementProcessingFailed, exports.updateReviewTabSortState = _a.updateReviewTabSortState, exports.initializeReconciliationReviewTabLocalData = _a.initializeReconciliationReviewTabLocalData, exports.updateReviewTabLocalData = _a.updateReviewTabLocalData, exports.saveReconciliationReview = _a.saveReconciliationReview, exports.updateSaveReconciliationReviewFetchStatus = _a.updateSaveReconciliationReviewFetchStatus, exports.updateReconListScrollPosition = _a.updateReconListScrollPosition, exports.updateAccountReconciliationLocalData = _a.updateAccountReconciliationLocalData, exports.deleteAccountStatement = _a.deleteAccountStatement, exports.deleteCombinedStatement = _a.deleteCombinedStatement, exports.deleteAccountStatementSuccess = _a.deleteAccountStatementSuccess, exports.deleteAccountStatementFailure = _a.deleteAccountStatementFailure, exports.excludeAccountFromReconciliation = _a.excludeAccountFromReconciliation, exports.excludeAccountFromReconciliationSuccess = _a.excludeAccountFromReconciliationSuccess, exports.excludeAccountFromReconciliationFailure = _a.excludeAccountFromReconciliationFailure, exports.includeAccountInReconciliation = _a.includeAccountInReconciliation, exports.includeAccountInReconciliationSuccess = _a.includeAccountInReconciliationSuccess, exports.includeAccountInReconciliationFailure = _a.includeAccountInReconciliationFailure, exports.uploadAccountStatement = _a.uploadAccountStatement, exports.uploadAccountStatementSuccess = _a.uploadAccountStatementSuccess, exports.uploadAccountStatementFailure = _a.uploadAccountStatementFailure, exports.parseStatement = _a.parseStatement, exports.parseCombinedStatement = _a.parseCombinedStatement, exports.parseStatementSuccess = _a.parseStatementSuccess, exports.parseStatementFailure = _a.parseStatementFailure, exports.reparseStatement = _a.reparseStatement, exports.reparseStatementSuccess = _a.reparseStatementSuccess, exports.reparseStatementFailure = _a.reparseStatementFailure, exports.resetReparseStatementStatus = _a.resetReparseStatementStatus, exports.updateParsedStatementData = _a.updateParsedStatementData, exports.updateStatementUpdateLocalData = _a.updateStatementUpdateLocalData, exports.submitStatementUpdate = _a.submitStatementUpdate, exports.submitCombinedStatementUpdate = _a.submitCombinedStatementUpdate, exports.submitStatementUpdateSuccess = _a.submitStatementUpdateSuccess, exports.submitStatementUpdateFailure = _a.submitStatementUpdateFailure, exports.clearStatementDateConflict = _a.clearStatementDateConflict, exports.confirmStatementMapping = _a.confirmStatementMapping, exports.confirmStatementMappingSuccess = _a.confirmStatementMappingSuccess, exports.confirmStatementMappingFailure = _a.confirmStatementMappingFailure, exports.updateStatementUploadChosen = _a.updateStatementUploadChosen, exports.updateNodeCollapseState = _a.updateNodeCollapseState;
|
|
921
933
|
// Export reducer
|
|
922
934
|
exports.default = expenseAutomationReconciliationView.reducer;
|
|
923
935
|
function isEntityStatementParsing(reconciliation) {
|
|
@@ -1044,7 +1056,13 @@ function updateAllReconciliation(draft, accounts, selectedPeriod, reconciliation
|
|
|
1044
1056
|
accountReconciliationRecords.reconciliationByAccountID[reconciliation.account_id] = {
|
|
1045
1057
|
accountId: reconciliation.account_id,
|
|
1046
1058
|
reconciliationId: reconciliation.reconciliation_id ?? undefined,
|
|
1047
|
-
|
|
1059
|
+
// Full list fetch does not load transactions; keep per-account detail
|
|
1060
|
+
// fetch status so an in-flight/completed review load is not reset to
|
|
1061
|
+
// Not-Started (review UI treats that as loading).
|
|
1062
|
+
transactionFetchState: oldRecord?.transactionFetchState ?? {
|
|
1063
|
+
fetchState: 'Not-Started',
|
|
1064
|
+
error: undefined,
|
|
1065
|
+
},
|
|
1048
1066
|
refreshStatus: { fetchState: 'Not-Started', error: undefined },
|
|
1049
1067
|
statementDeleteStatus: { fetchState: 'Not-Started', error: undefined },
|
|
1050
1068
|
statementUploadStatus: preserveStatementUploadStatusAfterFetch(oldRecord),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.15",
|
|
4
4
|
"description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/esm/index.js",
|