@zeniai/client-epic-state 5.3.21-betaAK1 → 5.3.22-beta0KB
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/genericEntity/customerWithSubCustomersId.d.ts +7 -0
- package/lib/entity/genericEntity/customerWithSubCustomersId.js +17 -0
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +2 -0
- package/lib/entity/tenant/tenantPayload.d.ts +6 -0
- package/lib/entity/tenant/tenantPayload.js +5 -0
- package/lib/entity/tenant/tenantReducer.d.ts +6 -2
- package/lib/entity/tenant/tenantReducer.js +28 -4
- package/lib/entity/tenant/tenantSelector.d.ts +2 -1
- package/lib/entity/tenant/tenantSelector.js +4 -1
- package/lib/entity/tenant/tenantState.d.ts +10 -0
- package/lib/entity/tenant/tenantState.js +5 -0
- package/lib/epic.d.ts +3 -2
- package/lib/epic.js +4 -2
- package/lib/esm/entity/genericEntity/customerWithSubCustomersId.js +12 -0
- package/lib/esm/entity/snackbar/snackbarTypes.js +2 -0
- package/lib/esm/entity/tenant/tenantPayload.js +4 -1
- package/lib/esm/entity/tenant/tenantReducer.js +27 -3
- package/lib/esm/entity/tenant/tenantSelector.js +2 -0
- package/lib/esm/entity/tenant/tenantState.js +4 -1
- package/lib/esm/epic.js +4 -2
- package/lib/esm/index.js +9 -8
- package/lib/esm/view/companyView/companyViewReducer.js +26 -1
- package/lib/esm/view/companyView/epic/companyPassport/updateCustomersTabSettingEpic.js +47 -0
- package/lib/esm/view/companyView/selector/companyPassportViewSelector.js +2 -0
- package/lib/esm/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
- package/lib/esm/view/customerSummaryView/customerSummaryViewReducer.js +39 -6
- package/lib/esm/view/customerSummaryView/customerSummaryViewSelector.js +41 -11
- package/lib/esm/view/customerSummaryView/epic/fetchCustomerSummaryListEpic.js +6 -1
- package/lib/esm/view/spendManagement/billPay/magicLinkView/magicLinkViewSelector.js +1 -0
- package/lib/esm/view/transactionDetail/createTransaction/epics/createTransactionCompletedEpic.js +22 -0
- package/lib/esm/view/transactionDetail/createTransaction/epics/createTransactionEpic.js +1 -5
- package/lib/esm/view/transactionDetail/transactionDetailReducer.js +3 -3
- package/lib/esm/view/transactionList/fetchTransactionListByEntityEpic.js +11 -2
- package/lib/esm/view/transactionList/transactionListReducer.js +24 -15
- package/lib/esm/view/trend/fetchIncomeTrendEpic.js +6 -2
- package/lib/index.d.ts +11 -10
- package/lib/index.js +54 -47
- package/lib/view/companyView/companyViewReducer.d.ts +8 -1
- package/lib/view/companyView/companyViewReducer.js +28 -3
- package/lib/view/companyView/epic/companyPassport/updateCustomersTabSettingEpic.d.ts +11 -0
- package/lib/view/companyView/epic/companyPassport/updateCustomersTabSettingEpic.js +51 -0
- package/lib/view/companyView/selector/companyPassportViewSelector.d.ts +1 -0
- package/lib/view/companyView/selector/companyPassportViewSelector.js +4 -1
- package/lib/view/companyView/types/companyPassport/companyPassportViewState.d.ts +1 -0
- package/lib/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
- package/lib/view/customerSummaryView/customerSummaryViewPayload.d.ts +20 -1
- package/lib/view/customerSummaryView/customerSummaryViewReducer.d.ts +3 -1
- package/lib/view/customerSummaryView/customerSummaryViewReducer.js +42 -6
- package/lib/view/customerSummaryView/customerSummaryViewSelector.d.ts +13 -1
- package/lib/view/customerSummaryView/customerSummaryViewSelector.js +45 -12
- package/lib/view/customerSummaryView/customerSummaryViewState.d.ts +24 -10
- package/lib/view/customerSummaryView/epic/fetchCustomerSummaryListEpic.js +6 -1
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/spendManagement/billPay/magicLinkView/magicLinkViewSelector.d.ts +6 -10
- package/lib/view/spendManagement/billPay/magicLinkView/magicLinkViewSelector.js +1 -0
- package/lib/view/transactionDetail/createTransaction/epics/createTransactionCompletedEpic.d.ts +7 -0
- package/lib/view/transactionDetail/createTransaction/epics/createTransactionCompletedEpic.js +26 -0
- package/lib/view/transactionDetail/createTransaction/epics/createTransactionEpic.js +1 -5
- package/lib/view/transactionDetail/transactionDetailReducer.d.ts +2 -2
- package/lib/view/transactionDetail/transactionDetailReducer.js +4 -4
- package/lib/view/transactionList/fetchTransactionListByEntityEpic.js +11 -2
- package/lib/view/transactionList/transactionListReducer.d.ts +3 -1
- package/lib/view/transactionList/transactionListReducer.js +24 -15
- package/lib/view/trend/fetchIncomeTrendEpic.js +6 -2
- package/package.json +1 -1
- package/lib/esm/view/transactionDetail/createTransaction/epics/createTransactionAttachmentUploadFailureEpic.js +0 -19
- package/lib/view/transactionDetail/createTransaction/epics/createTransactionAttachmentUploadFailureEpic.d.ts +0 -10
- package/lib/view/transactionDetail/createTransaction/epics/createTransactionAttachmentUploadFailureEpic.js +0 -23
|
@@ -1,15 +1,11 @@
|
|
|
1
|
+
import { FetchState } from '../../../../commonStateTypes/common';
|
|
1
2
|
import { RootState } from '../../../../rootStateTypes';
|
|
2
3
|
import { AddressUpdatableInfo } from '../../../addressView/addressViewState';
|
|
3
4
|
import { BankAccountSelectorView } from '../../../bankAccountView/bankAccountViewSelector';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
amount: number;
|
|
10
|
-
billFetchState: import("../../../../commonStateTypes/common").FetchState;
|
|
11
|
-
fetchState: import("../../../../commonStateTypes/common").FetchState;
|
|
12
|
-
};
|
|
13
|
-
export type MagicLinkView = ReturnType<typeof getMagicLinkView>;
|
|
5
|
+
import { MagicLinkViewState } from './magicLinkViewState';
|
|
6
|
+
export interface MagicLinkView extends Pick<MagicLinkViewState, 'amount' | 'authParams' | 'billAttachment' | 'companyName' | 'currencySymbol' | 'error' | 'fetchState'> {
|
|
7
|
+
billFetchState: FetchState;
|
|
8
|
+
}
|
|
9
|
+
export declare const getMagicLinkView: (rootState: RootState) => MagicLinkView;
|
|
14
10
|
export declare function getMagicLinkBankAccountView(state: RootState): BankAccountSelectorView;
|
|
15
11
|
export declare function getMagicLinkCurrentAddressState(rootState: RootState): AddressUpdatableInfo | undefined;
|
|
@@ -13,6 +13,7 @@ const getMagicLinkView = (rootState) => {
|
|
|
13
13
|
amount: magicLinkViewState.amount,
|
|
14
14
|
billFetchState: magicLinkViewState.billFetchStatus.fetchState,
|
|
15
15
|
fetchState: magicLinkViewState.fetchState,
|
|
16
|
+
error: magicLinkViewState.error,
|
|
16
17
|
};
|
|
17
18
|
};
|
|
18
19
|
exports.getMagicLinkView = getMagicLinkView;
|
package/lib/view/transactionDetail/createTransaction/epics/createTransactionCompletedEpic.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ActionsObservable } from 'redux-observable';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
|
|
4
|
+
import { createTransactionCompleted } from '../../transactionDetailReducer';
|
|
5
|
+
export type ActionType = ReturnType<typeof createTransactionCompleted> | ReturnType<typeof openSnackbar>;
|
|
6
|
+
/** The one create toast, raised after the page's attachment uploads finish. */
|
|
7
|
+
export declare const createTransactionCompletedEpic: (actions$: ActionsObservable<ActionType>) => Observable<ActionType>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTransactionCompletedEpic = void 0;
|
|
4
|
+
const operators_1 = require("rxjs/operators");
|
|
5
|
+
const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
|
|
6
|
+
const transactionDetailReducer_1 = require("../../transactionDetailReducer");
|
|
7
|
+
/** The one create toast, raised after the page's attachment uploads finish. */
|
|
8
|
+
const createTransactionCompletedEpic = (actions$) => actions$.pipe((0, operators_1.filter)(transactionDetailReducer_1.createTransactionCompleted.match), (0, operators_1.map)(({ payload: { failedAttachmentFileNames } }) => failedAttachmentFileNames.length === 0
|
|
9
|
+
? (0, snackbarReducer_1.openSnackbar)({
|
|
10
|
+
messageSection: 'create_transaction',
|
|
11
|
+
messageText: 'success',
|
|
12
|
+
type: 'success',
|
|
13
|
+
})
|
|
14
|
+
: (0, snackbarReducer_1.openSnackbar)({
|
|
15
|
+
messageSection: 'create_transaction_attachment_failed',
|
|
16
|
+
messageText: 'success',
|
|
17
|
+
type: 'success',
|
|
18
|
+
showStatusIcon: true,
|
|
19
|
+
variables: [
|
|
20
|
+
{
|
|
21
|
+
variableName: '__message__',
|
|
22
|
+
variableValue: failedAttachmentFileNames.join(', '),
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
})));
|
|
26
|
+
exports.createTransactionCompletedEpic = createTransactionCompletedEpic;
|
|
@@ -59,11 +59,7 @@ const createTransactionEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, o
|
|
|
59
59
|
transactionId: newTransactionId,
|
|
60
60
|
vendorId: created.vendor_id ?? undefined,
|
|
61
61
|
}),
|
|
62
|
-
|
|
63
|
-
messageSection: 'create_transaction',
|
|
64
|
-
messageText: 'success',
|
|
65
|
-
type: 'success',
|
|
66
|
-
}),
|
|
62
|
+
// The success toast waits for attachment uploads: createTransactionCompletedEpic.
|
|
67
63
|
]);
|
|
68
64
|
}), (0, operators_1.catchError)((error) => {
|
|
69
65
|
const message = error instanceof createTransactionPayload_1.UnresolvedCreateTransactionIdError
|
|
@@ -212,8 +212,8 @@ export declare const downloadAccountingProviderAttachment: import("@reduxjs/tool
|
|
|
212
212
|
transactionType: "expense" | "check" | "bill" | "vendor_credit" | "credit_card_credit" | "transfer" | "journal_entry";
|
|
213
213
|
lineIds: string[];
|
|
214
214
|
entity: Entity | undefined;
|
|
215
|
-
}, "transactionDetail/fetchVendorRecommendationsForCreateTransaction", never, never>,
|
|
215
|
+
}, "transactionDetail/fetchVendorRecommendationsForCreateTransaction", never, never>, createTransactionCompleted: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[failedAttachmentFileNames: string[]], {
|
|
216
216
|
failedAttachmentFileNames: string[];
|
|
217
|
-
}, "transactionDetail/
|
|
217
|
+
}, "transactionDetail/createTransactionCompleted", never, never>;
|
|
218
218
|
declare const _default: import("redux").Reducer<TransactionDetailState>;
|
|
219
219
|
export default _default;
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
var _a;
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.createTransaction = exports.resetCreateTransactionLocalData = exports.removeCreateTransactionLine = exports.addCreateTransactionLine = exports.updateCreateTransactionLineLocalData = exports.updateCreateTransactionLocalData = exports.initializeCreateTransactionLocalData = exports.toggleSplitEditMode = exports.deleteSplitLine = exports.addSplitLine = exports.setIsVendorUpdateAllChecked = exports.updateVendorBulkRecommendationsFetchStatus = exports.updateLatestSelectedEntity = exports.resetAllLineItemsToVendor = exports.updateVendorToAllLineItems = exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = exports.resetSelectedCustomer = exports.resetVendor = exports.updateSelectedCustomer = exports.updateSelectedVendor = exports.removeEntityRecommendationForLineIdForTransactionDetail = exports.markCategoryClassRecommendationsFailureForTransactionDetail = exports.markCategoryClassRecommendationsCompletedForTransactionDetail = exports.markCategoryClassRecommendationsInProgressForTransactionDetail = exports.setEntityRecommendationForLineIdsForTransactionDetail = exports.setAllLineItemsLocalDataIsUpdateAllChecked = exports.setAllLineItemsToCategoryClassInLocalData = exports.resetLineItemsCategoryClassInLocalData = exports.clearTransactionDetailLocalData = exports.saveTransactionDetailLocalData = exports.initializeTransactionDetailLocalData = exports.saveTransactionDetail = exports.updateTransactionStateIfUpdateActionNotAllowed = exports.updateStatusConsolidatedSaveTransactionDetail = exports.updateStatusForTransactionNotMiscategorizedUpdate = exports.deleteTransactionAttachmentSuccess = exports.deleteTransactionAttachmentFailure = exports.deleteTransactionAttachment = exports.markTransactionAsNotMiscategorized = exports.clearTransactionDetailSaveStatus = exports.updateTransactionDetailSaveStatus = exports.updateTransactionDetail = exports.uploadMissingAttachmentSuccess = exports.removeTransactionDetail = exports.updateTransactionDetailFetchState = exports.fetchTransactionDetail = exports.downloadAccountingProviderAttachmentFailure = exports.downloadAccountingProviderAttachmentSuccess = exports.downloadAccountingProviderAttachment = exports.initialState = void 0;
|
|
8
|
-
exports.
|
|
8
|
+
exports.createTransactionCompleted = exports.fetchVendorRecommendationsForCreateTransaction = exports.clearRecommendationsForCreateTransactionLines = exports.setRecommendationsForCreateTransactionLines = exports.createTransactionSuccessOrFailure = void 0;
|
|
9
9
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
10
10
|
const get_1 = __importDefault(require("lodash/get"));
|
|
11
11
|
const entity_1 = require("../../entity/genericEntity/entity");
|
|
@@ -961,8 +961,8 @@ const transactionDetail = (0, toolkit_1.createSlice)({
|
|
|
961
961
|
return { payload: { transactionType, lineIds, entity } };
|
|
962
962
|
},
|
|
963
963
|
},
|
|
964
|
-
/** Trigger only --
|
|
965
|
-
|
|
964
|
+
/** Trigger only -- createTransactionCompletedEpic raises the create toast. */
|
|
965
|
+
createTransactionCompleted: {
|
|
966
966
|
reducer(
|
|
967
967
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
968
968
|
_draft,
|
|
@@ -1039,7 +1039,7 @@ const transactionDetail = (0, toolkit_1.createSlice)({
|
|
|
1039
1039
|
});
|
|
1040
1040
|
},
|
|
1041
1041
|
});
|
|
1042
|
-
_a = transactionDetail.actions, exports.downloadAccountingProviderAttachment = _a.downloadAccountingProviderAttachment, exports.downloadAccountingProviderAttachmentSuccess = _a.downloadAccountingProviderAttachmentSuccess, exports.downloadAccountingProviderAttachmentFailure = _a.downloadAccountingProviderAttachmentFailure, exports.fetchTransactionDetail = _a.fetchTransactionDetail, exports.updateTransactionDetailFetchState = _a.updateTransactionDetailFetchState, exports.removeTransactionDetail = _a.removeTransactionDetail, exports.uploadMissingAttachmentSuccess = _a.uploadMissingAttachmentSuccess, exports.updateTransactionDetail = _a.updateTransactionDetail, exports.updateTransactionDetailSaveStatus = _a.updateTransactionDetailSaveStatus, exports.clearTransactionDetailSaveStatus = _a.clearTransactionDetailSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.deleteTransactionAttachment = _a.deleteTransactionAttachment, exports.deleteTransactionAttachmentFailure = _a.deleteTransactionAttachmentFailure, exports.deleteTransactionAttachmentSuccess = _a.deleteTransactionAttachmentSuccess, exports.updateStatusForTransactionNotMiscategorizedUpdate = _a.updateStatusForTransactionNotMiscategorizedUpdate, exports.updateStatusConsolidatedSaveTransactionDetail = _a.updateStatusConsolidatedSaveTransactionDetail, exports.updateTransactionStateIfUpdateActionNotAllowed = _a.updateTransactionStateIfUpdateActionNotAllowed, exports.saveTransactionDetail = _a.saveTransactionDetail, exports.initializeTransactionDetailLocalData = _a.initializeTransactionDetailLocalData, exports.saveTransactionDetailLocalData = _a.saveTransactionDetailLocalData, exports.clearTransactionDetailLocalData = _a.clearTransactionDetailLocalData, exports.resetLineItemsCategoryClassInLocalData = _a.resetLineItemsCategoryClassInLocalData, exports.setAllLineItemsToCategoryClassInLocalData = _a.setAllLineItemsToCategoryClassInLocalData, exports.setAllLineItemsLocalDataIsUpdateAllChecked = _a.setAllLineItemsLocalDataIsUpdateAllChecked, exports.setEntityRecommendationForLineIdsForTransactionDetail = _a.setEntityRecommendationForLineIdsForTransactionDetail, exports.markCategoryClassRecommendationsInProgressForTransactionDetail = _a.markCategoryClassRecommendationsInProgressForTransactionDetail, exports.markCategoryClassRecommendationsCompletedForTransactionDetail = _a.markCategoryClassRecommendationsCompletedForTransactionDetail, exports.markCategoryClassRecommendationsFailureForTransactionDetail = _a.markCategoryClassRecommendationsFailureForTransactionDetail, exports.removeEntityRecommendationForLineIdForTransactionDetail = _a.removeEntityRecommendationForLineIdForTransactionDetail, exports.updateSelectedVendor = _a.updateSelectedVendor, exports.updateSelectedCustomer = _a.updateSelectedCustomer, exports.resetVendor = _a.resetVendor, exports.resetSelectedCustomer = _a.resetSelectedCustomer, exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = _a.updateLocalDataWithTransactionsUpdateWithVendorCheckbox, exports.updateVendorToAllLineItems = _a.updateVendorToAllLineItems, exports.resetAllLineItemsToVendor = _a.resetAllLineItemsToVendor, exports.updateLatestSelectedEntity = _a.updateLatestSelectedEntity, exports.updateVendorBulkRecommendationsFetchStatus = _a.updateVendorBulkRecommendationsFetchStatus, exports.setIsVendorUpdateAllChecked = _a.setIsVendorUpdateAllChecked, exports.addSplitLine = _a.addSplitLine, exports.deleteSplitLine = _a.deleteSplitLine, exports.toggleSplitEditMode = _a.toggleSplitEditMode, exports.initializeCreateTransactionLocalData = _a.initializeCreateTransactionLocalData, exports.updateCreateTransactionLocalData = _a.updateCreateTransactionLocalData, exports.updateCreateTransactionLineLocalData = _a.updateCreateTransactionLineLocalData, exports.addCreateTransactionLine = _a.addCreateTransactionLine, exports.removeCreateTransactionLine = _a.removeCreateTransactionLine, exports.resetCreateTransactionLocalData = _a.resetCreateTransactionLocalData, exports.createTransaction = _a.createTransaction, exports.createTransactionSuccessOrFailure = _a.createTransactionSuccessOrFailure, exports.setRecommendationsForCreateTransactionLines = _a.setRecommendationsForCreateTransactionLines, exports.clearRecommendationsForCreateTransactionLines = _a.clearRecommendationsForCreateTransactionLines, exports.fetchVendorRecommendationsForCreateTransaction = _a.fetchVendorRecommendationsForCreateTransaction, exports.
|
|
1042
|
+
_a = transactionDetail.actions, exports.downloadAccountingProviderAttachment = _a.downloadAccountingProviderAttachment, exports.downloadAccountingProviderAttachmentSuccess = _a.downloadAccountingProviderAttachmentSuccess, exports.downloadAccountingProviderAttachmentFailure = _a.downloadAccountingProviderAttachmentFailure, exports.fetchTransactionDetail = _a.fetchTransactionDetail, exports.updateTransactionDetailFetchState = _a.updateTransactionDetailFetchState, exports.removeTransactionDetail = _a.removeTransactionDetail, exports.uploadMissingAttachmentSuccess = _a.uploadMissingAttachmentSuccess, exports.updateTransactionDetail = _a.updateTransactionDetail, exports.updateTransactionDetailSaveStatus = _a.updateTransactionDetailSaveStatus, exports.clearTransactionDetailSaveStatus = _a.clearTransactionDetailSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.deleteTransactionAttachment = _a.deleteTransactionAttachment, exports.deleteTransactionAttachmentFailure = _a.deleteTransactionAttachmentFailure, exports.deleteTransactionAttachmentSuccess = _a.deleteTransactionAttachmentSuccess, exports.updateStatusForTransactionNotMiscategorizedUpdate = _a.updateStatusForTransactionNotMiscategorizedUpdate, exports.updateStatusConsolidatedSaveTransactionDetail = _a.updateStatusConsolidatedSaveTransactionDetail, exports.updateTransactionStateIfUpdateActionNotAllowed = _a.updateTransactionStateIfUpdateActionNotAllowed, exports.saveTransactionDetail = _a.saveTransactionDetail, exports.initializeTransactionDetailLocalData = _a.initializeTransactionDetailLocalData, exports.saveTransactionDetailLocalData = _a.saveTransactionDetailLocalData, exports.clearTransactionDetailLocalData = _a.clearTransactionDetailLocalData, exports.resetLineItemsCategoryClassInLocalData = _a.resetLineItemsCategoryClassInLocalData, exports.setAllLineItemsToCategoryClassInLocalData = _a.setAllLineItemsToCategoryClassInLocalData, exports.setAllLineItemsLocalDataIsUpdateAllChecked = _a.setAllLineItemsLocalDataIsUpdateAllChecked, exports.setEntityRecommendationForLineIdsForTransactionDetail = _a.setEntityRecommendationForLineIdsForTransactionDetail, exports.markCategoryClassRecommendationsInProgressForTransactionDetail = _a.markCategoryClassRecommendationsInProgressForTransactionDetail, exports.markCategoryClassRecommendationsCompletedForTransactionDetail = _a.markCategoryClassRecommendationsCompletedForTransactionDetail, exports.markCategoryClassRecommendationsFailureForTransactionDetail = _a.markCategoryClassRecommendationsFailureForTransactionDetail, exports.removeEntityRecommendationForLineIdForTransactionDetail = _a.removeEntityRecommendationForLineIdForTransactionDetail, exports.updateSelectedVendor = _a.updateSelectedVendor, exports.updateSelectedCustomer = _a.updateSelectedCustomer, exports.resetVendor = _a.resetVendor, exports.resetSelectedCustomer = _a.resetSelectedCustomer, exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = _a.updateLocalDataWithTransactionsUpdateWithVendorCheckbox, exports.updateVendorToAllLineItems = _a.updateVendorToAllLineItems, exports.resetAllLineItemsToVendor = _a.resetAllLineItemsToVendor, exports.updateLatestSelectedEntity = _a.updateLatestSelectedEntity, exports.updateVendorBulkRecommendationsFetchStatus = _a.updateVendorBulkRecommendationsFetchStatus, exports.setIsVendorUpdateAllChecked = _a.setIsVendorUpdateAllChecked, exports.addSplitLine = _a.addSplitLine, exports.deleteSplitLine = _a.deleteSplitLine, exports.toggleSplitEditMode = _a.toggleSplitEditMode, exports.initializeCreateTransactionLocalData = _a.initializeCreateTransactionLocalData, exports.updateCreateTransactionLocalData = _a.updateCreateTransactionLocalData, exports.updateCreateTransactionLineLocalData = _a.updateCreateTransactionLineLocalData, exports.addCreateTransactionLine = _a.addCreateTransactionLine, exports.removeCreateTransactionLine = _a.removeCreateTransactionLine, exports.resetCreateTransactionLocalData = _a.resetCreateTransactionLocalData, exports.createTransaction = _a.createTransaction, exports.createTransactionSuccessOrFailure = _a.createTransactionSuccessOrFailure, exports.setRecommendationsForCreateTransactionLines = _a.setRecommendationsForCreateTransactionLines, exports.clearRecommendationsForCreateTransactionLines = _a.clearRecommendationsForCreateTransactionLines, exports.fetchVendorRecommendationsForCreateTransaction = _a.fetchVendorRecommendationsForCreateTransaction, exports.createTransactionCompleted = _a.createTransactionCompleted;
|
|
1043
1043
|
exports.default = transactionDetail.reducer;
|
|
1044
1044
|
function getUpdatedEntityLocalData(detail, updates, entity, resetRecommendations, type) {
|
|
1045
1045
|
const key = type === 'customer' ? 'customerUpdates' : 'vendorUpdates';
|
|
@@ -8,6 +8,7 @@ const get_1 = __importDefault(require("lodash/get"));
|
|
|
8
8
|
const rxjs_1 = require("rxjs");
|
|
9
9
|
const operators_1 = require("rxjs/operators");
|
|
10
10
|
const timePeriod_1 = require("../../commonStateTypes/timePeriod");
|
|
11
|
+
const customerWithSubCustomersId_1 = require("../../entity/genericEntity/customerWithSubCustomersId");
|
|
11
12
|
const transactionReducer_1 = require("../../entity/transaction/transactionReducer");
|
|
12
13
|
const responsePayload_1 = require("../../responsePayload");
|
|
13
14
|
const transactionListReducer_1 = require("./transactionListReducer");
|
|
@@ -19,12 +20,20 @@ const fetchTransactionListByEntityEpic = (actions$, state$, zeniAPI) => actions$
|
|
|
19
20
|
if (action.payload.cacheOverride === true ||
|
|
20
21
|
entityTransactions == null ||
|
|
21
22
|
entityTransactions.hasValidState() === false) {
|
|
23
|
+
// Customers tab rolled-up view: cached under its own id, sent as the customer id plus the flag
|
|
24
|
+
const { customerId: entityId, includeSubCustomers } = action.payload.entity.type === 'customer'
|
|
25
|
+
? (0, customerWithSubCustomersId_1.fromCustomerEntityId)(action.payload.entity.id)
|
|
26
|
+
: {
|
|
27
|
+
customerId: action.payload.entity.id,
|
|
28
|
+
includeSubCustomers: false,
|
|
29
|
+
};
|
|
22
30
|
const queryParam = {
|
|
23
31
|
start_date: (0, timePeriod_1.toString)(action.payload.period.start),
|
|
24
32
|
end_date: (0, timePeriod_1.toString)(action.payload.period.end),
|
|
25
33
|
sort_by: 'create_time',
|
|
26
34
|
sort_order: 'desc',
|
|
27
|
-
entity_id:
|
|
35
|
+
entity_id: entityId,
|
|
36
|
+
...(includeSubCustomers ? { include_sub_customers: true } : {}),
|
|
28
37
|
entity_name: action.payload.entity.name,
|
|
29
38
|
entity_type: action.payload.entity.type,
|
|
30
39
|
is_fetch_all_transactions: action.payload.isFetchAllTransactions === true
|
|
@@ -37,7 +46,7 @@ const fetchTransactionListByEntityEpic = (actions$, state$, zeniAPI) => actions$
|
|
|
37
46
|
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
38
47
|
const updateActions = [];
|
|
39
48
|
updateActions.push((0, transactionReducer_1.updateTransactions)(response.data.transactions, (value) => value.transaction_id));
|
|
40
|
-
updateActions.push((0, transactionListReducer_1.updateTransactionListByEntity)(response.data));
|
|
49
|
+
updateActions.push((0, transactionListReducer_1.updateTransactionListByEntity)(response.data, action.payload.entity.id));
|
|
41
50
|
return (0, rxjs_1.from)(updateActions);
|
|
42
51
|
}
|
|
43
52
|
else {
|
|
@@ -38,7 +38,9 @@ export declare const parallelFetchAccountTransactionList: import("@reduxjs/toolk
|
|
|
38
38
|
period: TimePeriod;
|
|
39
39
|
cacheOverride: any;
|
|
40
40
|
isFetchAllTransactions: any;
|
|
41
|
-
}, "transactionList/fetchEntityTransactionList", never, never>, updateTransactionListByEntity: import("@reduxjs/toolkit").
|
|
41
|
+
}, "transactionList/fetchEntityTransactionList", never, never>, updateTransactionListByEntity: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: TransactionListByEntityPayload, entityId?: string | undefined], TransactionListByEntityPayload, "transactionList/updateTransactionListByEntity", never, {
|
|
42
|
+
entityId: string | undefined;
|
|
43
|
+
}>, updateTransactionListByEntityFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[entity: Entity, period: TimePeriod, error: ZeniAPIStatus<Record<string, unknown>>], {
|
|
42
44
|
entity: Entity;
|
|
43
45
|
period: TimePeriod;
|
|
44
46
|
error: ZeniAPIStatus<Record<string, unknown>>;
|
|
@@ -168,21 +168,30 @@ const transactionList = (0, toolkit_1.createSlice)({
|
|
|
168
168
|
};
|
|
169
169
|
},
|
|
170
170
|
},
|
|
171
|
-
updateTransactionListByEntity
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
171
|
+
updateTransactionListByEntity: {
|
|
172
|
+
// `entityId`: the requested entity's id when it differs from the query's (a rolled-up customer)
|
|
173
|
+
prepare(payload, entityId) {
|
|
174
|
+
return { payload, meta: { entityId } };
|
|
175
|
+
},
|
|
176
|
+
reducer(draft, action) {
|
|
177
|
+
const transactionIDs = action.payload.transactions.map((transactionPayload) => transactionPayload.transaction_id);
|
|
178
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
179
|
+
const entity = {
|
|
180
|
+
...mapTransactionQueryMetaDataToEntity(action.payload.query),
|
|
181
|
+
...(action.meta.entityId != null && { id: action.meta.entityId }),
|
|
182
|
+
};
|
|
183
|
+
const key = (0, transactionListState_1.getEntityTranKey)(entity, {
|
|
184
|
+
start: (0, timePeriod_1.toAbsoluteDay)(action.payload.query.start_date),
|
|
185
|
+
end: (0, timePeriod_1.toAbsoluteDay)(action.payload.query.end_date),
|
|
186
|
+
});
|
|
187
|
+
draft.byEntity.transactionListByEntityKey[key] = {
|
|
188
|
+
...transactionListState_1.initialEntityTransactionState,
|
|
189
|
+
fetchState: 'Completed',
|
|
190
|
+
error: undefined,
|
|
191
|
+
entity: entity,
|
|
192
|
+
transactionIDs,
|
|
193
|
+
};
|
|
194
|
+
},
|
|
186
195
|
},
|
|
187
196
|
updateTransactionListByEntityFailure: {
|
|
188
197
|
reducer(draft, action) {
|
|
@@ -6,6 +6,7 @@ const operators_1 = require("rxjs/operators");
|
|
|
6
6
|
const timeframeTick_1 = require("../../commonStateTypes/timeframeTick");
|
|
7
7
|
const customerIncomeTrendKey_1 = require("../../entity/customerIncome/customerIncomeTrendKey");
|
|
8
8
|
const customerIncomeTrendReducer_1 = require("../../entity/customerIncome/customerIncomeTrendReducer");
|
|
9
|
+
const customerWithSubCustomersId_1 = require("../../entity/genericEntity/customerWithSubCustomersId");
|
|
9
10
|
const responsePayload_1 = require("../../responsePayload");
|
|
10
11
|
const zeniDayJS_1 = require("../../zeniDayJS");
|
|
11
12
|
const trendReducer_1 = require("./trendReducer");
|
|
@@ -28,11 +29,14 @@ const fetchIncomeTrendEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, op
|
|
|
28
29
|
return (0, rxjs_1.of)((0, trendReducer_1.updateTrendSuccess)(requestedPeriod));
|
|
29
30
|
}
|
|
30
31
|
}
|
|
32
|
+
// The rolled-up view is cached under its own id; the API takes the customer id plus the flag
|
|
33
|
+
const { customerId: apiCustomerId, includeSubCustomers } = (0, customerWithSubCustomersId_1.fromCustomerEntityId)(customerId);
|
|
31
34
|
const query = {
|
|
32
|
-
entity_id:
|
|
35
|
+
entity_id: apiCustomerId,
|
|
33
36
|
entity_type: 'customer',
|
|
34
|
-
customer_id:
|
|
37
|
+
customer_id: apiCustomerId,
|
|
35
38
|
customer_name: customerName,
|
|
39
|
+
...(includeSubCustomers ? { include_sub_customers: true } : {}),
|
|
36
40
|
...(dateRange != null
|
|
37
41
|
? { start_date: dateRange.startDate, end_date: dateRange.endDate }
|
|
38
42
|
: {}),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.22-beta0KB",
|
|
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",
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { filter, map } from 'rxjs/operators';
|
|
2
|
-
import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
|
|
3
|
-
import { createTransactionAttachmentUploadFailure } from '../../transactionDetailReducer';
|
|
4
|
-
/**
|
|
5
|
-
* Attachments upload from the page after the create succeeds, so a failure is reported back here
|
|
6
|
-
* rather than by createTransactionEpic.
|
|
7
|
-
*/
|
|
8
|
-
export const createTransactionAttachmentUploadFailureEpic = (actions$) => actions$.pipe(filter(createTransactionAttachmentUploadFailure.match), filter((action) => action.payload.failedAttachmentFileNames.length > 0), map((action) => openSnackbar({
|
|
9
|
-
messageSection: 'missing_receipts_attachment',
|
|
10
|
-
messageText: 'failed',
|
|
11
|
-
type: 'error',
|
|
12
|
-
showStatusIcon: true,
|
|
13
|
-
variables: [
|
|
14
|
-
{
|
|
15
|
-
variableName: '__message__',
|
|
16
|
-
variableValue: ` - ${action.payload.failedAttachmentFileNames.join(', ')},`,
|
|
17
|
-
},
|
|
18
|
-
],
|
|
19
|
-
})));
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ActionsObservable } from 'redux-observable';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
|
|
4
|
-
import { createTransactionAttachmentUploadFailure } from '../../transactionDetailReducer';
|
|
5
|
-
export type ActionType = ReturnType<typeof createTransactionAttachmentUploadFailure> | ReturnType<typeof openSnackbar>;
|
|
6
|
-
/**
|
|
7
|
-
* Attachments upload from the page after the create succeeds, so a failure is reported back here
|
|
8
|
-
* rather than by createTransactionEpic.
|
|
9
|
-
*/
|
|
10
|
-
export declare const createTransactionAttachmentUploadFailureEpic: (actions$: ActionsObservable<ActionType>) => Observable<ActionType>;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createTransactionAttachmentUploadFailureEpic = void 0;
|
|
4
|
-
const operators_1 = require("rxjs/operators");
|
|
5
|
-
const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
|
|
6
|
-
const transactionDetailReducer_1 = require("../../transactionDetailReducer");
|
|
7
|
-
/**
|
|
8
|
-
* Attachments upload from the page after the create succeeds, so a failure is reported back here
|
|
9
|
-
* rather than by createTransactionEpic.
|
|
10
|
-
*/
|
|
11
|
-
const createTransactionAttachmentUploadFailureEpic = (actions$) => actions$.pipe((0, operators_1.filter)(transactionDetailReducer_1.createTransactionAttachmentUploadFailure.match), (0, operators_1.filter)((action) => action.payload.failedAttachmentFileNames.length > 0), (0, operators_1.map)((action) => (0, snackbarReducer_1.openSnackbar)({
|
|
12
|
-
messageSection: 'missing_receipts_attachment',
|
|
13
|
-
messageText: 'failed',
|
|
14
|
-
type: 'error',
|
|
15
|
-
showStatusIcon: true,
|
|
16
|
-
variables: [
|
|
17
|
-
{
|
|
18
|
-
variableName: '__message__',
|
|
19
|
-
variableValue: ` - ${action.payload.failedAttachmentFileNames.join(', ')},`,
|
|
20
|
-
},
|
|
21
|
-
],
|
|
22
|
-
})));
|
|
23
|
-
exports.createTransactionAttachmentUploadFailureEpic = createTransactionAttachmentUploadFailureEpic;
|