@zeniai/client-epic-state 4.12.22 → 4.12.24

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.
Files changed (116) hide show
  1. package/lib/commonStateTypes/selectorTypes/selectorTypes.d.ts +3 -1
  2. package/lib/entity/account/accountSelector.d.ts +1 -0
  3. package/lib/entity/account/accountSelector.js +13 -1
  4. package/lib/entity/class/classPayload.d.ts +1 -0
  5. package/lib/entity/class/classPayload.js +13 -29
  6. package/lib/entity/class/classState.d.ts +1 -0
  7. package/lib/entity/jeSchedules/jeScheduleHelper.d.ts +2 -0
  8. package/lib/entity/jeSchedules/jeScheduleHelper.js +7 -0
  9. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +22 -5
  10. package/lib/entity/jeSchedules/jeSchedulesPayload.js +104 -29
  11. package/lib/entity/jeSchedules/jeSchedulesReducer.d.ts +14 -4
  12. package/lib/entity/jeSchedules/jeSchedulesReducer.js +86 -6
  13. package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +15 -3
  14. package/lib/entity/jeSchedules/jeSchedulesSelector.js +68 -5
  15. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +14 -2
  16. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +4 -2
  17. package/lib/entity/jeSchedules/jeSchedulesTypes.js +1 -0
  18. package/lib/entity/jeSchedules/updateAccruedJESchedulesEpic.d.ts +9 -0
  19. package/lib/entity/jeSchedules/updateAccruedJESchedulesEpic.js +41 -0
  20. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  21. package/lib/entity/snackbar/snackbarTypes.js +2 -0
  22. package/lib/entity/tenant/clearAllEpic.d.ts +4 -3
  23. package/lib/entity/tenant/clearAllEpic.js +3 -0
  24. package/lib/entity/toastNotification/epic/pushToastNotificationEpic.d.ts +1 -1
  25. package/lib/entity/transaction/payloadTypes/otherTransactionPayload.d.ts +0 -2
  26. package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.d.ts +1 -1
  27. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +3 -0
  28. package/lib/entity/transaction/payloadTypes/transactionPayload.js +7 -3
  29. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.d.ts +1 -1
  30. package/lib/entity/transaction/stateTypes/transaction.d.ts +3 -0
  31. package/lib/epic.d.ts +12 -1
  32. package/lib/epic.js +12 -1
  33. package/lib/index.d.ts +11 -5
  34. package/lib/index.js +27 -5
  35. package/lib/reducer.d.ts +3 -0
  36. package/lib/reducer.js +3 -0
  37. package/lib/view/cardPayment/epic/addCardPaymentSourceEpic.d.ts +1 -1
  38. package/lib/view/cardPayment/epic/confirmCardSetupIntentEpic.d.ts +1 -1
  39. package/lib/view/cardPayment/epic/createCardSetupIntentEpic.d.ts +1 -1
  40. package/lib/view/cardPayment/epic/fetchPaymentSourcesEpic.d.ts +1 -1
  41. package/lib/view/commonVendorView/vendorView/epics/fetchVendorEpic.js +0 -1
  42. package/lib/view/people/changeZeniPersonRolesEpic.d.ts +1 -1
  43. package/lib/view/people/deletePersonEpic.d.ts +1 -1
  44. package/lib/view/people/invitePeopleEpic.d.ts +1 -1
  45. package/lib/view/people/inviteZeniPeopleEpic.d.ts +1 -1
  46. package/lib/view/people/resendInviteEpic.d.ts +1 -1
  47. package/lib/view/scheduleView/scheduleAccruedDetailView/LinkBillExpenseView/linkBillExpense.d.ts +3 -0
  48. package/lib/view/scheduleView/scheduleAccruedDetailView/LinkBillExpenseView/linkBillExpense.js +12 -0
  49. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/cancelScheduleAccruedJournalEntryEpic.d.ts +8 -0
  50. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/cancelScheduleAccruedJournalEntryEpic.js +81 -0
  51. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/createNewSchedulesAccruedEpic.d.ts +6 -0
  52. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/createNewSchedulesAccruedEpic.js +35 -0
  53. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/deleteScheduleAccruedDetailEpic.d.ts +8 -0
  54. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/deleteScheduleAccruedDetailEpic.js +79 -0
  55. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/fetchRecommendedTransactionRowIndexEpic.d.ts +7 -0
  56. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/fetchRecommendedTransactionRowIndexEpic.js +73 -0
  57. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/fetchScheduleAccruedDetailsEpic.d.ts +8 -0
  58. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/fetchScheduleAccruedDetailsEpic.js +53 -0
  59. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/fetchScheduleAccruedDetailsPageEpic.d.ts +8 -0
  60. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/fetchScheduleAccruedDetailsPageEpic.js +28 -0
  61. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/initializeScheduleAccruedDetailLocalDataEpic.d.ts +6 -0
  62. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/initializeScheduleAccruedDetailLocalDataEpic.js +37 -0
  63. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/saveScheduleAccruedDetailsEpic.d.ts +12 -0
  64. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/saveScheduleAccruedDetailsEpic.js +126 -0
  65. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/updateAmountsInScheduleAccruedDetailEpic.d.ts +6 -0
  66. package/lib/view/scheduleView/scheduleAccruedDetailView/epics/updateAmountsInScheduleAccruedDetailEpic.js +30 -0
  67. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailLocalDataHelper.d.ts +16 -0
  68. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailLocalDataHelper.js +121 -0
  69. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailPayload.d.ts +60 -0
  70. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailPayload.js +288 -0
  71. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailReducer.d.ts +83 -0
  72. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailReducer.js +363 -0
  73. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailSelector.d.ts +36 -0
  74. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailSelector.js +127 -0
  75. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailState.d.ts +45 -0
  76. package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailState.js +2 -0
  77. package/lib/view/scheduleView/scheduleDetailView/epics/createNewSchedulesEpic.js +1 -1
  78. package/lib/view/scheduleView/scheduleDetailView/epics/deleteScheduleDetailEpic.js +1 -1
  79. package/lib/view/scheduleView/scheduleDetailView/epics/fetchScheduleDetailsPageEpic.js +3 -1
  80. package/lib/view/scheduleView/scheduleDetailView/epics/initializeScheduleDetailLocalDataEpic.js +1 -1
  81. package/lib/view/scheduleView/scheduleDetailView/epics/markAsCompleteScheduleDetailEpic.js +1 -1
  82. package/lib/view/scheduleView/scheduleDetailView/epics/saveScheduleDetailsEpic.d.ts +2 -2
  83. package/lib/view/scheduleView/scheduleDetailView/epics/saveScheduleDetailsEpic.js +1 -1
  84. package/lib/view/scheduleView/scheduleDetailView/epics/updateAmountsInScheduleDetailEpic.js +1 -1
  85. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailLocalDataHelper.js +2 -0
  86. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailPayload.d.ts +11 -5
  87. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailPayload.js +66 -2
  88. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailReducer.d.ts +2 -5
  89. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailReducer.js +2 -17
  90. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailSelector.js +7 -3
  91. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailState.d.ts +3 -2
  92. package/lib/view/scheduleView/scheduleListView/epics/fetchAccruedScheduleListEpic.d.ts +8 -0
  93. package/lib/view/scheduleView/scheduleListView/epics/fetchAccruedScheduleListEpic.js +52 -0
  94. package/lib/view/scheduleView/scheduleListView/epics/fetchDownloadSchedulesEpic.js +7 -1
  95. package/lib/view/scheduleView/scheduleListView/epics/fetchScheduleListEpic.js +7 -1
  96. package/lib/view/scheduleView/scheduleListView/scheduleListHelper.d.ts +33 -2
  97. package/lib/view/scheduleView/scheduleListView/scheduleListHelper.js +117 -1
  98. package/lib/view/scheduleView/scheduleListView/scheduleListPayload.d.ts +6 -1
  99. package/lib/view/scheduleView/scheduleListView/scheduleListReducer.d.ts +32 -4
  100. package/lib/view/scheduleView/scheduleListView/scheduleListReducer.js +207 -69
  101. package/lib/view/scheduleView/scheduleListView/scheduleListSelector.d.ts +23 -1
  102. package/lib/view/scheduleView/scheduleListView/scheduleListSelector.js +176 -5
  103. package/lib/view/scheduleView/scheduleListView/scheduleListState.d.ts +15 -3
  104. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  105. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.js +2 -0
  106. package/lib/view/settingsView/epic/saveNotificationSettingsEpic.d.ts +1 -1
  107. package/lib/view/tagView/epics/createTagEpic.d.ts +1 -1
  108. package/lib/view/tagView/epics/deleteTagEpic.d.ts +1 -1
  109. package/lib/view/taskManager/taskListView/taskListReducer.js +1 -1
  110. package/lib/view/vendorList/vendorListSelector.d.ts +1 -1
  111. package/lib/view/vendorList/vendorListSelector.js +1 -0
  112. package/lib/view/vendorTabView/fetchVendorTabViewEpic.d.ts +2 -2
  113. package/lib/view/vendorTabView/fetchVendorTabViewEpic.js +11 -1
  114. package/lib/view/vendorTabView/vendorTabViewReducer.d.ts +2 -0
  115. package/lib/view/vendorTabView/vendorTabViewReducer.js +2 -1
  116. package/package.json +1 -1
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareScheduleAccruedDetailForCancelPayload = exports.prepareScheduleAccruedDetailPayload = exports.prepareNewScheduleAccruedDetailPayload = exports.mapAccruedExpenseJEScheduleTransactionToPayload = exports.mapNewAccruedExpenseJEScheduleTransactionToPayload = exports.mapNewJEScheduleLocalDataToScheduleDetailPayload = exports.mapJEScheduleLocalDataToScheduleDetailPayloadForCancel = exports.mapJEScheduleAccruedLocalDataToScheduleDetailPayload = exports.mapVendorToVendorPayload = void 0;
4
+ const classListSelector_1 = require("../../classList/classListSelector");
5
+ const jeSchedulesSelector_1 = require("../../../entity/jeSchedules/jeSchedulesSelector");
6
+ const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
7
+ const formatZeniDateFY_1 = require("../../../commonStateTypes/fiscalYearHelpers/formatZeniDateFY");
8
+ const transactionSelector_1 = require("../../../entity/transaction/transactionSelector");
9
+ const transactionIDPayload_1 = require("../../../entity/transaction/payloadTypes/transactionIDPayload");
10
+ const mapVendorToVendorPayload = (payload) => ({
11
+ vendor_id: payload.id,
12
+ vendor_name: payload.name,
13
+ });
14
+ exports.mapVendorToVendorPayload = mapVendorToVendorPayload;
15
+ const mapJEScheduleAccruedLocalDataToScheduleDetailPayload = (jeScheduleDetails, jeScheduleTransactionState, selectedJEAccruedLinkRowIndex, reversalTransactionDetails) => {
16
+ const scheduleJournalEntry = jeScheduleTransactionState.scheduledJournalEntry;
17
+ return jeScheduleDetails.map((journalEntry, index) => {
18
+ var _a;
19
+ const currentScheduleJournalEntry = scheduleJournalEntry[index];
20
+ const payload = Object.assign(Object.assign(Object.assign({ status: {
21
+ code: journalEntry.postingStatus,
22
+ label: journalEntry.postingStatus,
23
+ }, transaction_memo: journalEntry.memo, third_party_id: (_a = journalEntry.jeLink.thirdPartyTransactionId) !== null && _a !== void 0 ? _a : null, expected_post_date: journalEntry.postingDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT), amount: journalEntry.amount.amount }, (selectedJEAccruedLinkRowIndex === index &&
24
+ reversalTransactionDetails != null
25
+ ? { is_bill_linked: true }
26
+ : {})), (selectedJEAccruedLinkRowIndex === index &&
27
+ reversalTransactionDetails != null
28
+ ? { reversal_transaction_details: reversalTransactionDetails }
29
+ : journalEntry.jeLink.reversalTransactionDetails != null
30
+ ? {
31
+ reversal_transaction_details: (0, transactionIDPayload_1.toTransactionIDPayload)(journalEntry.jeLink.reversalTransactionDetails),
32
+ }
33
+ : {})), { balance: journalEntry.runningBalance.amount, scheduled_journal_entry_id: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.scheduledJournalEntryID) != null
34
+ ? currentScheduleJournalEntry.scheduledJournalEntryID
35
+ : null, actual_post_date: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.actualPostDate) != null
36
+ ? currentScheduleJournalEntry.actualPostDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)
37
+ : null, is_platform_generated: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.isPlatformGenerated) != null
38
+ ? currentScheduleJournalEntry.isPlatformGenerated
39
+ : null, je_schedule_id: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.jeScheduleId) != null
40
+ ? currentScheduleJournalEntry.jeScheduleId
41
+ : null, update_time:
42
+ // This is used from the platform as a synctoken and hence has to be
43
+ // passed as is.
44
+ (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.syncToken) != null
45
+ ? currentScheduleJournalEntry.syncToken
46
+ : null, create_time: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.createTime) != null
47
+ ? currentScheduleJournalEntry.createTime.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)
48
+ : null });
49
+ return payload;
50
+ });
51
+ };
52
+ exports.mapJEScheduleAccruedLocalDataToScheduleDetailPayload = mapJEScheduleAccruedLocalDataToScheduleDetailPayload;
53
+ const mapJEScheduleLocalDataToScheduleDetailPayloadForCancel = (jeScheduleDetails, jeScheduleTransactionState, rowId) => {
54
+ const scheduleJournalEntry = jeScheduleTransactionState.scheduledJournalEntry;
55
+ return jeScheduleDetails.map((journalEntry, index) => {
56
+ var _a;
57
+ const currentScheduleJournalEntry = scheduleJournalEntry[index];
58
+ const code = rowId == null && journalEntry.postingStatus === 'pending'
59
+ ? 'canceled'
60
+ : rowId != null && rowId === index
61
+ ? 'canceled'
62
+ : journalEntry.postingStatus;
63
+ const label = rowId == null && journalEntry.postingStatus === 'pending'
64
+ ? 'Canceled'
65
+ : rowId != null && rowId === index
66
+ ? 'Canceled'
67
+ : journalEntry.postingStatus;
68
+ const payload = Object.assign(Object.assign({ status: {
69
+ code: code,
70
+ label: label,
71
+ }, transaction_memo: journalEntry.memo, third_party_id: (_a = journalEntry.jeLink.thirdPartyTransactionId) !== null && _a !== void 0 ? _a : null }, (journalEntry.jeLink.reversalTransactionDetails != null && {
72
+ reversal_transaction_details: (0, transactionIDPayload_1.toTransactionIDPayload)(journalEntry.jeLink.reversalTransactionDetails),
73
+ })), { expected_post_date: journalEntry.postingDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT), amount: journalEntry.amount.amount, balance: journalEntry.runningBalance.amount, scheduled_journal_entry_id: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.scheduledJournalEntryID) != null
74
+ ? currentScheduleJournalEntry.scheduledJournalEntryID
75
+ : null, actual_post_date: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.actualPostDate) != null
76
+ ? currentScheduleJournalEntry.actualPostDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)
77
+ : null, is_platform_generated: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.isPlatformGenerated) != null
78
+ ? currentScheduleJournalEntry.isPlatformGenerated
79
+ : null, je_schedule_id: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.jeScheduleId) != null
80
+ ? currentScheduleJournalEntry.jeScheduleId
81
+ : null, update_time:
82
+ // This is used from the platform as a synctoken and hence has to be
83
+ // passed as is.
84
+ (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.syncToken) != null
85
+ ? currentScheduleJournalEntry.syncToken
86
+ : null, create_time: (currentScheduleJournalEntry === null || currentScheduleJournalEntry === void 0 ? void 0 : currentScheduleJournalEntry.createTime) != null
87
+ ? currentScheduleJournalEntry.createTime.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)
88
+ : null });
89
+ return payload;
90
+ });
91
+ };
92
+ exports.mapJEScheduleLocalDataToScheduleDetailPayloadForCancel = mapJEScheduleLocalDataToScheduleDetailPayloadForCancel;
93
+ const mapNewJEScheduleLocalDataToScheduleDetailPayload = (scheduleDetailsLocalDataAccruedExpenses) => {
94
+ var _a, _b;
95
+ const scheduleJournalEntry = scheduleDetailsLocalDataAccruedExpenses.jeScheduleDetails;
96
+ const startingBalance = (_b = (_a = scheduleDetailsLocalDataAccruedExpenses.startingBalance) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : 0;
97
+ return scheduleJournalEntry.map((journalEntry, index) => {
98
+ var _a;
99
+ const payload = {
100
+ status: {
101
+ code: journalEntry.postingStatus,
102
+ label: journalEntry.postingStatus,
103
+ },
104
+ transaction_memo: journalEntry.memo,
105
+ third_party_id: (_a = journalEntry.jeLink.thirdPartyTransactionId) !== null && _a !== void 0 ? _a : null,
106
+ expected_post_date: journalEntry.postingDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT),
107
+ amount: journalEntry.amount.amount,
108
+ balance: index === 0 && startingBalance !== 0
109
+ ? startingBalance
110
+ : journalEntry.runningBalance.amount,
111
+ scheduled_journal_entry_id: null,
112
+ actual_post_date: null,
113
+ is_platform_generated: null,
114
+ je_schedule_id: null,
115
+ update_time: null,
116
+ create_time: null,
117
+ };
118
+ return payload;
119
+ });
120
+ };
121
+ exports.mapNewJEScheduleLocalDataToScheduleDetailPayload = mapNewJEScheduleLocalDataToScheduleDetailPayload;
122
+ const getBalanceAmountAsOfToday = ({ balanceAsOfToday, recurringAmount, }) => {
123
+ if (balanceAsOfToday != null) {
124
+ return balanceAsOfToday.amount;
125
+ }
126
+ return recurringAmount.amount;
127
+ };
128
+ const mapNewAccruedExpenseJEScheduleTransactionToPayload = (scheduleDetailsLocalDataAccruedExpenses, balanceSheetClassId) => {
129
+ var _a, _b, _c, _d, _e, _f, _g;
130
+ const { estimatedMonthlyAmount, memo, selectedAccount, selectedClass, selectedMonths, selectedVendor, selectedAccruedExpenseCategory, jeScheduleDetails, startingBalance, } = scheduleDetailsLocalDataAccruedExpenses;
131
+ const updatedStatus = {
132
+ code: 'new',
133
+ label: 'New',
134
+ };
135
+ const postingDate = timePeriod_1.LAST_SCHEDULE_DAY_OF_MONTH;
136
+ const scheduleLength = jeScheduleDetails.length;
137
+ const firstJEScheduleDate = scheduleLength > 0
138
+ ? scheduleDetailsLocalDataAccruedExpenses.jeScheduleDetails[0].postingDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)
139
+ : null;
140
+ const lastJEScheduleDate = scheduleLength > 0
141
+ ? scheduleDetailsLocalDataAccruedExpenses.jeScheduleDetails[scheduleLength - 1].postingDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)
142
+ : null;
143
+ const vendor = {
144
+ // VendorBasePayload cannot have null properties for vendor_id and vendor_name
145
+ vendor_id: (_a = selectedVendor === null || selectedVendor === void 0 ? void 0 : selectedVendor.id) !== null && _a !== void 0 ? _a : '',
146
+ vendor_name: (_b = selectedVendor === null || selectedVendor === void 0 ? void 0 : selectedVendor.name) !== null && _b !== void 0 ? _b : '',
147
+ };
148
+ const payload = {
149
+ status: updatedStatus,
150
+ vendor,
151
+ posting_date: postingDate,
152
+ currency_code: (_c = estimatedMonthlyAmount === null || estimatedMonthlyAmount === void 0 ? void 0 : estimatedMonthlyAmount.currencyCode) !== null && _c !== void 0 ? _c : 'USD',
153
+ currency_symbol: (_d = estimatedMonthlyAmount === null || estimatedMonthlyAmount === void 0 ? void 0 : estimatedMonthlyAmount.currencySymbol) !== null && _d !== void 0 ? _d : '$',
154
+ period: selectedMonths !== null && selectedMonths !== void 0 ? selectedMonths : 0,
155
+ je_schedule_type: 'accrued_expenses',
156
+ balance: (_e = startingBalance === null || startingBalance === void 0 ? void 0 : startingBalance.amount) !== null && _e !== void 0 ? _e : 0,
157
+ other_attributes: {
158
+ starting_balance: (_f = startingBalance === null || startingBalance === void 0 ? void 0 : startingBalance.amount) !== null && _f !== void 0 ? _f : 0,
159
+ },
160
+ start_date: firstJEScheduleDate,
161
+ end_date: lastJEScheduleDate,
162
+ je_credit_accounting_class_id: balanceSheetClassId !== null && balanceSheetClassId !== void 0 ? balanceSheetClassId : '',
163
+ je_credit_account_id: selectedAccruedExpenseCategory !== null && selectedAccruedExpenseCategory !== void 0 ? selectedAccruedExpenseCategory : '',
164
+ je_debit_account_id: selectedAccount !== null && selectedAccount !== void 0 ? selectedAccount : '',
165
+ je_debit_accounting_class_id: selectedClass !== null && selectedClass !== void 0 ? selectedClass : '',
166
+ memo: memo !== null && memo !== void 0 ? memo : '',
167
+ recurring_amount: (_g = estimatedMonthlyAmount === null || estimatedMonthlyAmount === void 0 ? void 0 : estimatedMonthlyAmount.amount) !== null && _g !== void 0 ? _g : 0,
168
+ is_deleted: false,
169
+ };
170
+ return payload;
171
+ };
172
+ exports.mapNewAccruedExpenseJEScheduleTransactionToPayload = mapNewAccruedExpenseJEScheduleTransactionToPayload;
173
+ const mapAccruedExpenseJEScheduleTransactionToPayload = (jeScheduleAccruedExpense, vendorState, scheduleDetailsLocalDataAccruedExpenses, balanceSheetClassId, isDelete) => {
174
+ var _a, _b, _c, _d;
175
+ const { vendor, currencyCode, currencySymbol, status, startDate, recurringAmount, endDate, balanceAsOfToday, } = jeScheduleAccruedExpense;
176
+ const { selectedMonths, selectedAccount, selectedClass, memo, estimatedMonthlyAmount, selectedAccruedExpenseCategory, startingBalance, } = scheduleDetailsLocalDataAccruedExpenses;
177
+ const postingDate = timePeriod_1.LAST_SCHEDULE_DAY_OF_MONTH;
178
+ const scheduleLength = scheduleDetailsLocalDataAccruedExpenses.jeScheduleDetails.length;
179
+ const firstJEScheduleDate = scheduleLength > 0
180
+ ? scheduleDetailsLocalDataAccruedExpenses.jeScheduleDetails[0].postingDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)
181
+ : null;
182
+ const lastJEScheduleDate = scheduleLength > 0
183
+ ? scheduleDetailsLocalDataAccruedExpenses.jeScheduleDetails[scheduleLength - 1].postingDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)
184
+ : null;
185
+ const vendorID = vendor.id;
186
+ const vendorDetails = vendorState.vendorByID[vendorID];
187
+ const payload = {
188
+ status: status,
189
+ vendor: (0, exports.mapVendorToVendorPayload)(vendorDetails),
190
+ currency_code: currencyCode,
191
+ currency_symbol: currencySymbol,
192
+ other_attributes: {
193
+ starting_balance: (_a = startingBalance === null || startingBalance === void 0 ? void 0 : startingBalance.amount) !== null && _a !== void 0 ? _a : 0,
194
+ },
195
+ period: selectedMonths !== null && selectedMonths !== void 0 ? selectedMonths : null,
196
+ je_schedule_type: 'accrued_expenses',
197
+ posting_date: postingDate,
198
+ balance: (startingBalance === null || startingBalance === void 0 ? void 0 : startingBalance.amount) != null
199
+ ? startingBalance.amount
200
+ : getBalanceAmountAsOfToday({
201
+ balanceAsOfToday,
202
+ recurringAmount,
203
+ }),
204
+ start_date: (_b = startDate === null || startDate === void 0 ? void 0 : startDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)) !== null && _b !== void 0 ? _b : firstJEScheduleDate,
205
+ end_date: (_c = endDate === null || endDate === void 0 ? void 0 : endDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)) !== null && _c !== void 0 ? _c : lastJEScheduleDate,
206
+ je_credit_accounting_class_id: balanceSheetClassId !== null && balanceSheetClassId !== void 0 ? balanceSheetClassId : '',
207
+ je_credit_account_id: selectedAccruedExpenseCategory !== null && selectedAccruedExpenseCategory !== void 0 ? selectedAccruedExpenseCategory : null,
208
+ je_debit_account_id: selectedAccount !== null && selectedAccount !== void 0 ? selectedAccount : null,
209
+ je_debit_accounting_class_id: selectedClass !== null && selectedClass !== void 0 ? selectedClass : null,
210
+ memo: memo !== null && memo !== void 0 ? memo : '',
211
+ recurring_amount: (_d = estimatedMonthlyAmount === null || estimatedMonthlyAmount === void 0 ? void 0 : estimatedMonthlyAmount.amount) !== null && _d !== void 0 ? _d : 0,
212
+ };
213
+ return isDelete === true
214
+ ? Object.assign(Object.assign({}, payload), { is_deleted: true }) : payload;
215
+ };
216
+ exports.mapAccruedExpenseJEScheduleTransactionToPayload = mapAccruedExpenseJEScheduleTransactionToPayload;
217
+ const getBalanceSheetClassId = (allClassList, label) => {
218
+ var _a;
219
+ const balanceSheetClass = allClassList.find((cl) => { var _a; return (_a = cl.labels) === null || _a === void 0 ? void 0 : _a.includes(label); });
220
+ return (_a = balanceSheetClass === null || balanceSheetClass === void 0 ? void 0 : balanceSheetClass.classId) !== null && _a !== void 0 ? _a : '';
221
+ };
222
+ const prepareNewScheduleAccruedDetailPayload = (state, scheduleDetailsLocalDataAccruedExpenses) => {
223
+ const payload = {
224
+ je_schedules: [],
225
+ scheduled_journal_entries: [],
226
+ };
227
+ const { classListState, classState } = state;
228
+ const allClassList = (0, classListSelector_1.getClassList)(classState, classListState).classes;
229
+ const balanceSheetClassId = getBalanceSheetClassId(allClassList, 'balance_sheet');
230
+ payload.je_schedules = [
231
+ (0, exports.mapNewAccruedExpenseJEScheduleTransactionToPayload)(scheduleDetailsLocalDataAccruedExpenses, balanceSheetClassId),
232
+ ];
233
+ payload.scheduled_journal_entries =
234
+ (0, exports.mapNewJEScheduleLocalDataToScheduleDetailPayload)(scheduleDetailsLocalDataAccruedExpenses);
235
+ return payload;
236
+ };
237
+ exports.prepareNewScheduleAccruedDetailPayload = prepareNewScheduleAccruedDetailPayload;
238
+ const prepareScheduleAccruedDetailPayload = (state, scheduleDetailsLocalDataAccruedExpenses, selectedJEScheduleKey, isDelete) => {
239
+ var _a;
240
+ const payload = {
241
+ je_schedules: [],
242
+ scheduled_journal_entries: [],
243
+ };
244
+ const { scheduleAccruedDetailState } = state;
245
+ const { selectedJEAccruedLinkRowIndex, linkBillExpenseView } = scheduleAccruedDetailState;
246
+ let reversalTransactionDetails = undefined;
247
+ const selectedTransaction = (0, transactionSelector_1.getSupportedTransactionById)(state.transactionState, (_a = linkBillExpenseView.linkBillExpenseLocalData.selectedTransaction) !== null && _a !== void 0 ? _a : '');
248
+ if (selectedTransaction != null) {
249
+ reversalTransactionDetails = {
250
+ transaction_id: selectedTransaction.id,
251
+ transaction_type: selectedTransaction.type,
252
+ };
253
+ }
254
+ const jeScheduleAccruedExpense = (0, jeSchedulesSelector_1.getJEAccruedScheduleByJEScheduleKey)(selectedJEScheduleKey, state);
255
+ if (jeScheduleAccruedExpense != null) {
256
+ const { vendorState, classListState, classState } = state;
257
+ const allClassList = (0, classListSelector_1.getClassList)(classState, classListState).classes;
258
+ const balanceSheetClassId = getBalanceSheetClassId(allClassList, 'balance_sheet');
259
+ const jeScheduleDetailsLocalData = scheduleDetailsLocalDataAccruedExpenses.jeScheduleDetails;
260
+ payload.je_schedules = [
261
+ (0, exports.mapAccruedExpenseJEScheduleTransactionToPayload)(jeScheduleAccruedExpense, vendorState, scheduleDetailsLocalDataAccruedExpenses, balanceSheetClassId, isDelete),
262
+ ];
263
+ payload.scheduled_journal_entries =
264
+ (0, exports.mapJEScheduleAccruedLocalDataToScheduleDetailPayload)(jeScheduleDetailsLocalData, jeScheduleAccruedExpense, selectedJEAccruedLinkRowIndex, reversalTransactionDetails);
265
+ }
266
+ return payload;
267
+ };
268
+ exports.prepareScheduleAccruedDetailPayload = prepareScheduleAccruedDetailPayload;
269
+ const prepareScheduleAccruedDetailForCancelPayload = (state, scheduleDetailsLocalDataAccruedExpenses, selectedJEScheduleKey, rowId) => {
270
+ const payload = {
271
+ je_schedules: [],
272
+ scheduled_journal_entries: [],
273
+ };
274
+ const jeScheduleAccruedExpense = (0, jeSchedulesSelector_1.getJEAccruedScheduleByJEScheduleKey)(selectedJEScheduleKey, state);
275
+ if (jeScheduleAccruedExpense != null) {
276
+ const { vendorState, classListState, classState } = state;
277
+ const allClassList = (0, classListSelector_1.getClassList)(classState, classListState).classes;
278
+ const balanceSheetClassId = getBalanceSheetClassId(allClassList, 'balance_sheet');
279
+ const jeScheduleDetailsLocalData = scheduleDetailsLocalDataAccruedExpenses.jeScheduleDetails;
280
+ payload.je_schedules = [
281
+ (0, exports.mapAccruedExpenseJEScheduleTransactionToPayload)(jeScheduleAccruedExpense, vendorState, scheduleDetailsLocalDataAccruedExpenses, balanceSheetClassId, false),
282
+ ];
283
+ payload.scheduled_journal_entries =
284
+ (0, exports.mapJEScheduleLocalDataToScheduleDetailPayloadForCancel)(jeScheduleDetailsLocalData, jeScheduleAccruedExpense, rowId);
285
+ }
286
+ return payload;
287
+ };
288
+ exports.prepareScheduleAccruedDetailForCancelPayload = prepareScheduleAccruedDetailForCancelPayload;
@@ -0,0 +1,83 @@
1
+ import { ScheduleDetailsLocalDataAccruedExpenses, ScheduleAccruedDetailViewState } from './scheduleAccruedDetailState';
2
+ import { JEScheduleKey, ScheduleTypes } from '../../../entity/jeSchedules/jeSchedulesTypes';
3
+ import { FetchState, ID } from '../../../commonStateTypes/common';
4
+ import { ZeniAPIStatus } from '../../../responsePayload';
5
+ import ZeniUrl from '../../../zeniUrl';
6
+ import { ScheduledJournalEntry } from '../../../entity/jeSchedules/jeSchedulesSelector';
7
+ import { TransactionDetailKey } from '../../transactionDetail/transactionDetailState';
8
+ import { SupportedTransactionPayload } from '../../../entity/transaction/transactionState';
9
+ export declare const initialScheduleDetailsLocalDataAccruedExpenses: ScheduleDetailsLocalDataAccruedExpenses;
10
+ export declare const initialState: ScheduleAccruedDetailViewState;
11
+ export declare const clearScheduleAccruedDetailView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, createNewSchedulesAccrued: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
12
+ scheduleType: ScheduleTypes;
13
+ }, string>, deleteScheduleAccruedDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue", selectedJeScheduleDetailId: string], {
14
+ scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue";
15
+ selectedJeScheduleDetailId: string;
16
+ }, string, never, never>, deleteScheduleAccruedDetailSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[fetchState: FetchState, error?: ZeniAPIStatus<Record<string, unknown>> | undefined], {
17
+ fetchState: FetchState;
18
+ error: ZeniAPIStatus<Record<string, unknown>> | undefined;
19
+ }, string, never, never>, fetchScheduleAccruedDetails: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue", selectedJeScheduleDetailId?: string | undefined], {
20
+ scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue";
21
+ selectedJeScheduleDetailId: string | undefined;
22
+ }, string, never, never>, fetchScheduleAccruedDetailsPage: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue", selectedJeScheduleDetailId?: string | undefined], {
23
+ scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue";
24
+ selectedJeScheduleDetailId: string | undefined;
25
+ }, string, never, never>, initializeScheduleAccruedDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue", selectedJEScheduleKey?: `${string}_${string}` | undefined, selectedJeScheduleDetailId?: string | undefined], {
26
+ scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue";
27
+ selectedJEScheduleKey: `${string}_${string}` | undefined;
28
+ selectedJeScheduleDetailId: string | undefined;
29
+ }, string, never, never>, resetJEAccruedLinkInLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
30
+ scheduleType: ScheduleTypes;
31
+ jeScheduleDetailId: ID;
32
+ rowId: number;
33
+ originalScheduledJE: ScheduledJournalEntry;
34
+ }, string>, saveScheduleAccruedDetails: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue", selectedJeScheduleDetailId?: string | undefined], {
35
+ scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue";
36
+ selectedJeScheduleDetailId: string | undefined;
37
+ }, string, never, never>, saveScheduleAccruedDetailsSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[fetchState: FetchState, error?: ZeniAPIStatus<Record<string, unknown>> | undefined], {
38
+ fetchState: FetchState;
39
+ error: ZeniAPIStatus<Record<string, unknown>> | undefined;
40
+ }, string, never, never>, updateAmountsInScheduleAccruedDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue", rowId: number, jeScheduleDetailId?: string | undefined], {
41
+ scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue";
42
+ rowId: number;
43
+ jeScheduleDetailId: string | undefined;
44
+ }, string, never, never>, updateDeletedScheduleAccruedDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue", selectedJeScheduleDetailId: string], {
45
+ scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue";
46
+ selectedJeScheduleDetailId: string;
47
+ }, string, never, never>, updatedJEAccruedLinkWithRecommendedLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
48
+ scheduleType: ScheduleTypes;
49
+ jeScheduleDetailId: ID;
50
+ rowId: number;
51
+ }, string>, updatedJELinkInLocalDataAccruedExpenses: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
52
+ scheduleType: ScheduleTypes;
53
+ jeScheduleDetailId: ID;
54
+ rowId: number;
55
+ jeLink: ZeniUrl;
56
+ }, string>, fetchRecommendedTransactionRowIndex: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
57
+ selectedJELinkRowIndex?: number | undefined;
58
+ }, string>, updateScheduleAccruedDetailsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
59
+ error?: ZeniAPIStatus<Record<string, unknown>> | undefined;
60
+ }, string>, updateScheduleAccruedDetailsLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
61
+ scheduleType: ScheduleTypes;
62
+ selectedJeScheduleDetailId?: string | undefined;
63
+ localData: Partial<ScheduleDetailsLocalDataAccruedExpenses>;
64
+ }, string>, updateScheduleAccruedDetailsSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateSelectedJEAccruedScheduleKey: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
65
+ selectedJEScheduleKey: JEScheduleKey;
66
+ }, string>, updateFetchedTransactionIds: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionsPayload: SupportedTransactionPayload[], getTransactionId: (transactionPayload: SupportedTransactionPayload) => ID | TransactionDetailKey], {
67
+ transactionsPayload: SupportedTransactionPayload[];
68
+ getTransactionId: (transactionPayload: SupportedTransactionPayload) => ID | TransactionDetailKey;
69
+ }, string, never, never>, updatedFetchRecommendationBillExpenseSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
70
+ fetchState: FetchState;
71
+ error?: ZeniAPIStatus<Record<string, unknown>> | undefined;
72
+ }, string>, resetSelectedJEAccruedScheduleKey: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetAccruedDetailNewScheduleState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, cancelScheduleAccruedJournalEntry: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue", selectedJeScheduleDetailId: string, rowId?: number | undefined], {
73
+ scheduleType: "prepaid_expenses" | "fixed_assets" | "accrued_expenses" | "deferred_revenue";
74
+ rowId: number | undefined;
75
+ selectedJeScheduleDetailId: string;
76
+ }, string, never, never>, updateLinkBillExpenseLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
77
+ selectedTransaction?: string | undefined;
78
+ }, string>, cancelScheduleAccruedJournalEntrySuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[fetchState: FetchState, error?: ZeniAPIStatus<Record<string, unknown>> | undefined], {
79
+ fetchState: FetchState;
80
+ error: ZeniAPIStatus<Record<string, unknown>> | undefined;
81
+ }, string, never, never>;
82
+ declare const _default: import("@reduxjs/toolkit").Reducer<ScheduleAccruedDetailViewState, import("@reduxjs/toolkit").AnyAction>;
83
+ export default _default;