@zeniai/client-epic-state 4.15.35 → 4.15.36

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.
@@ -6,40 +6,75 @@ const customerTransaction_1 = require("../../entity/transaction/stateTypes/custo
6
6
  const vendorTransaction_1 = require("../../entity/transaction/stateTypes/vendorTransaction");
7
7
  const transactionDetailState_1 = require("./transactionDetailState");
8
8
  const toTransactionDetailLocalData = (transaction, vendorId, uncategorizedIncomeExpense) => {
9
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
9
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
10
10
  const transactionLocal = Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData);
11
- const customerId = transaction.customerId;
11
+ const customerId = (_a = transaction.customer) === null || _a === void 0 ? void 0 : _a.id;
12
12
  transactionLocal.memo = transaction.memo;
13
13
  transactionLocal.vendorUpdates =
14
14
  (0, vendorTransaction_1.isVendorTransaction)(transaction) && vendorId != null
15
15
  ? {
16
16
  id: vendorId,
17
- name: (_b = (_a = transaction.vendor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : '',
18
- qboId: (_c = transaction.vendor) === null || _c === void 0 ? void 0 : _c.id,
17
+ name: (_c = (_b = transaction.vendor) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : '',
18
+ qboId: (_d = transaction.vendor) === null || _d === void 0 ? void 0 : _d.id,
19
19
  }
20
20
  : undefined;
21
21
  transactionLocal.customerUpdates =
22
- (0, customerTransaction_1.isCustomerTransaction)(transaction) && customerId != null
22
+ (0, vendorTransaction_1.isVendorTransactionWithCustomer)(transaction) && customerId != null
23
23
  ? {
24
24
  id: customerId,
25
- name: (_e = (_d = transaction.customer) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : '',
26
- qboId: (_g = (_f = transaction.customer) === null || _f === void 0 ? void 0 : _f.id) !== null && _g !== void 0 ? _g : '',
25
+ name: (_f = (_e = transaction.customer) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : '',
26
+ qboId: (_h = (_g = transaction.customer) === null || _g === void 0 ? void 0 : _g.id) !== null && _h !== void 0 ? _h : '',
27
27
  }
28
28
  : undefined;
29
+ const vendorName = (_k = (_j = transaction.vendor) === null || _j === void 0 ? void 0 : _j.name) !== null && _k !== void 0 ? _k : '';
30
+ const customerName = (_m = (_l = transaction.customer) === null || _l === void 0 ? void 0 : _l.name) !== null && _m !== void 0 ? _m : '';
31
+ if ((0, vendorTransaction_1.isVendorTransactionWithCustomer)(transaction) === true &&
32
+ customerId != null &&
33
+ customerName != null &&
34
+ Boolean(customerName) === true) {
35
+ transactionLocal.selectedEntity = {
36
+ id: customerId,
37
+ name: customerName,
38
+ type: (0, entity_1.toEntityType)('customer'),
39
+ qboId: customerId,
40
+ zeniId: customerId,
41
+ };
42
+ }
43
+ else if ((0, vendorTransaction_1.isVendorTransaction)(transaction) === true &&
44
+ vendorId != null &&
45
+ vendorName &&
46
+ Boolean(vendorName) === true) {
47
+ transactionLocal.selectedEntity = {
48
+ id: vendorId,
49
+ name: vendorName,
50
+ type: (0, entity_1.toEntityType)('vendor'),
51
+ qboId: vendorId,
52
+ zeniId: vendorId,
53
+ };
54
+ }
55
+ else {
56
+ transactionLocal.selectedEntity = undefined;
57
+ }
29
58
  transactionLocal.vendorDetails =
30
- (0, vendorTransaction_1.isVendorTransaction)(transaction) && vendorId != null
59
+ (0, vendorTransaction_1.isVendorTransaction)(transaction) &&
60
+ vendorId != null &&
61
+ vendorName != null &&
62
+ Boolean(vendorName) === true
31
63
  ? {
32
64
  id: vendorId,
33
- qboId: (_j = (_h = transaction.vendor) === null || _h === void 0 ? void 0 : _h.id) !== null && _j !== void 0 ? _j : '',
34
- name: (_l = (_k = transaction.vendor) === null || _k === void 0 ? void 0 : _k.name) !== null && _l !== void 0 ? _l : '',
65
+ qboId: vendorId,
66
+ name: vendorName,
35
67
  }
36
68
  : undefined;
37
69
  transactionLocal.customerDetails =
38
- (0, customerTransaction_1.isCustomerTransaction)(transaction) && customerId != null
70
+ (0, vendorTransaction_1.isVendorTransactionWithCustomer)(transaction) &&
71
+ customerId != null &&
72
+ customerName != null &&
73
+ Boolean(customerName) === true
39
74
  ? {
40
75
  id: customerId,
41
- qboId: (_o = (_m = transaction.customer) === null || _m === void 0 ? void 0 : _m.id) !== null && _o !== void 0 ? _o : '',
42
- name: (_q = (_p = transaction.customer) === null || _p === void 0 ? void 0 : _p.name) !== null && _q !== void 0 ? _q : '',
76
+ qboId: customerId,
77
+ name: customerName,
43
78
  }
44
79
  : undefined;
45
80
  transactionLocal.lineItemById =
@@ -67,6 +102,7 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
67
102
  ? line.vendor != null ||
68
103
  line.customer != null
69
104
  : transaction.vendor != null ||
105
+ transaction.customer != null ||
70
106
  transaction.customer != null;
71
107
  record.account = accountLine.account;
72
108
  record.class = accountLine.class;
@@ -341,7 +377,7 @@ const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLo
341
377
  }
342
378
  });
343
379
  }
344
- 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 });
380
+ const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorDetails: transactionDetailLocalData.vendorDetails, vendorUpdates: transactionDetailLocalData.vendorUpdates, customerDetails: transactionDetailLocalData.customerDetails, customerUpdates: transactionDetailLocalData.customerUpdates, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity, selectedEntity: transactionDetailLocalData.selectedEntity });
345
381
  return newLocalData;
346
382
  };
347
383
  exports.toUpdateLineItemsOriginalCategoryClass = toUpdateLineItemsOriginalCategoryClass;
@@ -417,6 +453,7 @@ const toSetAllLineItemsToCategoryClass = (transaction, transactionDetailLocalDat
417
453
  record.postingType = lineRecord.postingType;
418
454
  record.postingTypeName = lineRecord.postingTypeName;
419
455
  record.lineEntity = (0, exports.toLineEntity)(lineRecord);
456
+ record.selectedEntityLine = (0, exports.toLineEntity)(lineRecord);
420
457
  }
421
458
  newLineItems[lineId] = record;
422
459
  }
@@ -429,7 +466,7 @@ const toSetAllLineItemsToCategoryClass = (transaction, transactionDetailLocalDat
429
466
  }
430
467
  });
431
468
  }
432
- 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 });
469
+ const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorUpdates: transactionDetailLocalData.vendorUpdates, vendorDetails: transactionDetailLocalData.vendorDetails, customerUpdates: transactionDetailLocalData.customerUpdates, customerDetails: transactionDetailLocalData.customerDetails, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity, selectedEntity: transactionDetailLocalData.selectedEntity });
433
470
  return newLocalData;
434
471
  };
435
472
  exports.toSetAllLineItemsToCategoryClass = toSetAllLineItemsToCategoryClass;
@@ -455,7 +492,7 @@ const toSetAllLineItemsLocalDataIsUpdateAllChecked = (transaction, transactionDe
455
492
  }
456
493
  });
457
494
  }
458
- 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 });
495
+ const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorDetails: transactionDetailLocalData.vendorDetails, vendorUpdates: transactionDetailLocalData.vendorUpdates, customerUpdates: transactionDetailLocalData.customerUpdates, customerDetails: transactionDetailLocalData.customerDetails, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity, selectedEntity: transactionDetailLocalData.selectedEntity });
459
496
  return newLocalData;
460
497
  };
461
498
  exports.toSetAllLineItemsLocalDataIsUpdateAllChecked = toSetAllLineItemsLocalDataIsUpdateAllChecked;
@@ -483,8 +520,10 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
483
520
  if (checkIfNotJEAndDeposit === true) {
484
521
  record.customer = accountLine.customer;
485
522
  record.vendor = accountLine.vendor;
523
+ record.selectedEntityLine = entity;
486
524
  }
487
525
  else {
526
+ record.selectedEntityLine = entity;
488
527
  record.lineEntity = entity;
489
528
  record.vendor = undefined;
490
529
  record.customer = undefined;
@@ -577,7 +616,7 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
577
616
  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 });
578
617
  }
579
618
  }
580
- 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, vendorBulkUpdateCategoryClassRecommendationsFetchStatus: transactionDetailLocalData.vendorBulkUpdateCategoryClassRecommendationsFetchStatus });
619
+ const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorUpdates: transactionDetailLocalData.vendorUpdates, vendorDetails: transactionDetailLocalData.vendorDetails, customerUpdates: transactionDetailLocalData.customerUpdates, customerDetails: transactionDetailLocalData.customerDetails, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity, vendorBulkUpdateCategoryClassRecommendationsFetchStatus: transactionDetailLocalData.vendorBulkUpdateCategoryClassRecommendationsFetchStatus, selectedEntity: transactionDetailLocalData.selectedEntity });
581
620
  return newLocalData;
582
621
  };
583
622
  exports.setEntityRecommendationForLineIdInLocalData = setEntityRecommendationForLineIdInLocalData;
@@ -614,7 +653,7 @@ const removeEntityRecommendationForLineIdInLocalData = (transaction, transaction
614
653
  }
615
654
  });
616
655
  }
617
- 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 });
656
+ const newLocalData = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData), { memo: transactionDetailLocalData.memo, lineItemById: newLineItems, vendorDetails: transactionDetailLocalData.vendorDetails, vendorUpdates: transactionDetailLocalData.vendorUpdates, customerUpdates: transactionDetailLocalData.customerUpdates, customerDetails: transactionDetailLocalData.customerDetails, updatePreviousTransactionsWithUpdatedVendor: transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor, isVendorUpdateAllChecked: transactionDetailLocalData.isVendorUpdateAllChecked, latestSelectedEntityOnLineItem: transactionDetailLocalData.latestSelectedEntityOnLineItem, latestUpdatedLineWithEntity: transactionDetailLocalData.latestUpdatedLineWithEntity });
618
657
  return newLocalData;
619
658
  };
620
659
  exports.removeEntityRecommendationForLineIdInLocalData = removeEntityRecommendationForLineIdInLocalData;
@@ -63,6 +63,7 @@ export declare const downloadAccountingProviderAttachment: import("@reduxjs/tool
63
63
  }, "transactionDetail/saveTransactionDetail">, initializeTransactionDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
64
64
  transactionId: TransactionID;
65
65
  vendorId?: ID;
66
+ customerId?: ID;
66
67
  }, "transactionDetail/initializeTransactionDetailLocalData">, saveTransactionDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
67
68
  transactionId: TransactionID;
68
69
  transactionLocalData: TransactionDetailLocalData;
@@ -115,10 +116,18 @@ export declare const downloadAccountingProviderAttachment: import("@reduxjs/tool
115
116
  }, "transactionDetail/removeEntityRecommendationForLineIdForTransactionDetail", never, never>, updateSelectedVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
116
117
  transactionId: TransactionID;
117
118
  vendorUpdates: TransactionVendorUpdates;
119
+ entity?: Entity;
118
120
  resetRecommendations?: boolean;
119
- }, "transactionDetail/updateSelectedVendor">, resetVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
121
+ }, "transactionDetail/updateSelectedVendor">, updateSelectedCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
120
122
  transactionId: TransactionID;
121
- }, "transactionDetail/resetVendor">, updateLocalDataWithTransactionsUpdateWithVendorCheckbox: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
123
+ customerUpdates: TransactionVendorUpdates;
124
+ entity?: Entity;
125
+ resetRecommendations?: boolean;
126
+ }, "transactionDetail/updateSelectedCustomer">, resetVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
127
+ transactionId: TransactionID;
128
+ }, "transactionDetail/resetVendor">, resetSelectedCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
129
+ transactionId: TransactionID;
130
+ }, "transactionDetail/resetSelectedCustomer">, updateLocalDataWithTransactionsUpdateWithVendorCheckbox: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
122
131
  transactionId: TransactionID;
123
132
  isUpdateEnabled: boolean;
124
133
  }, "transactionDetail/updateLocalDataWithTransactionsUpdateWithVendorCheckbox">, updateVendorToAllLineItems: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, entity: Entity], {
@@ -4,9 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  var _a;
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.setIsVendorUpdateAllChecked = exports.updateVendorBulkRecommendationsFetchStatus = exports.updateLatestSelectedEntity = exports.resetAllLineItemsToVendor = exports.updateVendorToAllLineItems = exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = exports.resetVendor = exports.updateSelectedVendor = exports.removeEntityRecommendationForLineIdForTransactionDetail = exports.setEntityRecommendationForLineIdsForTransactionDetail = exports.setAllLineItemsLocalDataIsUpdateAllChecked = exports.setAllLineItemsToCategoryClassInLocalData = exports.resetLineItemsCategoryClassInLocalData = exports.clearTransactionDetailLocalData = exports.saveTransactionDetailLocalData = exports.initializeTransactionDetailLocalData = exports.saveTransactionDetail = exports.updateTransactionStateIfUpdateActionNotAllowed = exports.updateStatusConsolidatedSaveTransactionDetail = exports.updateStatusForTransactionNotMiscategorizedUpdate = exports.deleteTransactionAttachmentSuccess = exports.deleteTransactionAttachmentFailure = exports.deleteTransactionAttachment = exports.markTransactionAsNotMiscategorized = exports.clearTransactionDetailSaveStatus = exports.updateTransactionDetailSaveStatus = exports.updateTransactionDetail = exports.uploadMissingAttachmentSuccess = exports.clearTransactionDetail = exports.removeTransactionDetail = exports.updateTransactionDetailFetchState = exports.fetchTransactionDetail = exports.downloadAccountingProviderAttachmentFailure = exports.downloadAccountingProviderAttachmentSuccess = exports.downloadAccountingProviderAttachment = exports.initialState = void 0;
7
+ exports.setIsVendorUpdateAllChecked = exports.updateVendorBulkRecommendationsFetchStatus = exports.updateLatestSelectedEntity = exports.resetAllLineItemsToVendor = exports.updateVendorToAllLineItems = exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = exports.resetSelectedCustomer = exports.resetVendor = exports.updateSelectedCustomer = exports.updateSelectedVendor = exports.removeEntityRecommendationForLineIdForTransactionDetail = exports.setEntityRecommendationForLineIdsForTransactionDetail = exports.setAllLineItemsLocalDataIsUpdateAllChecked = exports.setAllLineItemsToCategoryClassInLocalData = exports.resetLineItemsCategoryClassInLocalData = exports.clearTransactionDetailLocalData = exports.saveTransactionDetailLocalData = exports.initializeTransactionDetailLocalData = exports.saveTransactionDetail = exports.updateTransactionStateIfUpdateActionNotAllowed = exports.updateStatusConsolidatedSaveTransactionDetail = exports.updateStatusForTransactionNotMiscategorizedUpdate = exports.deleteTransactionAttachmentSuccess = exports.deleteTransactionAttachmentFailure = exports.deleteTransactionAttachment = exports.markTransactionAsNotMiscategorized = exports.clearTransactionDetailSaveStatus = exports.updateTransactionDetailSaveStatus = exports.updateTransactionDetail = exports.uploadMissingAttachmentSuccess = exports.clearTransactionDetail = exports.removeTransactionDetail = exports.updateTransactionDetailFetchState = exports.fetchTransactionDetail = exports.downloadAccountingProviderAttachmentFailure = exports.downloadAccountingProviderAttachmentSuccess = exports.downloadAccountingProviderAttachment = exports.initialState = void 0;
8
8
  const toolkit_1 = require("@reduxjs/toolkit");
9
9
  const get_1 = __importDefault(require("lodash/get"));
10
+ const entity_1 = require("../../entity/genericEntity/entity");
10
11
  const transactionDetailLocalDataHelper_1 = require("./transactionDetailLocalDataHelper");
11
12
  const transactionDetailState_1 = require("./transactionDetailState");
12
13
  exports.initialState = {
@@ -337,35 +338,32 @@ const transactionDetail = (0, toolkit_1.createSlice)({
337
338
  };
338
339
  },
339
340
  },
341
+ updateSelectedCustomer(draft, action) {
342
+ const key = (0, transactionDetailState_1.getTransactionDetailKey)(action.payload.transactionId);
343
+ const detail = (0, get_1.default)(draft.transactionDetailById, key, undefined);
344
+ if (detail != null) {
345
+ draft.transactionDetailById[key] = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: getUpdatedEntityLocalData(detail.transactionDetailLocalData, action.payload.customerUpdates, action.payload.entity, action.payload.resetRecommendations, 'customer') });
346
+ }
347
+ },
348
+ resetSelectedCustomer(draft, action) {
349
+ const key = (0, transactionDetailState_1.getTransactionDetailKey)(action.payload.transactionId);
350
+ const detail = (0, get_1.default)(draft.transactionDetailById, key, undefined);
351
+ if (detail != null) {
352
+ draft.transactionDetailById[key] = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: getResetEntityLocalData(detail.transactionDetailLocalData, 'customer') });
353
+ }
354
+ },
340
355
  updateSelectedVendor(draft, action) {
341
356
  const key = (0, transactionDetailState_1.getTransactionDetailKey)(action.payload.transactionId);
342
357
  const detail = (0, get_1.default)(draft.transactionDetailById, key, undefined);
343
358
  if (detail != null) {
344
- const transactionDetailLocalData = Object.assign(Object.assign({}, detail.transactionDetailLocalData), { vendorUpdates: {
345
- name: action.payload.vendorUpdates.name,
346
- id: action.payload.vendorUpdates.id,
347
- qboId: action.payload.vendorUpdates.qboId,
348
- } });
349
- // on creation success, we have to reset the recommendations
350
- if (action.payload.resetRecommendations === true) {
351
- for (const key in transactionDetailLocalData.lineItemById) {
352
- transactionDetailLocalData.lineItemById[key].recommendedAccount =
353
- undefined;
354
- transactionDetailLocalData.lineItemById[key].recommendedClass =
355
- undefined;
356
- }
357
- }
358
- const transactionDetails = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: transactionDetailLocalData });
359
- draft.transactionDetailById[key] = transactionDetails;
359
+ draft.transactionDetailById[key] = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: getUpdatedEntityLocalData(detail.transactionDetailLocalData, action.payload.vendorUpdates, action.payload.entity, action.payload.resetRecommendations, 'vendor') });
360
360
  }
361
361
  },
362
362
  resetVendor(draft, action) {
363
363
  const key = (0, transactionDetailState_1.getTransactionDetailKey)(action.payload.transactionId);
364
364
  const detail = (0, get_1.default)(draft.transactionDetailById, key, undefined);
365
365
  if (detail != null) {
366
- const transactionDetailLocalData = Object.assign(Object.assign({}, detail.transactionDetailLocalData), { vendorUpdates: detail.transactionDetailLocalData.vendorDetails, updatePreviousTransactionsWithUpdatedVendor: false });
367
- const transactionDetails = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: transactionDetailLocalData });
368
- draft.transactionDetailById[key] = transactionDetails;
366
+ draft.transactionDetailById[key] = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: getResetEntityLocalData(detail.transactionDetailLocalData, 'vendor') });
369
367
  }
370
368
  },
371
369
  updateLocalDataWithTransactionsUpdateWithVendorCheckbox(draft, action) {
@@ -527,5 +525,37 @@ const transactionDetail = (0, toolkit_1.createSlice)({
527
525
  },
528
526
  },
529
527
  });
530
- _a = transactionDetail.actions, exports.downloadAccountingProviderAttachment = _a.downloadAccountingProviderAttachment, exports.downloadAccountingProviderAttachmentSuccess = _a.downloadAccountingProviderAttachmentSuccess, exports.downloadAccountingProviderAttachmentFailure = _a.downloadAccountingProviderAttachmentFailure, exports.fetchTransactionDetail = _a.fetchTransactionDetail, exports.updateTransactionDetailFetchState = _a.updateTransactionDetailFetchState, exports.removeTransactionDetail = _a.removeTransactionDetail, exports.clearTransactionDetail = _a.clearTransactionDetail, exports.uploadMissingAttachmentSuccess = _a.uploadMissingAttachmentSuccess, exports.updateTransactionDetail = _a.updateTransactionDetail, exports.updateTransactionDetailSaveStatus = _a.updateTransactionDetailSaveStatus, exports.clearTransactionDetailSaveStatus = _a.clearTransactionDetailSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.deleteTransactionAttachment = _a.deleteTransactionAttachment, exports.deleteTransactionAttachmentFailure = _a.deleteTransactionAttachmentFailure, exports.deleteTransactionAttachmentSuccess = _a.deleteTransactionAttachmentSuccess, exports.updateStatusForTransactionNotMiscategorizedUpdate = _a.updateStatusForTransactionNotMiscategorizedUpdate, exports.updateStatusConsolidatedSaveTransactionDetail = _a.updateStatusConsolidatedSaveTransactionDetail, exports.updateTransactionStateIfUpdateActionNotAllowed = _a.updateTransactionStateIfUpdateActionNotAllowed, exports.saveTransactionDetail = _a.saveTransactionDetail, exports.initializeTransactionDetailLocalData = _a.initializeTransactionDetailLocalData, exports.saveTransactionDetailLocalData = _a.saveTransactionDetailLocalData, exports.clearTransactionDetailLocalData = _a.clearTransactionDetailLocalData, exports.resetLineItemsCategoryClassInLocalData = _a.resetLineItemsCategoryClassInLocalData, exports.setAllLineItemsToCategoryClassInLocalData = _a.setAllLineItemsToCategoryClassInLocalData, exports.setAllLineItemsLocalDataIsUpdateAllChecked = _a.setAllLineItemsLocalDataIsUpdateAllChecked, exports.setEntityRecommendationForLineIdsForTransactionDetail = _a.setEntityRecommendationForLineIdsForTransactionDetail, exports.removeEntityRecommendationForLineIdForTransactionDetail = _a.removeEntityRecommendationForLineIdForTransactionDetail, exports.updateSelectedVendor = _a.updateSelectedVendor, exports.resetVendor = _a.resetVendor, exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = _a.updateLocalDataWithTransactionsUpdateWithVendorCheckbox, exports.updateVendorToAllLineItems = _a.updateVendorToAllLineItems, exports.resetAllLineItemsToVendor = _a.resetAllLineItemsToVendor, exports.updateLatestSelectedEntity = _a.updateLatestSelectedEntity, exports.updateVendorBulkRecommendationsFetchStatus = _a.updateVendorBulkRecommendationsFetchStatus, exports.setIsVendorUpdateAllChecked = _a.setIsVendorUpdateAllChecked;
528
+ _a = transactionDetail.actions, exports.downloadAccountingProviderAttachment = _a.downloadAccountingProviderAttachment, exports.downloadAccountingProviderAttachmentSuccess = _a.downloadAccountingProviderAttachmentSuccess, exports.downloadAccountingProviderAttachmentFailure = _a.downloadAccountingProviderAttachmentFailure, exports.fetchTransactionDetail = _a.fetchTransactionDetail, exports.updateTransactionDetailFetchState = _a.updateTransactionDetailFetchState, exports.removeTransactionDetail = _a.removeTransactionDetail, exports.clearTransactionDetail = _a.clearTransactionDetail, exports.uploadMissingAttachmentSuccess = _a.uploadMissingAttachmentSuccess, exports.updateTransactionDetail = _a.updateTransactionDetail, exports.updateTransactionDetailSaveStatus = _a.updateTransactionDetailSaveStatus, exports.clearTransactionDetailSaveStatus = _a.clearTransactionDetailSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.deleteTransactionAttachment = _a.deleteTransactionAttachment, exports.deleteTransactionAttachmentFailure = _a.deleteTransactionAttachmentFailure, exports.deleteTransactionAttachmentSuccess = _a.deleteTransactionAttachmentSuccess, exports.updateStatusForTransactionNotMiscategorizedUpdate = _a.updateStatusForTransactionNotMiscategorizedUpdate, exports.updateStatusConsolidatedSaveTransactionDetail = _a.updateStatusConsolidatedSaveTransactionDetail, exports.updateTransactionStateIfUpdateActionNotAllowed = _a.updateTransactionStateIfUpdateActionNotAllowed, exports.saveTransactionDetail = _a.saveTransactionDetail, exports.initializeTransactionDetailLocalData = _a.initializeTransactionDetailLocalData, exports.saveTransactionDetailLocalData = _a.saveTransactionDetailLocalData, exports.clearTransactionDetailLocalData = _a.clearTransactionDetailLocalData, exports.resetLineItemsCategoryClassInLocalData = _a.resetLineItemsCategoryClassInLocalData, exports.setAllLineItemsToCategoryClassInLocalData = _a.setAllLineItemsToCategoryClassInLocalData, exports.setAllLineItemsLocalDataIsUpdateAllChecked = _a.setAllLineItemsLocalDataIsUpdateAllChecked, exports.setEntityRecommendationForLineIdsForTransactionDetail = _a.setEntityRecommendationForLineIdsForTransactionDetail, exports.removeEntityRecommendationForLineIdForTransactionDetail = _a.removeEntityRecommendationForLineIdForTransactionDetail, exports.updateSelectedVendor = _a.updateSelectedVendor, exports.updateSelectedCustomer = _a.updateSelectedCustomer, exports.resetVendor = _a.resetVendor, exports.resetSelectedCustomer = _a.resetSelectedCustomer, exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = _a.updateLocalDataWithTransactionsUpdateWithVendorCheckbox, exports.updateVendorToAllLineItems = _a.updateVendorToAllLineItems, exports.resetAllLineItemsToVendor = _a.resetAllLineItemsToVendor, exports.updateLatestSelectedEntity = _a.updateLatestSelectedEntity, exports.updateVendorBulkRecommendationsFetchStatus = _a.updateVendorBulkRecommendationsFetchStatus, exports.setIsVendorUpdateAllChecked = _a.setIsVendorUpdateAllChecked;
531
529
  exports.default = transactionDetail.reducer;
530
+ function getUpdatedEntityLocalData(detail, updates, entity, resetRecommendations, type) {
531
+ const key = type === 'customer' ? 'customerUpdates' : 'vendorUpdates';
532
+ const transactionDetailLocalData = Object.assign(Object.assign({}, detail), { [key]: {
533
+ name: updates.name,
534
+ id: updates.id,
535
+ qboId: updates.qboId,
536
+ }, selectedEntity: entity });
537
+ if (resetRecommendations === true) {
538
+ for (const key in transactionDetailLocalData.lineItemById) {
539
+ transactionDetailLocalData.lineItemById[key].recommendedAccount =
540
+ undefined;
541
+ transactionDetailLocalData.lineItemById[key].recommendedClass = undefined;
542
+ }
543
+ }
544
+ return transactionDetailLocalData;
545
+ }
546
+ function getResetEntityLocalData(detail, type) {
547
+ const detailsKey = type === 'customer' ? 'customerDetails' : 'vendorDetails';
548
+ const updatesKey = type === 'customer' ? 'customerUpdates' : 'vendorUpdates';
549
+ const details = detail[detailsKey];
550
+ return Object.assign(Object.assign(Object.assign({}, detail), { [updatesKey]: details, selectedEntity: details != null
551
+ ? {
552
+ id: details.id,
553
+ name: details.name,
554
+ qboId: details.qboId,
555
+ type: (0, entity_1.toEntityType)(type),
556
+ zeniId: details.id,
557
+ }
558
+ : undefined }), (type === 'vendor' && {
559
+ updatePreviousTransactionsWithUpdatedVendor: false,
560
+ }));
561
+ }
@@ -35,6 +35,7 @@ export interface TransactionDetailLineItemData extends TransactionLineBase {
35
35
  recommendations?: Recommendation[];
36
36
  isCategoryMiscategorized: boolean;
37
37
  isClassMiscategorized: boolean;
38
+ selectedEntityLine?: Entity;
38
39
  }
39
40
  export interface TransactionDetailLocalData {
40
41
  memo?: string;
@@ -49,6 +50,7 @@ export interface TransactionDetailLocalData {
49
50
  name: string;
50
51
  qboId: ID;
51
52
  };
53
+ selectedEntity?: Entity;
52
54
  customerUpdates?: TransactionVendorUpdates;
53
55
  vendorUpdates?: TransactionVendorUpdates;
54
56
  updatePreviousTransactionsWithUpdatedVendor?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.15.35",
3
+ "version": "4.15.36",
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",