@zeniai/client-epic-state 4.19.90-betaSS6 → 4.19.90
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/aiCfo/aiCfoSelector.d.ts +2 -1
- package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -1
- package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +1 -36
- package/lib/entity/jeSchedules/jeSchedulesPayload.js +5 -54
- package/lib/entity/jeSchedules/jeSchedulesReducer.d.ts +2 -2
- package/lib/entity/jeSchedules/jeSchedulesReducer.js +2 -2
- package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +1 -2
- package/lib/entity/jeSchedules/jeSchedulesSelector.js +1 -2
- package/lib/entity/jeSchedules/jeSchedulesState.d.ts +2 -14
- package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +3 -7
- package/lib/entity/jeSchedules/jeSchedulesTypes.js +1 -3
- package/lib/entity/reimbursement/reimbursementPayload.d.ts +1 -1
- package/lib/entity/reimbursement/reimbursementPayload.js +1 -1
- package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -3
- package/lib/entity/transaction/payloadTypes/transactionPayload.js +0 -11
- package/lib/entity/transaction/stateTypes/transaction.d.ts +0 -3
- package/lib/entity/transaction/transactionReducer.js +2 -3
- package/lib/entity/transaction/transactionSelector.d.ts +2 -2
- package/lib/entity/transaction/transactionState.d.ts +2 -3
- package/lib/epic.d.ts +1 -2
- package/lib/epic.js +1 -2
- package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +5 -54
- package/lib/esm/entity/jeSchedules/jeSchedulesReducer.js +3 -3
- package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +1 -2
- package/lib/esm/entity/jeSchedules/jeSchedulesTypes.js +0 -1
- package/lib/esm/entity/reimbursement/reimbursementPayload.js +1 -1
- package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +0 -11
- package/lib/esm/entity/transaction/transactionReducer.js +2 -3
- package/lib/esm/epic.js +1 -2
- package/lib/esm/index.js +7 -8
- package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +1 -82
- package/lib/esm/view/aiCfoView/aiCfoViewSelector.js +2 -8
- package/lib/esm/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +13 -21
- package/lib/esm/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +3 -50
- package/lib/esm/view/expenseAutomationView/types/jeSchedulesViewState.js +1 -17
- package/lib/esm/view/scheduleView/scheduleDetailView/epics/fetchScheduleDetailsEpic.js +7 -2
- package/lib/esm/view/scheduleView/scheduleListView/scheduleListReducer.js +7 -2
- package/lib/esm/view/spendManagement/billPay/billList/billListSelector.js +0 -10
- package/lib/esm/view/spendManagement/billPay/billList/billListState.js +0 -1
- package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +0 -1
- package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +0 -2
- package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListSelector.js +0 -12
- package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListState.js +0 -1
- package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
- package/lib/index.d.ts +9 -12
- package/lib/index.js +32 -42
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -0
- package/lib/view/aiCfoView/aiCfoViewPayload.d.ts +0 -7
- package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +1 -15
- package/lib/view/aiCfoView/aiCfoViewReducer.js +2 -83
- package/lib/view/aiCfoView/aiCfoViewSelector.d.ts +1 -4
- package/lib/view/aiCfoView/aiCfoViewSelector.js +2 -9
- package/lib/view/aiCfoView/aiCfoViewState.d.ts +1 -18
- package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +13 -13
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +13 -21
- package/lib/view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes.d.ts +0 -2
- package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +3 -50
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.d.ts +0 -5
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.js +0 -19
- package/lib/view/scheduleView/scheduleDetailView/epics/fetchScheduleDetailsEpic.js +7 -2
- package/lib/view/scheduleView/scheduleDetailView/scheduleDetailReducer.d.ts +4 -4
- package/lib/view/scheduleView/scheduleListView/scheduleListReducer.js +6 -1
- package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListSelector.js +0 -10
- package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListState.js +0 -1
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +0 -1
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +0 -2
- package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.d.ts +0 -1
- package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.js +0 -12
- package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +1 -1
- package/lib/view/spendManagement/reimbursement/remiListView/remiListState.js +0 -1
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
- package/package.json +2 -2
- package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +0 -29
- package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +0 -8
- package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +0 -33
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
-
function removeSessionIdFromPageKeyMap(draft, sessionId) {
|
|
3
|
-
const map = draft.uiState.chatSessionIdByPageKey;
|
|
4
|
-
for (const key of Object.keys(map)) {
|
|
5
|
-
if (map[key] === sessionId) {
|
|
6
|
-
delete map[key];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
function mirrorCurrentSessionToPageKeyMapIfActive(draft) {
|
|
11
|
-
const key = draft.uiState.aiCfoSidePanelHostPageKey;
|
|
12
|
-
const sessionId = draft.uiState.currentChatSessionId;
|
|
13
|
-
if (key != null && sessionId != null) {
|
|
14
|
-
draft.uiState.chatSessionIdByPageKey[key] = sessionId;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
2
|
export const initialAiCfoViewState = {
|
|
18
3
|
fetchState: 'Not-Started',
|
|
19
4
|
error: undefined,
|
|
@@ -21,8 +6,6 @@ export const initialAiCfoViewState = {
|
|
|
21
6
|
currentInput: '',
|
|
22
7
|
scrollPositionByChatSessionId: {},
|
|
23
8
|
currentChatSessionId: undefined,
|
|
24
|
-
aiCfoSidePanelHostPageKey: undefined,
|
|
25
|
-
chatSessionIdByPageKey: {},
|
|
26
9
|
agentId: undefined,
|
|
27
10
|
chatHistoryNextPageToken: {},
|
|
28
11
|
chatSessionsNextPageToken: { nextPageToken: null, hasMore: false },
|
|
@@ -46,7 +29,6 @@ export const initialAiCfoViewState = {
|
|
|
46
29
|
fetchChatSessionHistoryByChatSessionId: {},
|
|
47
30
|
responseStateByChatSessionId: {},
|
|
48
31
|
stopSubmitStateByChatSessionId: {},
|
|
49
|
-
suggestedQuestionsByPageContext: {},
|
|
50
32
|
};
|
|
51
33
|
const aiCfoView = createSlice({
|
|
52
34
|
name: 'aiCfoView',
|
|
@@ -180,7 +162,6 @@ const aiCfoView = createSlice({
|
|
|
180
162
|
setSession(draft, action) {
|
|
181
163
|
draft.uiState.currentChatSessionId = action.payload.sessionId;
|
|
182
164
|
draft.uiState.agentId = action.payload.agentId;
|
|
183
|
-
mirrorCurrentSessionToPageKeyMapIfActive(draft);
|
|
184
165
|
},
|
|
185
166
|
createSession: {
|
|
186
167
|
reducer(draft, action) {
|
|
@@ -204,7 +185,6 @@ const aiCfoView = createSlice({
|
|
|
204
185
|
nextPageToken: null,
|
|
205
186
|
hasMore: false,
|
|
206
187
|
};
|
|
207
|
-
mirrorCurrentSessionToPageKeyMapIfActive(draft);
|
|
208
188
|
},
|
|
209
189
|
createSessionFailure(draft, action) {
|
|
210
190
|
draft.createSessionState.fetchState = 'Error';
|
|
@@ -242,7 +222,6 @@ const aiCfoView = createSlice({
|
|
|
242
222
|
nextPageToken: null,
|
|
243
223
|
hasMore: false,
|
|
244
224
|
};
|
|
245
|
-
mirrorCurrentSessionToPageKeyMapIfActive(draft);
|
|
246
225
|
},
|
|
247
226
|
createSessionAndSubmitSuccess(draft) {
|
|
248
227
|
// Note: currentChatSessionId, agentId, and chatHistoryNextPageToken are set by initializeNewSessionState
|
|
@@ -359,7 +338,6 @@ const aiCfoView = createSlice({
|
|
|
359
338
|
draft.uiState.currentChatSessionId = undefined;
|
|
360
339
|
draft.uiState.agentId = undefined;
|
|
361
340
|
}
|
|
362
|
-
removeSessionIdFromPageKeyMap(draft, chatSessionId);
|
|
363
341
|
delete draft.uiState.chatHistoryNextPageToken[chatSessionId];
|
|
364
342
|
delete draft.uiState.scrollPositionByChatSessionId[chatSessionId];
|
|
365
343
|
delete draft.fetchChatSessionHistoryByChatSessionId[chatSessionId];
|
|
@@ -382,65 +360,6 @@ const aiCfoView = createSlice({
|
|
|
382
360
|
},
|
|
383
361
|
clearCurrentSessionId(draft) {
|
|
384
362
|
draft.uiState.currentChatSessionId = undefined;
|
|
385
|
-
const key = draft.uiState.aiCfoSidePanelHostPageKey;
|
|
386
|
-
if (key != null) {
|
|
387
|
-
delete draft.uiState.chatSessionIdByPageKey[key];
|
|
388
|
-
}
|
|
389
|
-
},
|
|
390
|
-
applyAiCfoSidePanelHostPageTransition(draft, action) {
|
|
391
|
-
const { newAiCfoSidePanelHostPageKey, nextCurrentChatSessionId } = action.payload;
|
|
392
|
-
const prevKey = draft.uiState.aiCfoSidePanelHostPageKey;
|
|
393
|
-
const curId = draft.uiState.currentChatSessionId;
|
|
394
|
-
if (prevKey != null &&
|
|
395
|
-
prevKey !== newAiCfoSidePanelHostPageKey &&
|
|
396
|
-
curId != null) {
|
|
397
|
-
draft.uiState.chatSessionIdByPageKey[prevKey] = curId;
|
|
398
|
-
}
|
|
399
|
-
draft.uiState.aiCfoSidePanelHostPageKey = newAiCfoSidePanelHostPageKey;
|
|
400
|
-
draft.uiState.currentChatSessionId =
|
|
401
|
-
nextCurrentChatSessionId != null ? nextCurrentChatSessionId : undefined;
|
|
402
|
-
draft.uiState.currentInput = '';
|
|
403
|
-
mirrorCurrentSessionToPageKeyMapIfActive(draft);
|
|
404
|
-
},
|
|
405
|
-
clearAiCfoSidePanelHostPageContext(draft) {
|
|
406
|
-
const key = draft.uiState.aiCfoSidePanelHostPageKey;
|
|
407
|
-
const curId = draft.uiState.currentChatSessionId;
|
|
408
|
-
if (key != null && curId != null) {
|
|
409
|
-
draft.uiState.chatSessionIdByPageKey[key] = curId;
|
|
410
|
-
}
|
|
411
|
-
draft.uiState.aiCfoSidePanelHostPageKey = undefined;
|
|
412
|
-
},
|
|
413
|
-
fetchSuggestedQuestions(draft, action) {
|
|
414
|
-
const { pageContext } = action.payload;
|
|
415
|
-
const prev = draft.suggestedQuestionsByPageContext[pageContext];
|
|
416
|
-
draft.suggestedQuestionsByPageContext[pageContext] = {
|
|
417
|
-
fetchState: 'In-Progress',
|
|
418
|
-
pageContext,
|
|
419
|
-
suggestedQuestions: prev?.suggestedQuestions ?? [],
|
|
420
|
-
generatedAt: prev?.generatedAt,
|
|
421
|
-
error: undefined,
|
|
422
|
-
};
|
|
423
|
-
},
|
|
424
|
-
fetchSuggestedQuestionsSuccess(draft, action) {
|
|
425
|
-
const { pageContext, generatedAt, suggestedQuestions } = action.payload;
|
|
426
|
-
draft.suggestedQuestionsByPageContext[pageContext] = {
|
|
427
|
-
fetchState: 'Completed',
|
|
428
|
-
pageContext,
|
|
429
|
-
generatedAt,
|
|
430
|
-
suggestedQuestions,
|
|
431
|
-
error: undefined,
|
|
432
|
-
};
|
|
433
|
-
},
|
|
434
|
-
fetchSuggestedQuestionsFailure(draft, action) {
|
|
435
|
-
const { pageContext, error } = action.payload;
|
|
436
|
-
const prev = draft.suggestedQuestionsByPageContext[pageContext];
|
|
437
|
-
draft.suggestedQuestionsByPageContext[pageContext] = {
|
|
438
|
-
fetchState: 'Error',
|
|
439
|
-
pageContext,
|
|
440
|
-
suggestedQuestions: prev?.suggestedQuestions ?? [],
|
|
441
|
-
generatedAt: prev?.generatedAt,
|
|
442
|
-
error,
|
|
443
|
-
};
|
|
444
363
|
},
|
|
445
364
|
clearAiCfoView(draft) {
|
|
446
365
|
Object.assign(draft, initialAiCfoViewState);
|
|
@@ -452,5 +371,5 @@ const aiCfoView = createSlice({
|
|
|
452
371
|
},
|
|
453
372
|
},
|
|
454
373
|
});
|
|
455
|
-
export const { submitQuestion, submitQuestionSuccess, submitQuestionFailure, updateResponseState, updateAiCfoViewScrollPosition, updateCurrentInput, clearInput, setSession, createSession, createSessionSuccess, createSessionFailure, createSessionAndSubmit, initializeNewSessionState, createSessionAndSubmitSuccess, createSessionAndSubmitFailure, fetchChatSessionsForUser, fetchChatSessionsForUserSuccess, fetchChatSessionsForUserFailure, fetchChatHistory, fetchChatHistorySuccess, fetchChatHistoryFailure, clearCurrentSessionId, clearLastContextMessage, stopSubmit, stopSubmitSuccess, stopSubmitFailure, stopSubmitQuestion, stopSubmitQuestionSuccess, stopSubmitQuestionFailure, acceptMasterTOS, acceptMasterTOSSuccess, acceptMasterTOSFailure, deleteChatSession, deleteChatSessionSuccess, deleteChatSessionFailure, clearDeleteChatSessionStatus, clearAiCfoView, updateCotCollapsedState,
|
|
374
|
+
export const { submitQuestion, submitQuestionSuccess, submitQuestionFailure, updateResponseState, updateAiCfoViewScrollPosition, updateCurrentInput, clearInput, setSession, createSession, createSessionSuccess, createSessionFailure, createSessionAndSubmit, initializeNewSessionState, createSessionAndSubmitSuccess, createSessionAndSubmitFailure, fetchChatSessionsForUser, fetchChatSessionsForUserSuccess, fetchChatSessionsForUserFailure, fetchChatHistory, fetchChatHistorySuccess, fetchChatHistoryFailure, clearCurrentSessionId, clearLastContextMessage, stopSubmit, stopSubmitSuccess, stopSubmitFailure, stopSubmitQuestion, stopSubmitQuestionSuccess, stopSubmitQuestionFailure, acceptMasterTOS, acceptMasterTOSSuccess, acceptMasterTOSFailure, deleteChatSession, deleteChatSessionSuccess, deleteChatSessionFailure, clearDeleteChatSessionStatus, clearAiCfoView, updateCotCollapsedState, } = aiCfoView.actions;
|
|
456
375
|
export default aiCfoView.reducer;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { initialAiCfoState } from '../../entity/aiCfo/aiCfoReducer';
|
|
2
1
|
import { getAiCfoSelectorView, } from '../../entity/aiCfo/aiCfoSelector';
|
|
3
|
-
import { initialAiCfoViewState } from './aiCfoViewReducer';
|
|
4
2
|
export const getAiCfoView = (state) => {
|
|
5
|
-
const { fetchState, error, uiState, createSessionState, createSessionAndSubmitState, deleteChatSessionStateByChatSessionId, stopSubmitStateByChatSessionId, responseStateByChatSessionId, fetchChatSessionHistoryByChatSessionId, masterTOSAcceptanceState,
|
|
3
|
+
const { fetchState, error, uiState, createSessionState, createSessionAndSubmitState, deleteChatSessionStateByChatSessionId, stopSubmitStateByChatSessionId, responseStateByChatSessionId, fetchChatSessionHistoryByChatSessionId, masterTOSAcceptanceState, } = state.aiCfoViewState;
|
|
6
4
|
return {
|
|
7
5
|
fetchState,
|
|
8
6
|
error,
|
|
@@ -14,11 +12,7 @@ export const getAiCfoView = (state) => {
|
|
|
14
12
|
uiState,
|
|
15
13
|
fetchChatSessionHistoryByChatSessionId,
|
|
16
14
|
masterTOSAcceptanceState,
|
|
17
|
-
|
|
18
|
-
...getAiCfoSelectorView(state.aiCfoState ?? initialAiCfoState),
|
|
15
|
+
...getAiCfoSelectorView(state.aiCfoState),
|
|
19
16
|
version: 1,
|
|
20
17
|
};
|
|
21
18
|
};
|
|
22
|
-
export function getSuggestedQuestionsForPageContext(state, pageContext) {
|
|
23
|
-
return state.aiCfoViewState?.suggestedQuestionsByPageContext?.[pageContext];
|
|
24
|
-
}
|
|
@@ -2,8 +2,10 @@ import { createSlice } from '@reduxjs/toolkit';
|
|
|
2
2
|
import { geNestedAccountIDHierarchyForReport } from '../../../commonStateTypes/accountView/getNestedAccountIDHierarchyForReport';
|
|
3
3
|
import { toMonthYearPeriodId, } from '../../../commonStateTypes/timePeriod';
|
|
4
4
|
import { mapAccountBasePayloadToAccountBase, mapAccountMetadataPayloadToAccountMetadata, } from '../../../entity/account/accountPayload';
|
|
5
|
-
import {
|
|
5
|
+
import { getTransactionDetailKeyPayload, } from '../../../entity/jeSchedules/jeSchedulesPayload';
|
|
6
|
+
import { toTransactionID } from '../../../entity/transaction/payloadTypes/transactionIDPayload';
|
|
6
7
|
import { mapAccountTypeRecommendationPayloadToAccountRecommendationByType, } from '../../accountMappingView/accountTypeRecommendation/accountTypeRecommendationPayload';
|
|
8
|
+
import { getZeniTransactionDetailKey } from '../../transactionDetail/transactionDetailState';
|
|
7
9
|
export const accountSettingsInitialState = {
|
|
8
10
|
localData: {
|
|
9
11
|
selectedPrepaidExpensesAccountIds: [],
|
|
@@ -44,8 +46,6 @@ export const initialState = {
|
|
|
44
46
|
uiState: {
|
|
45
47
|
searchString: '',
|
|
46
48
|
scrollPosition: { scrollTop: 0, scrollLeft: undefined },
|
|
47
|
-
sortKey: 'startMonth',
|
|
48
|
-
sortOrder: 'descending',
|
|
49
49
|
totalCount: 0,
|
|
50
50
|
limit: 10,
|
|
51
51
|
},
|
|
@@ -99,8 +99,14 @@ const expenseAutomationJESchedulesView = createSlice({
|
|
|
99
99
|
},
|
|
100
100
|
fetchJeSchedulesSuccess(draft, action) {
|
|
101
101
|
const { jeSchedules, selectedPeriod, failedJeSchedules, refreshViewInBackground, } = action.payload;
|
|
102
|
-
const jeScheduleTransactionKeys = jeSchedules.map((schedules) =>
|
|
103
|
-
|
|
102
|
+
const jeScheduleTransactionKeys = jeSchedules.map((schedules) => {
|
|
103
|
+
const transactionID = toTransactionID(schedules.base_transaction);
|
|
104
|
+
return getZeniTransactionDetailKey(transactionID);
|
|
105
|
+
});
|
|
106
|
+
const failedJeScheduleTransactionKeys = failedJeSchedules.map((schedules) => {
|
|
107
|
+
const transactionID = toTransactionID(schedules.base_transaction);
|
|
108
|
+
return getZeniTransactionDetailKey(transactionID);
|
|
109
|
+
});
|
|
104
110
|
if (refreshViewInBackground === true &&
|
|
105
111
|
draft.refreshStatus.fetchState === 'In-Progress') {
|
|
106
112
|
draft.refreshStatus = { fetchState: 'Completed', error: undefined };
|
|
@@ -266,7 +272,7 @@ const expenseAutomationJESchedulesView = createSlice({
|
|
|
266
272
|
return {
|
|
267
273
|
payload: {
|
|
268
274
|
jeScheduleTransactionKeys: [
|
|
269
|
-
...jeSchedules.map((jeSchedule) =>
|
|
275
|
+
...jeSchedules.map((jeSchedule) => getTransactionDetailKeyPayload(jeSchedule.base_transaction)),
|
|
270
276
|
],
|
|
271
277
|
},
|
|
272
278
|
};
|
|
@@ -367,26 +373,12 @@ const expenseAutomationJESchedulesView = createSlice({
|
|
|
367
373
|
clearJeAccountSettingsLocalData(draft) {
|
|
368
374
|
draft.accountSettings.localData = accountSettingsInitialState.localData;
|
|
369
375
|
},
|
|
370
|
-
updateJESchedulesUIState(draft, action) {
|
|
371
|
-
if (action.payload.sortKey != null) {
|
|
372
|
-
draft.uiState.sortKey = action.payload.sortKey;
|
|
373
|
-
}
|
|
374
|
-
if (action.payload.sortOrder != null) {
|
|
375
|
-
draft.uiState.sortOrder = action.payload.sortOrder;
|
|
376
|
-
}
|
|
377
|
-
if (action.payload.searchString != null) {
|
|
378
|
-
draft.uiState.searchString = action.payload.searchString;
|
|
379
|
-
}
|
|
380
|
-
if (action.payload.scrollPosition != null) {
|
|
381
|
-
draft.uiState.scrollPosition = action.payload.scrollPosition;
|
|
382
|
-
}
|
|
383
|
-
},
|
|
384
376
|
clearExpenseAutomationJESchedulesView(draft) {
|
|
385
377
|
Object.assign(draft, initialState);
|
|
386
378
|
},
|
|
387
379
|
},
|
|
388
380
|
});
|
|
389
|
-
export const { clearExpenseAutomationJESchedulesView, clearJeAccountSettingsLocalData, clearJeScheduleLocalData, fetchAccountSettingsListForAccountTypes, fetchJeSchedules, fetchJeSchedulesFailure, fetchJeSchedulesPage, fetchJeSchedulesSuccess, fetchRecommendationForAccountSettings, ignoreRecommendedJeSchedule, ignoreRecommendedJeScheduleFailure, ignoreRecommendedJeScheduleSuccess, initializeAccountSettingsView, initializeJeScheduleLocalData, removeFailedJeScheduleTransactionKey, removeJeScheduleLocalDataById, removeJeScheduleTransactionKey, retryJeSchedule, retryJeScheduleFailure, retryJeScheduleSuccess, saveAccountSettings, saveAccountSettingsFailure, saveAccountSettingsLocalData, saveAccountSettingsSuccess, updateAccountSettingsListForAccountTypes, updateAccountSettingsListForAccountTypesFailure,
|
|
381
|
+
export const { clearExpenseAutomationJESchedulesView, clearJeAccountSettingsLocalData, clearJeScheduleLocalData, fetchAccountSettingsListForAccountTypes, fetchJeSchedules, fetchJeSchedulesFailure, fetchJeSchedulesPage, fetchJeSchedulesSuccess, fetchRecommendationForAccountSettings, ignoreRecommendedJeSchedule, ignoreRecommendedJeScheduleFailure, ignoreRecommendedJeScheduleSuccess, initializeAccountSettingsView, initializeJeScheduleLocalData, removeFailedJeScheduleTransactionKey, removeJeScheduleLocalDataById, removeJeScheduleTransactionKey, retryJeSchedule, retryJeScheduleFailure, retryJeScheduleSuccess, saveAccountSettings, saveAccountSettingsFailure, saveAccountSettingsLocalData, saveAccountSettingsSuccess, updateAccountSettingsListForAccountTypes, updateAccountSettingsListForAccountTypesFailure, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, updateRecommendationForAccountSettings, updateRecommendationForAccountSettingsFailure, } = expenseAutomationJESchedulesView.actions;
|
|
390
382
|
export default expenseAutomationJESchedulesView.reducer;
|
|
391
383
|
const doUpdateRecommendationForAccountSettings = (draft, payload) => {
|
|
392
384
|
const { prepaidExpensesRecommendations, fixedAssetsRecommendations, accruedExpensesRecommendations, } = mapAccountTypeRecommendationPayloadToAccountRecommendationByType(payload);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import omit from 'lodash/omit';
|
|
2
|
-
import orderBy from 'lodash/orderBy';
|
|
3
2
|
import { toMonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
|
|
4
3
|
import { getAccountIdsForTypes } from '../../../entity/account/accountSelector';
|
|
5
4
|
import { getJEScheduledTransactionByJEScheduleTransactionKey, } from '../../../entity/jeSchedules/jeSchedulesSelector';
|
|
@@ -11,42 +10,6 @@ import { filterNestedAccountHierarchyById } from '../../scheduleView/scheduleDet
|
|
|
11
10
|
import { getAccountLabelForScheduleType, getAccountsTypesForScheduleList, } from '../../scheduleView/scheduleListView/scheduleListHelper';
|
|
12
11
|
import { getAllSteps } from '../selectorTypes/expenseAutomationViewSelectorTypes';
|
|
13
12
|
import { getJEAccountSettingsView } from './jeAccountSettingsViewSelector';
|
|
14
|
-
function getJEScheduleSortAccessor(sortKey) {
|
|
15
|
-
switch (sortKey) {
|
|
16
|
-
case 'vendor':
|
|
17
|
-
return (s) => s.vendor.name?.toLowerCase();
|
|
18
|
-
case 'category':
|
|
19
|
-
return (s) => s.jeDebit.account?.accountName?.toLowerCase();
|
|
20
|
-
case 'class':
|
|
21
|
-
return (s) => s.jeDebit.accountingClass?.className?.toLowerCase();
|
|
22
|
-
case 'scheduleCategory':
|
|
23
|
-
return (s) => s.jeScheduleType;
|
|
24
|
-
case 'startMonth':
|
|
25
|
-
return (s) => s.startDate?.valueOf();
|
|
26
|
-
case 'type':
|
|
27
|
-
return (s) => s.baseTransaction.typeOfTransaction;
|
|
28
|
-
case 'amortizationPeriod':
|
|
29
|
-
return (s) => s.period;
|
|
30
|
-
case 'jePostingDate':
|
|
31
|
-
return (s) => s.dayOfPostingDate;
|
|
32
|
-
case 'remainingMonths':
|
|
33
|
-
return (s) => s.period;
|
|
34
|
-
case 'runningBalance':
|
|
35
|
-
return (s) => s.balanceAsOfToday?.amount;
|
|
36
|
-
case 'totalAmount':
|
|
37
|
-
return (s) => s.baseTransaction.amount.amount;
|
|
38
|
-
case 'transactionDate':
|
|
39
|
-
return (s) => s.baseTransaction.date.valueOf();
|
|
40
|
-
case 'memo':
|
|
41
|
-
return (s) => s.baseTransaction.memo?.toLowerCase();
|
|
42
|
-
default:
|
|
43
|
-
return (s) => s.startDate?.valueOf();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
function sortJEScheduledTransactions(transactions, sortKey, sortOrder) {
|
|
47
|
-
const accessor = getJEScheduleSortAccessor(sortKey);
|
|
48
|
-
return orderBy(transactions, [accessor], [sortOrder === 'ascending' ? 'asc' : 'desc']);
|
|
49
|
-
}
|
|
50
13
|
export function getExpenseAutomationJESchedulesView(state) {
|
|
51
14
|
const jeScheduledTransaction = [];
|
|
52
15
|
const failedJeScheduledTransaction = [];
|
|
@@ -96,21 +59,13 @@ export function getExpenseAutomationJESchedulesView(state) {
|
|
|
96
59
|
const jeScheduleDetails = getJEScheduledTransactionByJEScheduleTransactionKey(jeScheduleKey, state);
|
|
97
60
|
failedJeScheduledTransaction.push(jeScheduleDetails);
|
|
98
61
|
});
|
|
99
|
-
const
|
|
100
|
-
const
|
|
101
|
-
const ongoingSchedules = sortJEScheduledTransactions(jeScheduledTransaction.filter((schedule) => schedule.status.code === 'ongoing'), sortKey, sortOrder);
|
|
102
|
-
const completedSchedules = sortJEScheduledTransactions(jeScheduledTransaction.filter((schedule) => schedule.status.code === 'completed' ||
|
|
103
|
-
schedule.status.code === 'marked_as_completed'), sortKey, sortOrder);
|
|
104
|
-
const unsortedResolveSchedules = [];
|
|
62
|
+
const draftSchedules = jeScheduledTransaction.filter((schedule) => schedule.status.code === 'draft');
|
|
63
|
+
const resolveSchedules = [];
|
|
105
64
|
failedJeScheduledTransaction.forEach((schedule) => {
|
|
106
65
|
schedule.scheduledJournalEntry.forEach((journalEntry) => {
|
|
107
|
-
|
|
108
|
-
...schedule,
|
|
109
|
-
scheduledJournalEntry: journalEntry,
|
|
110
|
-
});
|
|
66
|
+
resolveSchedules.push({ ...schedule, scheduledJournalEntry: journalEntry });
|
|
111
67
|
});
|
|
112
68
|
});
|
|
113
|
-
const resolveSchedules = sortJEScheduledTransactions(unsortedResolveSchedules, sortKey, sortOrder);
|
|
114
69
|
const allSteps = monthYearPeriodId != null
|
|
115
70
|
? getAllSteps(monthEndCloseChecksState, monthYearPeriodId, currentTenant.tenantId)
|
|
116
71
|
: [];
|
|
@@ -124,9 +79,7 @@ export function getExpenseAutomationJESchedulesView(state) {
|
|
|
124
79
|
allAccountList: filteredAccounts,
|
|
125
80
|
accountListNestedAccountHierarchy,
|
|
126
81
|
allClassList: allClasses,
|
|
127
|
-
completedSchedules,
|
|
128
82
|
draftSchedules,
|
|
129
|
-
ongoingSchedules,
|
|
130
83
|
resolveSchedules: resolveSchedules,
|
|
131
84
|
accountSettingsView,
|
|
132
85
|
postStatusById: postStatusById,
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const JE_SCHEDULE_SORT_KEYS = [
|
|
3
|
-
'vendor',
|
|
4
|
-
'category',
|
|
5
|
-
'class',
|
|
6
|
-
'scheduleCategory',
|
|
7
|
-
'startMonth',
|
|
8
|
-
'type',
|
|
9
|
-
'amortizationPeriod',
|
|
10
|
-
'jePostingDate',
|
|
11
|
-
'remainingMonths',
|
|
12
|
-
'runningBalance',
|
|
13
|
-
'totalAmount',
|
|
14
|
-
'transactionDate',
|
|
15
|
-
'memo',
|
|
16
|
-
];
|
|
17
|
-
export const toJEScheduleSortKey = (v) => stringToUnion(v, JE_SCHEDULE_SORT_KEYS);
|
|
1
|
+
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { from, of } from 'rxjs';
|
|
2
2
|
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { getJEScheduleTransactionDetailKeyPayload, } from '../../../../entity/jeSchedules/jeSchedulesPayload';
|
|
4
3
|
import { updateJESchedules, updateJESchedulesDetails, } from '../../../../entity/jeSchedules/jeSchedulesReducer';
|
|
4
|
+
import { toTransactionType } from '../../../../entity/transaction/stateTypes/transactionType';
|
|
5
5
|
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
|
|
6
|
+
import { getZeniTransactionDetailKey } from '../../../transactionDetail/transactionDetailState';
|
|
6
7
|
import { createNewSchedules, fetchScheduleDetails, initializeScheduleDetailLocalData, saveScheduleDetailsSuccessOrFailure, updateScheduleDetailsFailure, updateScheduleDetailsSuccess, updateSelectedJEScheduleKey, } from '../scheduleDetailReducer';
|
|
7
8
|
export const fetchScheduleDetailsEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchScheduleDetails.match), mergeMap((action) => {
|
|
8
9
|
const updateActions = [];
|
|
@@ -23,7 +24,11 @@ export const fetchScheduleDetailsEpic = (actions$, state$, zeniAPI) => actions$.
|
|
|
23
24
|
.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/schedules/${selectedJeScheduleDetailId}?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
|
|
24
25
|
.pipe(mergeMap((response) => {
|
|
25
26
|
if (isSuccessResponse(response) && response.data != null) {
|
|
26
|
-
const
|
|
27
|
+
const transactionData = response.data.je_schedules[0].base_transaction;
|
|
28
|
+
const selectedJEScheduleKey = getZeniTransactionDetailKey({
|
|
29
|
+
id: transactionData.transaction_id,
|
|
30
|
+
type: toTransactionType(transactionData.transaction_type),
|
|
31
|
+
});
|
|
27
32
|
updateActions.push(updateJESchedules(response.data.je_schedules), updateSelectedJEScheduleKey({ selectedJEScheduleKey }), updateJESchedulesDetails(response.data.je_schedules, response.data.scheduled_journal_entries), saveScheduleDetailsSuccessOrFailure('Not-Started'), initializeScheduleDetailLocalData(scheduleType, selectedJEScheduleKey, selectedJeScheduleDetailId), updateScheduleDetailsSuccess());
|
|
28
33
|
if (response.data.je_schedules[0].status.code === 'draft' &&
|
|
29
34
|
isCompleteJEScheduleFormDataPresent(response.data.je_schedules[0])) {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
-
import { getJEScheduleKey,
|
|
2
|
+
import { getJEScheduleKey, } from '../../../entity/jeSchedules/jeSchedulesPayload';
|
|
3
|
+
import { toTransactionID } from '../../../entity/transaction/payloadTypes/transactionIDPayload';
|
|
4
|
+
import { getZeniTransactionDetailKey } from '../../transactionDetail/transactionDetailState';
|
|
3
5
|
import { getDefaultSelectedTimeframeForScheduleType } from './scheduleListHelper';
|
|
4
6
|
import { getScheduleListKey, } from './scheduleListTypes';
|
|
5
7
|
export const initialUIState = {
|
|
@@ -377,7 +379,10 @@ export default scheduleListView.reducer;
|
|
|
377
379
|
function doUpdateScheduleList(draft, payload, scheduleType, selectedTimeframe, selectedCategoryId) {
|
|
378
380
|
if (scheduleType !== 'accrued_expenses') {
|
|
379
381
|
const state = getState(draft, scheduleType);
|
|
380
|
-
const jeScheduleTransactionKeys = payload.map((schedules) =>
|
|
382
|
+
const jeScheduleTransactionKeys = payload.map((schedules) => {
|
|
383
|
+
const transactionID = toTransactionID(schedules.base_transaction);
|
|
384
|
+
return getZeniTransactionDetailKey(transactionID);
|
|
385
|
+
});
|
|
381
386
|
state.selectedCategoryId = selectedCategoryId;
|
|
382
387
|
state.selectedTimeframe = selectedTimeframe;
|
|
383
388
|
const key = getScheduleListKey(selectedCategoryId, selectedTimeframe);
|
|
@@ -416,14 +416,6 @@ export const getBillListOnSort = (sortKey, sortOrder, currentTab, transactions)
|
|
|
416
416
|
transactionsWithNoSortKeyValue.push(transaction);
|
|
417
417
|
}
|
|
418
418
|
break;
|
|
419
|
-
case 'invoiceNumber':
|
|
420
|
-
if (transaction.documentId != null) {
|
|
421
|
-
transactionsWithSortKeyValue.push(transaction);
|
|
422
|
-
}
|
|
423
|
-
else {
|
|
424
|
-
transactionsWithNoSortKeyValue.push(transaction);
|
|
425
|
-
}
|
|
426
|
-
break;
|
|
427
419
|
case 'dueDate':
|
|
428
420
|
if (currentTab === 'draft') {
|
|
429
421
|
if (Boolean(transaction.dueDate) === true) {
|
|
@@ -526,8 +518,6 @@ export const getBillListOnSort = (sortKey, sortOrder, currentTab, transactions)
|
|
|
526
518
|
return transaction.totalAmountInUSD?.amount ?? 0;
|
|
527
519
|
case 'paymentMethod':
|
|
528
520
|
return transaction.billPayInfo.billPaymentMethodType.name;
|
|
529
|
-
case 'invoiceNumber':
|
|
530
|
-
return transaction.documentId;
|
|
531
521
|
}
|
|
532
522
|
}, getColumnWiseSortOrder(sortOrder));
|
|
533
523
|
return [
|
|
@@ -219,8 +219,6 @@ const getCardsBySortKey = (card, sortKey) => {
|
|
|
219
219
|
return card.cardName.toLowerCase();
|
|
220
220
|
case 'cardType':
|
|
221
221
|
return card.type.code;
|
|
222
|
-
case 'accountType':
|
|
223
|
-
return card.type.code.includes('credit') ? 'credit' : 'debit';
|
|
224
222
|
case 'status':
|
|
225
223
|
return card.status.code;
|
|
226
224
|
case 'utilisation':
|
|
@@ -45,7 +45,6 @@ export const getRemiList = (state, currentTimePeriod, isBulkActionFeatureEnabled
|
|
|
45
45
|
return {
|
|
46
46
|
...reimbursement,
|
|
47
47
|
submittedBy: getUserByUserId(userState, reimbursement.reimburseeUserId),
|
|
48
|
-
createdByUser: getUserByUserId(userState, reimbursement.createdBy),
|
|
49
48
|
approvers: approvers,
|
|
50
49
|
};
|
|
51
50
|
});
|
|
@@ -416,14 +415,6 @@ export const getRemiListOnSort = (sortKey, sortOrder, currentTab, reimbursements
|
|
|
416
415
|
reimbursementsWithNoSortKeyValue.push(reimbursement);
|
|
417
416
|
}
|
|
418
417
|
break;
|
|
419
|
-
case 'createdBy':
|
|
420
|
-
if (reimbursement.createdByUser != null) {
|
|
421
|
-
reimbursementsWithSortKeyValue.push(reimbursement);
|
|
422
|
-
}
|
|
423
|
-
else {
|
|
424
|
-
reimbursementsWithNoSortKeyValue.push(reimbursement);
|
|
425
|
-
}
|
|
426
|
-
break;
|
|
427
418
|
}
|
|
428
419
|
});
|
|
429
420
|
const getColumnWiseSortOrder = (sortOrder) => {
|
|
@@ -431,7 +422,6 @@ export const getRemiListOnSort = (sortKey, sortOrder, currentTab, reimbursements
|
|
|
431
422
|
case 'reportName':
|
|
432
423
|
case 'type':
|
|
433
424
|
case 'status':
|
|
434
|
-
case 'createdBy':
|
|
435
425
|
return sortOrder === 'ascending' ? 'asc' : 'desc';
|
|
436
426
|
default:
|
|
437
427
|
return sortOrder === 'ascending' ? 'desc' : 'asc';
|
|
@@ -451,8 +441,6 @@ export const getRemiListOnSort = (sortKey, sortOrder, currentTab, reimbursements
|
|
|
451
441
|
return getStatusPerTab(reimbursement);
|
|
452
442
|
case 'amount':
|
|
453
443
|
return reimbursement.amount.amount ?? 0;
|
|
454
|
-
case 'createdBy':
|
|
455
|
-
return `${reimbursement.createdByUser?.firstName ?? ''} ${reimbursement.createdByUser?.lastName ?? ''}`.toLowerCase();
|
|
456
444
|
}
|
|
457
445
|
}, getColumnWiseSortOrder(sortOrder));
|
|
458
446
|
return [
|
package/lib/index.d.ts
CHANGED
|
@@ -91,8 +91,7 @@ import { TrendChangeType } from './entity/insights/insightPayload';
|
|
|
91
91
|
import { Insight } from './entity/insights/insightState';
|
|
92
92
|
import { InsightSummary } from './entity/insights/insightSummary';
|
|
93
93
|
import { JEAccruedSchedule, JEScheduledTransaction, ScheduledJournalEntry } from './entity/jeSchedules/jeSchedulesSelector';
|
|
94
|
-
import {
|
|
95
|
-
import { ALL_SCHEDULES_TYPES, JEScheduleKey, JEScheduleTransactionKey, JournalEntryErrorCodeType, ScheduleJournalEntryStatusCodeType, ScheduleStatusCodeType, ScheduleTransactionID, ScheduleTypes, getJEScheduleTransactionKey, toScheduleTypesType, toScheduleTypesTypeStrict } from './entity/jeSchedules/jeSchedulesTypes';
|
|
94
|
+
import { ALL_SCHEDULES_TYPES, JEScheduleKey, JEScheduleTransactionKey, JournalEntryErrorCodeType, ScheduleJournalEntryStatusCodeType, ScheduleStatusCodeType, ScheduleTypes, toScheduleTypesType, toScheduleTypesTypeStrict } from './entity/jeSchedules/jeSchedulesTypes';
|
|
96
95
|
import { Merchant } from './entity/merchant/merchant';
|
|
97
96
|
import { ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, MonthCloseCheckMetrics, MonthEndAuditSummary, MonthEndCloseCheck, MonthEndCloseCheckFrequency } from './entity/monthEndCloseChecks/monthEndCloseChecksState';
|
|
98
97
|
import { updateCommentsNotifications, updateCommentsNotificationsStatuses } from './entity/notification/notificationReducer';
|
|
@@ -265,7 +264,7 @@ import { isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType
|
|
|
265
264
|
import { MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount } from './view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper';
|
|
266
265
|
import { UploadStatementDocumentAIPayload, UploadStatementDocumentAIResponse } from './view/expenseAutomationView/payload/reconciliationPayload';
|
|
267
266
|
import { clearExpenseAutomationFluxAnalysisView, fetchFluxAnalysisView, reviewFluxAnalysisView, updateFluxAnalysisViewPageMetaData, updateFluxAnalysisViewUIState, updateOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview } from './view/expenseAutomationView/reducers/fluxAnalysisViewReducer';
|
|
268
|
-
import { clearJeScheduleLocalData as clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchJeSchedulesPage as fetchExpenseAutomationJESchedulesPage, ignoreRecommendedJeSchedule as ignoreExpenseAutomationJESchedule, initializeAccountSettingsView as initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryJeSchedule as retryExpenseAutomationJESchedule, saveAccountSettings as saveJeAccountSettings, saveAccountSettingsLocalData as saveJeAccountSettingsLocalData,
|
|
267
|
+
import { clearJeScheduleLocalData as clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchJeSchedulesPage as fetchExpenseAutomationJESchedulesPage, ignoreRecommendedJeSchedule as ignoreExpenseAutomationJESchedule, initializeAccountSettingsView as initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryJeSchedule as retryExpenseAutomationJESchedule, saveAccountSettings as saveJeAccountSettings, saveAccountSettingsLocalData as saveJeAccountSettingsLocalData, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys } from './view/expenseAutomationView/reducers/jeSchedulesViewReducer';
|
|
269
268
|
import { acknowledgeBulkUploadConfirmMatchComplete, bulkUploadAutomatchingTimedOut, bulkUploadReceipts, bulkUploadReceiptsFailure, bulkUploadReceiptsSuccess, clearBulkUpload, clearManualSearchResults, clearMissingReceiptsTabNavigation, confirmBulkUploadMatch, confirmBulkUploadMatchFailure, confirmBulkUploadMatchSuccess, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsFailure, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatches, fetchBulkUploadBatchesFailure, fetchBulkUploadBatchesSuccess, fetchCompletedTransactions, fetchCompletedTransactionsFailure, fetchCompletedTransactionsSuccess, fetchMissingReceipts as fetchExpenseAutomationMissingReceipts, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, markMissingReceiptAsDone as markExpenseAutomationMissingReceiptAsDone, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, searchTransactionsForManualMatch, searchTransactionsForManualMatchFailure, searchTransactionsForManualMatchSuccess, setBulkUploadCompletedSubTab, setBulkUploadResultsTab, setBulkUploadSortConfig, storeBatchDetails, updateBulkUploadProgress, updateMissingReceiptUploadState as updateExpenseAutomationMissingReceiptUploadState, updateMissingReceiptsUIState as updateExpenseAutomationMissingReceiptsUIState, uploadMissingReceiptSuccess as uploadExpenseAutomationMissingReceiptSuccess } from './view/expenseAutomationView/reducers/missingReceiptsViewReducer';
|
|
270
269
|
import { deleteAccountStatement, fetchReconciliation as fetchReconciliationView, saveReconciliationDetail as saveExpenseAutomationReconciliationDetail, saveReconciliationReview as saveExpenseAutomationReconciliationReview, setConnectionInProgressForAccount as setConnectionInProgressForAccountReconciliation, setStatementParseInProgress, updateAccountReconciliationLocalData as updateExpenseAutomationAccountReconciliationLocalData, updateSelectedAccountId as updateExpenseAutomationAccountReconciliationSelectedAccountId, updateSelectedTab as updateExpenseAutomationAccountReconciliationSelectedTab, updateReconListScrollPosition as updateExpenseAutomationReconListScrollPosition, updateReviewTabSortState as updateExpenseAutomationReconReviewTabListSortState, updateReviewTabLocalData as updateExpenseAutomationReconReviewTabLocalData, updateReconcileTabListScrollState as updateExpenseAutomationReconcileTabListScrollState, updateReconcileTabListSortState as updateExpenseAutomationReconcileTabListSortState, updateReconcileTabLocalData as updateExpenseAutomationReconcileTabLocalData, updateSelectedDrawerAccountId as updateExpenseAutomationSelectedDrawerAccountId, updateStatementUploadChosen, uploadAccountStatement } from './view/expenseAutomationView/reducers/reconciliationViewReducer';
|
|
271
270
|
import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationView, initializeTransactionCategorizationViewLocalData, markTransactionAsNotMiscategorized, saveTransactionCategorization, saveTransactionCategorizationLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, setEntityRecommendationForLineIdsForCategorization, syncTransactionCategorizationFromDetailSave, updateCurrentSelectedTransactionCategorizationTab, updateSelectedCheckboxTransactionIds, updateSelectedCustomerForTransaction, updateSelectedTransactionId, updateSelectedVendorForTransaction, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, updateTransactionCategorizationUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess } from './view/expenseAutomationView/reducers/transactionsViewReducer';
|
|
@@ -282,7 +281,7 @@ import { JEScheduledTransactionWithFailedEntries } from './view/expenseAutomatio
|
|
|
282
281
|
import { getExpenseAutomationReconciliationView, isAccountReconReport } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
|
|
283
282
|
import { getExpenseAutomationTransactionView } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
|
|
284
283
|
import { FluxAnalysisActionType, FluxAnalysisReviewStatus, FluxAnalysisSortKey, FluxAnalysisViewUIState, FluxBalancesByMonth } from './view/expenseAutomationView/types/fluxAnalysisViewState';
|
|
285
|
-
import { AccountSettingsLocalData,
|
|
284
|
+
import { AccountSettingsLocalData, JEScheduleLocalData } from './view/expenseAutomationView/types/jeSchedulesViewState';
|
|
286
285
|
import { BATCH_FILE_STATUSES, BatchDetails, BatchFile, BatchFileStatus, BatchListItem, BatchStatus, BatchStatusValue, BatchSummary, BulkUploadPhase, BulkUploadResultsTab, BulkUploadSortKey, BulkUploadState, CandidateRef, CompletedSubTab, MatchCandidate, MatchSource, MissingReceiptsTab, isUnmatchedTabFileStatus, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab } from './view/expenseAutomationView/types/missingReceiptsViewState';
|
|
287
286
|
import { MissingReceiptsSortKey as ExpenseAutomationMissingReceiptsSortKey, MissingReceiptsViewState as ExpenseAutomationMissingReceiptsViewState, MissingReceiptsViewUIState as ExpenseAutomationMissingReceiptsViewUIState, toMissingReceiptsSortKey as toExpenseAutomationMissingReceiptsSortKey } from './view/expenseAutomationView/types/missingReceiptsViewState';
|
|
288
287
|
import { AccountReconciliationLocalData, ReconciliationViewTabType as ExpenseAutomationReconciliationViewTab, ReconReconcileSortKey, ReconReviewSortKey, ReconciliationReconcileTabLocalData, ReconciliationReviewTabLocalData, SaveReconcileDetailActionPayload as SaveExpenseAutomationReconciliationActionType, toReconciliationTabsType } from './view/expenseAutomationView/types/reconciliationViewState';
|
|
@@ -624,7 +623,7 @@ export { TransactionsOrder, COABalancesSliceOrder, EntityOrder, Section, Section
|
|
|
624
623
|
export { ClassesViewSelectorReportV2 };
|
|
625
624
|
export { BalancesTimeseries, TrendTimeseries, BalanceKind };
|
|
626
625
|
export { fetchMonthEndCloseChecks, fetchMonthClosePerformanceTrend, MonthClosePerformanceTrend, MonthEndCloseCheck, getMonthEndCloseChecksViewByTenantId, MonthEndCloseChecksView, MonthEndCloseCheckFrequency, MonthCloseCheckMetrics, ALL_MONTH_END_CLOSE_CHECKS_FREQUENCY, MonthEndAuditSummary, };
|
|
627
|
-
export { ExpenseAutomationViewSelector, ExpenseAutomationStepDetails, ExpenseAutomationViewType, ExpenseAutomationMissingReceiptsViewSelector, BulkUploadSelectorData, ExpenseAutomationFluxAnalysisViewSelector, FluxAnalysisVendorView, FluxAnalysisViewSectionReport, FluxVendorAccountsAndClassesView, ExpenseAutomationMissingReceiptsViewUIState, ExpenseAutomationMissingReceiptsViewState, ExpenseAutomationViewState, ExpenseAutomationTransactionsTab, ExpenseAutomationMissingReceiptsSortKey, BATCH_FILE_STATUSES, BatchDetails, BatchFile, BatchFileStatus, BatchListItem, isUnmatchedTabFileStatus, BatchStatus, BatchStatusValue, BatchSummary, BulkUploadPhase, BulkUploadResultsTab, BulkUploadSortKey, BulkUploadState, CandidateRef, CompletedSubTab, CompletedTransactionsSelectorData, MatchCandidate, MatchSource, MissingReceiptsTab, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, ResolvedBatchFile, ResolvedBatchDetails, ResolvedCandidate,
|
|
626
|
+
export { ExpenseAutomationViewSelector, ExpenseAutomationStepDetails, ExpenseAutomationViewType, ExpenseAutomationMissingReceiptsViewSelector, BulkUploadSelectorData, ExpenseAutomationFluxAnalysisViewSelector, FluxAnalysisVendorView, FluxAnalysisViewSectionReport, FluxVendorAccountsAndClassesView, ExpenseAutomationMissingReceiptsViewUIState, ExpenseAutomationMissingReceiptsViewState, ExpenseAutomationViewState, ExpenseAutomationTransactionsTab, ExpenseAutomationMissingReceiptsSortKey, BATCH_FILE_STATUSES, BatchDetails, BatchFile, BatchFileStatus, BatchListItem, isUnmatchedTabFileStatus, BatchStatus, BatchStatusValue, BatchSummary, BulkUploadPhase, BulkUploadResultsTab, BulkUploadSortKey, BulkUploadState, CandidateRef, CompletedSubTab, CompletedTransactionsSelectorData, MatchCandidate, MatchSource, MissingReceiptsTab, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toCompletedSubTab, toMatchSource, toMissingReceiptsTab, ResolvedBatchFile, ResolvedBatchDetails, ResolvedCandidate, getExpenseAutomationView, toExpenseAutomationMissingReceiptsSortKey, toExpenseAutomationTransactionsTabKey, toExpenseAutomationViewType, uploadExpenseAutomationMissingReceiptSuccess, markExpenseAutomationMissingReceiptAsDone, fetchAllExpenseAutomationTabs, refreshExpenseAutomationCurrentTab, updateCurrentSelectedTransactionCategorizationTab, fetchExpenseAutomationMissingReceipts, bulkUploadReceipts, bulkUploadAutomatchingTimedOut, bulkUploadReceiptsSuccess, bulkUploadReceiptsFailure, updateBulkUploadProgress, pusherBatchStatusUpdate, requestMissingReceiptsTabNavigation, clearMissingReceiptsTabNavigation, fetchBulkUploadBatchDetails, fetchBulkUploadBatchDetailsSuccess, fetchBulkUploadBatchDetailsFailure, storeBatchDetails, fetchMoreBatchDetails, fetchMoreBatchDetailsComplete, fetchMoreBatchDetailsFailure, fetchBulkUploadBatches, fetchBulkUploadBatchesSuccess, fetchBulkUploadBatchesFailure, confirmBulkUploadMatch, confirmBulkUploadMatchSuccess, confirmBulkUploadMatchFailure, setBulkUploadResultsTab, setBulkUploadCompletedSubTab, setBulkUploadSortConfig, clearBulkUpload, searchTransactionsForManualMatch, searchTransactionsForManualMatchSuccess, searchTransactionsForManualMatchFailure, clearManualSearchResults, acknowledgeBulkUploadConfirmMatchComplete, fetchCompletedTransactions, fetchCompletedTransactionsSuccess, fetchCompletedTransactionsFailure, fetchFluxAnalysisView, clearExpenseAutomationFluxAnalysisView, updateOperatingExpensesIdsForReview as updateFluxOperatingExpensesIdsForReview, updateSelectedSectionIdsForReview as updateFluxAnalysisSelectedSectionIdsForReview, reviewFluxAnalysisView, updateExpenseAutomationMissingReceiptUploadState, updateExpenseAutomationMissingReceiptsUIState, updateTransactionCategorizationUploadReceiptState, uploadTransactionCategorizationReceiptSuccess, FluxAnalysisOperatingExpenseView, FluxAnalysisSectionType, getExpenseAutomationFluxAnalysisView, FluxAnalysisSortKey, FluxAnalysisActionType, FluxBalancesByMonth, updateCurrentSelectedView, updateCurrentSelectedPeriod, getExpenseAutomationTransactionView, ReconReconcileSortKey, ReconciliationReconcileTabLocalData, FluxAnalysisReviewStatus, updateFluxAnalysisViewUIState, FluxAnalysisViewUIState, updateFluxAnalysisViewPageMetaData, MAX_SELECTION_LIMIT, checkIfAllLineItemsAreCategoryClassFilled, getLineItemsByTransactionIdsFromLocalData, isAnyItemWithUncategorizedExpenseAccount, SaveExpenseAutomationReconciliationActionType, saveExpenseAutomationReconciliationDetail, updateExpenseAutomationReconcileTabListScrollState, updateExpenseAutomationReconReviewTabListSortState, updateExpenseAutomationReconcileTabListSortState, updateExpenseAutomationReconcileTabLocalData, updateExpenseAutomationAccountReconciliationSelectedTab, updateExpenseAutomationAccountReconciliationSelectedAccountId, ExpenseAutomationReconciliationViewSelector, getExpenseAutomationReconciliationView, AccountReconciliationBySection, fetchReconciliationView, uploadAccountStatementIntoDocumentAI, UploadStatementDocumentAIResponse, updateExpenseAutomationReconListScrollPosition, setConnectionInProgressForAccountReconciliation, AccountReconciliationByAccount, AccountReconciliationEntity, getAccountReconByAccountIdAndSelectedPeriod, ExpenseAutomationReconciliationViewTab, toReconciliationTabsType, isAccountReconReport, ReconReviewSortKey, AccountReconSectionID, ReconciliationReviewTabLocalData, TransactionsToReview, RecommendedActionCodeType, ReconciliationStatusCodeType, BalanceDataStatusCodeType, updateExpenseAutomationReconReviewTabLocalData, updateExpenseAutomationSelectedDrawerAccountId, saveExpenseAutomationReconciliationReview, updateExpenseAutomationAccountReconciliationLocalData, BankStatusCodeType, ReconciliationAccountSourceType, toReconciliationAccountSource, StatementStatusCodeType, AccountReconciliationLocalData, StatementDataStatusCodeType, deleteAccountStatement, uploadAccountStatement, UploadStatementDocumentAIPayload, updateStatementUploadChosen, isReviewTransactionBankTransferType, isReviewTransactionBillPaymentType, isReviewTransactionCreditCardPaymentType, isReviewTransactionDepositType, isReviewTransactionExpenseType, isReviewTransactionCreditCardCreditType, setStatementParseInProgress, };
|
|
628
627
|
export { JEScheduleLocalData };
|
|
629
628
|
export { ExpenseAutomationJESchedulesViewSelector, JEAccountSettingsView, JEScheduledTransactionWithFailedEntries, };
|
|
630
629
|
export { fetchTransactionCategorization, fetchTransactionCategorizationView, updateTransactionCategorizationUIState, updateSelectedCheckboxTransactionIds, setEntityRecommendationForLineIdsForCategorization, initializeTransactionCategorizationViewLocalData, setAllItemsToCategoryClassInLocalDataForCategorization, saveTransactionCategorizationLocalData, fetchTransactionCategorizationFailure, saveTransactionCategorization, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized, updateSelectedVendorForTransaction, updateSelectedCustomerForTransaction, updateSelectedTransactionId, syncTransactionCategorizationFromDetailSave, backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, TransactionsSortKey, toTransactionsSortKey, TransactionsTab, TransactionCategorizationLineItemData, TransactionReviewLocalData, SupportedTransactionCategorization, ExpenseAutomationTransactionsViewState, ExpenseAutomationTransactionsViewUIState, ExpenseAutomationTransactionViewSelector, TransactionReviewLocalDataSelectorView, };
|
|
@@ -827,9 +826,9 @@ export { TIME_SERIES_DURATIONS, PerformanceReportKey, TimeSeriesDuration, conver
|
|
|
827
826
|
export { fetchApAging, getApAgingReport, updateApAgingUIState, AgingReportId, ApAgingReport, AgingBalance, AgingPeriod, AgingReportSortKey, AgingBalancesByVendor, AgingReportUIState, AgingDetailReportUIState, AgingDetailReportInvoice, AgingDateSelectionType, };
|
|
828
827
|
export { fetchApAgingDetail, AgingReportInvoice, ApAgingDetail, getApAgingDetailForVendor, updateApAgingDetailUIState, };
|
|
829
828
|
export { LinkBillExpenseKey };
|
|
830
|
-
export { clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchExpenseAutomationJESchedulesPage, ignoreExpenseAutomationJESchedule, initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryExpenseAutomationJESchedule,
|
|
829
|
+
export { clearExpenseAutomationJEScheduleLocalData, clearExpenseAutomationJESchedulesView, fetchExpenseAutomationJESchedulesPage, ignoreExpenseAutomationJESchedule, initializeJeAccountSettingsView, initializeJeScheduleLocalData, removeJeScheduleTransactionKey, retryExpenseAutomationJESchedule, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, };
|
|
831
830
|
export { createNewSchedulesAccrued, deleteScheduleAccruedDetail, cancelScheduleAccruedJournalEntry, fetchScheduleAccruedDetails, fetchScheduleAccruedDetailsPage, resetJEAccruedLinkInLocalData, saveScheduleAccruedDetails, updateAmountsInScheduleAccruedDetail, updatedJEAccruedLinkWithRecommendedLocalData, updatedJELinkInLocalDataAccruedExpenses, fetchRecommendedTransactionRowIndex, clearSelectedJELinkRowIndex, updateLinkBillExpenseLocalData, updateScheduleAccruedDetailsLocalData, updateSelectedJEAccruedScheduleKey, resetSelectedJEAccruedScheduleKey, resetAccruedDetailNewScheduleState, };
|
|
832
|
-
export { JEScheduleKey, JEScheduleTransactionKey,
|
|
831
|
+
export { JEScheduleKey, JEScheduleTransactionKey, ALL_SCHEDULES_TYPES, JEScheduledTransaction, JEAccruedSchedule, ScheduleTypes, ScheduleJournalEntryStatusCodeType, ScheduleListReport, ScheduleAccruedListReport, getScheduleListReport, getAccruedScheduleListReport, ScheduleSubTabType, ScheduleListSortKey, fetchScheduleList, fetchAccruedScheduleList, fetchDownloadSchedules, fetchSchedulesAccount, updateScheduleListLocalData, getFetchStateForScheduleAccountList, toScheduleTypesType, toScheduleTypesTypeStrict, toScheduleListTabsFileTypeStrict, ScheduleListLocalData, ScheduleDetailsLocalDataFixedAssets, ScheduleDetailsLocalDataAccruedExpenses, ScheduleDetailsView, ScheduleAccruedDetailsView, LinkBillExpenseView, LinkBillExpenseLocalData, JEScheduleDetailsLocalData, ScheduleDetailsLocalData, toScheduleSubTabType, ScheduleStatusCodeType, JournalEntryErrorCodeType, ScheduleTransaction, updateScheduleListSubTab, updateScheduleListSearchText, updateScheduleListScrollState, updateScheduleListSortState, ScheduleDetailSortKey, ScheduledJournalEntry, updateSelectedJEScheduleKey, fetchScheduleDetails, getScheduleDetailsView, getAccruedScheduleDetailsView, fetchScheduleDetailsPage, saveScheduleDetails, deleteScheduleDetail, createNewSchedules, updateScheduleDetailsLocalData, JETransactionLink, updateScheduleListDownloadState, updateAccruedJEScheduleAccruedByListKey, DownloadJEScheduleTabOptions, updatedSelectedJELinkRowIndex, ScheduleListTabsFileType, getQBOUrlForLink, getThirdPartyIDFromQBOURL, updatedJELinkInLocalData, updateAmountsInScheduleDetail, ScheduleDetailUIState, resetJELinkInLocalData, JEScheduledTransactionWithBalance, JEScheduleWithBalance, JELinkType, updatedJELinkWithRecommendedLocalData, getFetchStateForScheduleListByType, getDefaultSelectedTimeframeForScheduleType, markAsCompleteScheduleDetail, resetMarkAsCompleteStatus, fetchVendorTabView, updateVendorTabViewTab, VendorTabViewTabType, getVendorTabView, VendorTabViewSelectorView, };
|
|
833
832
|
export { GlobalMerchant, GlobalMerchantBase, TenantMerchant };
|
|
834
833
|
export { ReviewStatus, VendorTransactionAttachment, VendorTransactionAttachmentPayload, VendorFirstReviewViewSelectorView, VendorFirstReviewViewLocalData, VendorFirstReviewSelectorView, VendorFirstReviewSelectorAttachmentView, VendorFirstReviewViewUIState, VendorFirstReviewViewColumnKey, GlobalMerchantAutoCompleteView, VendorReviewRowCurrentSelection, toVendorFirstReviewViewColumnKeyType, RecommendedNonExistingGlobalMerchant, getGlobalMerchantAutoCompleteResults, VendorReviewRecommendationViewState, GlobalMerchantType, getVendorFirstReviewView, getVendorFirstReviewAttachmentView, fetchVendorFirstReviewView, fetchVendorFirstReviewAttachments, updateVendorFirstReviewViewScrollYOffset, resetVendorFirstReviewLocalData, updateVendorFirstReviewViewPageToken, clearRecentlySavedErroredVendorData, saveVendorFirstReviewView, updateVendorFirstReviewViewLocalData, updateVendorFirstReviewSortUiState, fetchGlobalMerchantAutoCompleteView, clearGlobalMerchantAutoCompleteResults, GlobalVendorReviewRowCurrentSelection, FirstReviewPageCurrentSelectionByColumn, updateReviewVendorDetailLocalData, saveVendorDetailsView, getVendorDetailSelectorView, FirstReviewVendorDetailSelectorView, VendorViewLocalData, };
|
|
835
834
|
export { fetchGlobalMerchantRecommendation, createGlobalMerchant, updateCreateGlobalMerchantLocalData, clearGlobalMerchantView, getGlobalMerchantView, GlobalMerchantViewSelectorView, GlobalMerchantViewState, NewGlobalMerchantData, NewGlobalMerchantCurrentSelection, };
|
|
@@ -852,11 +851,9 @@ export { Country };
|
|
|
852
851
|
export { InternationalWireVerificationState, VerificationFormField, VerificationFormLocalData, FieldValueType, fetchInternationalVerificationForm, submitInternationalVerificationForm, updateVerificationFormLocalData, getIntlWireVerificationView, InternationalWireVerificationView, };
|
|
853
852
|
export { fetchExpressPayInitialDetails, updateExpressPayFormLocalData, submitExpressPay, resetExpressPayLocalData, ExpressPayFormLocalData, ExpressPayView, getExpressPayView, };
|
|
854
853
|
export { acceptTreasuryTerms, fetchTreasurySetupView, clearTreasurySetupView, fetchTreasuryFunds, updatePortfolioAllocation, fetchPortfolioAllocation, updateFundAllocationLocalData, updateTreasuryVideoViewed, FundAllocationOption, FundComposition, FundData, TreasurySetupView, getTreasurySetupViewDetails, getTreasuryFundsMaximumYield, };
|
|
855
|
-
export { fetchChatSessionsForUser, createSession, submitQuestion, updateAiCfoViewScrollPosition, updateCurrentInput, updateCotCollapsedState, clearInput, setSession, clearAiCfoView, clearCurrentSessionId, clearDeleteChatSessionStatus, clearLastContextMessage, createSessionAndSubmit, stopSubmit, stopSubmitQuestion, fetchChatHistory, acceptMasterTOS, deleteChatSession, updateResponseState,
|
|
856
|
-
export { AiCfoViewState, AiCfoViewUIState,
|
|
857
|
-
export {
|
|
858
|
-
export { AiCfoSuggestedQuestionsPageContext } from './view/aiCfoView/aiCfoViewState';
|
|
859
|
-
export { AiCfoViewSelector, getAiCfoView, getSuggestedQuestionsForPageContext, } from './view/aiCfoView/aiCfoViewSelector';
|
|
854
|
+
export { fetchChatSessionsForUser, createSession, submitQuestion, updateAiCfoViewScrollPosition, updateCurrentInput, updateCotCollapsedState, clearInput, setSession, clearAiCfoView, clearCurrentSessionId, clearDeleteChatSessionStatus, clearLastContextMessage, createSessionAndSubmit, stopSubmit, stopSubmitQuestion, fetchChatHistory, acceptMasterTOS, deleteChatSession, updateResponseState, } from './view/aiCfoView/aiCfoViewReducer';
|
|
855
|
+
export { AiCfoViewState, AiCfoViewUIState, } from './view/aiCfoView/aiCfoViewState';
|
|
856
|
+
export { AiCfoViewSelector, getAiCfoView, } from './view/aiCfoView/aiCfoViewSelector';
|
|
860
857
|
export { MessagePayload, ChatSessionPayload, AiCfoAnswerPayload, } from './entity/aiCfo/aiCfoPayload';
|
|
861
858
|
export { setNewSession, setSessions, upsertAnswerPayload, upsertOrAddQuestionAnswerPayload, addQuestionPayload, clearSession, clearAiCfo, toAiCfoVisualization, } from './entity/aiCfo/aiCfoReducer';
|
|
862
859
|
export { AiCfoSelectorView, getAllQuestionAnswersForChatSession, getQuestionAnswerByIdForChatSession, getAllQuestionsForChatSession, getAiCfoSelectorView, ChatSessionWithOrderedQuestionAnswers, } from './entity/aiCfo/aiCfoSelector';
|