@zeniai/client-epic-state 4.10.41 → 4.10.43
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/view/commonVendorView/vendorView/epics/saveVendorEpic.d.ts +2 -2
- package/lib/view/commonVendorView/vendorView/epics/saveVendorEpic.js +9 -6
- package/lib/view/transactionDetail/transactionDetailLocalDataHelper.d.ts +1 -1
- package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +79 -76
- package/lib/view/transactionDetail/transactionDetailReducer.d.ts +4 -2
- package/lib/view/transactionDetail/transactionDetailReducer.js +4 -3
- package/lib/view/transactionDetail/transactionDetailTypes.d.ts +1 -0
- package/package.json +1 -1
|
@@ -4,11 +4,11 @@ import { RootState } from '../../../../reducer';
|
|
|
4
4
|
import { fetchUserDetails, resetVendorDetailLocalData, saveVendor, saveVendorSuccessOrFailure, updateVendorDetailLocalData } from '../vendorViewReducer';
|
|
5
5
|
import { updateVendors } from '../../../../entity/vendor/vendorReducer';
|
|
6
6
|
import { updateAddresses } from '../../../../entity/address/addressReducer';
|
|
7
|
-
import { convertAmountToHomeCurrency, saveBillUpdatesToLocalStore, updateRecommendedVendorId } from '../../../spendManagement/billPay/editBillView/editBillViewReducer';
|
|
7
|
+
import { convertAmountToHomeCurrency, saveBillUpdatesToLocalStore, updateAddBillAutoFields, updateRecommendedVendorId } from '../../../spendManagement/billPay/editBillView/editBillViewReducer';
|
|
8
8
|
import { fetchPreviousBills } from '../../../spendManagement/billPay/previousBills/previousBillsReducer';
|
|
9
9
|
import { updateContacts } from '../../../../entity/billPay/contact/contactReducer';
|
|
10
10
|
import { updateBankAccounts } from '../../../../entity/bankAccount/bankAccountReducer';
|
|
11
11
|
import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
|
|
12
12
|
import { updatePaymentInstruments } from '../../../../entity/paymentInstrument/paymentInstrumentReducer';
|
|
13
|
-
export declare type ActionType = ReturnType<typeof saveVendor> | ReturnType<typeof updateVendors> | ReturnType<typeof updateContacts> | ReturnType<typeof updateBankAccounts> | ReturnType<typeof saveBillUpdatesToLocalStore> | ReturnType<typeof fetchPreviousBills> | ReturnType<typeof openSnackbar> | ReturnType<typeof saveVendorSuccessOrFailure> | ReturnType<typeof resetVendorDetailLocalData> | ReturnType<typeof updateAddresses> | ReturnType<typeof updateVendorDetailLocalData> | ReturnType<typeof fetchUserDetails> | ReturnType<typeof updatePaymentInstruments> | ReturnType<typeof convertAmountToHomeCurrency> | ReturnType<typeof updateRecommendedVendorId>;
|
|
13
|
+
export declare type ActionType = ReturnType<typeof saveVendor> | ReturnType<typeof updateVendors> | ReturnType<typeof updateContacts> | ReturnType<typeof updateBankAccounts> | ReturnType<typeof saveBillUpdatesToLocalStore> | ReturnType<typeof fetchPreviousBills> | ReturnType<typeof openSnackbar> | ReturnType<typeof saveVendorSuccessOrFailure> | ReturnType<typeof resetVendorDetailLocalData> | ReturnType<typeof updateAddresses> | ReturnType<typeof updateVendorDetailLocalData> | ReturnType<typeof fetchUserDetails> | ReturnType<typeof updatePaymentInstruments> | ReturnType<typeof convertAmountToHomeCurrency> | ReturnType<typeof updateRecommendedVendorId> | ReturnType<typeof updateAddBillAutoFields>;
|
|
14
14
|
export declare const saveVendorEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;
|
|
@@ -122,16 +122,19 @@ const saveVendorEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operator
|
|
|
122
122
|
vendorId !== updatedVendor.id) {
|
|
123
123
|
showVendorGptRecommendationText = false;
|
|
124
124
|
}
|
|
125
|
-
//updated vendor name is not same as tentativeVendorName in case of setup vendor
|
|
126
|
-
else if (Boolean(tentativeVendorName) === true &&
|
|
127
|
-
tentativeVendorName === (updatedVendor === null || updatedVendor === void 0 ? void 0 : updatedVendor.name)) {
|
|
128
|
-
showVendorGptRecommendationText = true;
|
|
129
|
-
actions.push((0, editBillViewReducer_1.updateRecommendedVendorId)(updatedVendor === null || updatedVendor === void 0 ? void 0 : updatedVendor.id));
|
|
130
|
-
}
|
|
131
125
|
else {
|
|
132
126
|
showVendorGptRecommendationText =
|
|
133
127
|
originalShowVendorGptRecommendationText;
|
|
134
128
|
}
|
|
129
|
+
//updated vendor name is not same as tentativeVendorName in case of setup vendor
|
|
130
|
+
if (Boolean(tentativeVendorName) === true &&
|
|
131
|
+
tentativeVendorName === (updatedVendor === null || updatedVendor === void 0 ? void 0 : updatedVendor.name)) {
|
|
132
|
+
showVendorGptRecommendationText = true;
|
|
133
|
+
actions.push((0, editBillViewReducer_1.updateAddBillAutoFields)(Object.assign(Object.assign({}, billInLocalStore.addBillAutoFields), { tentativeVendorName: '' })));
|
|
134
|
+
if (recommendedVendorId == null) {
|
|
135
|
+
actions.push((0, editBillViewReducer_1.updateRecommendedVendorId)(updatedVendor === null || updatedVendor === void 0 ? void 0 : updatedVendor.id));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
135
138
|
actions.push((0, editBillViewReducer_1.saveBillUpdatesToLocalStore)({
|
|
136
139
|
billDetailLocalData: {
|
|
137
140
|
showVendorGptRecommendationText,
|
|
@@ -20,4 +20,4 @@ export declare const setEntityRecommendationForLineIdInLocalData: (transaction:
|
|
|
20
20
|
export declare const removeEntityRecommendationForLineIdInLocalData: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, recommendationLineIds: ID[]) => TransactionDetailLocalData;
|
|
21
21
|
export declare const getChangedLineItemCountFromLocalData: (transaction: SupportedTransaction, transactionLocalData: TransactionDetailLocalData) => number;
|
|
22
22
|
export declare const toSetAllLineItemsToVendor: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, entity: Entity) => TransactionDetailLocalData;
|
|
23
|
-
export declare const toUpdateLineItemsToOriginalVendor: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData) => TransactionDetailLocalData;
|
|
23
|
+
export declare const toUpdateLineItemsToOriginalVendor: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, lineIdToRetainVendorSelection: ID) => TransactionDetailLocalData;
|
|
@@ -322,7 +322,7 @@ const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLo
|
|
|
322
322
|
}
|
|
323
323
|
});
|
|
324
324
|
}
|
|
325
|
-
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorDetails: transactionDetailLocalData.vendorDetails, vendorUpdates: transactionDetailLocalData.vendorUpdates, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem });
|
|
325
|
+
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorDetails: transactionDetailLocalData.vendorDetails, vendorUpdates: transactionDetailLocalData.vendorUpdates, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity });
|
|
326
326
|
return newLocalData;
|
|
327
327
|
};
|
|
328
328
|
exports.toUpdateLineItemsOriginalCategoryClass = toUpdateLineItemsOriginalCategoryClass;
|
|
@@ -410,7 +410,7 @@ const toSetAllLineItemsToCategoryClass = (transaction, transactionDetailLocalDat
|
|
|
410
410
|
}
|
|
411
411
|
});
|
|
412
412
|
}
|
|
413
|
-
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorUpdates: transactionDetailLocalData.vendorUpdates, vendorDetails: transactionDetailLocalData.vendorDetails, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem });
|
|
413
|
+
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorUpdates: transactionDetailLocalData.vendorUpdates, vendorDetails: transactionDetailLocalData.vendorDetails, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity });
|
|
414
414
|
return newLocalData;
|
|
415
415
|
};
|
|
416
416
|
exports.toSetAllLineItemsToCategoryClass = toSetAllLineItemsToCategoryClass;
|
|
@@ -436,7 +436,7 @@ const toSetAllLineItemsLocalDataIsUpdateAllChecked = (transaction, transactionDe
|
|
|
436
436
|
}
|
|
437
437
|
});
|
|
438
438
|
}
|
|
439
|
-
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorDetails: transactionDetailLocalData.vendorDetails, vendorUpdates: transactionDetailLocalData.vendorUpdates, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem });
|
|
439
|
+
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorDetails: transactionDetailLocalData.vendorDetails, vendorUpdates: transactionDetailLocalData.vendorUpdates, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity });
|
|
440
440
|
return newLocalData;
|
|
441
441
|
};
|
|
442
442
|
exports.toSetAllLineItemsLocalDataIsUpdateAllChecked = toSetAllLineItemsLocalDataIsUpdateAllChecked;
|
|
@@ -558,7 +558,7 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
|
|
|
558
558
|
newLineItems[matchingEntityLineId] = Object.assign(Object.assign({}, newLineItem), { isUpdateAllChecked: true, isCategoryUpdateSelected: matchingRecord.isCategoryUpdateSelected, isClassUpdateSelected: matchingRecord.isClassUpdateSelected, isRecommendedCategorySelected: matchingRecord.isRecommendedCategorySelected, isRecommendedClassSelected: matchingRecord.isRecommendedClassSelected, isRetainedCategorySelected: matchingRecord.isRetainedCategorySelected, isRetainedClassSelected: matchingRecord.isRetainedCategorySelected, class: matchingRecord.class, account: matchingRecord.account, lineEntity: matchingRecord.lineEntity });
|
|
559
559
|
}
|
|
560
560
|
}
|
|
561
|
-
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorUpdates: transactionDetailLocalData.vendorUpdates, vendorDetails: transactionDetailLocalData.vendorDetails, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem });
|
|
561
|
+
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorUpdates: transactionDetailLocalData.vendorUpdates, vendorDetails: transactionDetailLocalData.vendorDetails, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity });
|
|
562
562
|
return newLocalData;
|
|
563
563
|
};
|
|
564
564
|
exports.setEntityRecommendationForLineIdInLocalData = setEntityRecommendationForLineIdInLocalData;
|
|
@@ -595,7 +595,7 @@ const removeEntityRecommendationForLineIdInLocalData = (transaction, transaction
|
|
|
595
595
|
}
|
|
596
596
|
});
|
|
597
597
|
}
|
|
598
|
-
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorDetails: transactionDetailLocalData.vendorDetails, vendorUpdates: transactionDetailLocalData.vendorUpdates, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem });
|
|
598
|
+
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorDetails: transactionDetailLocalData.vendorDetails, vendorUpdates: transactionDetailLocalData.vendorUpdates, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity });
|
|
599
599
|
return newLocalData;
|
|
600
600
|
};
|
|
601
601
|
exports.removeEntityRecommendationForLineIdInLocalData = removeEntityRecommendationForLineIdInLocalData;
|
|
@@ -681,7 +681,7 @@ const toSetAllLineItemsToVendor = (transaction, transactionDetailLocalData, enti
|
|
|
681
681
|
return newLocalData;
|
|
682
682
|
};
|
|
683
683
|
exports.toSetAllLineItemsToVendor = toSetAllLineItemsToVendor;
|
|
684
|
-
const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetailLocalData) => {
|
|
684
|
+
const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetailLocalData, lineIdToRetainVendorSelection) => {
|
|
685
685
|
const newLineItems = {};
|
|
686
686
|
if (transaction.lines != null) {
|
|
687
687
|
// always preserving the order of the line items. hence iterating over this
|
|
@@ -693,91 +693,94 @@ const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetailLocalDa
|
|
|
693
693
|
const accountLine = line;
|
|
694
694
|
const lineId = line.id;
|
|
695
695
|
const record = Object.assign({}, transactionDetailLocalData.lineItemById[lineId]);
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
record.recommendedAccount = recommendedAccount;
|
|
705
|
-
record.isCategoryUpdateSelected = false;
|
|
706
|
-
if ((recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) !== accountLine.account.qboId &&
|
|
707
|
-
Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId)) {
|
|
708
|
-
if (accountLine.isCategoryMiscategorized &&
|
|
709
|
-
Boolean(accountLine.account.qboId) &&
|
|
710
|
-
Boolean(isVendorOrCustomerPresent)) {
|
|
711
|
-
record.retainedAccount = accountLine.account;
|
|
712
|
-
record.isRetainedCategorySelected = false;
|
|
713
|
-
}
|
|
714
|
-
}
|
|
715
|
-
else if ((recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) === accountLine.account.qboId &&
|
|
716
|
-
Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId)) {
|
|
696
|
+
if (line.id !== lineIdToRetainVendorSelection) {
|
|
697
|
+
// We want to retain vendor and other selections for the line after whose vendor `update all` was selected.
|
|
698
|
+
const isVendorOrCustomerPresent = record.vendor != null || record.customer != null;
|
|
699
|
+
record.recommendations = (_a = transaction.recommendations) === null || _a === void 0 ? void 0 : _a[lineId];
|
|
700
|
+
record.vendor = accountLine.vendor;
|
|
701
|
+
record.customer = accountLine.customer;
|
|
702
|
+
const { recommendedAccount, recommendedClass } = getRecommendedCategoryClass(accountLine.isCategoryMiscategorized, accountLine.isClassMiscategorized, record.recommendations, accountLine.account, accountLine.class);
|
|
703
|
+
// Update category
|
|
717
704
|
record.account = accountLine.account;
|
|
718
705
|
record.isRecommendedCategorySelected = false;
|
|
706
|
+
record.recommendedAccount = recommendedAccount;
|
|
719
707
|
record.isCategoryUpdateSelected = false;
|
|
720
|
-
if (accountLine.
|
|
721
|
-
Boolean(
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
708
|
+
if ((recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) !== accountLine.account.qboId &&
|
|
709
|
+
Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId)) {
|
|
710
|
+
if (accountLine.isCategoryMiscategorized &&
|
|
711
|
+
Boolean(accountLine.account.qboId) &&
|
|
712
|
+
Boolean(isVendorOrCustomerPresent)) {
|
|
713
|
+
record.retainedAccount = accountLine.account;
|
|
714
|
+
record.isRetainedCategorySelected = false;
|
|
715
|
+
}
|
|
725
716
|
}
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
if ((recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) !== accountLine.class.qboId &&
|
|
738
|
-
Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId)) {
|
|
739
|
-
if (accountLine.isClassMiscategorized &&
|
|
740
|
-
Boolean(accountLine.class.qboId) &&
|
|
741
|
-
Boolean(isVendorOrCustomerPresent)) {
|
|
742
|
-
record.retainedClass = accountLine.class;
|
|
743
|
-
record.isRetainedClassSelected = false;
|
|
717
|
+
else if ((recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) === accountLine.account.qboId &&
|
|
718
|
+
Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId)) {
|
|
719
|
+
record.account = accountLine.account;
|
|
720
|
+
record.isRecommendedCategorySelected = false;
|
|
721
|
+
record.isCategoryUpdateSelected = false;
|
|
722
|
+
if (accountLine.isCategoryMiscategorized &&
|
|
723
|
+
Boolean(accountLine.account.qboId) &&
|
|
724
|
+
Boolean(isVendorOrCustomerPresent)) {
|
|
725
|
+
record.retainedAccount = recommendedAccount;
|
|
726
|
+
record.isRetainedCategorySelected = false;
|
|
727
|
+
}
|
|
744
728
|
}
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
729
|
+
if (((_b = transactionDetailLocalData.vendorDetails) === null || _b === void 0 ? void 0 : _b.id) !==
|
|
730
|
+
((_c = transactionDetailLocalData.vendorUpdates) === null || _c === void 0 ? void 0 : _c.id)) {
|
|
731
|
+
record.recommendedAccount =
|
|
732
|
+
transactionDetailLocalData.lineItemById[lineId].recommendedAccount;
|
|
733
|
+
}
|
|
734
|
+
// Update class
|
|
748
735
|
record.class = accountLine.class;
|
|
749
736
|
record.isRecommendedClassSelected = false;
|
|
750
737
|
record.recommendedClass = recommendedClass;
|
|
751
738
|
record.isClassUpdateSelected = false;
|
|
752
|
-
if (accountLine.
|
|
753
|
-
Boolean(
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
739
|
+
if ((recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) !== accountLine.class.qboId &&
|
|
740
|
+
Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId)) {
|
|
741
|
+
if (accountLine.isClassMiscategorized &&
|
|
742
|
+
Boolean(accountLine.class.qboId) &&
|
|
743
|
+
Boolean(isVendorOrCustomerPresent)) {
|
|
744
|
+
record.retainedClass = accountLine.class;
|
|
745
|
+
record.isRetainedClassSelected = false;
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
else if ((recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) === accountLine.account.qboId &&
|
|
749
|
+
Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId)) {
|
|
750
|
+
record.class = accountLine.class;
|
|
751
|
+
record.isRecommendedClassSelected = false;
|
|
752
|
+
record.recommendedClass = recommendedClass;
|
|
753
|
+
record.isClassUpdateSelected = false;
|
|
754
|
+
if (accountLine.isClassMiscategorized &&
|
|
755
|
+
Boolean(accountLine.class.qboId) &&
|
|
756
|
+
Boolean(isVendorOrCustomerPresent)) {
|
|
757
|
+
record.retainedClass = recommendedClass;
|
|
758
|
+
record.isRetainedClassSelected = false;
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
if (((_d = transactionDetailLocalData.vendorDetails) === null || _d === void 0 ? void 0 : _d.id) !=
|
|
762
|
+
((_e = transactionDetailLocalData.vendorUpdates) === null || _e === void 0 ? void 0 : _e.id)) {
|
|
763
|
+
record.recommendedClass =
|
|
764
|
+
transactionDetailLocalData.lineItemById[lineId].recommendedClass;
|
|
765
|
+
}
|
|
766
|
+
if (line.type === 'transaction_with_product_or_service_line') {
|
|
767
|
+
const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor });
|
|
768
|
+
record.item = lineRecord.item;
|
|
769
|
+
record.lineDetailType = lineRecord.lineDetailType;
|
|
770
|
+
}
|
|
771
|
+
if (line.type === 'journal_entry_transaction_line') {
|
|
772
|
+
const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor });
|
|
773
|
+
record.lineTransactionType = lineRecord.lineTransactionType;
|
|
774
|
+
record.postingType = lineRecord.postingType;
|
|
775
|
+
record.postingTypeName = lineRecord.postingTypeName;
|
|
776
|
+
record.lineEntity = toLineEntity(lineRecord);
|
|
757
777
|
}
|
|
758
|
-
}
|
|
759
|
-
if (((_d = transactionDetailLocalData.vendorDetails) === null || _d === void 0 ? void 0 : _d.id) !=
|
|
760
|
-
((_e = transactionDetailLocalData.vendorUpdates) === null || _e === void 0 ? void 0 : _e.id)) {
|
|
761
|
-
record.recommendedClass =
|
|
762
|
-
transactionDetailLocalData.lineItemById[lineId].recommendedClass;
|
|
763
|
-
}
|
|
764
|
-
if (line.type === 'transaction_with_product_or_service_line') {
|
|
765
|
-
const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor });
|
|
766
|
-
record.item = lineRecord.item;
|
|
767
|
-
record.lineDetailType = lineRecord.lineDetailType;
|
|
768
|
-
}
|
|
769
|
-
if (line.type === 'journal_entry_transaction_line') {
|
|
770
|
-
const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor });
|
|
771
|
-
record.lineTransactionType = lineRecord.lineTransactionType;
|
|
772
|
-
record.postingType = lineRecord.postingType;
|
|
773
|
-
record.postingTypeName = lineRecord.postingTypeName;
|
|
774
|
-
record.lineEntity = toLineEntity(lineRecord);
|
|
775
778
|
}
|
|
776
779
|
newLineItems[lineId] = record;
|
|
777
780
|
}
|
|
778
781
|
});
|
|
779
782
|
}
|
|
780
|
-
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, isVendorUpdateAllChecked: false });
|
|
783
|
+
const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, isVendorUpdateAllChecked: false, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem });
|
|
781
784
|
return newLocalData;
|
|
782
785
|
};
|
|
783
786
|
exports.toUpdateLineItemsToOriginalVendor = toUpdateLineItemsToOriginalVendor;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ZeniAPIStatus } from '../../responsePayload';
|
|
2
2
|
import { RecommendationByLineId, TransactionID } from '../../entity/transaction/stateTypes/transaction';
|
|
3
3
|
import { TransactionDetailState, TransactionSaveUpdates } from './transactionDetailState';
|
|
4
|
-
import { FetchState, UpdateType } from '../../commonStateTypes/common';
|
|
4
|
+
import { FetchState, ID, UpdateType } from '../../commonStateTypes/common';
|
|
5
5
|
import { SupportedTransaction, SupportedTransactionPayload } from '../../entity/transaction/transactionState';
|
|
6
6
|
import { TransactionDetailLocalData, TransactionVendorUpdates } from './transactionDetailTypes';
|
|
7
7
|
import { AccountBase } from '../../entity/account/accountState';
|
|
@@ -109,11 +109,13 @@ export declare const fetchTransactionDetail: import("@reduxjs/toolkit").ActionCr
|
|
|
109
109
|
transactionId: TransactionID;
|
|
110
110
|
transaction: SupportedTransaction;
|
|
111
111
|
entity: Entity;
|
|
112
|
-
}, string, never, never>, resetAllLineItemsToVendor: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction], {
|
|
112
|
+
}, string, never, never>, resetAllLineItemsToVendor: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineIdToRetainVendorSelection: string], {
|
|
113
113
|
transactionId: TransactionID;
|
|
114
114
|
transaction: SupportedTransaction;
|
|
115
|
+
lineIdToRetainVendorSelection: string;
|
|
115
116
|
}, string, never, never>, updateLatestSelectedEntity: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
116
117
|
transactionId: TransactionID;
|
|
118
|
+
lineId: ID;
|
|
117
119
|
entity: Entity;
|
|
118
120
|
}, string>;
|
|
119
121
|
declare const _default: import("@reduxjs/toolkit").Reducer<TransactionDetailState, import("@reduxjs/toolkit").AnyAction>;
|
|
@@ -357,7 +357,7 @@ const transactionDetail = (0, toolkit_1.createSlice)({
|
|
|
357
357
|
const key = (0, transactionDetailState_1.getTransactionDetailKey)(action.payload.transactionId);
|
|
358
358
|
const detail = (0, get_1.default)(draft.transactionDetailById, key, undefined);
|
|
359
359
|
if (detail != null) {
|
|
360
|
-
const transactionDetailLocalData = Object.assign(Object.assign({}, detail.transactionDetailLocalData), { latestSelectedEntityOnLineItem: action.payload.entity });
|
|
360
|
+
const transactionDetailLocalData = Object.assign(Object.assign({}, detail.transactionDetailLocalData), { latestSelectedEntityOnLineItem: action.payload.entity, latestUpdatedLineWithEntity: action.payload.lineId });
|
|
361
361
|
const transactionDetails = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: transactionDetailLocalData });
|
|
362
362
|
draft.transactionDetailById[key] = transactionDetails;
|
|
363
363
|
}
|
|
@@ -386,15 +386,16 @@ const transactionDetail = (0, toolkit_1.createSlice)({
|
|
|
386
386
|
const key = (0, transactionDetailState_1.getTransactionDetailKey)(action.payload.transactionId);
|
|
387
387
|
const detail = (0, get_1.default)(draft.transactionDetailById, key, undefined);
|
|
388
388
|
if (detail != null) {
|
|
389
|
-
const newLocalData = (0, transactionDetailLocalDataHelper_1.toUpdateLineItemsToOriginalVendor)(action.payload.transaction, detail.transactionDetailLocalData);
|
|
389
|
+
const newLocalData = (0, transactionDetailLocalDataHelper_1.toUpdateLineItemsToOriginalVendor)(action.payload.transaction, detail.transactionDetailLocalData, action.payload.lineIdToRetainVendorSelection);
|
|
390
390
|
draft.transactionDetailById[key] = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: newLocalData });
|
|
391
391
|
}
|
|
392
392
|
},
|
|
393
|
-
prepare(transactionId, transaction) {
|
|
393
|
+
prepare(transactionId, transaction, lineIdToRetainVendorSelection) {
|
|
394
394
|
return {
|
|
395
395
|
payload: {
|
|
396
396
|
transactionId,
|
|
397
397
|
transaction,
|
|
398
|
+
lineIdToRetainVendorSelection,
|
|
398
399
|
},
|
|
399
400
|
};
|
|
400
401
|
},
|
|
@@ -48,6 +48,7 @@ export interface TransactionDetailLocalData {
|
|
|
48
48
|
updatePreviousTransactionsWithUpdatedVendor?: boolean;
|
|
49
49
|
isVendorUpdateAllChecked: boolean;
|
|
50
50
|
latestSelectedEntityOnLineItem?: Entity;
|
|
51
|
+
latestUpdatedLineWithEntity?: ID;
|
|
51
52
|
}
|
|
52
53
|
export interface TransactionVendorUpdates {
|
|
53
54
|
name: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "4.10.
|
|
3
|
+
"version": "4.10.43",
|
|
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
|
"types": "lib/index.d.ts",
|