@zeniai/client-epic-state 4.19.60 → 4.19.61-betaRR0
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/fileType.d.ts +1 -1
- package/lib/entity/chargeCardRepayment/chargeCardRepayment.d.ts +6 -1
- package/lib/entity/chargeCardRepayment/chargeCardRepayment.js +4 -1
- package/lib/entity/chargeCardRepayment/chargeCardRepaymentPayload.d.ts +8 -3
- package/lib/entity/chargeCardRepayment/chargeCardRepaymentPayload.js +5 -2
- package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -2
- package/lib/entity/chargeCardTransaction/chargeCardTransactionPayload.d.ts +3 -1
- package/lib/entity/chargeCardTransaction/chargeCardTransactionPayload.js +26 -3
- package/lib/entity/chargeCardTransaction/chargeCardTransactionReducer.js +11 -7
- package/lib/entity/company/companyPayload.d.ts +12 -0
- package/lib/entity/company/companyPayload.js +20 -0
- package/lib/entity/company/companyStateTypes.d.ts +12 -0
- package/lib/epic.d.ts +3 -1
- package/lib/epic.js +3 -1
- package/lib/esm/entity/chargeCardRepayment/chargeCardRepayment.js +3 -1
- package/lib/esm/entity/chargeCardRepayment/chargeCardRepaymentPayload.js +6 -3
- package/lib/esm/entity/chargeCardTransaction/chargeCardTransactionPayload.js +25 -3
- package/lib/esm/entity/chargeCardTransaction/chargeCardTransactionReducer.js +11 -7
- package/lib/esm/entity/company/companyPayload.js +20 -0
- package/lib/esm/epic.js +3 -1
- package/lib/esm/index.js +11 -5
- package/lib/esm/reducer.js +3 -0
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/deleteAccountStatementEpic.js +1 -1
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +1 -0
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +1 -1
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementEpic.js +3 -1
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -3
- package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
- package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewSelector.js +20 -2
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +11 -1
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +4 -2
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +5 -2
- package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistory.js +32 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryDownloadSelector.js +22 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryHelpers.js +79 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryPayload.js +1 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryReducer.js +83 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistorySelector.js +103 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentHistoryEpic.js +31 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentPageEpic.js +31 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardRepaymentDetail/chargeCardRepaymentDetailSelector.js +15 -6
- package/lib/esm/view/spendManagement/chargeCards/chargeCardRepaymentDetail/fetchChargeCardRepaymentDetailEpic.js +3 -2
- package/lib/esm/view/spendManagement/chargeCards/chargeCardRepaymentDetail/initiateChargeCardRepaymentEpic.js +5 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardSetUp/epic/fetchChargeCardSetupViewEpic.js +1 -1
- package/lib/esm/view/spendManagement/commonSetup/epic/setup/updateBusinessVerificationDetailsEpic.js +64 -1
- package/lib/esm/view/spendManagement/commonSetup/epic/setup/updateSetupViewLocalStoreDataEpic.js +14 -1
- package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +29 -1
- package/lib/esm/view/spendManagement/reimbursement/remiDetailView/epics/fetchRemiDetailEpic.js +0 -1
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +10 -1
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewSelector.js +4 -2
- package/lib/esm/view/spendManagement/spendManagementFilterHelpers.js +29 -2
- package/lib/esm/view/spendManagement/zeniAccounts/depositAccountList/fetchDepositAccountListEpic.js +5 -3
- package/lib/index.d.ts +12 -6
- package/lib/index.js +34 -13
- package/lib/reducer.d.ts +3 -0
- package/lib/reducer.js +3 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/deleteAccountStatementEpic.js +1 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +1 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +1 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementEpic.js +3 -1
- package/lib/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -3
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
- package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +20 -2
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +12 -2
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +4 -2
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelectorTypes.d.ts +2 -0
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewState.d.ts +1 -0
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +1 -0
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +5 -2
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +2 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistory.d.ts +50 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistory.js +35 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryDownloadSelector.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryDownloadSelector.js +26 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryHelpers.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryHelpers.js +87 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryPayload.d.ts +13 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryPayload.js +2 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryReducer.d.ts +19 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryReducer.js +87 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistorySelector.d.ts +24 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistorySelector.js +107 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentHistoryEpic.d.ts +9 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentHistoryEpic.js +35 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentPageEpic.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentPageEpic.js +35 -0
- package/lib/view/spendManagement/chargeCards/chargeCardRepaymentDetail/chargeCardRepaymentDetailSelector.js +13 -4
- package/lib/view/spendManagement/chargeCards/chargeCardRepaymentDetail/fetchChargeCardRepaymentDetailEpic.js +3 -2
- package/lib/view/spendManagement/chargeCards/chargeCardRepaymentDetail/initiateChargeCardRepaymentEpic.d.ts +2 -1
- package/lib/view/spendManagement/chargeCards/chargeCardRepaymentDetail/initiateChargeCardRepaymentEpic.js +5 -0
- package/lib/view/spendManagement/chargeCards/chargeCardSetUp/epic/fetchChargeCardSetupViewEpic.js +1 -1
- package/lib/view/spendManagement/commonSetup/epic/setup/updateBusinessVerificationDetailsEpic.js +64 -1
- package/lib/view/spendManagement/commonSetup/epic/setup/updateSetupViewLocalStoreDataEpic.js +14 -1
- package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +15 -1
- package/lib/view/spendManagement/commonSetup/setupViewSelector.js +31 -2
- package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +13 -0
- package/lib/view/spendManagement/commonSetup/types/businessVerification.d.ts +13 -0
- package/lib/view/spendManagement/reimbursement/remiDetailView/epics/fetchRemiDetailEpic.js +0 -1
- package/lib/view/spendManagement/reimbursement/remiDetailView/remiDetailViewPayload.d.ts +0 -1
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.d.ts +1 -1
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +11 -2
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewSelector.js +4 -2
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewSelectorTypes.d.ts +2 -0
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewState.d.ts +1 -0
- package/lib/view/spendManagement/spendManagementFilterHelpers.d.ts +6 -4
- package/lib/view/spendManagement/spendManagementFilterHelpers.js +29 -2
- package/lib/view/spendManagement/zeniAccounts/depositAccountList/fetchDepositAccountListEpic.js +5 -3
- package/package.json +1 -1
- package/lib/tsconfig.typecheck.tsbuildinfo +0 -1
|
@@ -230,11 +230,11 @@ function isCompanyDetailsSavePending(fileState, company, primaryContact, company
|
|
|
230
230
|
}
|
|
231
231
|
const { companyInfo, incInfo, taxInfo, questionaire } = company.company.company;
|
|
232
232
|
const { companyDescription, companyLegalName, companyUrl, phone } = companyInfo;
|
|
233
|
-
const { fileIds, companyIncDate: incDate, companyIncType } = incInfo;
|
|
233
|
+
const { fileIds, companyIncDate: incDate, companyIncState, companyIncType, companySourceOfFunds, companySourceOfFundsDescription, companySubIndustry, countriesOfOperations, transactionVolume, transactionVolumeDescription, purposeOfAccount, purposeOfAccountDescription, regulatedStatus, regulatedStatusDescription, usNexus, usNexusTypes, } = incInfo;
|
|
234
234
|
const { companyIndustry } = questionaire;
|
|
235
235
|
const { taxId } = taxInfo;
|
|
236
236
|
const companyFileIds = (0, fileSelector_1.getFilesByFileIds)(fileState, fileIds).map((file) => file.fileId);
|
|
237
|
-
const { companyDescription: companyDescriptionLocalData, companyIndustry: companyIndustryLocalData, companyLegalName: companyLegalNameLocalData, taxIdOrEIN: taxIdLocalData, incDate: incDateLocalData, phone: companyPhoneLocalData, website: companyUrlLocalData, companyFiles: companyFilesLocalData, typeOfIncorporation: companyIncTypeLocalData, primaryContactLocalData, } = companyDetailsLocalData;
|
|
237
|
+
const { companyDescription: companyDescriptionLocalData, companyIndustry: companyIndustryLocalData, companyLegalName: companyLegalNameLocalData, taxIdOrEIN: taxIdLocalData, incDate: incDateLocalData, phone: companyPhoneLocalData, website: companyUrlLocalData, companyFiles: companyFilesLocalData, stateOfIncorporation: stateOfIncorporationLocalData, typeOfIncorporation: companyIncTypeLocalData, companySourceOfFunds: companySourceOfFundsLocalData, companySourceOfFundsDescription: companySourceOfFundsDescriptionLocalData, countriesOfOperations: countriesOfOperationsLocalData, companySubIndustry: companySubIndustryLocalData, transactionVolume: transactionVolumeLocalData, transactionVolumeDescription: transactionVolumeDescriptionLocalData, purposeOfAccount: purposeOfAccountLocalData, purposeOfAccountDescription: purposeOfAccountDescriptionLocalData, regulatedStatus: regulatedStatusLocalData, regulatedStatusDescription: regulatedStatusDescriptionLocalData, usNexus: usNexusLocalData, usNexusTypes: usNexusTypesLocalData, primaryContactLocalData, } = companyDetailsLocalData;
|
|
238
238
|
const fileIdsLocalData = companyFilesLocalData.map((file) => file.fileId);
|
|
239
239
|
if (primaryContact != null) {
|
|
240
240
|
const { firstName, lastName, email } = primaryContact;
|
|
@@ -244,6 +244,10 @@ function isCompanyDetailsSavePending(fileState, company, primaryContact, company
|
|
|
244
244
|
return true;
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
|
+
const countriesOfOperationsMatch = JSON.stringify(countriesOfOperations ?? []) ===
|
|
248
|
+
JSON.stringify(countriesOfOperationsLocalData ?? []);
|
|
249
|
+
const usNexusTypesMatch = JSON.stringify(usNexusTypes ?? []) ===
|
|
250
|
+
JSON.stringify(usNexusTypesLocalData ?? []);
|
|
247
251
|
return (companyDescription != companyDescriptionLocalData ||
|
|
248
252
|
companyIndustry != companyIndustryLocalData ||
|
|
249
253
|
companyLegalName != companyLegalNameLocalData ||
|
|
@@ -251,7 +255,21 @@ function isCompanyDetailsSavePending(fileState, company, primaryContact, company
|
|
|
251
255
|
incDate?.toString() != incDateLocalData?.toString() ||
|
|
252
256
|
phone != companyPhoneLocalData ||
|
|
253
257
|
companyUrl?.toString() != companyUrlLocalData?.toString() ||
|
|
258
|
+
companyIncState != stateOfIncorporationLocalData ||
|
|
259
|
+
companySourceOfFunds != companySourceOfFundsLocalData ||
|
|
260
|
+
companySourceOfFundsDescription !=
|
|
261
|
+
companySourceOfFundsDescriptionLocalData ||
|
|
262
|
+
!countriesOfOperationsMatch ||
|
|
254
263
|
companyIncType != companyIncTypeLocalData ||
|
|
264
|
+
transactionVolume != transactionVolumeLocalData ||
|
|
265
|
+
transactionVolumeDescription != transactionVolumeDescriptionLocalData ||
|
|
266
|
+
purposeOfAccount != purposeOfAccountLocalData ||
|
|
267
|
+
purposeOfAccountDescription != purposeOfAccountDescriptionLocalData ||
|
|
268
|
+
regulatedStatus != regulatedStatusLocalData ||
|
|
269
|
+
regulatedStatusDescription != regulatedStatusDescriptionLocalData ||
|
|
270
|
+
usNexus != usNexusLocalData ||
|
|
271
|
+
!usNexusTypesMatch ||
|
|
272
|
+
companySubIndustry != companySubIndustryLocalData ||
|
|
255
273
|
!(fileIdsLocalData.length === companyFileIds.length &&
|
|
256
274
|
companyFileIds.every((fileId) => fileIdsLocalData.includes(fileId))));
|
|
257
275
|
}
|
|
@@ -34,6 +34,6 @@ export declare const fetchBillPaySetupApproverView: import("@reduxjs/toolkit").A
|
|
|
34
34
|
approvalRuleId: string | undefined;
|
|
35
35
|
}, "billPaySetupApproverView/initializeBillPaySetupApproverViewUpdateData", never, never>, saveBillPaySetupApproverViewUpdateData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[billPaySetupApproverViewUpdateData: Partial<ApprovalRuleUpdateData | ApprovalRuleCreateData>], {
|
|
36
36
|
billPaySetupApproverViewUpdateData: Partial<ApprovalRuleUpdateData | ApprovalRuleCreateData>;
|
|
37
|
-
}, "billPaySetupApproverView/saveBillPaySetupApproverViewUpdateData", never, never>, clearBillPaySetupApproverViewUpdateData: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"billPaySetupApproverView/clearBillPaySetupApproverViewUpdateData">, clearBillPaySetupApproverView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"billPaySetupApproverView/clearBillPaySetupApproverView">;
|
|
37
|
+
}, "billPaySetupApproverView/saveBillPaySetupApproverViewUpdateData", never, never>, clearBillPaySetupApproverViewUpdateData: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"billPaySetupApproverView/clearBillPaySetupApproverViewUpdateData">, setListeningToPusherEvent: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "billPaySetupApproverView/setListeningToPusherEvent">, clearBillPaySetupApproverView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"billPaySetupApproverView/clearBillPaySetupApproverView">;
|
|
38
38
|
declare const _default: import("redux").Reducer<BillPaySetupApproverViewState>;
|
|
39
39
|
export default _default;
|
package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.clearBillPaySetupApproverView = exports.clearBillPaySetupApproverViewUpdateData = exports.saveBillPaySetupApproverViewUpdateData = exports.initializeBillPaySetupApproverViewUpdateData = exports.saveBillPaySetupApproverViewUpdatesFailure = exports.saveBillPaySetupApproverViewUpdatesSuccess = exports.saveBillPaySetupApproverViewUpdates = exports.deleteBillPayApprovalRuleFailure = exports.deleteBillPayApprovalRuleSuccess = exports.deleteBillPayApprovalRule = exports.fetchBillPayApproversListFailure = exports.fetchBillPayApproversListSuccess = exports.fetchBillPayApproversList = exports.fetchBillPayApproversDetails = exports.fetchBillPaySetupApproverViewFailure = exports.fetchBillPaySetupApproverViewSuccess = exports.fetchBillPaySetupApproverView = exports.initialState = void 0;
|
|
4
|
+
exports.clearBillPaySetupApproverView = exports.setListeningToPusherEvent = exports.clearBillPaySetupApproverViewUpdateData = exports.saveBillPaySetupApproverViewUpdateData = exports.initializeBillPaySetupApproverViewUpdateData = exports.saveBillPaySetupApproverViewUpdatesFailure = exports.saveBillPaySetupApproverViewUpdatesSuccess = exports.saveBillPaySetupApproverViewUpdates = exports.deleteBillPayApprovalRuleFailure = exports.deleteBillPayApprovalRuleSuccess = exports.deleteBillPayApprovalRule = exports.fetchBillPayApproversListFailure = exports.fetchBillPayApproversListSuccess = exports.fetchBillPayApproversList = exports.fetchBillPayApproversDetails = exports.fetchBillPaySetupApproverViewFailure = exports.fetchBillPaySetupApproverViewSuccess = exports.fetchBillPaySetupApproverView = exports.initialState = void 0;
|
|
5
5
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
6
|
exports.initialState = {
|
|
7
7
|
fetchState: 'Not-Started',
|
|
8
8
|
error: undefined,
|
|
9
|
+
listeningToPusherEvent: false,
|
|
9
10
|
approverListState: {
|
|
10
11
|
approverIds: [],
|
|
11
12
|
attributes: [],
|
|
@@ -158,6 +159,12 @@ const billPaySetupApproverView = (0, toolkit_1.createSlice)({
|
|
|
158
159
|
reducer(draft, action) {
|
|
159
160
|
const { approvalRuleIds } = action.payload;
|
|
160
161
|
if (draft.billPaySetupApproverViewUpdateData != null) {
|
|
162
|
+
if (draft.billPaySetupApproverViewUpdateData.type ===
|
|
163
|
+
'approval_update' &&
|
|
164
|
+
draft.billPaySetupApproverViewUpdateData.data
|
|
165
|
+
?.isApplicableOnPendingApprovalEntity === true) {
|
|
166
|
+
draft.listeningToPusherEvent = true;
|
|
167
|
+
}
|
|
161
168
|
draft.billPaySetupApproverViewUpdateData.updateStatus = {
|
|
162
169
|
fetchState: 'Completed',
|
|
163
170
|
error: undefined,
|
|
@@ -218,6 +225,9 @@ const billPaySetupApproverView = (0, toolkit_1.createSlice)({
|
|
|
218
225
|
return { payload: { billPaySetupApproverViewUpdateData } };
|
|
219
226
|
},
|
|
220
227
|
},
|
|
228
|
+
setListeningToPusherEvent(draft, action) {
|
|
229
|
+
draft.listeningToPusherEvent = action.payload;
|
|
230
|
+
},
|
|
221
231
|
clearBillPaySetupApproverViewUpdateData(draft) {
|
|
222
232
|
if (draft.billPaySetupApproverViewUpdateData != null) {
|
|
223
233
|
draft.billPaySetupApproverViewUpdateData.data = undefined;
|
|
@@ -228,5 +238,5 @@ const billPaySetupApproverView = (0, toolkit_1.createSlice)({
|
|
|
228
238
|
},
|
|
229
239
|
},
|
|
230
240
|
});
|
|
231
|
-
_a = billPaySetupApproverView.actions, exports.fetchBillPaySetupApproverView = _a.fetchBillPaySetupApproverView, exports.fetchBillPaySetupApproverViewSuccess = _a.fetchBillPaySetupApproverViewSuccess, exports.fetchBillPaySetupApproverViewFailure = _a.fetchBillPaySetupApproverViewFailure, exports.fetchBillPayApproversDetails = _a.fetchBillPayApproversDetails, exports.fetchBillPayApproversList = _a.fetchBillPayApproversList, exports.fetchBillPayApproversListSuccess = _a.fetchBillPayApproversListSuccess, exports.fetchBillPayApproversListFailure = _a.fetchBillPayApproversListFailure, exports.deleteBillPayApprovalRule = _a.deleteBillPayApprovalRule, exports.deleteBillPayApprovalRuleSuccess = _a.deleteBillPayApprovalRuleSuccess, exports.deleteBillPayApprovalRuleFailure = _a.deleteBillPayApprovalRuleFailure, exports.saveBillPaySetupApproverViewUpdates = _a.saveBillPaySetupApproverViewUpdates, exports.saveBillPaySetupApproverViewUpdatesSuccess = _a.saveBillPaySetupApproverViewUpdatesSuccess, exports.saveBillPaySetupApproverViewUpdatesFailure = _a.saveBillPaySetupApproverViewUpdatesFailure, exports.initializeBillPaySetupApproverViewUpdateData = _a.initializeBillPaySetupApproverViewUpdateData, exports.saveBillPaySetupApproverViewUpdateData = _a.saveBillPaySetupApproverViewUpdateData, exports.clearBillPaySetupApproverViewUpdateData = _a.clearBillPaySetupApproverViewUpdateData, exports.clearBillPaySetupApproverView = _a.clearBillPaySetupApproverView;
|
|
241
|
+
_a = billPaySetupApproverView.actions, exports.fetchBillPaySetupApproverView = _a.fetchBillPaySetupApproverView, exports.fetchBillPaySetupApproverViewSuccess = _a.fetchBillPaySetupApproverViewSuccess, exports.fetchBillPaySetupApproverViewFailure = _a.fetchBillPaySetupApproverViewFailure, exports.fetchBillPayApproversDetails = _a.fetchBillPayApproversDetails, exports.fetchBillPayApproversList = _a.fetchBillPayApproversList, exports.fetchBillPayApproversListSuccess = _a.fetchBillPayApproversListSuccess, exports.fetchBillPayApproversListFailure = _a.fetchBillPayApproversListFailure, exports.deleteBillPayApprovalRule = _a.deleteBillPayApprovalRule, exports.deleteBillPayApprovalRuleSuccess = _a.deleteBillPayApprovalRuleSuccess, exports.deleteBillPayApprovalRuleFailure = _a.deleteBillPayApprovalRuleFailure, exports.saveBillPaySetupApproverViewUpdates = _a.saveBillPaySetupApproverViewUpdates, exports.saveBillPaySetupApproverViewUpdatesSuccess = _a.saveBillPaySetupApproverViewUpdatesSuccess, exports.saveBillPaySetupApproverViewUpdatesFailure = _a.saveBillPaySetupApproverViewUpdatesFailure, exports.initializeBillPaySetupApproverViewUpdateData = _a.initializeBillPaySetupApproverViewUpdateData, exports.saveBillPaySetupApproverViewUpdateData = _a.saveBillPaySetupApproverViewUpdateData, exports.clearBillPaySetupApproverViewUpdateData = _a.clearBillPaySetupApproverViewUpdateData, exports.setListeningToPusherEvent = _a.setListeningToPusherEvent, exports.clearBillPaySetupApproverView = _a.clearBillPaySetupApproverView;
|
|
232
242
|
exports.default = billPaySetupApproverView.reducer;
|
|
@@ -12,7 +12,7 @@ const classSelector_1 = require("../../../../entity/class/classSelector");
|
|
|
12
12
|
const userSelector_1 = require("../../../../entity/user/userSelector");
|
|
13
13
|
const userRoleSelector_1 = require("../../../../entity/userRole/userRoleSelector");
|
|
14
14
|
exports.getBillPaySetupApproverView = (0, toolkit_1.createSelector)((state) => state.billPaySetupApproverViewState, (state) => state.approvalRuleState, (state) => state.userState, (billPaySetupApproverViewState, approvalRuleState, userState) => {
|
|
15
|
-
const { approvalRulesDeleteStatusById, approvalRuleIds, fetchState, error } = billPaySetupApproverViewState;
|
|
15
|
+
const { approvalRulesDeleteStatusById, approvalRuleIds, fetchState, error, listeningToPusherEvent, } = billPaySetupApproverViewState;
|
|
16
16
|
const deleteStateList = Object.values(approvalRulesDeleteStatusById);
|
|
17
17
|
const approvalRules = (0, approvalRuleSelector_1.getApprovalRulesByIds)(approvalRuleState, approvalRuleIds);
|
|
18
18
|
const allApprovalRules = approvalRules.map((approvalRule) => {
|
|
@@ -46,10 +46,11 @@ exports.getBillPaySetupApproverView = (0, toolkit_1.createSelector)((state) => s
|
|
|
46
46
|
approvalRulesStatus,
|
|
47
47
|
fetchState,
|
|
48
48
|
error,
|
|
49
|
+
listeningToPusherEvent,
|
|
49
50
|
};
|
|
50
51
|
});
|
|
51
52
|
exports.getBillPaySetupApproverUpdateDataView = (0, toolkit_1.createSelector)((state) => state.billPaySetupApproverViewState, (state) => state.approvalRuleState, (state) => state.userState, (state) => state.classState, (state) => state.classListState, (state) => state.userRoleState, (billPaySetupApproverViewState, approvalRuleState, userState, classState, classListState, userRoleState) => {
|
|
52
|
-
const { approvalRuleIds, approverListState, billPaySetupApproverViewUpdateData, fetchState, error, } = billPaySetupApproverViewState;
|
|
53
|
+
const { approvalRuleIds, approverListState, billPaySetupApproverViewUpdateData, fetchState, error, listeningToPusherEvent, } = billPaySetupApproverViewState;
|
|
53
54
|
const { approverIds, attributes } = approverListState;
|
|
54
55
|
const allApprovalRules = (0, approvalRuleSelector_1.getApprovalRulesByIds)(approvalRuleState, approvalRuleIds);
|
|
55
56
|
const allApprovers = approverIds
|
|
@@ -102,5 +103,6 @@ exports.getBillPaySetupApproverUpdateDataView = (0, toolkit_1.createSelector)((s
|
|
|
102
103
|
fetchState,
|
|
103
104
|
allAccountingClasses,
|
|
104
105
|
error,
|
|
106
|
+
listeningToPusherEvent,
|
|
105
107
|
};
|
|
106
108
|
});
|
|
@@ -17,6 +17,7 @@ export interface BillPaySetupApproverView extends SelectorView {
|
|
|
17
17
|
allApprovalRules: ApprovalRuleWithUser[];
|
|
18
18
|
approvalRulesStatus: AllowedValueWithCode;
|
|
19
19
|
deleteStatus: FetchStateAndError;
|
|
20
|
+
listeningToPusherEvent?: boolean;
|
|
20
21
|
}
|
|
21
22
|
export interface BillPaySetupApproverUpdateDataView extends SelectorView {
|
|
22
23
|
allAccountingClasses: Class[];
|
|
@@ -27,4 +28,5 @@ export interface BillPaySetupApproverUpdateDataView extends SelectorView {
|
|
|
27
28
|
filteredApprovers: UserAndRole[];
|
|
28
29
|
filteredAttributes: AttributeType[];
|
|
29
30
|
billPaySetupApproverViewUpdateData?: ApproverViewUpdateData;
|
|
31
|
+
listeningToPusherEvent?: boolean;
|
|
30
32
|
}
|
|
@@ -13,6 +13,7 @@ interface ApproverViewStepPayload extends Omit<StepPayload, 'actors'> {
|
|
|
13
13
|
interface ApprovalUpdatableInfoPayload {
|
|
14
14
|
approval_rule_id: ID;
|
|
15
15
|
criteria: CriteriaPayload[];
|
|
16
|
+
is_applicable_on_pending_approval_entity: boolean;
|
|
16
17
|
steps: ApproverViewStepPayload[];
|
|
17
18
|
}
|
|
18
19
|
export declare const toApprovalChangableInfoPayload: (approverViewUpdateData: ApprovalRuleUpdateData | ApprovalRuleCreateData) => Partial<ApprovalUpdatableInfoPayload>;
|
|
@@ -36,12 +36,15 @@ const toApprovalChangableInfoPayload = (approverViewUpdateData) => {
|
|
|
36
36
|
}),
|
|
37
37
|
};
|
|
38
38
|
});
|
|
39
|
+
const isUpdate = approverViewUpdateData.approvalRuleId != null;
|
|
39
40
|
const payload = {
|
|
40
41
|
criteria: criteriaPayload,
|
|
41
42
|
steps,
|
|
42
43
|
};
|
|
43
|
-
if (
|
|
44
|
-
payload
|
|
44
|
+
if (isUpdate) {
|
|
45
|
+
payload.approval_rule_id = approverViewUpdateData.approvalRuleId;
|
|
46
|
+
payload.is_applicable_on_pending_approval_entity =
|
|
47
|
+
approverViewUpdateData.isApplicableOnPendingApprovalEntity ?? false;
|
|
45
48
|
}
|
|
46
49
|
return payload;
|
|
47
50
|
};
|
|
@@ -10,8 +10,10 @@ export interface ApprovalRuleUpdateData {
|
|
|
10
10
|
approvalRuleId: ID;
|
|
11
11
|
criteria: Criteria;
|
|
12
12
|
steps: Step[];
|
|
13
|
+
isApplicableOnPendingApprovalEntity?: boolean;
|
|
13
14
|
}
|
|
14
15
|
export interface ApprovalRuleCreateData {
|
|
15
16
|
criteria: Criteria;
|
|
16
17
|
steps: Step[];
|
|
18
|
+
isApplicableOnPendingApprovalEntity?: boolean;
|
|
17
19
|
}
|
package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistory.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { FetchState, FetchedState, ID } from '../../../../commonStateTypes/common';
|
|
2
|
+
import { Logo } from '../../../../entity/paymentAccount/paymentAccountState';
|
|
3
|
+
import { ZeniDate } from '../../../../zeniDayJS';
|
|
4
|
+
import { SpendManagementUIState } from '../../billPay/billList/billListState';
|
|
5
|
+
import { CategoryCombinationOperator, FilterCategoryType } from '../../spendManagementFilterHelpers';
|
|
6
|
+
export interface PaymentHistoryAccountInfo {
|
|
7
|
+
accountId: ID;
|
|
8
|
+
accountType: 'depositAccount' | 'paymentAccount';
|
|
9
|
+
depositAccountName: string;
|
|
10
|
+
accountLogo?: Logo;
|
|
11
|
+
depositAccountLast4?: string;
|
|
12
|
+
}
|
|
13
|
+
export type PaymentHistorySortKey = 'paymentDate' | 'sourceAccount' | 'paymentStatus' | 'initiatedBy' | 'amount';
|
|
14
|
+
export interface PaymentHistoryUIState extends SpendManagementUIState {
|
|
15
|
+
sortKey: PaymentHistorySortKey;
|
|
16
|
+
}
|
|
17
|
+
export interface ChargeCardPaymentHistoryDownloadUIState {
|
|
18
|
+
downloadState: FetchState;
|
|
19
|
+
}
|
|
20
|
+
export interface ChargeCardPaymentHistoryState extends FetchedState {
|
|
21
|
+
creditAccountId: ID;
|
|
22
|
+
currencyCode: string;
|
|
23
|
+
currencySymbol: string;
|
|
24
|
+
downloadUIState: ChargeCardPaymentHistoryDownloadUIState;
|
|
25
|
+
filters: PaymentHistoryFilters;
|
|
26
|
+
isAutoPayEnabled: boolean;
|
|
27
|
+
repaymentHistoryIds: ID[];
|
|
28
|
+
repaymentHistoryXlsDownloadUrl: string;
|
|
29
|
+
searchText: string;
|
|
30
|
+
totalRepayments: number;
|
|
31
|
+
uiState: PaymentHistoryUIState;
|
|
32
|
+
}
|
|
33
|
+
export interface PaymentHistoryFilters {
|
|
34
|
+
categories: PaymentHistoryFilterCategory[];
|
|
35
|
+
categoryCombinationOperator: CategoryCombinationOperator;
|
|
36
|
+
}
|
|
37
|
+
export interface PaymentHistoryFilterCategory {
|
|
38
|
+
field: PaymentHistoryFilterCategoryField;
|
|
39
|
+
matchingOperator: 'equal' | 'not-equal';
|
|
40
|
+
values: (string | ZeniDate)[];
|
|
41
|
+
valuesCombinationOperator: 'ANY';
|
|
42
|
+
}
|
|
43
|
+
export type PaymentHistoryFilterCategoryField = 'repaymentDate' | 'sourceAccount' | 'status' | 'initiatedBy';
|
|
44
|
+
export interface PaymentHistoryFilterCategoryDropdownOption {
|
|
45
|
+
value: PaymentHistoryFilterCategoryField;
|
|
46
|
+
multiple?: boolean;
|
|
47
|
+
type?: FilterCategoryType;
|
|
48
|
+
}
|
|
49
|
+
export declare const PAYMENT_HISTORY_FILTER_CATEGORIES: PaymentHistoryFilterCategoryDropdownOption[];
|
|
50
|
+
export declare const initialChargeCardPaymentHistoryState: ChargeCardPaymentHistoryState;
|
package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistory.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initialChargeCardPaymentHistoryState = exports.PAYMENT_HISTORY_FILTER_CATEGORIES = void 0;
|
|
4
|
+
exports.PAYMENT_HISTORY_FILTER_CATEGORIES = [
|
|
5
|
+
{ value: 'repaymentDate', type: 'dateRange', multiple: true },
|
|
6
|
+
{ value: 'sourceAccount', multiple: true, type: 'dropdown' },
|
|
7
|
+
{ value: 'status', multiple: true, type: 'dropdown' },
|
|
8
|
+
{ value: 'initiatedBy', multiple: true, type: 'dropdown' },
|
|
9
|
+
];
|
|
10
|
+
exports.initialChargeCardPaymentHistoryState = {
|
|
11
|
+
fetchState: 'Not-Started',
|
|
12
|
+
error: undefined,
|
|
13
|
+
creditAccountId: '',
|
|
14
|
+
currencyCode: 'USD',
|
|
15
|
+
currencySymbol: '$',
|
|
16
|
+
downloadUIState: {
|
|
17
|
+
downloadState: 'Not-Started',
|
|
18
|
+
},
|
|
19
|
+
filters: {
|
|
20
|
+
categories: [],
|
|
21
|
+
categoryCombinationOperator: 'AND',
|
|
22
|
+
},
|
|
23
|
+
isAutoPayEnabled: false,
|
|
24
|
+
repaymentHistoryIds: [],
|
|
25
|
+
searchText: '',
|
|
26
|
+
totalRepayments: 0,
|
|
27
|
+
repaymentHistoryXlsDownloadUrl: '',
|
|
28
|
+
uiState: {
|
|
29
|
+
sortKey: 'paymentDate',
|
|
30
|
+
sortOrder: 'ascending',
|
|
31
|
+
},
|
|
32
|
+
hasValidState() {
|
|
33
|
+
return this.fetchState === 'Completed';
|
|
34
|
+
},
|
|
35
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SelectorView } from '../../../../commonStateTypes/viewAndReport/viewAndReport';
|
|
2
|
+
import { RootState } from '../../../../reducer';
|
|
3
|
+
import { ChargeCardRepaymentWithUser } from './chargeCardPaymentHistorySelector';
|
|
4
|
+
export interface ChargeCardPaymentHistoryDownloadReport extends SelectorView {
|
|
5
|
+
reportTitle: string;
|
|
6
|
+
transactions: ChargeCardRepaymentWithUser[];
|
|
7
|
+
}
|
|
8
|
+
export declare const getChargeCardPaymentHistoryDownloadReport: (state: RootState) => ChargeCardPaymentHistoryDownloadReport;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getChargeCardPaymentHistoryDownloadReport = void 0;
|
|
4
|
+
const chargeCardRepaymentSelector_1 = require("../../../../entity/chargeCardRepayment/chargeCardRepaymentSelector");
|
|
5
|
+
const userSelector_1 = require("../../../../entity/user/userSelector");
|
|
6
|
+
const chargeCardPaymentHistoryHelpers_1 = require("./chargeCardPaymentHistoryHelpers");
|
|
7
|
+
const getChargeCardPaymentHistoryDownloadReport = (state) => {
|
|
8
|
+
const { chargeCardPaymentHistoryState, chargeCardRepaymentState, userState } = state;
|
|
9
|
+
const { filters, repaymentHistoryIds, searchText, uiState, fetchState, error } = chargeCardPaymentHistoryState;
|
|
10
|
+
const repaymentHistory = (0, chargeCardRepaymentSelector_1.getChargeCardRepaymentByIds)(chargeCardRepaymentState, repaymentHistoryIds);
|
|
11
|
+
const repaymentHistoryUserIds = Array.from(new Set(repaymentHistory.map((r) => r.paidById)));
|
|
12
|
+
const repaymentHistoryUsers = (0, userSelector_1.getUsersByUserIds)(userState, repaymentHistoryUserIds);
|
|
13
|
+
const userMap = new Map(repaymentHistoryUsers.map((user) => [user.userId, user]));
|
|
14
|
+
const repaymentHistoryWithUsers = repaymentHistory.map((repayment) => ({
|
|
15
|
+
...repayment,
|
|
16
|
+
paidByUser: userMap.get(repayment.paidById),
|
|
17
|
+
}));
|
|
18
|
+
const transactions = (0, chargeCardPaymentHistoryHelpers_1.applyPaymentHistoryFiltersSearchAndSort)(repaymentHistoryWithUsers, filters, searchText, uiState);
|
|
19
|
+
return {
|
|
20
|
+
reportTitle: 'Card Payment History',
|
|
21
|
+
fetchState,
|
|
22
|
+
error,
|
|
23
|
+
transactions,
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
exports.getChargeCardPaymentHistoryDownloadReport = getChargeCardPaymentHistoryDownloadReport;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ID } from '../../../../commonStateTypes/common';
|
|
2
|
+
import { ChargeCardRepaymentStatusCodeType } from '../../../../entity/chargeCardRepayment/chargeCardRepayment';
|
|
3
|
+
import { PaymentHistoryAccountInfo, PaymentHistoryFilters, PaymentHistoryUIState } from './chargeCardPaymentHistory';
|
|
4
|
+
import type { ChargeCardRepaymentWithUser } from './chargeCardPaymentHistorySelector';
|
|
5
|
+
export declare function getPaymentHistorySourceAccountName(repayment: ChargeCardRepaymentWithUser, accountInfoByAccountId?: Record<ID, PaymentHistoryAccountInfo>): string;
|
|
6
|
+
export declare function getPaymentStatusDisplayText(status: ChargeCardRepaymentStatusCodeType): string;
|
|
7
|
+
export declare function applyPaymentHistoryFiltersSearchAndSort(repayments: ChargeCardRepaymentWithUser[], filters: PaymentHistoryFilters, searchText: string, uiState: PaymentHistoryUIState, accountInfoByAccountId?: Record<ID, PaymentHistoryAccountInfo>): ChargeCardRepaymentWithUser[];
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getPaymentHistorySourceAccountName = getPaymentHistorySourceAccountName;
|
|
7
|
+
exports.getPaymentStatusDisplayText = getPaymentStatusDisplayText;
|
|
8
|
+
exports.applyPaymentHistoryFiltersSearchAndSort = applyPaymentHistoryFiltersSearchAndSort;
|
|
9
|
+
const orderBy_1 = __importDefault(require("lodash/orderBy"));
|
|
10
|
+
const userSelector_1 = require("../../../../entity/user/userSelector");
|
|
11
|
+
const spendManagementFilterHelpers_1 = require("../../spendManagementFilterHelpers");
|
|
12
|
+
function getPaymentHistorySourceAccountName(repayment, accountInfoByAccountId) {
|
|
13
|
+
const fromMap = repayment.paymentAccountId != null
|
|
14
|
+
? accountInfoByAccountId?.[repayment.paymentAccountId]?.depositAccountName
|
|
15
|
+
: undefined;
|
|
16
|
+
return fromMap ?? repayment.paymentAccountName ?? '';
|
|
17
|
+
}
|
|
18
|
+
function getPaymentStatusDisplayText(status) {
|
|
19
|
+
const statusMap = {
|
|
20
|
+
PendingReview: 'In Progress',
|
|
21
|
+
Pending: 'In Progress',
|
|
22
|
+
Sent: 'Complete',
|
|
23
|
+
Clear: 'Complete',
|
|
24
|
+
Rejected: 'Failed',
|
|
25
|
+
Returned: 'Failed',
|
|
26
|
+
};
|
|
27
|
+
return statusMap[status] ?? status;
|
|
28
|
+
}
|
|
29
|
+
function getPaymentHistorySortValue(repayment, sortKey, accountInfoByAccountId) {
|
|
30
|
+
switch (sortKey) {
|
|
31
|
+
case 'paymentDate':
|
|
32
|
+
return repayment.repaymentDate.valueOf();
|
|
33
|
+
case 'amount':
|
|
34
|
+
return repayment.amount.amount;
|
|
35
|
+
case 'paymentStatus':
|
|
36
|
+
return getPaymentStatusDisplayText(repayment.status);
|
|
37
|
+
case 'initiatedBy':
|
|
38
|
+
return repayment.repaymentType === 'scheduled'
|
|
39
|
+
? 'autopay'
|
|
40
|
+
: (0, userSelector_1.getUserName)(repayment.paidByUser);
|
|
41
|
+
case 'sourceAccount':
|
|
42
|
+
return getPaymentHistorySourceAccountName(repayment, accountInfoByAccountId);
|
|
43
|
+
default:
|
|
44
|
+
return '';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function sortPaymentHistory(repayments, sortKey, sortOrder, accountInfoByAccountId) {
|
|
48
|
+
const getColumnWiseSortOrder = (sortOrder) => {
|
|
49
|
+
// Note: For date and amount fields, the sort order is intentionally inverted.
|
|
50
|
+
// This allows the UI to request 'ascending' sort to get the most recent dates
|
|
51
|
+
// or largest amounts first, which is a more intuitive default for users.
|
|
52
|
+
switch (sortKey) {
|
|
53
|
+
case 'sourceAccount':
|
|
54
|
+
case 'paymentStatus':
|
|
55
|
+
case 'initiatedBy':
|
|
56
|
+
return sortOrder === 'ascending' ? 'asc' : 'desc';
|
|
57
|
+
default:
|
|
58
|
+
return sortOrder === 'ascending' ? 'desc' : 'asc';
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const order = getColumnWiseSortOrder(sortOrder);
|
|
62
|
+
return (0, orderBy_1.default)(repayments, (repayment) => getPaymentHistorySortValue(repayment, sortKey, accountInfoByAccountId), [order]);
|
|
63
|
+
}
|
|
64
|
+
function filterPaymentHistoryBySearchText(repayments, searchText, accountInfoByAccountId) {
|
|
65
|
+
const loweredSearchText = searchText.trim().toLowerCase();
|
|
66
|
+
if (loweredSearchText.length === 0) {
|
|
67
|
+
return repayments;
|
|
68
|
+
}
|
|
69
|
+
return repayments.filter((repayment) => {
|
|
70
|
+
const amountString = repayment.amount.amount.toString();
|
|
71
|
+
const statusString = getPaymentStatusDisplayText(repayment.status).toLowerCase();
|
|
72
|
+
const initiatedByString = repayment.repaymentType === 'scheduled'
|
|
73
|
+
? 'autopay'
|
|
74
|
+
: (0, userSelector_1.getUserName)(repayment.paidByUser);
|
|
75
|
+
const accountNameString = getPaymentHistorySourceAccountName(repayment, accountInfoByAccountId).toLowerCase();
|
|
76
|
+
return (amountString.includes(loweredSearchText) ||
|
|
77
|
+
statusString.includes(loweredSearchText) ||
|
|
78
|
+
initiatedByString.toLowerCase().includes(loweredSearchText) ||
|
|
79
|
+
accountNameString.includes(loweredSearchText));
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function applyPaymentHistoryFiltersSearchAndSort(repayments, filters, searchText, uiState, accountInfoByAccountId) {
|
|
83
|
+
let result = (0, spendManagementFilterHelpers_1.applyAdvancedFiltersOnList)('charge_card_payment_history', repayments, filters);
|
|
84
|
+
result = filterPaymentHistoryBySearchText(result, searchText, accountInfoByAccountId);
|
|
85
|
+
result = sortPaymentHistory(result, uiState.sortKey, uiState.sortOrder, accountInfoByAccountId);
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChargeCardRepaymentPayload } from '../../../../entity/chargeCardRepayment/chargeCardRepaymentPayload';
|
|
2
|
+
import { ZeniAPIResponse } from '../../../../responsePayload';
|
|
3
|
+
export interface ChargeCardPaymentHistoryPayload {
|
|
4
|
+
credit_account_id: string;
|
|
5
|
+
currency_code: string;
|
|
6
|
+
currency_symbol: string;
|
|
7
|
+
is_auto_pay_enabled: boolean;
|
|
8
|
+
repayment_history: RepaymentHistoryPayload[];
|
|
9
|
+
total_repayments: number;
|
|
10
|
+
}
|
|
11
|
+
type RepaymentHistoryPayload = Omit<ChargeCardRepaymentPayload, 'is_deleted' | 'provider_counterparty_account_id'>;
|
|
12
|
+
export type FetchChargeCardPaymentHistoryResponse = ZeniAPIResponse<ChargeCardPaymentHistoryPayload>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ID } from '../../../../commonStateTypes/common';
|
|
2
|
+
import { ZeniAPIStatus } from '../../../../responsePayload';
|
|
3
|
+
import { ChargeCardPaymentHistoryDownloadUIState, ChargeCardPaymentHistoryState, PaymentHistoryFilters, PaymentHistoryUIState } from './chargeCardPaymentHistory';
|
|
4
|
+
import { ChargeCardPaymentHistoryPayload } from './chargeCardPaymentHistoryPayload';
|
|
5
|
+
export declare const initialState: ChargeCardPaymentHistoryState;
|
|
6
|
+
export declare const addRepaymentToChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
7
|
+
cardRepaymentId: ID;
|
|
8
|
+
zeniCreditAccountId: ID;
|
|
9
|
+
}, "chargeCardPaymentHistory/addRepaymentToChargeCardPaymentHistory">, fetchChargeCardPaymentPage: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride?: any], {
|
|
10
|
+
cacheOverride: any;
|
|
11
|
+
}, "chargeCardPaymentHistory/fetchChargeCardPaymentPage", never, never>, fetchChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardPaymentHistory/fetchChargeCardPaymentHistory">, updateChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithPayload<ChargeCardPaymentHistoryPayload, "chargeCardPaymentHistory/updateChargeCardPaymentHistory">, updateChargeCardPaymentHistoryFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardPaymentHistory/updateChargeCardPaymentHistoryFailure">, clearChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardPaymentHistory/clearChargeCardPaymentHistory">, updatePaymentHistoryFilters: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
12
|
+
filters: PaymentHistoryFilters;
|
|
13
|
+
}, "chargeCardPaymentHistory/updatePaymentHistoryFilters">, updatePaymentHistorySearchText: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "chargeCardPaymentHistory/updatePaymentHistorySearchText">, updatePaymentHistoryDownloadUIState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
14
|
+
uiState: Partial<ChargeCardPaymentHistoryDownloadUIState>;
|
|
15
|
+
}, "chargeCardPaymentHistory/updatePaymentHistoryDownloadUIState">, updatePaymentHistoryUIState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
16
|
+
uiState: Partial<PaymentHistoryUIState>;
|
|
17
|
+
}, "chargeCardPaymentHistory/updatePaymentHistoryUIState">;
|
|
18
|
+
declare const _default: import("redux").Reducer<ChargeCardPaymentHistoryState>;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.updatePaymentHistoryUIState = exports.updatePaymentHistoryDownloadUIState = exports.updatePaymentHistorySearchText = exports.updatePaymentHistoryFilters = exports.clearChargeCardPaymentHistory = exports.updateChargeCardPaymentHistoryFailure = exports.updateChargeCardPaymentHistory = exports.fetchChargeCardPaymentHistory = exports.fetchChargeCardPaymentPage = exports.addRepaymentToChargeCardPaymentHistory = exports.initialState = void 0;
|
|
5
|
+
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
|
+
const chargeCardPaymentHistory_1 = require("./chargeCardPaymentHistory");
|
|
7
|
+
exports.initialState = chargeCardPaymentHistory_1.initialChargeCardPaymentHistoryState;
|
|
8
|
+
const chargeCardPaymentHistory = (0, toolkit_1.createSlice)({
|
|
9
|
+
name: 'chargeCardPaymentHistory',
|
|
10
|
+
initialState: exports.initialState,
|
|
11
|
+
reducers: {
|
|
12
|
+
fetchChargeCardPaymentPage: {
|
|
13
|
+
reducer() {
|
|
14
|
+
// do nothing
|
|
15
|
+
},
|
|
16
|
+
prepare(cacheOverride = false) {
|
|
17
|
+
return {
|
|
18
|
+
payload: {
|
|
19
|
+
cacheOverride,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
fetchChargeCardPaymentHistory(draft) {
|
|
25
|
+
draft.fetchState = 'In-Progress';
|
|
26
|
+
draft.error = undefined;
|
|
27
|
+
},
|
|
28
|
+
updateChargeCardPaymentHistory(draft, action) {
|
|
29
|
+
const payload = action.payload;
|
|
30
|
+
draft.creditAccountId = payload.credit_account_id;
|
|
31
|
+
draft.currencyCode = payload.currency_code;
|
|
32
|
+
draft.currencySymbol = payload.currency_symbol;
|
|
33
|
+
draft.isAutoPayEnabled = payload.is_auto_pay_enabled;
|
|
34
|
+
draft.repaymentHistoryIds = payload.repayment_history.map((repayment) => repayment.card_repayment_id);
|
|
35
|
+
draft.totalRepayments = payload.total_repayments;
|
|
36
|
+
draft.fetchState = 'Completed';
|
|
37
|
+
draft.error = undefined;
|
|
38
|
+
},
|
|
39
|
+
updateChargeCardPaymentHistoryFailure(draft, action) {
|
|
40
|
+
draft.fetchState = 'Error';
|
|
41
|
+
draft.error = action.payload;
|
|
42
|
+
},
|
|
43
|
+
addRepaymentToChargeCardPaymentHistory(draft, action) {
|
|
44
|
+
const { cardRepaymentId, zeniCreditAccountId } = action.payload;
|
|
45
|
+
if (draft.creditAccountId !== zeniCreditAccountId) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (draft.repaymentHistoryIds.includes(cardRepaymentId)) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
draft.repaymentHistoryIds.unshift(cardRepaymentId);
|
|
52
|
+
draft.totalRepayments += 1;
|
|
53
|
+
},
|
|
54
|
+
clearChargeCardPaymentHistory(draft) {
|
|
55
|
+
Object.assign(draft, exports.initialState);
|
|
56
|
+
},
|
|
57
|
+
updatePaymentHistoryFilters(draft, action) {
|
|
58
|
+
if (action.payload.filters != null) {
|
|
59
|
+
draft.filters = action.payload.filters;
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
updatePaymentHistorySearchText(draft, action) {
|
|
63
|
+
if (action.payload != null) {
|
|
64
|
+
draft.searchText = action.payload;
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
updatePaymentHistoryUIState(draft, action) {
|
|
68
|
+
if (action.payload.uiState.sortKey != null) {
|
|
69
|
+
draft.uiState.sortKey = action.payload.uiState.sortKey;
|
|
70
|
+
}
|
|
71
|
+
if (action.payload.uiState.sortOrder != null) {
|
|
72
|
+
draft.uiState.sortOrder = action.payload.uiState.sortOrder;
|
|
73
|
+
}
|
|
74
|
+
if (action.payload.uiState.scrollYOffset != null) {
|
|
75
|
+
draft.uiState.scrollYOffset = action.payload.uiState.scrollYOffset;
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
updatePaymentHistoryDownloadUIState(draft, action) {
|
|
79
|
+
if (action.payload.uiState.downloadState != null) {
|
|
80
|
+
draft.downloadUIState.downloadState =
|
|
81
|
+
action.payload.uiState.downloadState;
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
_a = chargeCardPaymentHistory.actions, exports.addRepaymentToChargeCardPaymentHistory = _a.addRepaymentToChargeCardPaymentHistory, exports.fetchChargeCardPaymentPage = _a.fetchChargeCardPaymentPage, exports.fetchChargeCardPaymentHistory = _a.fetchChargeCardPaymentHistory, exports.updateChargeCardPaymentHistory = _a.updateChargeCardPaymentHistory, exports.updateChargeCardPaymentHistoryFailure = _a.updateChargeCardPaymentHistoryFailure, exports.clearChargeCardPaymentHistory = _a.clearChargeCardPaymentHistory, exports.updatePaymentHistoryFilters = _a.updatePaymentHistoryFilters, exports.updatePaymentHistorySearchText = _a.updatePaymentHistorySearchText, exports.updatePaymentHistoryDownloadUIState = _a.updatePaymentHistoryDownloadUIState, exports.updatePaymentHistoryUIState = _a.updatePaymentHistoryUIState;
|
|
87
|
+
exports.default = chargeCardPaymentHistory.reducer;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ID } from '../../../../commonStateTypes/common';
|
|
2
|
+
import { SelectorView } from '../../../../commonStateTypes/viewAndReport/viewAndReport';
|
|
3
|
+
import { ChargeCardRepayment } from '../../../../entity/chargeCardRepayment/chargeCardRepayment';
|
|
4
|
+
import { User } from '../../../../entity/user/userState';
|
|
5
|
+
import { RootState } from '../../../../reducer';
|
|
6
|
+
import { PaymentHistoryAccountInfo, PaymentHistoryFilters, PaymentHistoryUIState } from './chargeCardPaymentHistory';
|
|
7
|
+
export interface ChargeCardRepaymentWithUser extends ChargeCardRepayment {
|
|
8
|
+
paidByUser?: User;
|
|
9
|
+
}
|
|
10
|
+
export interface ChargeCardPaymentHistorySelectorView extends SelectorView {
|
|
11
|
+
accountInfoByAccountId: Record<ID, PaymentHistoryAccountInfo>;
|
|
12
|
+
creditAccountId: ID;
|
|
13
|
+
currencyCode: string;
|
|
14
|
+
currencySymbol: string;
|
|
15
|
+
filters: PaymentHistoryFilters;
|
|
16
|
+
isAutoPayEnabled: boolean;
|
|
17
|
+
repaymentHistory: ChargeCardRepaymentWithUser[];
|
|
18
|
+
repaymentHistoryIds: ID[];
|
|
19
|
+
repaymentHistoryUsers: User[];
|
|
20
|
+
searchText: string;
|
|
21
|
+
totalRepayments: number;
|
|
22
|
+
uiState: PaymentHistoryUIState;
|
|
23
|
+
}
|
|
24
|
+
export declare const getChargeCardPaymentHistoryView: (state: RootState) => ChargeCardPaymentHistorySelectorView;
|