@zeniai/client-epic-state 4.19.96-betaSS2 → 4.19.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/lib/commonStateTypes/animations.d.ts +1 -1
  2. package/lib/entity/aiCfo/aiCfoSelector.d.ts +2 -1
  3. package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
  4. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +0 -38
  5. package/lib/entity/jeSchedules/jeSchedulesPayload.js +0 -78
  6. package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +1 -4
  7. package/lib/entity/jeSchedules/jeSchedulesSelector.js +1 -5
  8. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +0 -37
  9. package/lib/entity/tenant/tenantPayload.d.ts +0 -1
  10. package/lib/entity/tenant/tenantReducer.js +0 -1
  11. package/lib/entity/tenant/tenantSelector.d.ts +0 -1
  12. package/lib/entity/tenant/tenantSelector.js +1 -9
  13. package/lib/entity/tenant/tenantState.d.ts +0 -1
  14. package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.d.ts +1 -4
  15. package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.js +0 -1
  16. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -3
  17. package/lib/entity/transaction/payloadTypes/transactionPayload.js +0 -11
  18. package/lib/entity/transaction/stateTypes/scheduleTransaction.d.ts +0 -1
  19. package/lib/entity/transaction/stateTypes/transaction.d.ts +0 -3
  20. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +1 -1
  21. package/lib/epic.d.ts +1 -2
  22. package/lib/epic.js +1 -2
  23. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +0 -78
  24. package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +1 -5
  25. package/lib/esm/entity/tenant/tenantReducer.js +0 -1
  26. package/lib/esm/entity/tenant/tenantSelector.js +0 -7
  27. package/lib/esm/entity/transaction/payloadTypes/scheduleTransactionPayload.js +0 -1
  28. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +0 -11
  29. package/lib/esm/epic.js +1 -2
  30. package/lib/esm/index.js +7 -8
  31. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +1 -82
  32. package/lib/esm/view/aiCfoView/aiCfoViewSelector.js +2 -8
  33. package/lib/esm/view/classList/fetchClassListEpic.js +2 -9
  34. package/lib/esm/view/commonVendorView/vendorView/vendorViewSelector.js +5 -15
  35. package/lib/esm/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +2 -6
  36. package/lib/esm/view/expenseAutomationView/expenseAutomationViewSelector.js +1 -0
  37. package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -2
  38. package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
  39. package/lib/esm/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +1 -17
  40. package/lib/esm/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +2 -10
  41. package/lib/esm/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +6 -61
  42. package/lib/esm/view/expenseAutomationView/selectors/missingReceiptsSelector.js +4 -12
  43. package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +9 -22
  44. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +6 -12
  45. package/lib/esm/view/expenseAutomationView/types/jeSchedulesViewState.js +1 -17
  46. package/lib/esm/view/spendManagement/billPay/billList/billListSelector.js +0 -10
  47. package/lib/esm/view/spendManagement/billPay/billList/billListState.js +0 -1
  48. package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +3 -7
  49. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
  50. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +2 -7
  51. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +6 -13
  52. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +0 -1
  53. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +0 -2
  54. package/lib/esm/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +4 -7
  55. package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListSelector.js +0 -12
  56. package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListState.js +0 -1
  57. package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
  58. package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +2 -2
  59. package/lib/esm/view/transactionDetail/transactionDetailLocalDataHelper.js +14 -16
  60. package/lib/index.d.ts +10 -13
  61. package/lib/index.js +32 -42
  62. package/lib/tsconfig.typecheck.tsbuildinfo +1 -0
  63. package/lib/view/aiCfoView/aiCfoViewPayload.d.ts +0 -7
  64. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +1 -15
  65. package/lib/view/aiCfoView/aiCfoViewReducer.js +2 -83
  66. package/lib/view/aiCfoView/aiCfoViewSelector.d.ts +1 -4
  67. package/lib/view/aiCfoView/aiCfoViewSelector.js +2 -9
  68. package/lib/view/aiCfoView/aiCfoViewState.d.ts +1 -18
  69. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  70. package/lib/view/classList/fetchClassListEpic.d.ts +1 -1
  71. package/lib/view/classList/fetchClassListEpic.js +1 -8
  72. package/lib/view/commonVendorView/vendorView/vendorViewSelector.d.ts +0 -1
  73. package/lib/view/commonVendorView/vendorView/vendorViewSelector.js +5 -15
  74. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.d.ts +0 -1
  75. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +2 -6
  76. package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +1 -0
  77. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -2
  78. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
  79. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +2 -2
  80. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +2 -18
  81. package/lib/view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes.d.ts +0 -2
  82. package/lib/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +2 -10
  83. package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +6 -61
  84. package/lib/view/expenseAutomationView/selectors/missingReceiptsSelector.js +4 -12
  85. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +9 -22
  86. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +5 -11
  87. package/lib/view/expenseAutomationView/types/jeSchedulesViewState.d.ts +0 -5
  88. package/lib/view/expenseAutomationView/types/jeSchedulesViewState.js +0 -19
  89. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  90. package/lib/view/spendManagement/billPay/billList/billListSelector.js +0 -10
  91. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
  92. package/lib/view/spendManagement/billPay/billList/billListState.js +0 -1
  93. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +3 -7
  94. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
  95. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +2 -7
  96. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +6 -13
  97. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  98. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +0 -1
  99. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +0 -2
  100. package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +3 -6
  101. package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.d.ts +0 -1
  102. package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.js +0 -12
  103. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +1 -1
  104. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.js +0 -1
  105. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
  106. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +2 -2
  107. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +14 -16
  108. package/package.json +1 -1
  109. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +0 -29
  110. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +0 -8
  111. 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, fetchSuggestedQuestions, fetchSuggestedQuestionsSuccess, fetchSuggestedQuestionsFailure, applyAiCfoSidePanelHostPageTransition, clearAiCfoSidePanelHostPageContext, } = aiCfoView.actions;
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, suggestedQuestionsByPageContext, } = state.aiCfoViewState ?? initialAiCfoViewState;
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
- suggestedQuestionsByPageContext,
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
- }
@@ -1,16 +1,9 @@
1
1
  import { of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap, withLatestFrom, } from 'rxjs/operators';
2
+ import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
3
3
  import { updateClasses } from '../../entity/class/classReducer';
4
- import { getIsAccountingClassesEnabled } from '../../entity/tenant/tenantSelector';
5
4
  import { createZeniAPIStatus, isSuccessResponse } from '../../responsePayload';
6
5
  import { fetchClassList, updateClassList, updateClassListFailure, } from './classListReducer';
7
- export const fetchClassListEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchClassList.match), withLatestFrom(state$), switchMap(([action, state]) => {
8
- if (!getIsAccountingClassesEnabled(state)) {
9
- return of(updateClassList({
10
- status: createZeniAPIStatus('Success', ''),
11
- data: { accounting_classes: [] },
12
- }));
13
- }
6
+ export const fetchClassListEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchClassList.match), switchMap((action) => {
14
7
  const { isIncludeDeleted } = action.payload;
15
8
  const queryParams = isIncludeDeleted === true
16
9
  ? `?query=${encodeURIComponent(JSON.stringify({ is_include_deleted: true }))}`
@@ -1,5 +1,4 @@
1
1
  import { reduceAnyFetchState, reduceFetchState, } from '../../../commonStateTypes/reduceFetchState';
2
- import { getIsAccountingClassesEnabled } from '../../../entity/tenant/tenantSelector';
3
2
  import { getAccountBase } from '../../../entity/account/accountSelector';
4
3
  import { getAddressByAddressId } from '../../../entity/address/addressSelector';
5
4
  import { getBankAccountsByBankAccountIds } from '../../../entity/bankAccount/bankAccountSelector';
@@ -61,17 +60,13 @@ export const getVendorView = (state, vendorIdFromUrl) => {
61
60
  ?.vendorDetailLocalData,
62
61
  supportedCountries: billPayConfigState.vendor.supportedCountries,
63
62
  };
64
- const isAccountingClassesEnabled = getIsAccountingClassesEnabled(state);
65
- const editFetchStateList = [
63
+ fetchState = reduceFetchState([
66
64
  accountList,
65
+ classList,
67
66
  vendorTypeListState,
68
67
  vendorViewState.editVendorStateById[vendorIdFromUrl]?.fetchStatus ??
69
68
  vendorViewInitialState.newVendorState.fetchStatus,
70
- ];
71
- if (isAccountingClassesEnabled) {
72
- editFetchStateList.push(classList);
73
- }
74
- fetchState = reduceFetchState(editFetchStateList);
69
+ ]);
75
70
  }
76
71
  else {
77
72
  const basicVendorDetails = getBasicVendorDetailsForNewVendor(state, vendorViewState.newVendorState);
@@ -100,14 +95,11 @@ export const getVendorView = (state, vendorIdFromUrl) => {
100
95
  if (tentativeName != null) {
101
96
  entityRecommendations = getRecommendationsForEntity(state, tentativeName, 'vendor');
102
97
  }
103
- const isAccountingClassesEnabled = getIsAccountingClassesEnabled(state);
104
98
  const fetchStateList = [
105
99
  { fetchState: accountList.fetchState, error: accountList.error },
100
+ { fetchState: classList.fetchState, error: classList.error },
106
101
  vendorTypeListState,
107
102
  ];
108
- if (isAccountingClassesEnabled) {
109
- fetchStateList.push({ fetchState: classList.fetchState, error: classList.error });
110
- }
111
103
  if (entityRecommendations != null &&
112
104
  entityRecommendations.recommendations != null &&
113
105
  entityRecommendations.recommendations.length > 0) {
@@ -152,7 +144,6 @@ export const getVendorView = (state, vendorIdFromUrl) => {
152
144
  fetchState: fetchState.fetchState,
153
145
  hasWireTransfer,
154
146
  hasInternationalWireTransfer,
155
- isAccountingClassesEnabled: getIsAccountingClassesEnabled(state),
156
147
  deleteFileStatusById,
157
148
  updateFileStatusById,
158
149
  loggedInUserVerification,
@@ -228,10 +219,9 @@ const getBasicVendorDetailsForNewVendor = (state, newVendor) => {
228
219
  };
229
220
  export const getVendorDetailPageView = (state, vendorId, entity) => {
230
221
  const trendWithTransactions = getTrendWithTransactions(state, entity, 'EntityDetail');
231
- const isAccountingClassesEnabled = getIsAccountingClassesEnabled(state);
232
222
  const reducedFetchState = reduceAnyFetchState([
233
223
  state.accountListState.byReportId.accountList,
234
- ...(isAccountingClassesEnabled ? [state.classListState] : []),
224
+ state.classListState,
235
225
  state.vendorTypeListState,
236
226
  state.ownerListState,
237
227
  state.vendorViewState.editVendorStateById[vendorId]?.fetchStatus ?? {
@@ -3,7 +3,6 @@ import { getStartOfAndEndOfTimeframeForFY } from '../../../commonStateTypes/fisc
3
3
  import { reduceAnyFetchState, reduceFetchState, } from '../../../commonStateTypes/reduceFetchState';
4
4
  import { stringToUnion } from '../../../commonStateTypes/stringToUnion';
5
5
  import { getAccountBase } from '../../../entity/account/accountSelector';
6
- import { getIsAccountingClassesEnabled } from '../../../entity/tenant/tenantSelector';
7
6
  import { getAddressByAddressId } from '../../../entity/address/addressSelector';
8
7
  import { getContactsByIds } from '../../../entity/billPay/contact/contactSelector';
9
8
  import { getClassById } from '../../../entity/class/classSelector';
@@ -21,7 +20,6 @@ const ALL_VENDOR_DETAIL_TABS_TYPES = [
21
20
  export const toVendorDetailTabsType = (v) => stringToUnion(v, ALL_VENDOR_DETAIL_TABS_TYPES);
22
21
  export const getVendorsTabVendorView = (state, vendorIdFromUrl) => {
23
22
  const { accountListState, accountState, classListState, classState, vendorState, userState, vendorsTabVendorViewState, vendorTypeListState, addressState, addressViewState, contactState, } = state;
24
- const isAccountingClassesEnabled = getIsAccountingClassesEnabled(state);
25
23
  const accountList = getAccountList(accountState, accountListState, 'accountList');
26
24
  const classList = getClassList(classState, classListState);
27
25
  const ownerList = getUsersByUserIds(state.userState, state.ownerListState.ownerIds);
@@ -53,7 +51,7 @@ export const getVendorsTabVendorView = (state, vendorIdFromUrl) => {
53
51
  }
54
52
  fetchState = reduceFetchState([
55
53
  accountList,
56
- ...(isAccountingClassesEnabled ? [classList] : []),
54
+ classList,
57
55
  vendorTypeListState,
58
56
  vendorsTabVendorViewState.vendorStateById[vendorIdFromUrl]?.fetchStatus ?? {
59
57
  fetchState: 'Not-Started',
@@ -64,7 +62,6 @@ export const getVendorsTabVendorView = (state, vendorIdFromUrl) => {
64
62
  return {
65
63
  accountList: accountList,
66
64
  classList: classList,
67
- isAccountingClassesEnabled,
68
65
  vendorTypeList: vendorTypeList,
69
66
  accountsHierarchyList,
70
67
  classHierarchyList,
@@ -105,10 +102,9 @@ export const getVendorsTabDetailPageView = (state, vendorId, entity) => {
105
102
  ? getTransactionListByEntityForSinglePeriod(state, entity, state.vendorsTabVendorViewState.allTransactionsTabData
106
103
  .numberOfQuartersFetched)
107
104
  : undefined;
108
- const isAccountingClassesEnabled = getIsAccountingClassesEnabled(state);
109
105
  const reducedFetchState = reduceAnyFetchState([
110
106
  state.accountListState.byReportId.accountList,
111
- ...(isAccountingClassesEnabled ? [state.classListState] : []),
107
+ state.classListState,
112
108
  state.ownerListState,
113
109
  state.vendorTypeListState,
114
110
  state.vendorsTabVendorViewState.vendorStateById[vendorId]?.fetchStatus ?? {
@@ -91,6 +91,7 @@ export function getExpenseAutomationView(state) {
91
91
  const fetchStateVariables = [
92
92
  expenseAutomationMissingReceiptsViewState,
93
93
  expenseAutomationJESchedulesViewState,
94
+ monthEndCloseChecksView,
94
95
  expenseAutomationTransactionsView,
95
96
  expenseAutomationReconciliationViewState,
96
97
  ];
@@ -64,8 +64,8 @@ export const toTransactionUpdatesFromTransactionCategorizationLocalData = (trans
64
64
  lineItem.account?.qboId !== accountLine.account.qboId &&
65
65
  Boolean(lineItem.account?.qboId);
66
66
  hasClassChanged =
67
- (lineItem.class?.qboId != null || accountLine.class?.qboId != null) &&
68
- lineItem.class?.qboId !== accountLine.class?.qboId;
67
+ Boolean(lineItem.class?.qboId) &&
68
+ lineItem.class?.qboId !== accountLine.class.qboId;
69
69
  const recommendedAccountBase = toRecommendedAccountBase(lineItem.amount.amount, lineItem.account);
70
70
  const recommendedClassBase = toRecommendedClassBase(lineItem.amount.amount, lineItem.class);
71
71
  if (entityDetails != null &&
@@ -234,7 +234,7 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
234
234
  isPreFilled: true,
235
235
  };
236
236
  }
237
- if (Boolean(accountLine.class?.classId) === false &&
237
+ if (accountLine.class.classId === '' &&
238
238
  higherPreferenceRecommendation?.class != null) {
239
239
  record.class = {
240
240
  ...higherPreferenceRecommendation.class,
@@ -464,7 +464,7 @@ export const setEntityRecommendationForLineIdInLocalData = (draft, transaction,
464
464
  }
465
465
  : accountLine.account;
466
466
  record.class =
467
- Boolean(accountLine.class?.classId) !== false
467
+ accountLine.class.classId !== ''
468
468
  ? accountLine.class
469
469
  : recommendations?.[0]?.class
470
470
  ? {
@@ -44,8 +44,6 @@ export const initialState = {
44
44
  uiState: {
45
45
  searchString: '',
46
46
  scrollPosition: { scrollTop: 0, scrollLeft: undefined },
47
- sortKey: 'startMonth',
48
- sortOrder: 'descending',
49
47
  totalCount: 0,
50
48
  limit: 10,
51
49
  },
@@ -367,26 +365,12 @@ const expenseAutomationJESchedulesView = createSlice({
367
365
  clearJeAccountSettingsLocalData(draft) {
368
366
  draft.accountSettings.localData = accountSettingsInitialState.localData;
369
367
  },
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
368
  clearExpenseAutomationJESchedulesView(draft) {
385
369
  Object.assign(draft, initialState);
386
370
  },
387
371
  },
388
372
  });
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, updateJESchedulesUIState, updateJeScheduleLocalDataById, updateJeScheduleTransactionKeys, updateRecommendationForAccountSettings, updateRecommendationForAccountSettingsFailure, } = expenseAutomationJESchedulesView.actions;
373
+ 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
374
  export default expenseAutomationJESchedulesView.reducer;
391
375
  const doUpdateRecommendationForAccountSettings = (draft, payload) => {
392
376
  const { prepaidExpensesRecommendations, fixedAssetsRecommendations, accruedExpensesRecommendations, } = mapAccountTypeRecommendationPayloadToAccountRecommendationByType(payload);
@@ -1,4 +1,3 @@
1
- import { reduceAnyFetchState } from '../../../commonStateTypes/reduceFetchState';
2
1
  import { toMonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
3
2
  import { getAccountBase } from '../../../entity/account/accountSelector';
4
3
  import { getClassById } from '../../../entity/class/classSelector';
@@ -7,7 +6,7 @@ import { getUserByUserId } from '../../../entity/user/userSelector';
7
6
  import { getVendorByVendorId } from '../../../entity/vendor/vendorSelector';
8
7
  import { getAllSteps } from '../selectorTypes/expenseAutomationViewSelectorTypes';
9
8
  export function getExpenseAutomationFluxAnalysisView(state) {
10
- const { expenseAutomationFluxAnalysisViewState, monthEndCloseChecksState, monthEndCloseChecksViewState, } = state;
9
+ const { expenseAutomationFluxAnalysisViewState, monthEndCloseChecksState } = state;
11
10
  const { fetchState, error, refreshStatus, uiState, reviewOperatingExpenseIdsByPeriod, selectedSectionIdsByPeriod, groupsBySelectedPeriod, fluxAnalysisEntities, bulkReviewStatus, currency, totalBalancesAndVariance, } = expenseAutomationFluxAnalysisViewState;
12
11
  const fetchStateAndError = {
13
12
  fetchState,
@@ -92,17 +91,10 @@ export function getExpenseAutomationFluxAnalysisView(state) {
92
91
  },
93
92
  };
94
93
  const completionStatus = fluxCompletionStatus != null ? fluxCompletionStatus : 'incomplete';
95
- const monthEndFetchState = monthYearPeriodId != null
96
- ? (monthEndCloseChecksViewState.monthEndCloseChecksViewByTenantId[currentTenant.tenantId]?.[monthYearPeriodId] ?? { fetchState: 'Not-Started', error: undefined })
97
- : { fetchState: 'Not-Started', error: undefined };
98
- const reducedFetchStatus = reduceAnyFetchState([
99
- fetchStateAndError,
100
- monthEndFetchState,
101
- ]);
102
94
  return {
103
95
  sections,
104
96
  totalBalancesAndVariance,
105
- fetchStatus: reducedFetchStatus,
97
+ fetchStatus: fetchStateAndError,
106
98
  bulkReviewStatus,
107
99
  reviewOperatingExpensesIds,
108
100
  selectedSectionIds,
@@ -1,6 +1,4 @@
1
1
  import omit from 'lodash/omit';
2
- import orderBy from 'lodash/orderBy';
3
- import { reduceAnyFetchState } from '../../../commonStateTypes/reduceFetchState';
4
2
  import { toMonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
5
3
  import { getAccountIdsForTypes } from '../../../entity/account/accountSelector';
6
4
  import { getJEScheduledTransactionByJEScheduleTransactionKey, } from '../../../entity/jeSchedules/jeSchedulesSelector';
@@ -12,46 +10,10 @@ import { filterNestedAccountHierarchyById } from '../../scheduleView/scheduleDet
12
10
  import { getAccountLabelForScheduleType, getAccountsTypesForScheduleList, } from '../../scheduleView/scheduleListView/scheduleListHelper';
13
11
  import { getAllSteps } from '../selectorTypes/expenseAutomationViewSelectorTypes';
14
12
  import { getJEAccountSettingsView } from './jeAccountSettingsViewSelector';
15
- function getJEScheduleSortAccessor(sortKey) {
16
- switch (sortKey) {
17
- case 'vendor':
18
- return (s) => s.vendor.name?.toLowerCase();
19
- case 'category':
20
- return (s) => s.jeDebit.account?.accountName?.toLowerCase();
21
- case 'class':
22
- return (s) => s.jeDebit.accountingClass?.className?.toLowerCase();
23
- case 'scheduleCategory':
24
- return (s) => s.jeScheduleType;
25
- case 'startMonth':
26
- return (s) => s.startDate?.valueOf();
27
- case 'type':
28
- return (s) => s.baseTransaction.typeOfTransaction;
29
- case 'amortizationPeriod':
30
- return (s) => s.period;
31
- case 'jePostingDate':
32
- return (s) => s.dayOfPostingDate;
33
- case 'remainingMonths':
34
- return (s) => s.period;
35
- case 'runningBalance':
36
- return (s) => s.balanceAsOfToday?.amount;
37
- case 'totalAmount':
38
- return (s) => s.baseTransaction.amount.amount;
39
- case 'transactionDate':
40
- return (s) => s.baseTransaction.date.valueOf();
41
- case 'memo':
42
- return (s) => s.baseTransaction.memo?.toLowerCase();
43
- default:
44
- return (s) => s.startDate?.valueOf();
45
- }
46
- }
47
- function sortJEScheduledTransactions(transactions, sortKey, sortOrder) {
48
- const accessor = getJEScheduleSortAccessor(sortKey);
49
- return orderBy(transactions, [accessor], [sortOrder === 'ascending' ? 'asc' : 'desc']);
50
- }
51
13
  export function getExpenseAutomationJESchedulesView(state) {
52
14
  const jeScheduledTransaction = [];
53
15
  const failedJeScheduledTransaction = [];
54
- const { accountState, accountListState, classState, classListState, expenseAutomationJESchedulesViewState, expenseAutomationViewState, monthEndCloseChecksState, monthEndCloseChecksViewState, } = state;
16
+ const { accountState, accountListState, classState, classListState, expenseAutomationJESchedulesViewState, expenseAutomationViewState, monthEndCloseChecksState, } = state;
55
17
  const { jeScheduleTransactionKeysByPeriod, failedJeScheduleTransactionKeysByPeriod, jeScheduleLocalDataById, postStatusById, ignoreStatusById, uiState, error, fetchState, refreshStatus, } = expenseAutomationJESchedulesViewState;
56
18
  const accountSettingsView = getJEAccountSettingsView(state);
57
19
  const currentTenant = getCurrentTenant(state);
@@ -97,33 +59,18 @@ export function getExpenseAutomationJESchedulesView(state) {
97
59
  const jeScheduleDetails = getJEScheduledTransactionByJEScheduleTransactionKey(jeScheduleKey, state);
98
60
  failedJeScheduledTransaction.push(jeScheduleDetails);
99
61
  });
100
- const { sortKey, sortOrder } = uiState;
101
- const draftSchedules = sortJEScheduledTransactions(jeScheduledTransaction.filter((schedule) => schedule.status.code === 'draft'), sortKey, sortOrder);
102
- const ongoingSchedules = sortJEScheduledTransactions(jeScheduledTransaction.filter((schedule) => schedule.status.code === 'ongoing'), sortKey, sortOrder);
103
- const completedSchedules = sortJEScheduledTransactions(jeScheduledTransaction.filter((schedule) => schedule.status.code === 'completed' ||
104
- schedule.status.code === 'marked_as_completed'), sortKey, sortOrder);
105
- const unsortedResolveSchedules = [];
62
+ const draftSchedules = jeScheduledTransaction.filter((schedule) => schedule.status.code === 'draft');
63
+ const resolveSchedules = [];
106
64
  failedJeScheduledTransaction.forEach((schedule) => {
107
65
  schedule.scheduledJournalEntry.forEach((journalEntry) => {
108
- unsortedResolveSchedules.push({
109
- ...schedule,
110
- scheduledJournalEntry: journalEntry,
111
- });
66
+ resolveSchedules.push({ ...schedule, scheduledJournalEntry: journalEntry });
112
67
  });
113
68
  });
114
- const resolveSchedules = sortJEScheduledTransactions(unsortedResolveSchedules, sortKey, sortOrder);
115
69
  const allSteps = monthYearPeriodId != null
116
70
  ? getAllSteps(monthEndCloseChecksState, monthYearPeriodId, currentTenant.tenantId)
117
71
  : [];
118
72
  const jeCompletionStatus = allSteps.find((step) => step.step === 'je_schedules')?.completionStatus;
119
73
  const completionStatus = jeCompletionStatus != null ? jeCompletionStatus : 'incomplete';
120
- const monthEndFetchState = monthYearPeriodId != null
121
- ? (monthEndCloseChecksViewState.monthEndCloseChecksViewByTenantId[currentTenant.tenantId]?.[monthYearPeriodId] ?? { fetchState: 'Not-Started', error: undefined })
122
- : { fetchState: 'Not-Started', error: undefined };
123
- const reducedFetchStatus = reduceAnyFetchState([
124
- { fetchState, error },
125
- monthEndFetchState,
126
- ]);
127
74
  return {
128
75
  uncategorizedAccounts,
129
76
  allDepreciationAccountList: filteredDepAccounts,
@@ -132,17 +79,15 @@ export function getExpenseAutomationJESchedulesView(state) {
132
79
  allAccountList: filteredAccounts,
133
80
  accountListNestedAccountHierarchy,
134
81
  allClassList: allClasses,
135
- completedSchedules,
136
82
  draftSchedules,
137
- ongoingSchedules,
138
83
  resolveSchedules: resolveSchedules,
139
84
  accountSettingsView,
140
85
  postStatusById: postStatusById,
141
86
  ignoreStatusById: ignoreStatusById,
142
- fetchState: reducedFetchStatus.fetchState,
87
+ fetchState: fetchState,
143
88
  jeScheduleLocalDataById: jeScheduleLocalDataById,
144
89
  uiState: uiState,
145
- error: reducedFetchStatus.error,
90
+ error: error,
146
91
  refreshStatus,
147
92
  completionStatus,
148
93
  };
@@ -1,5 +1,4 @@
1
1
  import orderBy from 'lodash/orderBy';
2
- import { reduceAnyFetchState } from '../../../commonStateTypes/reduceFetchState';
3
2
  import { toMonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
4
3
  import { getCurrentTenant } from '../../../entity/tenant/tenantSelector';
5
4
  import { getSupportedTransactionById, getSupportedTransactionsByIds, } from '../../../entity/transaction/transactionSelector';
@@ -8,7 +7,7 @@ import { getCompletedTransactionsCacheKey } from '../reducers/missingReceiptsVie
8
7
  import { getAllSteps } from '../selectorTypes/expenseAutomationViewSelectorTypes';
9
8
  import { isUnmatchedTabFileStatus, } from '../types/missingReceiptsViewState';
10
9
  export function getExpenseAutomationMissingReceiptsView(state) {
11
- const { expenseAutomationMissingReceiptsViewState, expenseAutomationViewState, transactionState, monthEndCloseChecksState, monthEndCloseChecksViewState, } = state;
10
+ const { expenseAutomationMissingReceiptsViewState, expenseAutomationViewState, transactionState, monthEndCloseChecksState, } = state;
12
11
  const currentTenant = getCurrentTenant(state);
13
12
  const { selectedPeriodByTenantId } = expenseAutomationViewState;
14
13
  const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
@@ -37,7 +36,7 @@ export function getExpenseAutomationMissingReceiptsView(state) {
37
36
  transaction.lines.length > 0 &&
38
37
  transaction.lines[0]
39
38
  ?.class != null
40
- ? transaction.lines[0].class?.className.toLowerCase()
39
+ ? transaction.lines[0].class.className.toLowerCase()
41
40
  : null;
42
41
  case 'vendor':
43
42
  default:
@@ -176,16 +175,9 @@ export function getExpenseAutomationMissingReceiptsView(state) {
176
175
  vendorLogo: result.vendorLogo ?? transaction?.logo?.href,
177
176
  };
178
177
  });
179
- const monthEndFetchState = monthYearPeriodId != null
180
- ? (monthEndCloseChecksViewState.monthEndCloseChecksViewByTenantId[currentTenant.tenantId]?.[monthYearPeriodId] ?? { fetchState: 'Not-Started', error: undefined })
181
- : { fetchState: 'Not-Started', error: undefined };
182
- const reducedFetchStatus = reduceAnyFetchState([
183
- { fetchState, error },
184
- monthEndFetchState,
185
- ]);
186
178
  return {
187
- fetchState: reducedFetchStatus.fetchState,
188
- error: reducedFetchStatus.error,
179
+ fetchState,
180
+ error,
189
181
  uploadReceiptStatusById,
190
182
  uiState,
191
183
  refreshStatus,
@@ -13,7 +13,7 @@ import { getAccountList, getNestedAccountListHierarchy, } from '../../accountLis
13
13
  import { getClassList, getNestedClassListHierarchy, } from '../../classList/classListSelector';
14
14
  import { initialActionFetchState, initialReconciliationTabsState, initialState, } from '../reducers/reconciliationViewReducer';
15
15
  import { getAllSteps } from '../selectorTypes/expenseAutomationViewSelectorTypes';
16
- export const getExpenseAutomationReconciliationView = createSelector((state) => state, (state) => getCurrentTenant(state), (state) => state.expenseAutomationReconciliationViewState, (state) => state.expenseAutomationViewState, (state) => state.plaidAccountViewState, (state) => state.accountListState, (state) => state.accountState, (state) => state.classListState, (state) => state.classState, (state) => state.monthEndCloseChecksState, (state) => state.vendorState, (state) => state.monthEndCloseChecksViewState, (state, currentTenant, reconciliationViewState, expenseAutomationViewState, plaidAccountViewState, accountListState, accountState, classListState, classState, monthEndCloseChecksState, vendorState, monthEndCloseChecksViewState) => {
16
+ export const getExpenseAutomationReconciliationView = createSelector((state) => state, (state) => getCurrentTenant(state), (state) => state.expenseAutomationReconciliationViewState, (state) => state.expenseAutomationViewState, (state) => state.plaidAccountViewState, (state) => state.accountListState, (state) => state.accountState, (state) => state.classListState, (state) => state.classState, (state) => state.monthEndCloseChecksState, (state) => state.vendorState, (state, currentTenant, reconciliationViewState, expenseAutomationViewState, plaidAccountViewState, accountListState, accountState, classListState, classState, monthEndCloseChecksState, vendorState) => {
17
17
  const { selectedPeriodByTenantId } = expenseAutomationViewState;
18
18
  const reconcileTabUiState = reconciliationViewState.reconTabsState.reconcile.uiState;
19
19
  const reviewTabUiState = reconciliationViewState.reconTabsState.review.uiState;
@@ -35,13 +35,6 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
35
35
  }
36
36
  return acc;
37
37
  }, []);
38
- const monthYearPeriodId = selectedPeriod != null ? toMonthYearPeriodId(selectedPeriod) : null;
39
- const monthEndFetchState = monthYearPeriodId != null
40
- ? (monthEndCloseChecksViewState.monthEndCloseChecksViewByTenantId[currentTenant.tenantId]?.[monthYearPeriodId] ?? {
41
- fetchState: 'Not-Started',
42
- error: undefined,
43
- })
44
- : { fetchState: 'Not-Started', error: undefined };
45
38
  if (accountReconForMonthYearPeriod == null) {
46
39
  return {
47
40
  bankAccounts: [],
@@ -51,13 +44,10 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
51
44
  classListNestedAccountHierarchy: [],
52
45
  allAccountList: [],
53
46
  allClassList: [],
54
- fetchStatus: reduceAnyFetchState([
55
- {
56
- fetchState: reconciliationViewState.fetchState,
57
- error: reconciliationViewState.error,
58
- },
59
- monthEndFetchState,
60
- ]),
47
+ fetchStatus: {
48
+ fetchState: reconciliationViewState.fetchState,
49
+ error: reconciliationViewState.error,
50
+ },
61
51
  plaidConnectionDetails: plaidAccountViewState['expense_automation_reconcile']
62
52
  .plaidConnectionDetails,
63
53
  completionStatus: 'incomplete',
@@ -280,13 +270,10 @@ export const getExpenseAutomationReconciliationView = createSelector((state) =>
280
270
  bankAccounts: uniqueBankAccounts,
281
271
  creditCards: uniqueCreditCards,
282
272
  accountReconciliationsByAccountID: reconList,
283
- fetchStatus: reduceAnyFetchState([
284
- {
285
- fetchState: reconciliationViewState.fetchState,
286
- error: reconciliationViewState.error,
287
- },
288
- monthEndFetchState,
289
- ]),
273
+ fetchStatus: {
274
+ fetchState: reconciliationViewState.fetchState,
275
+ error: reconciliationViewState.error,
276
+ },
290
277
  plaidConnectionDetails: plaidAccountViewState['expense_automation_reconcile']
291
278
  .plaidConnectionDetails,
292
279
  reconciliationTabsState: reconciliationViewState.reconTabsState,