@zeniai/client-epic-state 5.1.45-betaDI3 → 5.1.45
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/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +0 -3
- package/lib/entity/task/taskPayload.d.ts +1 -3
- package/lib/entity/task/taskPayload.js +2 -24
- package/lib/entity/task/taskReducer.d.ts +1 -8
- package/lib/entity/task/taskReducer.js +4 -29
- package/lib/entity/task/taskState.d.ts +0 -2
- package/lib/entity/tenant/epic/saveExternalConnectionEpic.d.ts +1 -2
- package/lib/entity/tenant/epic/saveExternalConnectionEpic.js +0 -17
- package/lib/epic.d.ts +3 -6
- package/lib/epic.js +3 -6
- package/lib/esm/entity/snackbar/snackbarTypes.js +0 -3
- package/lib/esm/entity/task/taskPayload.js +2 -24
- package/lib/esm/entity/task/taskReducer.js +3 -28
- package/lib/esm/entity/tenant/epic/saveExternalConnectionEpic.js +0 -17
- package/lib/esm/epic.js +3 -6
- package/lib/esm/index.js +8 -8
- package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +1 -31
- package/lib/esm/view/aiCfoView/epics/fetchSkillsEpic.js +8 -33
- package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +0 -3
- package/lib/esm/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +1 -7
- package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +0 -7
- package/lib/esm/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +0 -1
- package/lib/esm/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +9 -70
- package/lib/esm/view/taskManager/taskDetailView/taskDetailReducer.js +2 -56
- package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +9 -35
- package/lib/esm/view/taskManager/taskListView/epics/fetchTaskListEpic.js +1 -3
- package/lib/esm/view/taskManager/taskListView/taskList.js +0 -1
- package/lib/esm/view/taskManager/taskListView/taskListReducer.js +18 -310
- package/lib/esm/view/taskManager/taskListView/taskListSelector.js +0 -1
- package/lib/esm/view/taskManager/taskListView/taskListViewHelpers.js +0 -58
- package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +0 -22
- package/lib/esm/view/transactionDetail/epics/updateTransactionDetailEpic.js +3 -75
- package/lib/esm/view/transactionDetail/journalEntryLinesViewModel.js +0 -58
- package/lib/esm/view/transactionDetail/transactionDetailLocalDataHelper.js +8 -10
- package/lib/esm/view/transactionDetail/transactionDetailReducer.js +1 -66
- package/lib/index.d.ts +11 -12
- package/lib/index.js +28 -37
- package/lib/view/aiCfoView/aiCfoViewPayload.d.ts +0 -10
- package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +2 -7
- package/lib/view/aiCfoView/aiCfoViewReducer.js +2 -32
- package/lib/view/aiCfoView/aiCfoViewState.d.ts +1 -5
- package/lib/view/aiCfoView/epics/fetchSkillsEpic.js +8 -33
- package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +0 -3
- package/lib/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +1 -7
- package/lib/view/companyView/types/cockpitTypes.d.ts +0 -3
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +0 -7
- package/lib/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +0 -1
- package/lib/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.d.ts +2 -2
- package/lib/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +8 -69
- package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +0 -15
- package/lib/view/taskManager/taskDetailView/taskDetailReducer.d.ts +2 -14
- package/lib/view/taskManager/taskDetailView/taskDetailReducer.js +3 -57
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +1 -3
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +7 -33
- package/lib/view/taskManager/taskListView/epics/fetchTaskListEpic.js +1 -3
- package/lib/view/taskManager/taskListView/taskList.d.ts +1 -1
- package/lib/view/taskManager/taskListView/taskList.js +0 -1
- package/lib/view/taskManager/taskListView/taskListPayload.d.ts +0 -4
- package/lib/view/taskManager/taskListView/taskListReducer.d.ts +2 -6
- package/lib/view/taskManager/taskListView/taskListReducer.js +19 -311
- package/lib/view/taskManager/taskListView/taskListSelector.js +0 -1
- package/lib/view/taskManager/taskListView/taskListViewHelpers.d.ts +0 -11
- package/lib/view/taskManager/taskListView/taskListViewHelpers.js +1 -60
- package/lib/view/transactionDetail/epics/saveTransactionHelper.js +0 -22
- package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.d.ts +1 -5
- package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +4 -77
- package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +0 -27
- package/lib/view/transactionDetail/journalEntryLinesViewModel.js +1 -61
- package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +8 -10
- package/lib/view/transactionDetail/transactionDetailReducer.d.ts +2 -11
- package/lib/view/transactionDetail/transactionDetailReducer.js +2 -67
- package/lib/view/transactionDetail/transactionDetailState.d.ts +1 -8
- package/lib/view/transactionDetail/transactionDetailTypes.d.ts +0 -2
- package/package.json +1 -1
- package/lib/esm/view/aiCfoView/epics/submitFeedbackEpic.js +0 -39
- package/lib/esm/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +0 -96
- package/lib/esm/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.js +0 -53
- package/lib/view/aiCfoView/epics/submitFeedbackEpic.d.ts +0 -13
- package/lib/view/aiCfoView/epics/submitFeedbackEpic.js +0 -43
- package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.d.ts +0 -9
- package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +0 -100
- package/lib/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.d.ts +0 -8
- package/lib/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.js +0 -57
|
@@ -58,9 +58,7 @@ export const updateTransactionDetailEpic = (actions$, state$, zeniAPI) => action
|
|
|
58
58
|
if (response.data.vendors != null) {
|
|
59
59
|
actions.push(updateVendors(response.data.vendors, 'merge'));
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
// keep any line absent from the server response (deletion bug).
|
|
63
|
-
actions.push(updateTransaction(transactionDetailKeyForResponse, response.data.transaction, 'replace'));
|
|
61
|
+
actions.push(updateTransaction(transactionDetailKeyForResponse, response.data.transaction));
|
|
64
62
|
actions.push(initializeTransactionDetailLocalData({
|
|
65
63
|
transactionId: transactionIdResp,
|
|
66
64
|
vendorId: response.data.vendors?.[0]?.vendor_id,
|
|
@@ -161,7 +159,7 @@ function preparePayload(transactionState, vendorState, transactionDetailState, t
|
|
|
161
159
|
};
|
|
162
160
|
}
|
|
163
161
|
if (detail != null) {
|
|
164
|
-
const transUpdates = toTransactionUpdatePayload(saveUpdates.updates, detail, cotTransactionTracking, isAccountingProjectsEnabled, vendorUpdates, customerUpdates, currentSelectedEntity
|
|
162
|
+
const transUpdates = toTransactionUpdatePayload(saveUpdates.updates, detail, cotTransactionTracking, isAccountingProjectsEnabled, vendorUpdates, customerUpdates, currentSelectedEntity);
|
|
165
163
|
const entityUpdates = toEntityUpdatePayload(saveUpdates.entityRelatedUpdates);
|
|
166
164
|
return {
|
|
167
165
|
entity_related_updates: entityUpdates,
|
|
@@ -171,7 +169,7 @@ function preparePayload(transactionState, vendorState, transactionDetailState, t
|
|
|
171
169
|
}
|
|
172
170
|
return undefined;
|
|
173
171
|
}
|
|
174
|
-
export const toTransactionUpdatePayload = (updates, detail, cotTransactionTracking, isAccountingProjectsEnabled, vendorUpdates, customerUpdates, tranSelectedEntity
|
|
172
|
+
export const toTransactionUpdatePayload = (updates, detail, cotTransactionTracking, isAccountingProjectsEnabled, vendorUpdates, customerUpdates, tranSelectedEntity) => {
|
|
175
173
|
const transaction = Object.assign({}, detail);
|
|
176
174
|
transaction.memo = updates.memo ?? '';
|
|
177
175
|
// Unlike `memo` (always reset to '' when absent), `documentId` falls back to
|
|
@@ -180,11 +178,6 @@ export const toTransactionUpdatePayload = (updates, detail, cotTransactionTracki
|
|
|
180
178
|
// either the unchanged current value or undefined, and we must not send an
|
|
181
179
|
// empty `document_id` that the server would treat as clearing the number.
|
|
182
180
|
transaction.documentId = updates.documentId ?? transaction.documentId;
|
|
183
|
-
// Remove lines deleted by the user in edit mode before patching or serializing.
|
|
184
|
-
if (deletedLineIds != null && deletedLineIds.length > 0) {
|
|
185
|
-
const deletedSet = new Set(deletedLineIds);
|
|
186
|
-
transaction.lines = transaction.lines?.filter((line) => !deletedSet.has(line.id));
|
|
187
|
-
}
|
|
188
181
|
const recommendationUpdates = {};
|
|
189
182
|
for (const key in updates.updatesByLineId) {
|
|
190
183
|
const lineUpdates = updates.updatesByLineId[key];
|
|
@@ -192,9 +185,6 @@ export const toTransactionUpdatePayload = (updates, detail, cotTransactionTracki
|
|
|
192
185
|
if (line.id === key) {
|
|
193
186
|
const lineTobeUpdated = Object.assign({}, line);
|
|
194
187
|
lineTobeUpdated.lineDescription = lineUpdates.lineDescription ?? '';
|
|
195
|
-
if (lineUpdates.amount != null) {
|
|
196
|
-
lineTobeUpdated.amount = lineUpdates.amount;
|
|
197
|
-
}
|
|
198
188
|
if (lineUpdates.class != null) {
|
|
199
189
|
lineTobeUpdated.class = lineUpdates.class;
|
|
200
190
|
}
|
|
@@ -216,16 +206,6 @@ export const toTransactionUpdatePayload = (updates, detail, cotTransactionTracki
|
|
|
216
206
|
else {
|
|
217
207
|
lineTobeUpdated.vendor = undefined;
|
|
218
208
|
}
|
|
219
|
-
// Persist a debit↔credit flip on an existing JE line. `lineTobeUpdated`
|
|
220
|
-
// is typed as the account-and-class shape, but for a JE the runtime
|
|
221
|
-
// object is a JournalEntryTransactionLine, so cast to set the side.
|
|
222
|
-
if (lineUpdates.postingType != null) {
|
|
223
|
-
const journalEntryLine = lineTobeUpdated;
|
|
224
|
-
journalEntryLine.postingType = lineUpdates.postingType;
|
|
225
|
-
if (lineUpdates.postingTypeName != null) {
|
|
226
|
-
journalEntryLine.postingTypeName = lineUpdates.postingTypeName;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
209
|
if (lineUpdates.recommendation != null) {
|
|
230
210
|
recommendationUpdates[line.id] = lineUpdates.recommendation;
|
|
231
211
|
}
|
|
@@ -245,12 +225,6 @@ export const toTransactionUpdatePayload = (updates, detail, cotTransactionTracki
|
|
|
245
225
|
});
|
|
246
226
|
transaction.lines = newLineMap;
|
|
247
227
|
}
|
|
248
|
-
// Append lines added by the user in edit mode. Sending id='' tells the
|
|
249
|
-
// backend to create a new QBO line rather than updating an existing one.
|
|
250
|
-
if (addedLines != null && addedLines.length > 0) {
|
|
251
|
-
const newLines = addedLines.map(toNewTransactionLine);
|
|
252
|
-
transaction.lines = [...(transaction.lines ?? []), ...newLines];
|
|
253
|
-
}
|
|
254
228
|
transaction.recommendations = recommendationUpdates;
|
|
255
229
|
// Convert transaction to payload first
|
|
256
230
|
let basePayload;
|
|
@@ -325,52 +299,6 @@ const checkIfVendorOrCustomerMissingForAnyLineItem = (transactionPayload) => {
|
|
|
325
299
|
}
|
|
326
300
|
return isAnyVendorOrCustomerMissing;
|
|
327
301
|
};
|
|
328
|
-
// Converts a locally-created line item (from edit mode) into the wire shape
|
|
329
|
-
// expected by the categorize endpoint. Sending id='' signals the backend to
|
|
330
|
-
// create a new QBO line rather than update an existing one.
|
|
331
|
-
//
|
|
332
|
-
// Type-dispatched so each transaction family contributes its own new-line
|
|
333
|
-
// shape: journal entries carry debit/credit `postingType`, expenses carry
|
|
334
|
-
// `billable`. Phase 3 types extend this by adding a branch rather than forking
|
|
335
|
-
// the function.
|
|
336
|
-
const EMPTY_ACCOUNT = {
|
|
337
|
-
accountDescription: '',
|
|
338
|
-
accountId: '',
|
|
339
|
-
accountName: '',
|
|
340
|
-
labels: [],
|
|
341
|
-
};
|
|
342
|
-
export const toNewTransactionLine = (item) => {
|
|
343
|
-
if (item.type === 'journal_entry_transaction_line') {
|
|
344
|
-
const journalEntryLine = {
|
|
345
|
-
...item,
|
|
346
|
-
id: '',
|
|
347
|
-
type: 'journal_entry_transaction_line',
|
|
348
|
-
platformLineDetailType: item.platformLineDetailType ?? 'journal_entry_line_detail',
|
|
349
|
-
account: item.account ?? EMPTY_ACCOUNT,
|
|
350
|
-
billable: item.billable ?? 'not_billable',
|
|
351
|
-
isCategoryMiscategorized: false,
|
|
352
|
-
isClassMiscategorized: false,
|
|
353
|
-
lineTransactionType: item.lineTransactionType ?? 'journal_entry',
|
|
354
|
-
postingType: item.postingType ?? 'debit',
|
|
355
|
-
postingTypeName: item.postingTypeName != null && item.postingTypeName !== ''
|
|
356
|
-
? item.postingTypeName
|
|
357
|
-
: (item.postingType ?? 'debit').charAt(0).toUpperCase() +
|
|
358
|
-
(item.postingType ?? 'debit').slice(1),
|
|
359
|
-
};
|
|
360
|
-
return journalEntryLine;
|
|
361
|
-
}
|
|
362
|
-
const accountAndClassLine = {
|
|
363
|
-
...item,
|
|
364
|
-
id: '',
|
|
365
|
-
type: 'transaction_with_account_and_class_line',
|
|
366
|
-
platformLineDetailType: item.platformLineDetailType ?? 'account_based_expense_line_detail',
|
|
367
|
-
account: item.account ?? EMPTY_ACCOUNT,
|
|
368
|
-
billable: item.billable ?? 'not_billable',
|
|
369
|
-
isCategoryMiscategorized: false,
|
|
370
|
-
isClassMiscategorized: false,
|
|
371
|
-
};
|
|
372
|
-
return accountAndClassLine;
|
|
373
|
-
};
|
|
374
302
|
const toEntityUpdatePayload = (entityUpdates) => {
|
|
375
303
|
const entityUpdatesPayload = [];
|
|
376
304
|
let entityKey;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Big from 'big.js';
|
|
2
1
|
import orderBy from 'lodash/orderBy';
|
|
3
2
|
import { stringToUnion } from '../../commonStateTypes/stringToUnion';
|
|
4
3
|
import { LINE_TYPE_LINKED, } from '../../entity/transaction/stateTypes/transactionLine';
|
|
@@ -102,63 +101,6 @@ export const journalEntryTotalsByPostingSide = (lines) => {
|
|
|
102
101
|
};
|
|
103
102
|
};
|
|
104
103
|
// ---------------------------------------------------------------------------
|
|
105
|
-
// Split reconciliation & validation (Phase 2 — JE split)
|
|
106
|
-
// ---------------------------------------------------------------------------
|
|
107
|
-
// Half-cent tolerance for the balance equality checks, matching the expense
|
|
108
|
-
// reconciliation row's epsilon. Sums use big.js so repeated decimal addition
|
|
109
|
-
// doesn't drift before the comparison.
|
|
110
|
-
const JOURNAL_ENTRY_BALANCE_EPSILON = 0.005;
|
|
111
|
-
/**
|
|
112
|
-
* Sums debit and credit sides (big.js-exact) and reports whether the split is
|
|
113
|
-
* balanced: total debits equal total credits AND equal the original
|
|
114
|
-
* transaction total. The original total of a valid JE equals its total debits,
|
|
115
|
-
* so it is passed in by the caller (`transaction.amount.amount`).
|
|
116
|
-
*/
|
|
117
|
-
export const journalEntrySplitReconciliation = (lines, originalTotal) => {
|
|
118
|
-
let debit = new Big(0);
|
|
119
|
-
let credit = new Big(0);
|
|
120
|
-
for (const line of lines) {
|
|
121
|
-
const amount = new Big(line.amount?.amount ?? 0);
|
|
122
|
-
if (line.postingType === 'debit') {
|
|
123
|
-
debit = debit.plus(amount);
|
|
124
|
-
}
|
|
125
|
-
else if (line.postingType === 'credit') {
|
|
126
|
-
credit = credit.plus(amount);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
const balancedToEachOther = debit
|
|
130
|
-
.minus(credit)
|
|
131
|
-
.abs()
|
|
132
|
-
.lt(JOURNAL_ENTRY_BALANCE_EPSILON);
|
|
133
|
-
const balancedToOriginal = debit
|
|
134
|
-
.minus(originalTotal)
|
|
135
|
-
.abs()
|
|
136
|
-
.lt(JOURNAL_ENTRY_BALANCE_EPSILON);
|
|
137
|
-
return {
|
|
138
|
-
debitTotal: debit.toNumber(),
|
|
139
|
-
creditTotal: credit.toNumber(),
|
|
140
|
-
isBalanced: balancedToEachOther && balancedToOriginal,
|
|
141
|
-
};
|
|
142
|
-
};
|
|
143
|
-
/**
|
|
144
|
-
* Save-time validation for a JE split (Figma `4165:33028` / `4165:45379`):
|
|
145
|
-
* 1. every line needs a non-zero debit or credit, and
|
|
146
|
-
* 2. total debits == total credits == original total.
|
|
147
|
-
* Returns the first failing rule's `errorKey` (maps to a strings entry). Does
|
|
148
|
-
* NOT require category/class to be chosen — balance is the only gate.
|
|
149
|
-
*/
|
|
150
|
-
export const validateJournalEntrySplit = (lines, originalTotal) => {
|
|
151
|
-
const everyLineHasSide = lines.every((line) => (line.postingType === 'debit' || line.postingType === 'credit') &&
|
|
152
|
-
Math.abs(line.amount?.amount ?? 0) > JOURNAL_ENTRY_BALANCE_EPSILON);
|
|
153
|
-
if (!everyLineHasSide) {
|
|
154
|
-
return { ok: false, errorKey: 'lineNeedsDebitOrCredit' };
|
|
155
|
-
}
|
|
156
|
-
if (!journalEntrySplitReconciliation(lines, originalTotal).isBalanced) {
|
|
157
|
-
return { ok: false, errorKey: 'totalsMustEqual' };
|
|
158
|
-
}
|
|
159
|
-
return { ok: true };
|
|
160
|
-
};
|
|
161
|
-
// ---------------------------------------------------------------------------
|
|
162
104
|
// Filter
|
|
163
105
|
// ---------------------------------------------------------------------------
|
|
164
106
|
/**
|
|
@@ -823,16 +823,14 @@ export const getChangedLineItemCountFromLocalData = (transaction, transactionLoc
|
|
|
823
823
|
line.type === 'transaction_with_product_or_service_line' ||
|
|
824
824
|
line.type === 'journal_entry_transaction_line') {
|
|
825
825
|
const accountLineLocal = transactionLocalData.lineItemById[lineId];
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
accountLineLocal.account?.
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
accountLineLocal.class?.qboId !== accountLine.class?.qboId;
|
|
835
|
-
}
|
|
826
|
+
const accountLine = line;
|
|
827
|
+
hasCategoryChanged =
|
|
828
|
+
accountLineLocal.account?.qboId !== accountLine.account.qboId &&
|
|
829
|
+
accountLineLocal.account?.accountId !== accountLine.account.accountId;
|
|
830
|
+
hasClassChanged =
|
|
831
|
+
(accountLineLocal.class?.qboId != null ||
|
|
832
|
+
accountLine.class?.qboId != null) &&
|
|
833
|
+
accountLineLocal.class?.qboId !== accountLine.class?.qboId;
|
|
836
834
|
}
|
|
837
835
|
hasDescriptionChanged =
|
|
838
836
|
transactionLocalData.lineItemById[lineId] != null
|
|
@@ -663,71 +663,6 @@ const transactionDetail = createSlice({
|
|
|
663
663
|
};
|
|
664
664
|
},
|
|
665
665
|
},
|
|
666
|
-
// Split transaction — Phase 1 (expense)
|
|
667
|
-
addSplitLine: {
|
|
668
|
-
reducer(draft, action) {
|
|
669
|
-
const key = getTransactionDetailKey(action.payload.transactionId);
|
|
670
|
-
const detail = recordGet(draft.transactionDetailById, key, undefined);
|
|
671
|
-
if (detail != null) {
|
|
672
|
-
draft.transactionDetailById[key] = {
|
|
673
|
-
...detail,
|
|
674
|
-
transactionDetailLocalData: {
|
|
675
|
-
...detail.transactionDetailLocalData,
|
|
676
|
-
lineItemById: {
|
|
677
|
-
...detail.transactionDetailLocalData.lineItemById,
|
|
678
|
-
[action.payload.newLine.id]: action.payload.newLine,
|
|
679
|
-
},
|
|
680
|
-
},
|
|
681
|
-
};
|
|
682
|
-
}
|
|
683
|
-
},
|
|
684
|
-
prepare(transactionId, newLine) {
|
|
685
|
-
return { payload: { transactionId, newLine } };
|
|
686
|
-
},
|
|
687
|
-
},
|
|
688
|
-
deleteSplitLine: {
|
|
689
|
-
reducer(draft, action) {
|
|
690
|
-
const key = getTransactionDetailKey(action.payload.transactionId);
|
|
691
|
-
const detail = recordGet(draft.transactionDetailById, key, undefined);
|
|
692
|
-
if (detail == null) {
|
|
693
|
-
return;
|
|
694
|
-
}
|
|
695
|
-
const { lineItemById, deletedLineIds = [] } = detail.transactionDetailLocalData;
|
|
696
|
-
const updated = { ...lineItemById };
|
|
697
|
-
delete updated[action.payload.lineId];
|
|
698
|
-
draft.transactionDetailById[key] = {
|
|
699
|
-
...detail,
|
|
700
|
-
transactionDetailLocalData: {
|
|
701
|
-
...detail.transactionDetailLocalData,
|
|
702
|
-
lineItemById: updated,
|
|
703
|
-
deletedLineIds: [...deletedLineIds, action.payload.lineId],
|
|
704
|
-
},
|
|
705
|
-
};
|
|
706
|
-
},
|
|
707
|
-
prepare(transactionId, lineId) {
|
|
708
|
-
return { payload: { transactionId, lineId } };
|
|
709
|
-
},
|
|
710
|
-
},
|
|
711
|
-
toggleSplitEditMode: {
|
|
712
|
-
reducer(draft, action) {
|
|
713
|
-
const key = getTransactionDetailKey(action.payload.transactionId);
|
|
714
|
-
const detail = recordGet(draft.transactionDetailById, key, undefined);
|
|
715
|
-
if (detail != null) {
|
|
716
|
-
draft.transactionDetailById[key] = {
|
|
717
|
-
...detail,
|
|
718
|
-
transactionDetailLocalData: {
|
|
719
|
-
...detail.transactionDetailLocalData,
|
|
720
|
-
editMode: action.payload.editMode,
|
|
721
|
-
// Clear delete tracking when exiting edit mode without saving.
|
|
722
|
-
...(!action.payload.editMode && { deletedLineIds: [] }),
|
|
723
|
-
},
|
|
724
|
-
};
|
|
725
|
-
}
|
|
726
|
-
},
|
|
727
|
-
prepare(transactionId, editMode) {
|
|
728
|
-
return { payload: { transactionId, editMode } };
|
|
729
|
-
},
|
|
730
|
-
},
|
|
731
666
|
clearRecommendedVendorsList(draft) {
|
|
732
667
|
Object.assign(draft, initialState);
|
|
733
668
|
},
|
|
@@ -836,7 +771,7 @@ const transactionDetail = createSlice({
|
|
|
836
771
|
},
|
|
837
772
|
},
|
|
838
773
|
});
|
|
839
|
-
export const { downloadAccountingProviderAttachment, downloadAccountingProviderAttachmentSuccess, downloadAccountingProviderAttachmentFailure, fetchTransactionDetail, updateTransactionDetailFetchState, removeTransactionDetail, clearTransactionDetail, uploadMissingAttachmentSuccess, updateTransactionDetail, updateTransactionDetailSaveStatus, clearTransactionDetailSaveStatus, markTransactionAsNotMiscategorized, deleteTransactionAttachment, deleteTransactionAttachmentFailure, deleteTransactionAttachmentSuccess, updateStatusForTransactionNotMiscategorizedUpdate, updateStatusConsolidatedSaveTransactionDetail, updateTransactionStateIfUpdateActionNotAllowed, saveTransactionDetail, initializeTransactionDetailLocalData, saveTransactionDetailLocalData, clearTransactionDetailLocalData, resetLineItemsCategoryClassInLocalData, setAllLineItemsToCategoryClassInLocalData, setAllLineItemsLocalDataIsUpdateAllChecked, setEntityRecommendationForLineIdsForTransactionDetail, markCategoryClassRecommendationsInProgressForTransactionDetail, markCategoryClassRecommendationsCompletedForTransactionDetail, markCategoryClassRecommendationsFailureForTransactionDetail, removeEntityRecommendationForLineIdForTransactionDetail, updateSelectedVendor, updateSelectedCustomer, resetVendor, resetSelectedCustomer, updateLocalDataWithTransactionsUpdateWithVendorCheckbox, updateVendorToAllLineItems, resetAllLineItemsToVendor, updateLatestSelectedEntity, updateVendorBulkRecommendationsFetchStatus, setIsVendorUpdateAllChecked,
|
|
774
|
+
export const { downloadAccountingProviderAttachment, downloadAccountingProviderAttachmentSuccess, downloadAccountingProviderAttachmentFailure, fetchTransactionDetail, updateTransactionDetailFetchState, removeTransactionDetail, clearTransactionDetail, uploadMissingAttachmentSuccess, updateTransactionDetail, updateTransactionDetailSaveStatus, clearTransactionDetailSaveStatus, markTransactionAsNotMiscategorized, deleteTransactionAttachment, deleteTransactionAttachmentFailure, deleteTransactionAttachmentSuccess, updateStatusForTransactionNotMiscategorizedUpdate, updateStatusConsolidatedSaveTransactionDetail, updateTransactionStateIfUpdateActionNotAllowed, saveTransactionDetail, initializeTransactionDetailLocalData, saveTransactionDetailLocalData, clearTransactionDetailLocalData, resetLineItemsCategoryClassInLocalData, setAllLineItemsToCategoryClassInLocalData, setAllLineItemsLocalDataIsUpdateAllChecked, setEntityRecommendationForLineIdsForTransactionDetail, markCategoryClassRecommendationsInProgressForTransactionDetail, markCategoryClassRecommendationsCompletedForTransactionDetail, markCategoryClassRecommendationsFailureForTransactionDetail, removeEntityRecommendationForLineIdForTransactionDetail, updateSelectedVendor, updateSelectedCustomer, resetVendor, resetSelectedCustomer, updateLocalDataWithTransactionsUpdateWithVendorCheckbox, updateVendorToAllLineItems, resetAllLineItemsToVendor, updateLatestSelectedEntity, updateVendorBulkRecommendationsFetchStatus, setIsVendorUpdateAllChecked, } = transactionDetail.actions;
|
|
840
775
|
export default transactionDetail.reducer;
|
|
841
776
|
function getUpdatedEntityLocalData(detail, updates, entity, resetRecommendations, type) {
|
|
842
777
|
const key = type === 'customer' ? 'customerUpdates' : 'vendorUpdates';
|
package/lib/index.d.ts
CHANGED
|
@@ -256,7 +256,7 @@ import { CompanyPassportLocalStoreDataView, CompanyPassportView, getCompanyPassp
|
|
|
256
256
|
import { CompanyPortfolioView, getCompanyPortfolioView, isInfiniteRunway } from './view/companyView/selector/companyPortfolioViewSelector';
|
|
257
257
|
import { AllCockpitTabsView, getAllCockpitTabsFilterView } from './view/companyView/selector/getAllCockpitTabsFilterView';
|
|
258
258
|
import { ALL_COCKPIT_TABS_FILE_TYPES, ALL_COCKPIT_TABS_IDS, CockpitDownloadTabsID, CockpitTabsFileType, CockpitTabsID, toCockpitTabsFileTypeStrict, toCockpitTabsIDStrict } from './view/companyView/types/cockpitTabsID';
|
|
259
|
-
import { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthMonitorViewFilterCategoryField, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField,
|
|
259
|
+
import { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthMonitorViewFilterCategoryField, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField, TaskManagerViewFilterCategoryField, TaskManagerViewSortKey, toHealthSortKeyType, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toTaskManagerSortKeyType } from './view/companyView/types/cockpitTypes';
|
|
260
260
|
import { ManagementUIState } from './view/companyView/types/companyManagementViewState';
|
|
261
261
|
import { CompanyDetailsLocalData, CompanyInfoLocalData, IncInfoLocalData, TaxDetailsLocalData } from './view/companyView/types/companyPassport/companyDetailsLocalData';
|
|
262
262
|
import { CompanyPassportLocalData, toCompanyPassportLocalData } from './view/companyView/types/companyPassport/companyPassportLocalData';
|
|
@@ -563,15 +563,15 @@ import { TagViewState } from './view/tagView/tagViewState';
|
|
|
563
563
|
import { CannedResponse, CannedResponsesViewState } from './view/taskManager/cannedResponsesView/cannedResponses';
|
|
564
564
|
import { deleteCannedResponse, fetchCannedResponses, saveCannedResponse } from './view/taskManager/cannedResponsesView/cannedResponsesReducer';
|
|
565
565
|
import { getCannedResponsesView } from './view/taskManager/cannedResponsesView/cannedResponsesSelector';
|
|
566
|
-
import {
|
|
567
|
-
import { archiveTask,
|
|
566
|
+
import { EditTaskLocalData, initialTaskDetail, initialTaskDetailLocalData } from './view/taskManager/taskDetailView/taskDetail';
|
|
567
|
+
import { archiveTask, deleteTask, discardTaskUpdatesInLocalStore, fetchTaskDetailPage, saveTaskDetail, saveTaskUpdatesToLocalStore, snoozeTask, unsnoozeTask } from './view/taskManager/taskDetailView/taskDetailReducer';
|
|
568
568
|
import { TaskDetailSelectorView, allTaskPriority, allTaskStatus, getTaskDetail } from './view/taskManager/taskDetailView/taskDetailSelector';
|
|
569
569
|
import { createTaskFromTaskGroupTemplate } from './view/taskManager/taskGroupTemplateView/taskGroupTemplateViewReducer';
|
|
570
570
|
import { createNewTaskGroup, deleteTaskGroup, fetchAllTaskGroups, updateTaskGroupName } from './view/taskManager/taskGroupView/taskGroupViewReducer';
|
|
571
571
|
import { ALL_TASK_LIST_TABS, DueDateGroupKey, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, TaskFilterCategory, TaskGroupKey, TaskListFilterCategoryField, TaskListFilters, TaskListLocalData, TaskListTab, TaskListUIState, TaskListViewSortKey, toDueDateGroupKeyType, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict } from './view/taskManager/taskListView/taskList';
|
|
572
572
|
import { bulkUpdateTaskList, dragNDropTasks, fetchTaskListPage, initiateTaskListLocalData, removeTaskFromList, updateTaskFilters, updateTaskFromListView, updateTaskListLocalData, updateTaskListSearchText, updateTaskListTab, updateTaskListUIState } from './view/taskManager/taskListView/taskListReducer';
|
|
573
573
|
import { TaskGroupWithTasksList, TaskListSelectorView, TaskWithUserDetails, getAllTasks } from './view/taskManager/taskListView/taskListSelector';
|
|
574
|
-
import {
|
|
574
|
+
import { getDueDateValueFromDueDateGroupId, getTaskUpdates } from './view/taskManager/taskListView/taskListViewHelpers';
|
|
575
575
|
import { fetchTasksCard } from './view/tasksCard/tasksCardReducer';
|
|
576
576
|
import { TasksCardReport } from './view/tasksCard/tasksCardSelector';
|
|
577
577
|
import { fetchTopEx, updateTopExDownloadState, updateTopExTimeFrame } from './view/topEx/topExReducer';
|
|
@@ -582,9 +582,9 @@ import { TopExAccount, TopExReport, TopExTimePeriodWithMetaData, TopExpenses } f
|
|
|
582
582
|
*/
|
|
583
583
|
import { TOP_EX_TIME_PERIODS, TopExTimePeriod, TopExpense } from './view/topEx/topExState';
|
|
584
584
|
import { AccountingProviderAttachmentSelector, getAccountingProviderAttachment } from './view/transactionDetail/getAccountingProviderAttachmentSelector';
|
|
585
|
-
import { JOURNAL_ENTRY_SORT_KEYS, JournalEntryRowSortConfig, JournalEntrySortAccessors, JournalEntrySortKey, filterJournalEntryLinesExcludingLinked, journalEntryDefaultSortConfig,
|
|
585
|
+
import { JOURNAL_ENTRY_SORT_KEYS, JournalEntryRowSortConfig, JournalEntrySortAccessors, JournalEntrySortKey, filterJournalEntryLinesExcludingLinked, journalEntryDefaultSortConfig, journalEntryTotalsByPostingSide, sortJournalEntryLines, sumJournalEntryAmounts, toJournalEntrySortKey } from './view/transactionDetail/journalEntryLinesViewModel';
|
|
586
586
|
import { getChangedLineItemCountFromLocalData, isAccountUncategorized } from './view/transactionDetail/transactionDetailLocalDataHelper';
|
|
587
|
-
import {
|
|
587
|
+
import { clearTransactionDetailSaveStatus, deleteTransactionAttachment, downloadAccountingProviderAttachment, downloadAccountingProviderAttachmentFailure, downloadAccountingProviderAttachmentSuccess, fetchTransactionDetail, initializeTransactionDetailLocalData, markCategoryClassRecommendationsFailureForTransactionDetail, removeEntityRecommendationForLineIdForTransactionDetail, resetAllLineItemsToVendor, resetLineItemsCategoryClassInLocalData, resetSelectedCustomer, resetVendor, saveTransactionDetail, saveTransactionDetailLocalData, setAllLineItemsLocalDataIsUpdateAllChecked, setAllLineItemsToCategoryClassInLocalData, setIsVendorUpdateAllChecked, updateLatestSelectedEntity, updateLocalDataWithTransactionsUpdateWithVendorCheckbox, updateSelectedCustomer, updateSelectedVendor, updateTransactionDetail, updateVendorBulkRecommendationsFetchStatus, updateVendorToAllLineItems, uploadMissingAttachmentSuccess } from './view/transactionDetail/transactionDetailReducer';
|
|
588
588
|
import { TransactionDetailReport, VendorDetailsView, getInitialUpdatablePeriodsForTransactionRecommendations, getTransactionDetail, getTransactionDetailForTransaction } from './view/transactionDetail/transactionDetailSelector';
|
|
589
589
|
import { TransactionUpdates, getThirdPartyIdFromTransactionId } from './view/transactionDetail/transactionDetailState';
|
|
590
590
|
import { TransactionDetailLineItemData, TransactionDetailLocalData, TransactionVendorUpdates } from './view/transactionDetail/transactionDetailTypes';
|
|
@@ -743,7 +743,7 @@ export { MatchedTransaction };
|
|
|
743
743
|
export { SupportedTransaction, SupportedTransactionWithCOT, SupportedTransactionPayload, getSupportedTransactionById, };
|
|
744
744
|
export { clearTransactionList, updateLatestTransactionId, parallelFetchAccountTransactionList, parallelFetchEntityTransactionList, fetchAccountTransactionList, updateTransactionListByAccount, updateTransactionListByAccountFailure, updateTransactionListByAccountUIState, parallelFetchClassTransactionList, updateTransactionListByClassUIState, updateTransactionListByClass, parallelFetchProjectTransactionList, updateTransactionListByProjectUIState, updateTransactionListByProject, updateTransactionListUIStateByCategoryType, parallelFetchTransactionListByCategoryType, };
|
|
745
745
|
export { TransactionListByAccountReport, getTransactionListByAccount, getTransactionListUIStateByAccountKey, };
|
|
746
|
-
export { fetchEntityTransactionList, updateTransactionListByEntity, saveTransactionDetailLocalData, clearTransactionDetailSaveStatus, updateTransactionListByEntityFailure, resetLineItemsCategoryClassInLocalData, setAllLineItemsToCategoryClassInLocalData, saveTransactionDetail, setAllLineItemsLocalDataIsUpdateAllChecked, initializeTransactionDetailLocalData, markCategoryClassRecommendationsFailureForTransactionDetail, removeEntityRecommendationForLineIdForTransactionDetail, updateSelectedVendor, updateSelectedCustomer, resetSelectedCustomer, resetVendor, updateLocalDataWithTransactionsUpdateWithVendorCheckbox, updateVendorToAllLineItems, resetAllLineItemsToVendor, updateLatestSelectedEntity, updateVendorBulkRecommendationsFetchStatus, setIsVendorUpdateAllChecked,
|
|
746
|
+
export { fetchEntityTransactionList, updateTransactionListByEntity, saveTransactionDetailLocalData, clearTransactionDetailSaveStatus, updateTransactionListByEntityFailure, resetLineItemsCategoryClassInLocalData, setAllLineItemsToCategoryClassInLocalData, saveTransactionDetail, setAllLineItemsLocalDataIsUpdateAllChecked, initializeTransactionDetailLocalData, markCategoryClassRecommendationsFailureForTransactionDetail, removeEntityRecommendationForLineIdForTransactionDetail, updateSelectedVendor, updateSelectedCustomer, resetSelectedCustomer, resetVendor, updateLocalDataWithTransactionsUpdateWithVendorCheckbox, updateVendorToAllLineItems, resetAllLineItemsToVendor, updateLatestSelectedEntity, updateVendorBulkRecommendationsFetchStatus, setIsVendorUpdateAllChecked, };
|
|
747
747
|
export { TransactionUpdates, downloadAccountingProviderAttachment, downloadAccountingProviderAttachmentSuccess, downloadAccountingProviderAttachmentFailure, fetchTransactionDetail, updateTransactionDetail, uploadMissingAttachmentSuccess, deleteTransactionAttachment, getThirdPartyIdFromTransactionId, };
|
|
748
748
|
export { TransactionListByEntityView, getTransactionListByEntity };
|
|
749
749
|
export { TransactionListByClassReport, getTransactionListByClass, getTransactionListUIStateByClassKey, TransactionListByProjectReport, getTransactionListByProject, getTransactionListUIStateByProjectKey, getTransactionListByEntityForSinglePeriod, };
|
|
@@ -784,7 +784,7 @@ export { AllCockpitTabsView, getAllCockpitTabsFilterView };
|
|
|
784
784
|
export { AuditSummaryData, fetchImproveUsingZeniGPT, fetchCompanyMonthEndReportView, sendCompanyMonthEndReport, saveCompanyMonthEndReport, resetCompanyMonthEndReportFetchStatus, resetSendCompanyMonthEndReportFetchStatus, getCompanyMonthEndReportSelectorView, CompanyMonthEndReportSelectorView, fetchCompanyMonthEndReportHistoricDates, fetchCompanyMonthEndReportHistoricData, fetchCompanyMonthEndReportTemplates, getCompanyMonthEndReportHistoricData, CompanyMonthEndReportHistoricDataSelectorView, CompanyMonthEndReportData, TemplatesList, CompanyMonthReportTemplates, };
|
|
785
785
|
export { Runway, AccountingSummary };
|
|
786
786
|
export { newAddressInLocalStore, getAddress, getNewAddress, getAllNewAddresses, getFormattedAddress, fetchAddress, clearAddressView, AddressType, NewAddressData, AddressUpdatableInfo, createAddress, removeNewAddressDataInLocalStore, };
|
|
787
|
-
export { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, HealthMonitorViewFilterCategoryField, TaskManagerViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toHealthSortKeyType,
|
|
787
|
+
export { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, HealthMonitorViewFilterCategoryField, TaskManagerViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toHealthSortKeyType, TaskManagerViewSortKey, toTaskManagerSortKeyType, updateCompanyTaskManagerViewFilters, };
|
|
788
788
|
export { CockpitDownloadTabsID, CockpitTabsFileType, CockpitTabsID, ALL_COCKPIT_TABS_FILE_TYPES, ALL_COCKPIT_TABS_IDS, toCockpitTabsIDStrict, toCockpitTabsFileTypeStrict, };
|
|
789
789
|
export { AllowedValueWithCode, AllowedValue, AllowedValueWithID, isAllowedValueWithCode, isAllowedValueWithID, };
|
|
790
790
|
export { ManagementUIState, PortfolioUIState };
|
|
@@ -843,7 +843,7 @@ export { fetchCompanyOnboardingView, fetchQBOConnectionPool, updateQBOConnection
|
|
|
843
843
|
export { TransactionListByCategoryType, getTransactionsListByCategoryType, getTransactionListUIStateByCategoryType, TransactionCategoryType, };
|
|
844
844
|
export { TransactionDetailLocalData, TransactionDetailLineItemData, TransactionVendorUpdates, };
|
|
845
845
|
export { getChangedLineItemCountFromLocalData, isAccountUncategorized };
|
|
846
|
-
export { JOURNAL_ENTRY_SORT_KEYS, filterJournalEntryLinesExcludingLinked, journalEntryDefaultSortConfig, journalEntryTotalsByPostingSide,
|
|
846
|
+
export { JOURNAL_ENTRY_SORT_KEYS, filterJournalEntryLinesExcludingLinked, journalEntryDefaultSortConfig, journalEntryTotalsByPostingSide, sortJournalEntryLines, sumJournalEntryAmounts, toJournalEntrySortKey, };
|
|
847
847
|
export type { JournalEntryRowSortConfig, JournalEntrySortAccessors, JournalEntrySortKey, };
|
|
848
848
|
export { openSnackbar, closeSnackbar, getSnackbar, SnackbarMessageType, SnackbarMessageSections, SnackbarMessageSectionTexts, SnackbarMessageConfig, };
|
|
849
849
|
export { getSpendManagementEffectiveListPeriod, getSelectedCompanyOfficer, showBillPayPromoPage, showReimbursementPromoPage, getActualPaymentDate, isVerifiedStatusCode, isVerifiedPaymentAccountProviderStatusCode, isBulkProcessing, getBillListUniqueType, getRemiListUniqueType, BulkOperationType, BulkOperationFinishedType, getBulkOperationSuffix, ZeniAccountsPromoConfig, toAccountsPromoConfig, SameDayAchDisablementConfig, toSameDayAchDisablementConfig, isPaymentMethodOutsideZeni, isAwaitingMarkAsPaid, checkIfLowBalance, };
|
|
@@ -893,7 +893,7 @@ export { fetchGlobalMerchantRecommendation, createGlobalMerchant, updateCreateGl
|
|
|
893
893
|
export { approveVendorGlobalReview, rejectVendorGlobalReview, fetchVendorGlobalReviewView, updateSelectedGlobalMerchant, updateVendorGlobalReviewViewUIState, getVendorGlobalReviewView, getTenantMerchantByMerchantId, toVendorGlobalReviewColumnSortKeyType, VendorGlobalReview, VendorGlobalReviewViewUIState, VendorGlobalReviewViewColumnSortKey, VendorGlobalReviewViewSelectorView, VendorGlobalReviewViewState, VendorGlobalReviewViewLocalData, updateVendorGlobalReviewViewLocalData, GlobalReviewPageCurrentSelectionByColumn, GlobalRecommendationFetchSource, };
|
|
894
894
|
export { fetchArAging, updateArAgingUIState, fetchArAgingDetail, updateArAgingDetailUIState, ArAgingReport, ArAgingDetail, NestedAgingBalancesByCustomer, getArAgingReport, getArAgingDetailForCustomer, updateArAgingNodeCollapseState, };
|
|
895
895
|
export { toRecurringBillFrequency, toRecurringBillFrequencyStrict, RecurringBillFrequency, RecurringBillDetail, RecurringBillConfig, RecurringBillStatus, RecurringBillPaymentStatus, };
|
|
896
|
-
export { Task, TaskPayload, TaskListSelectorView, TaskWithUserDetails, TaskListViewSortKey, TaskListUIState, TaskDetailSelectorView, EditTaskLocalData, TaskStatusCodeType, PriorityCodeType, getTaskGroupById, TaskStatus, TaskPriority, TaskCodeType, getAllTasks, fetchTaskListPage, getTaskDetail, fetchTaskDetailPage, saveTaskUpdatesToLocalStore, saveTaskDetail,
|
|
896
|
+
export { Task, TaskPayload, TaskListSelectorView, TaskWithUserDetails, TaskListViewSortKey, TaskListUIState, TaskDetailSelectorView, EditTaskLocalData, TaskStatusCodeType, PriorityCodeType, getTaskGroupById, TaskStatus, TaskPriority, TaskCodeType, getAllTasks, fetchTaskListPage, getTaskDetail, fetchTaskDetailPage, saveTaskUpdatesToLocalStore, saveTaskDetail, archiveTask, CannedResponse, CannedResponsesViewState, fetchCannedResponses, saveCannedResponse, deleteCannedResponse, getCannedResponsesView, updateTaskListSearchText, updateTaskListUIState, allTaskStatus, allTaskPriority, TaskListFilters, updateTaskFilters, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, TaskListFilterCategoryField, deleteTask, discardTaskUpdatesInLocalStore, TaskFilterCategory, TaskType, TaskGroupWithTasksList, TaskListLocalData, bulkUpdateTaskList, createNewTaskGroup, initiateTaskListLocalData, deleteTaskGroup, updateTaskListLocalData, dragNDropTasks, updateTaskGroupName, TaskGroupState, TaskGroupKey, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict, getTaskUpdates, fetchAllTaskGroups, initialTaskDetail, getDueDateValueFromDueDateGroupId, toPriorityCodeType, toTaskStatusCodeType, DueDateGroupKey, toDueDateGroupKeyType, updateTaskFromListView, updateTaskListTab, removeTaskFromList, snoozeTask, unsnoozeTask, convertHHMMStrToMinutes, initialTaskDetailLocalData, TaskListTab, ALL_TASK_LIST_TABS, };
|
|
897
897
|
export { Tag, TagState, TagViewState, getAllTags, TagViewSelectorView, fetchTagList, createTag, deleteTag, };
|
|
898
898
|
export { CardPayment, CardPaymentViewState, SetupIntentData, CardPaymentSelectorView, getAllCardsAndBankPaymentMethods, createCardSetupIntent, confirmCardSetupIntent, addCardPaymentSource, fetchPaymentSources, resetCardPaymentErrorStatuses, clearCardPaymentView, AddCardPaymentSourceType, };
|
|
899
899
|
export { getAuditReportGroupViewSelectorView, getAuditRuleGroupViewSelectorView, getUserFromAllUsers, AuditReportGroupSelectorView, AuditReportGroupViewSelectorView, AuditRuleGroupViewSelectorView, fetchAuditRuleGroupView, fetchAuditReportGroupView, saveReasonForAuditRule, AuditRuleGroup, AuditRuleGroupReport, AuditReportRule, AuditRuleEntityType, AuditRuleEntityIdType, AuditRuleBypassReason, clearAuditReportGroupViewByCompanyId, };
|
|
@@ -920,10 +920,9 @@ export { AiAccountantCustomerViewState, AiAccountantSortKey, AiAccountantUIState
|
|
|
920
920
|
export { AiAccountantFilterCategoryField } from './view/companyView/types/cockpitTypes';
|
|
921
921
|
export { cancelAiAccountantOnboarding, clearAiAccountantView, fetchAiAccountantCustomers, fetchAiAccountantJobs, setSelectedTenantIdsForJobTrigger, triggerAiAccountantJob, updateAiAccountantUIState, } from './view/aiAccountantView/aiAccountantViewReducer';
|
|
922
922
|
export { AiAccountantCockpitView, getAiAccountantCockpitView, } from './view/aiAccountantView/aiAccountantViewSelector';
|
|
923
|
-
export { fetchChatSessionsForUser, createSession, submitQuestion, updateAiCfoViewScrollPosition, updateCurrentInput, updateCotCollapsedState, clearInput, setSession, clearAiCfoView, clearCurrentSessionId, clearDeleteChatSessionStatus, clearLastContextMessage, createSessionAndSubmit, stopSubmit, stopSubmitQuestion, fetchChatHistory, acceptMasterTOS, deleteChatSession,
|
|
923
|
+
export { fetchChatSessionsForUser, createSession, submitQuestion, updateAiCfoViewScrollPosition, updateCurrentInput, updateCotCollapsedState, clearInput, setSession, clearAiCfoView, clearCurrentSessionId, clearDeleteChatSessionStatus, clearLastContextMessage, createSessionAndSubmit, stopSubmit, stopSubmitQuestion, fetchChatHistory, acceptMasterTOS, deleteChatSession, updateResponseState, fetchSuggestedQuestions, fetchSuggestedQuestionsSuccess, fetchSuggestedQuestionsFailure, fetchSkills, fetchSkillsSuccess, fetchSkillsFailure, applyAiCfoSidePanelHostPageTransition, clearAiCfoSidePanelHostPageContext, } from './view/aiCfoView/aiCfoViewReducer';
|
|
924
924
|
export { AiCfoViewState, AiCfoViewUIState, Skill, SkillsState, SuggestedQuestionsForPageContext, } from './view/aiCfoView/aiCfoViewState';
|
|
925
925
|
export { FetchSuggestedQuestionsResponse, SuggestedQuestionsDataPayload, FetchSkillsResponse, SkillSummaryPayload, SkillListDataPayload, } from './view/aiCfoView/aiCfoViewPayload';
|
|
926
|
-
export type { FeedbackType, SubmitFeedbackPayload, } from './view/aiCfoView/aiCfoViewPayload';
|
|
927
926
|
export type { AiCfoSuggestedQuestionsPageContext } from './common/aiCfo/aiCfoSuggestedQuestionsPageContext';
|
|
928
927
|
export { AiCfoViewSelector, getAiCfoView, getSuggestedQuestionsForPageContext, getSkills, } from './view/aiCfoView/aiCfoViewSelector';
|
|
929
928
|
export { MessagePayload, ChatSessionPayload, AiCfoAnswerPayload, } from './entity/aiCfo/aiCfoPayload';
|