@zeniai/client-epic-state 4.10.40 → 4.10.42
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/transactionDetail/transactionDetailLocalDataHelper.d.ts +2 -3
- package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +80 -80
- package/lib/view/transactionDetail/transactionDetailReducer.d.ts +4 -2
- package/lib/view/transactionDetail/transactionDetailReducer.js +5 -4
- package/lib/view/transactionDetail/transactionDetailTypes.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ID } from '../../commonStateTypes/common';
|
|
2
|
-
import { Recommendation } from '../../commonStateTypes/recommendationBase';
|
|
3
2
|
import { AccountBase } from '../../entity/account/accountState';
|
|
4
3
|
import { ClassBase } from '../../entity/class/classState';
|
|
5
4
|
import { Entity } from '../../entity/genericEntity/entity';
|
|
@@ -15,10 +14,10 @@ export declare const toSetAllLineItemsToCategoryClass: (transaction: SupportedTr
|
|
|
15
14
|
} | undefined, chosenClass?: {
|
|
16
15
|
classBase: ClassBase;
|
|
17
16
|
updateOrRetain: 'update' | 'retain';
|
|
18
|
-
} | undefined
|
|
17
|
+
} | undefined) => TransactionDetailLocalData;
|
|
19
18
|
export declare const toSetAllLineItemsLocalDataIsUpdateAllChecked: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, isUpdateAll: boolean, entity?: Entity | undefined) => TransactionDetailLocalData;
|
|
20
19
|
export declare const setEntityRecommendationForLineIdInLocalData: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, entity: Entity, recommendationLineIds: ID[], recommendationByLineId?: RecommendationByLineId | undefined, uncategorizedIncomeExpense?: UncategorizedAccounts | undefined) => TransactionDetailLocalData;
|
|
21
20
|
export declare const removeEntityRecommendationForLineIdInLocalData: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, recommendationLineIds: ID[]) => TransactionDetailLocalData;
|
|
22
21
|
export declare const getChangedLineItemCountFromLocalData: (transaction: SupportedTransaction, transactionLocalData: TransactionDetailLocalData) => number;
|
|
23
22
|
export declare const toSetAllLineItemsToVendor: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, entity: Entity) => TransactionDetailLocalData;
|
|
24
|
-
export declare const toUpdateLineItemsToOriginalVendor: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData) => TransactionDetailLocalData;
|
|
23
|
+
export declare const toUpdateLineItemsToOriginalVendor: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, lineIdToRetainVendorSelection: ID) => TransactionDetailLocalData;
|
|
@@ -322,11 +322,11 @@ 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;
|
|
329
|
-
const toSetAllLineItemsToCategoryClass = (transaction, transactionDetailLocalData, isUpdateAll, lineEntity, chosenAccount, chosenClass
|
|
329
|
+
const toSetAllLineItemsToCategoryClass = (transaction, transactionDetailLocalData, isUpdateAll, lineEntity, chosenAccount, chosenClass) => {
|
|
330
330
|
const newLineItems = {};
|
|
331
331
|
const updateAllLines = (0, vendorTransaction_1.isVendorTransaction)(transaction) === true ||
|
|
332
332
|
(0, customerTransaction_1.isCustomerTransaction)(transaction) === true;
|
|
@@ -340,9 +340,6 @@ const toSetAllLineItemsToCategoryClass = (transaction, transactionDetailLocalDat
|
|
|
340
340
|
const lineId = line.id;
|
|
341
341
|
const record = Object.assign({}, transactionDetailLocalData.lineItemById[lineId]);
|
|
342
342
|
if (updateAllLines === true || isEntityMatching(lineEntity, record)) {
|
|
343
|
-
if (updateAllLines !== true) {
|
|
344
|
-
record.recommendations = recommendations;
|
|
345
|
-
}
|
|
346
343
|
if ((chosenAccount === null || chosenAccount === void 0 ? void 0 : chosenAccount.account) != null) {
|
|
347
344
|
record.account = chosenAccount === null || chosenAccount === void 0 ? void 0 : chosenAccount.account;
|
|
348
345
|
}
|
|
@@ -413,7 +410,7 @@ const toSetAllLineItemsToCategoryClass = (transaction, transactionDetailLocalDat
|
|
|
413
410
|
}
|
|
414
411
|
});
|
|
415
412
|
}
|
|
416
|
-
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 });
|
|
417
414
|
return newLocalData;
|
|
418
415
|
};
|
|
419
416
|
exports.toSetAllLineItemsToCategoryClass = toSetAllLineItemsToCategoryClass;
|
|
@@ -439,7 +436,7 @@ const toSetAllLineItemsLocalDataIsUpdateAllChecked = (transaction, transactionDe
|
|
|
439
436
|
}
|
|
440
437
|
});
|
|
441
438
|
}
|
|
442
|
-
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 });
|
|
443
440
|
return newLocalData;
|
|
444
441
|
};
|
|
445
442
|
exports.toSetAllLineItemsLocalDataIsUpdateAllChecked = toSetAllLineItemsLocalDataIsUpdateAllChecked;
|
|
@@ -561,7 +558,7 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
|
|
|
561
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 });
|
|
562
559
|
}
|
|
563
560
|
}
|
|
564
|
-
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 });
|
|
565
562
|
return newLocalData;
|
|
566
563
|
};
|
|
567
564
|
exports.setEntityRecommendationForLineIdInLocalData = setEntityRecommendationForLineIdInLocalData;
|
|
@@ -598,7 +595,7 @@ const removeEntityRecommendationForLineIdInLocalData = (transaction, transaction
|
|
|
598
595
|
}
|
|
599
596
|
});
|
|
600
597
|
}
|
|
601
|
-
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 });
|
|
602
599
|
return newLocalData;
|
|
603
600
|
};
|
|
604
601
|
exports.removeEntityRecommendationForLineIdInLocalData = removeEntityRecommendationForLineIdInLocalData;
|
|
@@ -684,7 +681,7 @@ const toSetAllLineItemsToVendor = (transaction, transactionDetailLocalData, enti
|
|
|
684
681
|
return newLocalData;
|
|
685
682
|
};
|
|
686
683
|
exports.toSetAllLineItemsToVendor = toSetAllLineItemsToVendor;
|
|
687
|
-
const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetailLocalData) => {
|
|
684
|
+
const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetailLocalData, lineIdToRetainVendorSelection) => {
|
|
688
685
|
const newLineItems = {};
|
|
689
686
|
if (transaction.lines != null) {
|
|
690
687
|
// always preserving the order of the line items. hence iterating over this
|
|
@@ -696,91 +693,94 @@ const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetailLocalDa
|
|
|
696
693
|
const accountLine = line;
|
|
697
694
|
const lineId = line.id;
|
|
698
695
|
const record = Object.assign({}, transactionDetailLocalData.lineItemById[lineId]);
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
record.recommendedAccount = recommendedAccount;
|
|
708
|
-
record.isCategoryUpdateSelected = false;
|
|
709
|
-
if ((recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) !== accountLine.account.qboId &&
|
|
710
|
-
Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId)) {
|
|
711
|
-
if (accountLine.isCategoryMiscategorized &&
|
|
712
|
-
Boolean(accountLine.account.qboId) &&
|
|
713
|
-
Boolean(isVendorOrCustomerPresent)) {
|
|
714
|
-
record.retainedAccount = accountLine.account;
|
|
715
|
-
record.isRetainedCategorySelected = false;
|
|
716
|
-
}
|
|
717
|
-
}
|
|
718
|
-
else if ((recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) === accountLine.account.qboId &&
|
|
719
|
-
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
|
|
720
704
|
record.account = accountLine.account;
|
|
721
705
|
record.isRecommendedCategorySelected = false;
|
|
706
|
+
record.recommendedAccount = recommendedAccount;
|
|
722
707
|
record.isCategoryUpdateSelected = false;
|
|
723
|
-
if (accountLine.
|
|
724
|
-
Boolean(
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
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
|
+
}
|
|
728
716
|
}
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
if ((recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) !== accountLine.class.qboId &&
|
|
741
|
-
Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId)) {
|
|
742
|
-
if (accountLine.isClassMiscategorized &&
|
|
743
|
-
Boolean(accountLine.class.qboId) &&
|
|
744
|
-
Boolean(isVendorOrCustomerPresent)) {
|
|
745
|
-
record.retainedClass = accountLine.class;
|
|
746
|
-
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
|
+
}
|
|
747
728
|
}
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
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
|
|
751
735
|
record.class = accountLine.class;
|
|
752
736
|
record.isRecommendedClassSelected = false;
|
|
753
737
|
record.recommendedClass = recommendedClass;
|
|
754
738
|
record.isClassUpdateSelected = false;
|
|
755
|
-
if (accountLine.
|
|
756
|
-
Boolean(
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
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);
|
|
760
777
|
}
|
|
761
|
-
}
|
|
762
|
-
if (((_d = transactionDetailLocalData.vendorDetails) === null || _d === void 0 ? void 0 : _d.id) !=
|
|
763
|
-
((_e = transactionDetailLocalData.vendorUpdates) === null || _e === void 0 ? void 0 : _e.id)) {
|
|
764
|
-
record.recommendedClass =
|
|
765
|
-
transactionDetailLocalData.lineItemById[lineId].recommendedClass;
|
|
766
|
-
}
|
|
767
|
-
if (line.type === 'transaction_with_product_or_service_line') {
|
|
768
|
-
const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor });
|
|
769
|
-
record.item = lineRecord.item;
|
|
770
|
-
record.lineDetailType = lineRecord.lineDetailType;
|
|
771
|
-
}
|
|
772
|
-
if (line.type === 'journal_entry_transaction_line') {
|
|
773
|
-
const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor });
|
|
774
|
-
record.lineTransactionType = lineRecord.lineTransactionType;
|
|
775
|
-
record.postingType = lineRecord.postingType;
|
|
776
|
-
record.postingTypeName = lineRecord.postingTypeName;
|
|
777
|
-
record.lineEntity = toLineEntity(lineRecord);
|
|
778
778
|
}
|
|
779
779
|
newLineItems[lineId] = record;
|
|
780
780
|
}
|
|
781
781
|
});
|
|
782
782
|
}
|
|
783
|
-
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 });
|
|
784
784
|
return newLocalData;
|
|
785
785
|
};
|
|
786
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>;
|
|
@@ -230,7 +230,7 @@ const transactionDetail = (0, toolkit_1.createSlice)({
|
|
|
230
230
|
const key = (0, transactionDetailState_1.getTransactionDetailKey)(action.payload.transactionId);
|
|
231
231
|
const detail = (0, get_1.default)(draft.transactionDetailById, key, undefined);
|
|
232
232
|
if (detail != null) {
|
|
233
|
-
const newLocalData = (0, transactionDetailLocalDataHelper_1.toSetAllLineItemsToCategoryClass)(action.payload.transaction, detail.transactionDetailLocalData, action.payload.isUpdateAll, action.payload.lineEntity, action.payload.chosenAccount, action.payload.chosenClass
|
|
233
|
+
const newLocalData = (0, transactionDetailLocalDataHelper_1.toSetAllLineItemsToCategoryClass)(action.payload.transaction, detail.transactionDetailLocalData, action.payload.isUpdateAll, action.payload.lineEntity, action.payload.chosenAccount, action.payload.chosenClass);
|
|
234
234
|
draft.transactionDetailById[key] = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: newLocalData });
|
|
235
235
|
}
|
|
236
236
|
},
|
|
@@ -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.42",
|
|
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",
|