@zeniai/client-epic-state 5.0.48-betaRD5 → 5.0.49-betaML1

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 (87) hide show
  1. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  2. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  3. package/lib/entity/account/accountSelector.d.ts +5 -0
  4. package/lib/entity/account/accountSelector.js +8 -1
  5. package/lib/entity/account/accountState.d.ts +1 -1
  6. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  7. package/lib/entity/class/classReducer.d.ts +4 -4
  8. package/lib/entity/class/classState.d.ts +1 -1
  9. package/lib/entity/forecast/forecastState.d.ts +1 -1
  10. package/lib/entity/project/projectPayload.d.ts +3 -3
  11. package/lib/entity/project/projectPayload.js +3 -3
  12. package/lib/entity/project/projectState.d.ts +2 -4
  13. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  14. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  15. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  16. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
  17. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
  18. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  19. package/lib/entity/snackbar/snackbarTypes.js +2 -0
  20. package/lib/entity/tenant/SessionManager.d.ts +4 -0
  21. package/lib/entity/tenant/SessionManager.js +6 -0
  22. package/lib/entity/transaction/payloadTypes/transactionLinePayload.js +1 -1
  23. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +6 -2
  24. package/lib/entity/transaction/payloadTypes/transactionPayload.js +10 -6
  25. package/lib/entity/transaction/stateTypes/transaction.d.ts +3 -2
  26. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +2 -2
  27. package/lib/epic.d.ts +3 -1
  28. package/lib/epic.js +3 -1
  29. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  30. package/lib/esm/entity/account/accountSelector.js +6 -0
  31. package/lib/esm/entity/project/projectPayload.js +1 -1
  32. package/lib/esm/entity/snackbar/snackbarTypes.js +2 -0
  33. package/lib/esm/entity/tenant/SessionManager.js +6 -0
  34. package/lib/esm/entity/transaction/payloadTypes/transactionLinePayload.js +2 -2
  35. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +10 -6
  36. package/lib/esm/epic.js +3 -1
  37. package/lib/esm/index.js +4 -4
  38. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +81 -0
  39. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +5 -7
  40. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +25 -0
  41. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +0 -3
  42. package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +0 -1
  43. package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -11
  44. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +70 -14
  45. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +21 -7
  46. package/lib/esm/view/transactionDetail/epics/transactionDetailEpic.js +6 -0
  47. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +13 -2
  48. package/lib/index.d.ts +6 -6
  49. package/lib/index.js +42 -33
  50. package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
  51. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  52. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  53. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  54. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  55. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  56. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  57. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  58. package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.d.ts +9 -0
  59. package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +85 -0
  60. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.d.ts +2 -3
  61. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +4 -6
  62. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.d.ts +8 -0
  63. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +29 -0
  64. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +0 -3
  65. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +0 -1
  66. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +2 -3
  67. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -11
  68. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +16 -4
  69. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +71 -15
  70. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +3 -4
  71. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +2 -0
  72. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +21 -6
  73. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +13 -4
  74. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  75. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  76. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  77. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  78. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  79. package/lib/view/topEx/topExSelector.d.ts +1 -1
  80. package/lib/view/transactionDetail/epics/transactionDetailEpic.d.ts +2 -1
  81. package/lib/view/transactionDetail/epics/transactionDetailEpic.js +6 -0
  82. package/lib/view/transactionDetail/transactionDetailPayload.d.ts +1 -1
  83. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +4 -1
  84. package/lib/view/transactionDetail/transactionDetailSelector.js +12 -1
  85. package/lib/view/transactionDetail/transactionDetailState.d.ts +2 -2
  86. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +2 -2
  87. package/package.json +1 -1
@@ -4,13 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  var _a;
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.uploadTransactionCategorizationReceiptSuccess = exports.updateTransactionCategorizationUploadReceiptState = exports.backgroundRefetchReviewTab = exports.syncTransactionCategorizationFromDetailSave = exports.updateSelectedTransactionId = exports.setEntityRecommendationForLineIdsForCategorization = exports.clearExpenseAutomationTransactionsView = exports.clearExpenseAutomationTransactionsViewPerTabView = exports.updateSelectedCheckboxTransactionIds = exports.fetchTransactionCategorizationView = exports.resetOtherTabsFetchState = exports.fetchTransactionCategorizationSuccess = exports.updateTotalCountForTransactionCategorization = exports.setAllItemsToCategoryClassInLocalDataForCategorization = exports.updateSelectedCustomerForTransaction = exports.updateSelectedVendorForTransaction = exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = exports.markTransactionAsNotMiscategorized = exports.updateTransactionCategorizationSaveStatus = exports.updateCurrentSelectedTransactionCategorizationTab = exports.updateTransactionCategorization = exports.saveTransactionCategorization = exports.fetchTransactionCategorizationFailure = exports.saveTransactionCategorizationLocalData = exports.initializeTransactionCategorizationViewLocalData = exports.updateTransactionCategorizationUIState = exports.fetchTransactionCategorization = exports.initialState = exports.initialTransactionTabViewState = void 0;
7
+ exports.uploadTransactionCategorizationReceiptSuccess = exports.updateTransactionCategorizationUploadReceiptState = exports.removeTransactionFromAllTabs = exports.acknowledgeTransferEntryRouteReplacement = exports.createTransferEntryReplacedTransaction = exports.resetCreateTransferEntryStatus = exports.createTransferEntryFailure = exports.createTransferEntrySuccess = exports.createTransferEntry = exports.updateTransferAccountsFailure = exports.updateTransferAccounts = exports.fetchTransferAccounts = exports.backgroundRefetchReviewTab = exports.syncTransactionCategorizationFromDetailSave = exports.updateSelectedTransactionId = exports.setEntityRecommendationForLineIdsForCategorization = exports.clearExpenseAutomationTransactionsView = exports.clearExpenseAutomationTransactionsViewPerTabView = exports.updateSelectedCheckboxTransactionIds = exports.fetchTransactionCategorizationView = exports.resetOtherTabsFetchState = exports.fetchTransactionCategorizationSuccess = exports.updateTotalCountForTransactionCategorization = exports.setAllItemsToCategoryClassInLocalDataForCategorization = exports.updateSelectedCustomerForTransaction = exports.updateSelectedVendorForTransaction = exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = exports.markTransactionAsNotMiscategorized = exports.updateTransactionCategorizationSaveStatus = exports.updateCurrentSelectedTransactionCategorizationTab = exports.updateTransactionCategorization = exports.saveTransactionCategorization = exports.fetchTransactionCategorizationFailure = exports.saveTransactionCategorizationLocalData = exports.initializeTransactionCategorizationViewLocalData = exports.updateTransactionCategorizationUIState = exports.fetchTransactionCategorization = exports.initialState = exports.initialTransactionTabViewState = void 0;
8
8
  const toolkit_1 = require("@reduxjs/toolkit");
9
9
  const get_1 = __importDefault(require("lodash/get"));
10
10
  const uniq_1 = __importDefault(require("lodash/uniq"));
11
11
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
12
12
  const vendorTransaction_1 = require("../../../entity/transaction/stateTypes/vendorTransaction");
13
13
  const transactionCategorizationLocalDataHelper_1 = require("../helpers/transactionCategorizationLocalDataHelper");
14
+ const transactionsViewState_1 = require("../types/transactionsViewState");
14
15
  exports.initialTransactionTabViewState = {
15
16
  saveStatus: {
16
17
  fetchState: 'Not-Started',
@@ -48,11 +49,17 @@ exports.initialTransactionTabViewState = {
48
49
  selectedTransactionLineId: undefined,
49
50
  };
50
51
  exports.initialState = {
52
+ createTransferEntryStatus: 'Not-Started',
53
+ lastTransferEntryReplacement: undefined,
51
54
  selectedTransactionCategorizationTab: 'review',
52
55
  transactionCategorizationView: {
53
56
  review: { ...exports.initialTransactionTabViewState },
54
57
  autoCategorized: { ...exports.initialTransactionTabViewState },
55
58
  },
59
+ transferAccounts: {
60
+ fetchState: 'Not-Started',
61
+ accountIds: [],
62
+ },
56
63
  };
57
64
  const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
58
65
  name: 'expenseAutomationTransactionsView',
@@ -289,7 +296,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
289
296
  },
290
297
  setAllItemsToCategoryClassInLocalDataForCategorization: {
291
298
  reducer(draft, action) {
292
- const { vendorId, customerId, selectedAccount, selectedClassBase, selectedProjectBase, transactions, transactionId, lineId, selectedTab, uncategorizedAccounts, isAccountingClassesEnabled, isUncategorizedExpenseCategoryEnabled, } = action.payload;
299
+ const { vendorId, customerId, selectedAccount, selectedClassBase, transactions, transactionId, lineId, selectedTab, uncategorizedAccounts, isAccountingClassesEnabled, isUncategorizedExpenseCategoryEnabled, } = action.payload;
293
300
  const transactionLocalData = (0, get_1.default)(draft.transactionCategorizationView[selectedTab]
294
301
  .transactionReviewLocalDataById, transactionId, undefined);
295
302
  const existingAccount = transactionLocalData?.transactionReviewLocalData.lineItemById[lineId]
@@ -303,7 +310,6 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
303
310
  ...transactionLocalData.transactionReviewLocalData.lineItemById[lineId],
304
311
  account: selectedAccount,
305
312
  class: selectedClassBase,
306
- project: selectedProjectBase,
307
313
  },
308
314
  },
309
315
  };
@@ -332,16 +338,9 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
332
338
  const transactionLocalData = (0, get_1.default)(draft.transactionCategorizationView[selectedTab]
333
339
  .transactionReviewLocalDataById, transaction.id, undefined);
334
340
  if (transactionLocalData != null) {
335
- const existingClassId = transactionLocalData.transactionReviewLocalData.lineItemById[lineId]?.class?.classId;
336
- const existingProjectId = transactionLocalData.transactionReviewLocalData.lineItemById[lineId]?.project?.projectId;
337
- const updatedItem = existingAccount?.accountId !== selectedAccount?.accountId
341
+ const { localData, similarTransactionUpdated } = (0, transactionCategorizationLocalDataHelper_1.toSetAllLineItemsToCategoryClass)(draft.transactionCategorizationView[selectedTab], transaction, transactionId, lineId, transactionLocalData.transactionReviewLocalData, existingAccount?.accountId !== selectedAccount?.accountId
338
342
  ? 'category'
339
- : existingClassId !== selectedClassBase?.classId
340
- ? 'class'
341
- : existingProjectId !== selectedProjectBase?.projectId
342
- ? 'project'
343
- : 'class';
344
- const { localData, similarTransactionUpdated } = (0, transactionCategorizationLocalDataHelper_1.toSetAllLineItemsToCategoryClass)(draft.transactionCategorizationView[selectedTab], transaction, transactionId, lineId, transactionLocalData.transactionReviewLocalData, updatedItem, uncategorizedAccounts, selectedTab, vendorId, customerId, selectedAccount, selectedClassBase, selectedProjectBase, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled);
343
+ : 'class', uncategorizedAccounts, selectedTab, vendorId, customerId, selectedAccount, selectedClassBase, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled);
345
344
  draft.transactionCategorizationView[selectedTab].transactionReviewLocalDataById[transaction.id] = {
346
345
  transactionId: transaction.id,
347
346
  transactionReviewLocalData: localData,
@@ -360,7 +359,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
360
359
  ...dirtyIds,
361
360
  ]);
362
361
  },
363
- prepare(selectedTab, transactionId, lineId, transactions, uncategorizedAccounts, vendorId, customerId, selectedAccount, selectedClassBase, lineEntity, recommendations, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled, selectedProjectBase) {
362
+ prepare(selectedTab, transactionId, lineId, transactions, uncategorizedAccounts, vendorId, customerId, selectedAccount, selectedClassBase, lineEntity, recommendations, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled) {
364
363
  return {
365
364
  payload: {
366
365
  selectedTab,
@@ -372,7 +371,6 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
372
371
  lineEntity,
373
372
  selectedAccount,
374
373
  selectedClassBase,
375
- selectedProjectBase,
376
374
  recommendations,
377
375
  uncategorizedAccounts,
378
376
  isAccountingClassesEnabled,
@@ -808,7 +806,65 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
808
806
  };
809
807
  },
810
808
  },
809
+ fetchTransferAccounts(draft) {
810
+ draft.transferAccounts.fetchState = 'In-Progress';
811
+ },
812
+ updateTransferAccounts(draft, action) {
813
+ draft.transferAccounts.fetchState = 'Completed';
814
+ draft.transferAccounts.accountIds = action.payload.accountIds;
815
+ },
816
+ updateTransferAccountsFailure(draft) {
817
+ draft.transferAccounts.fetchState = 'Error';
818
+ },
819
+ createTransferEntry: {
820
+ prepare(transactionId, creditAccountIntegrationId, debitAccountIntegrationId, memo, transactionType, sourceTransactionType) {
821
+ return {
822
+ payload: {
823
+ transactionId,
824
+ creditAccountIntegrationId,
825
+ debitAccountIntegrationId,
826
+ memo,
827
+ transactionType,
828
+ sourceTransactionType,
829
+ },
830
+ };
831
+ },
832
+ reducer(draft) {
833
+ draft.createTransferEntryStatus = 'In-Progress';
834
+ },
835
+ },
836
+ createTransferEntrySuccess(draft) {
837
+ draft.createTransferEntryStatus = 'Completed';
838
+ },
839
+ createTransferEntryFailure(draft) {
840
+ draft.createTransferEntryStatus = 'Error';
841
+ },
842
+ resetCreateTransferEntryStatus(draft) {
843
+ draft.createTransferEntryStatus = 'Not-Started';
844
+ },
845
+ createTransferEntryReplacedTransaction: {
846
+ prepare(previousTransactionId, newTransactionId) {
847
+ return { payload: { newTransactionId, previousTransactionId } };
848
+ },
849
+ reducer(draft, action) {
850
+ draft.lastTransferEntryReplacement = action.payload;
851
+ },
852
+ },
853
+ acknowledgeTransferEntryRouteReplacement(draft) {
854
+ draft.lastTransferEntryReplacement = undefined;
855
+ },
856
+ removeTransactionFromAllTabs: {
857
+ prepare(transactionId) {
858
+ return { payload: { transactionId } };
859
+ },
860
+ reducer(draft, action) {
861
+ const { transactionId } = action.payload;
862
+ for (const tab of transactionsViewState_1.TRANSACTIONS_TABS) {
863
+ (0, transactionCategorizationLocalDataHelper_1.removeTransactionFromTabView)(draft.transactionCategorizationView[tab], transactionId);
864
+ }
865
+ },
866
+ },
811
867
  },
812
868
  });
813
- _a = expenseAutomationTransactionsView.actions, exports.fetchTransactionCategorization = _a.fetchTransactionCategorization, exports.updateTransactionCategorizationUIState = _a.updateTransactionCategorizationUIState, exports.initializeTransactionCategorizationViewLocalData = _a.initializeTransactionCategorizationViewLocalData, exports.saveTransactionCategorizationLocalData = _a.saveTransactionCategorizationLocalData, exports.fetchTransactionCategorizationFailure = _a.fetchTransactionCategorizationFailure, exports.saveTransactionCategorization = _a.saveTransactionCategorization, exports.updateTransactionCategorization = _a.updateTransactionCategorization, exports.updateCurrentSelectedTransactionCategorizationTab = _a.updateCurrentSelectedTransactionCategorizationTab, exports.updateTransactionCategorizationSaveStatus = _a.updateTransactionCategorizationSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = _a.updateStatusForTransactionNotMiscategorizedUpdateForCategorization, exports.updateSelectedVendorForTransaction = _a.updateSelectedVendorForTransaction, exports.updateSelectedCustomerForTransaction = _a.updateSelectedCustomerForTransaction, exports.setAllItemsToCategoryClassInLocalDataForCategorization = _a.setAllItemsToCategoryClassInLocalDataForCategorization, exports.updateTotalCountForTransactionCategorization = _a.updateTotalCountForTransactionCategorization, exports.fetchTransactionCategorizationSuccess = _a.fetchTransactionCategorizationSuccess, exports.resetOtherTabsFetchState = _a.resetOtherTabsFetchState, exports.fetchTransactionCategorizationView = _a.fetchTransactionCategorizationView, exports.updateSelectedCheckboxTransactionIds = _a.updateSelectedCheckboxTransactionIds, exports.clearExpenseAutomationTransactionsViewPerTabView = _a.clearExpenseAutomationTransactionsViewPerTabView, exports.clearExpenseAutomationTransactionsView = _a.clearExpenseAutomationTransactionsView, exports.setEntityRecommendationForLineIdsForCategorization = _a.setEntityRecommendationForLineIdsForCategorization, exports.updateSelectedTransactionId = _a.updateSelectedTransactionId, exports.syncTransactionCategorizationFromDetailSave = _a.syncTransactionCategorizationFromDetailSave, exports.backgroundRefetchReviewTab = _a.backgroundRefetchReviewTab, exports.updateTransactionCategorizationUploadReceiptState = _a.updateTransactionCategorizationUploadReceiptState, exports.uploadTransactionCategorizationReceiptSuccess = _a.uploadTransactionCategorizationReceiptSuccess;
869
+ _a = expenseAutomationTransactionsView.actions, exports.fetchTransactionCategorization = _a.fetchTransactionCategorization, exports.updateTransactionCategorizationUIState = _a.updateTransactionCategorizationUIState, exports.initializeTransactionCategorizationViewLocalData = _a.initializeTransactionCategorizationViewLocalData, exports.saveTransactionCategorizationLocalData = _a.saveTransactionCategorizationLocalData, exports.fetchTransactionCategorizationFailure = _a.fetchTransactionCategorizationFailure, exports.saveTransactionCategorization = _a.saveTransactionCategorization, exports.updateTransactionCategorization = _a.updateTransactionCategorization, exports.updateCurrentSelectedTransactionCategorizationTab = _a.updateCurrentSelectedTransactionCategorizationTab, exports.updateTransactionCategorizationSaveStatus = _a.updateTransactionCategorizationSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = _a.updateStatusForTransactionNotMiscategorizedUpdateForCategorization, exports.updateSelectedVendorForTransaction = _a.updateSelectedVendorForTransaction, exports.updateSelectedCustomerForTransaction = _a.updateSelectedCustomerForTransaction, exports.setAllItemsToCategoryClassInLocalDataForCategorization = _a.setAllItemsToCategoryClassInLocalDataForCategorization, exports.updateTotalCountForTransactionCategorization = _a.updateTotalCountForTransactionCategorization, exports.fetchTransactionCategorizationSuccess = _a.fetchTransactionCategorizationSuccess, exports.resetOtherTabsFetchState = _a.resetOtherTabsFetchState, exports.fetchTransactionCategorizationView = _a.fetchTransactionCategorizationView, exports.updateSelectedCheckboxTransactionIds = _a.updateSelectedCheckboxTransactionIds, exports.clearExpenseAutomationTransactionsViewPerTabView = _a.clearExpenseAutomationTransactionsViewPerTabView, exports.clearExpenseAutomationTransactionsView = _a.clearExpenseAutomationTransactionsView, exports.setEntityRecommendationForLineIdsForCategorization = _a.setEntityRecommendationForLineIdsForCategorization, exports.updateSelectedTransactionId = _a.updateSelectedTransactionId, exports.syncTransactionCategorizationFromDetailSave = _a.syncTransactionCategorizationFromDetailSave, exports.backgroundRefetchReviewTab = _a.backgroundRefetchReviewTab, exports.fetchTransferAccounts = _a.fetchTransferAccounts, exports.updateTransferAccounts = _a.updateTransferAccounts, exports.updateTransferAccountsFailure = _a.updateTransferAccountsFailure, exports.createTransferEntry = _a.createTransferEntry, exports.createTransferEntrySuccess = _a.createTransferEntrySuccess, exports.createTransferEntryFailure = _a.createTransferEntryFailure, exports.resetCreateTransferEntryStatus = _a.resetCreateTransferEntryStatus, exports.createTransferEntryReplacedTransaction = _a.createTransferEntryReplacedTransaction, exports.acknowledgeTransferEntryRouteReplacement = _a.acknowledgeTransferEntryRouteReplacement, exports.removeTransactionFromAllTabs = _a.removeTransactionFromAllTabs, exports.updateTransactionCategorizationUploadReceiptState = _a.updateTransactionCategorizationUploadReceiptState, exports.uploadTransactionCategorizationReceiptSuccess = _a.uploadTransactionCategorizationReceiptSuccess;
814
870
  exports.default = expenseAutomationTransactionsView.reducer;
@@ -1,12 +1,11 @@
1
1
  import { NestedAccountHierarchyForReport } from '../../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { NestedClassHierarchyForReport } from '../../../commonStateTypes/classesView/nestedClassID';
3
- import { CompletionStatusType, FetchStateAndError, ID } from '../../../commonStateTypes/common';
3
+ import { CompletionStatusType, FetchState, FetchStateAndError, ID } from '../../../commonStateTypes/common';
4
4
  import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport';
5
5
  import { AccountBase } from '../../../entity/account/accountState';
6
6
  import { ClassBase } from '../../../entity/class/classState';
7
7
  import { SupportedTransactionWithCOT } from '../../../entity/transaction/transactionState';
8
8
  import { UncategorizedAccounts } from '../../accountList/accountListSelector';
9
- import { ProjectListSelectorView } from '../../projectList/projectListSelector';
10
9
  import { TransactionReviewLocalData, TransactionsTab, TransactionsViewUIState } from '../types/transactionsViewState';
11
10
  export interface TransactionReviewLocalDataSelectorView {
12
11
  transactionId: ID;
@@ -18,10 +17,9 @@ export interface ExpenseAutomationTransactionViewSelector extends SelectorView {
18
17
  classHierarchyList: NestedClassHierarchyForReport[];
19
18
  classList: ClassBase[];
20
19
  completionStatus: CompletionStatusType;
20
+ createTransferEntryStatus: FetchState;
21
21
  fetchStateByTransactionTabs: Record<TransactionsTab, FetchStateAndError>;
22
- isAccountingProjectsEnabled: boolean;
23
22
  markAsNotMiscategorizedStatus: FetchStateAndError;
24
- projectList: ProjectListSelectorView;
25
23
  refreshStatus: FetchStateAndError;
26
24
  saveStatus: FetchStateAndError;
27
25
  selectedCheckBoxTransactionIds: ID[];
@@ -29,6 +27,7 @@ export interface ExpenseAutomationTransactionViewSelector extends SelectorView {
29
27
  transactionIdsWithUnsavedData: ID[];
30
28
  transactionLocalData: TransactionReviewLocalDataSelectorView[];
31
29
  transactions: SupportedTransactionWithCOT[];
30
+ transferAccounts: AccountBase[];
32
31
  uiState: TransactionsViewUIState;
33
32
  uncategorizedAccounts: UncategorizedAccounts;
34
33
  uploadReceiptStatusById: Record<ID, FetchStateAndError>;
@@ -1,3 +1,5 @@
1
1
  import { RootState } from '../../../reducer';
2
2
  import { ExpenseAutomationTransactionViewSelector } from '../selectorTypes/transactionsViewSelectorTypes';
3
+ import { TransferEntryRouteReplacement } from '../types/transactionsViewState';
4
+ export declare function getLastTransferEntryReplacement(state: RootState): TransferEntryRouteReplacement | undefined;
3
5
  export declare function getExpenseAutomationTransactionView(state: RootState): ExpenseAutomationTransactionViewSelector;
@@ -3,19 +3,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getLastTransferEntryReplacement = getLastTransferEntryReplacement;
6
7
  exports.getExpenseAutomationTransactionView = getExpenseAutomationTransactionView;
7
8
  const omit_1 = __importDefault(require("lodash/omit"));
8
9
  const reduceFetchState_1 = require("../../../commonStateTypes/reduceFetchState");
9
10
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
11
+ const accountSelector_1 = require("../../../entity/account/accountSelector");
10
12
  const tenantSelector_1 = require("../../../entity/tenant/tenantSelector");
11
13
  const transactionHelper_1 = require("../../../entity/transaction/transactionHelper");
12
14
  const transactionSelector_1 = require("../../../entity/transaction/transactionSelector");
13
15
  const accountListSelector_1 = require("../../accountList/accountListSelector");
14
16
  const classListSelector_1 = require("../../classList/classListSelector");
15
- const projectListSelector_1 = require("../../projectList/projectListSelector");
16
17
  const expenseAutomationViewSelectorTypes_1 = require("../selectorTypes/expenseAutomationViewSelectorTypes");
18
+ function getLastTransferEntryReplacement(state) {
19
+ return state.expenseAutomationTransactionsViewState.lastTransferEntryReplacement;
20
+ }
17
21
  function getExpenseAutomationTransactionView(state) {
18
- const { accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, expenseAutomationViewState, projectState, projectListState, transactionState, monthEndCloseChecksState, monthEndCloseChecksViewState, } = state;
22
+ const { accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, expenseAutomationViewState, transactionState, monthEndCloseChecksState, monthEndCloseChecksViewState, } = state;
19
23
  const { selectedTransactionCategorizationTab } = expenseAutomationTransactionsViewState;
20
24
  const { uiState, refreshStatus, saveStatus, markAsNotMiscategorizedStatus, transactionIdsBySelectedPeriod, transactionReviewLocalDataById, selectedCheckBoxTransactionIds, transactionIdsWithUnsavedData, uploadReceiptStatusById, selectedTransactionId, selectedTransactionLineId, } = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab];
21
25
  const uncategorizedIncomeExpense = (0, accountListSelector_1.getUncategorizedAccounts)(accountState, accountListState, 'accountList');
@@ -24,8 +28,6 @@ function getExpenseAutomationTransactionView(state) {
24
28
  const allClasses = classList.classes.map((classData) => {
25
29
  return (0, omit_1.default)(classData, ['accountIds', 'key']);
26
30
  });
27
- const projectList = (0, projectListSelector_1.getProjectList)(projectState, projectListState);
28
- const isAccountingProjectsEnabled = (0, tenantSelector_1.getIsAccountingProjectsEnabled)(state);
29
31
  const accountsHierarchyList = (0, accountListSelector_1.getNestedAccountListHierarchy)(accountListState, 'accountList');
30
32
  const classHierarchyList = (0, classListSelector_1.getNestedClassListHierarchy)(classListState);
31
33
  const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
@@ -92,6 +94,19 @@ function getExpenseAutomationTransactionView(state) {
92
94
  : [];
93
95
  const transactionCompletionStatus = allSteps.find((step) => step.step === 'transaction_categorization')?.completionStatus;
94
96
  const completionStatus = transactionCompletionStatus ?? 'incomplete';
97
+ const transferAccountsFromApi = expenseAutomationTransactionsViewState.transferAccounts.accountIds
98
+ .map((id) => (0, accountSelector_1.getAccountBaseForTransferAccounts)(accountState, id))
99
+ .filter((account) => account != null);
100
+ /**
101
+ * Credit transfer picker uses transfer-account ids from a dedicated fetch. If that list
102
+ * resolves to nothing while the COA list is loaded, fall back to the full COA list so the
103
+ * credit dropdown is not empty.
104
+ */
105
+ const transferAccountsList = transferAccountsFromApi.length > 0
106
+ ? transferAccountsFromApi
107
+ : accountList.accounts
108
+ .map((a) => (0, accountSelector_1.getAccountBase)(accountState, a.accountId, 'account_list'))
109
+ .filter((account) => account != null);
95
110
  return {
96
111
  version: 0,
97
112
  fetchState: fetchStatus.fetchState,
@@ -105,18 +120,18 @@ function getExpenseAutomationTransactionView(state) {
105
120
  classList: allClasses,
106
121
  accountsHierarchyList,
107
122
  classHierarchyList,
108
- isAccountingProjectsEnabled,
109
- projectList,
110
123
  transactionLocalData,
111
124
  uiState,
112
125
  refreshStatus,
113
126
  saveStatus,
114
127
  markAsNotMiscategorizedStatus,
128
+ createTransferEntryStatus: expenseAutomationTransactionsViewState.createTransferEntryStatus,
115
129
  completionStatus,
116
130
  totalCountByTab,
117
131
  fetchStateByTransactionTabs: fetchStateByTab,
118
132
  uploadReceiptStatusById,
119
133
  selectedTransactionId,
120
134
  selectedTransactionLineId,
135
+ transferAccounts: transferAccountsList,
121
136
  };
122
137
  }
@@ -1,5 +1,5 @@
1
1
  import { Amount } from '../../../commonStateTypes/amount';
2
- import { FetchStateAndError, FetchedState, ID } from '../../../commonStateTypes/common';
2
+ import { FetchState, FetchStateAndError, FetchedState, ID } from '../../../commonStateTypes/common';
3
3
  import { Recommendation, RecommendationWithCOT } from '../../../commonStateTypes/recommendationBase';
4
4
  import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes';
5
5
  import { MonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
@@ -7,7 +7,6 @@ import { PageToken } from '../../../commonStateTypes/viewAndReport/viewAndReport
7
7
  import { AccountBase } from '../../../entity/account/accountState';
8
8
  import { ClassBase } from '../../../entity/class/classState';
9
9
  import { CustomerBase } from '../../../entity/customer/customerState';
10
- import { ProjectBase } from '../../../entity/project/projectState';
11
10
  import { Entity, EntityType } from '../../../entity/genericEntity/entity';
12
11
  import { TransactionID } from '../../../entity/transaction/stateTypes/transaction';
13
12
  import { BillableStatus, CategorizationStatusType, PlatformLineDetailType, ProductOrService, TransactionLineBase } from '../../../entity/transaction/stateTypes/transactionLine';
@@ -54,7 +53,6 @@ export interface TransactionCategorizationLineItemData extends TransactionLineBa
54
53
  lineTransactionType?: TransactionType;
55
54
  postingType?: TransactionCategory;
56
55
  postingTypeName?: string;
57
- project?: ProjectBase;
58
56
  recommendationsWithCOT?: RecommendationWithCOT[];
59
57
  reviewPendingReasons?: string[];
60
58
  selectedEntityLine?: Entity;
@@ -103,16 +101,27 @@ export interface TransactionsTabViewState extends FetchedState {
103
101
  selectedTransactionId?: ID;
104
102
  selectedTransactionLineId?: ID;
105
103
  }
104
+ export interface TransferAccountsState {
105
+ accountIds: ID[];
106
+ fetchState: FetchState;
107
+ }
108
+ export type TransferEntryRouteReplacement = {
109
+ newTransactionId: TransactionID;
110
+ previousTransactionId: TransactionID;
111
+ };
106
112
  export type TransactionsViewState = {
113
+ createTransferEntryStatus: FetchState;
114
+ /** Set when create-transfer returns a new transaction id; host navigates then acknowledges. */
115
+ lastTransferEntryReplacement: TransferEntryRouteReplacement | undefined;
107
116
  selectedTransactionCategorizationTab: TransactionsTab;
108
117
  transactionCategorizationView: Record<TransactionsTab, TransactionsTabViewState>;
118
+ transferAccounts: TransferAccountsState;
109
119
  };
110
120
  export interface TransactionLineUpdates {
111
121
  account?: AccountBase;
112
122
  class?: ClassBase;
113
123
  customer?: CustomerBase;
114
124
  lineDescription?: string;
115
- project?: ProjectBase;
116
125
  recommendation?: Recommendation[];
117
126
  vendor?: VendorBase;
118
127
  }
@@ -17,7 +17,7 @@ export declare const fetchFinanceStatement: import("@reduxjs/toolkit").ActionCre
17
17
  firstMonthOfFY: Month;
18
18
  maxNumOfPeriodsToHighlight: number;
19
19
  thisPeriod: TimeframeTick;
20
- }, "financeStatement/updateFinanceStatementThisPeriod">, updateCOABalancesRange: import("@reduxjs/toolkit").ActionCreatorWithPayload<COABalancesRange, "financeStatement/updateCOABalancesRange">, updateSelectedReportId: import("@reduxjs/toolkit").ActionCreatorWithPayload<"cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation", "financeStatement/updateSelectedReportId">, updateFinanceStatementAdditionalBalancesSelection: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
20
+ }, "financeStatement/updateFinanceStatementThisPeriod">, updateCOABalancesRange: import("@reduxjs/toolkit").ActionCreatorWithPayload<COABalancesRange, "financeStatement/updateCOABalancesRange">, updateSelectedReportId: import("@reduxjs/toolkit").ActionCreatorWithPayload<"cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | "transfer_accounts", "financeStatement/updateSelectedReportId">, updateFinanceStatementAdditionalBalancesSelection: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
21
21
  additionalBalances: COABalanceType[];
22
22
  coaBalances: COABalance[];
23
23
  firstMonthOfFY: Month;
@@ -3,9 +3,9 @@ import { ZeniAPIStatus } from '../../responsePayload';
3
3
  import { VendorReviewViewAllRecommendationsPayload } from '../vendorReviewView/common/payload/commonTypes';
4
4
  import { GlobalMerchantViewState, GlobalRecommendationFetchSource, NewGlobalMerchantCurrentSelection } from './globalMerchantViewState';
5
5
  export declare const initialState: GlobalMerchantViewState;
6
- export declare const createGlobalMerchant: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[merchantId?: string | undefined, context?: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | undefined], {
6
+ export declare const createGlobalMerchant: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[merchantId?: string | undefined, context?: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | "transfer_accounts" | undefined], {
7
7
  merchantId: string | undefined;
8
- context: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | undefined;
8
+ context: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | "transfer_accounts" | undefined;
9
9
  }, "globalMerchantView/createGlobalMerchant", never, never>, createGlobalMerchantSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
10
10
  merchantId: ID;
11
11
  }, "globalMerchantView/createGlobalMerchantSuccess">, createGlobalMerchantFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -1,6 +1,6 @@
1
1
  import { RootState } from '../../reducer';
2
2
  export declare const getReimbursementCardReport: (state: RootState) => {
3
- reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
3
+ reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | "transfer_accounts";
4
4
  reportTitle: string;
5
5
  version: string | number | undefined;
6
6
  fetchState: import("../..").FetchState;
@@ -2,8 +2,8 @@ import { ReportID } from '../../commonStateTypes/viewAndReport/viewAndReport';
2
2
  import { ZeniAPIStatus } from '../../responsePayload';
3
3
  import { ReportsResyncState } from './reportsResyncState';
4
4
  export declare const initialReportsResyncState: ReportsResyncState;
5
- export declare const initiateReportsResync: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[reportIdToResync: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation"], {
6
- reportIdToResync: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
5
+ export declare const initiateReportsResync: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[reportIdToResync: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | "transfer_accounts"], {
6
+ reportIdToResync: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | "transfer_accounts";
7
7
  }, "initiateReportsResync/initiateReportsResync", never, never>, initiateReportsClassViewRefetching: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
8
8
  reportIdToResync: ReportID;
9
9
  }, "initiateReportsResync/initiateReportsClassViewRefetching">, reportsResyncSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -1,6 +1,6 @@
1
1
  import { RootState } from '../../reducer';
2
2
  export declare const getTasksCardReport: (state: RootState) => {
3
- reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
3
+ reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | "transfer_accounts";
4
4
  reportTitle: string;
5
5
  version: string | number | undefined;
6
6
  status: import("../..").Status | undefined;
@@ -4,7 +4,7 @@ import { RootState } from '../../reducer';
4
4
  import { TopExReport, TopExTimePeriodWithMetaData } from './topExSelectorTypes';
5
5
  import { TopExState } from './topExState';
6
6
  export declare const getTopExpenses: (accountState: AccountState, topExState: TopExState, numberOfExpenses?: number) => {
7
- reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
7
+ reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | "transfer_accounts";
8
8
  reportTitle: string;
9
9
  version: string | number | undefined;
10
10
  status: import("../..").Status | undefined;
@@ -7,9 +7,10 @@ import { ZeniAPI } from '../../../zeniAPI';
7
7
  import { fetchAccountList } from '../../accountList/accountListReducer';
8
8
  import { fetchClassList } from '../../classList/classListReducer';
9
9
  import { updateTransactionVendorLocalData } from '../../commonVendorView/transactionVendorView/transactionVendorViewReducer';
10
+ import { fetchTransferAccounts } from '../../expenseAutomationView/reducers/transactionsViewReducer';
10
11
  import { fetchOwnerList } from '../../ownerList/ownerListReducer';
11
12
  import { fetchProjectList } from '../../projectList/projectListReducer';
12
13
  import { updateSortUiState } from '../../vendorList/vendorListReducer';
13
14
  import { fetchTransactionDetail, initializeTransactionDetailLocalData, removeTransactionDetail, updateTransactionDetailFetchState } from '../transactionDetailReducer';
14
- export type ActionType = ReturnType<typeof fetchTransactionDetail> | ReturnType<typeof updateTransaction> | ReturnType<typeof updateTransactionDetailFetchState> | ReturnType<typeof initializeTransactionDetailLocalData> | ReturnType<typeof removeTransaction> | ReturnType<typeof removeTransactionDetail> | ReturnType<typeof fetchClassList> | ReturnType<typeof fetchProjectList> | ReturnType<typeof fetchAccountList> | ReturnType<typeof updateSortUiState> | ReturnType<typeof updateVendors> | ReturnType<typeof updateTransactionVendorLocalData> | ReturnType<typeof fetchOwnerList>;
15
+ export type ActionType = ReturnType<typeof fetchTransactionDetail> | ReturnType<typeof updateTransaction> | ReturnType<typeof updateTransactionDetailFetchState> | ReturnType<typeof initializeTransactionDetailLocalData> | ReturnType<typeof removeTransaction> | ReturnType<typeof removeTransactionDetail> | ReturnType<typeof fetchClassList> | ReturnType<typeof fetchProjectList> | ReturnType<typeof fetchAccountList> | ReturnType<typeof updateSortUiState> | ReturnType<typeof updateVendors> | ReturnType<typeof updateTransactionVendorLocalData> | ReturnType<typeof fetchOwnerList> | ReturnType<typeof fetchTransferAccounts>;
15
16
  export declare const fetchTransactionDetailEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -19,6 +19,7 @@ const accountListReducer_1 = require("../../accountList/accountListReducer");
19
19
  const classListReducer_1 = require("../../classList/classListReducer");
20
20
  const transactionVendorLocalDataHelper_1 = require("../../commonVendorView/transactionVendorView/transactionVendorLocalDataHelper");
21
21
  const transactionVendorViewReducer_1 = require("../../commonVendorView/transactionVendorView/transactionVendorViewReducer");
22
+ const transactionsViewReducer_1 = require("../../expenseAutomationView/reducers/transactionsViewReducer");
22
23
  const ownerListReducer_1 = require("../../ownerList/ownerListReducer");
23
24
  const projectListReducer_1 = require("../../projectList/projectListReducer");
24
25
  const transactionDetailReducer_1 = require("../transactionDetailReducer");
@@ -41,6 +42,11 @@ const fetchTransactionDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe(
41
42
  accountList.fetchState !== 'In-Progress') {
42
43
  transactionActions.push((0, accountListReducer_1.fetchAccountList)('accountList'));
43
44
  }
45
+ const { transferAccounts } = state$.value.expenseAutomationTransactionsViewState;
46
+ if (transferAccounts.fetchState !== 'In-Progress' &&
47
+ transferAccounts.fetchState !== 'Completed') {
48
+ transactionActions.push((0, transactionsViewReducer_1.fetchTransferAccounts)());
49
+ }
44
50
  const classList = state$.value.classListState;
45
51
  if (classList.hasValidState() === false &&
46
52
  classList.fetchState !== 'In-Progress') {
@@ -3,7 +3,7 @@ import { TransactionPayload } from '../../entity/transaction/payloadTypes/transa
3
3
  import { SupportedTransactionPayload } from '../../entity/transaction/transactionState';
4
4
  import { VendorPayload } from '../../entity/vendor/vendorPayload';
5
5
  import { ZeniAPIResponse } from '../../responsePayload';
6
- interface TransactionDetailPayload {
6
+ export interface TransactionDetailPayload {
7
7
  query: {
8
8
  transaction_id: string;
9
9
  transaction_type: string;
@@ -1,7 +1,8 @@
1
1
  import { NestedAccountHierarchyForReport } from '../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { NestedClassHierarchyForReport } from '../../commonStateTypes/classesView/nestedClassID';
3
- import { FetchStateAndError } from '../../commonStateTypes/common';
3
+ import { FetchState, FetchStateAndError } from '../../commonStateTypes/common';
4
4
  import { SelectorView } from '../../commonStateTypes/viewAndReport/viewAndReport';
5
+ import { AccountBase } from '../../entity/account/accountState';
5
6
  import { TransactionID } from '../../entity/transaction/stateTypes/transaction';
6
7
  import { SupportedTransactionWithCOT } from '../../entity/transaction/transactionState';
7
8
  import { Vendor } from '../../entity/vendor/vendorState';
@@ -17,6 +18,7 @@ export interface TransactionDetailReport extends SelectorView {
17
18
  allVendors: Vendor[];
18
19
  classHierarchyList: NestedClassHierarchyForReport[];
19
20
  classList: ClassListSelectorView;
21
+ createTransferEntryStatus: FetchState;
20
22
  deleteStatusByAttachmentName: Record<string, FetchStateAndError>;
21
23
  isAccountingClassesEnabled: boolean;
22
24
  isAccountingProjectsEnabled: boolean;
@@ -24,6 +26,7 @@ export interface TransactionDetailReport extends SelectorView {
24
26
  projectList: ProjectListSelectorView;
25
27
  transactionDetailLocalData: TransactionDetailLocalData;
26
28
  transactionDetailUpdateStatus: FetchStateAndError;
29
+ transferAccounts: AccountBase[];
27
30
  isUpdateNotAllowed?: boolean;
28
31
  transaction?: SupportedTransactionWithCOT;
29
32
  }
@@ -7,6 +7,7 @@ exports.getInitialUpdatablePeriodsForTransactionRecommendations = exports.getTra
7
7
  exports.getTransactionDetailForTransaction = getTransactionDetailForTransaction;
8
8
  const get_1 = __importDefault(require("lodash/get"));
9
9
  const reduceFetchState_1 = require("../../commonStateTypes/reduceFetchState");
10
+ const accountSelector_1 = require("../../entity/account/accountSelector");
10
11
  const tenantSelector_1 = require("../../entity/tenant/tenantSelector");
11
12
  const transactionType_1 = require("../../entity/transaction/stateTypes/transactionType");
12
13
  const transactionHelper_1 = require("../../entity/transaction/transactionHelper");
@@ -18,7 +19,7 @@ const classListSelector_1 = require("../classList/classListSelector");
18
19
  const projectListSelector_1 = require("../projectList/projectListSelector");
19
20
  const transactionDetailState_1 = require("./transactionDetailState");
20
21
  const getTransactionDetail = (state, transactionId, fetchLinkedTransactions = true) => {
21
- const { transactionDetailState, transactionState, vendorState, vendorListState, accountState, classState, classListState, accountListState, projectState, projectListState, } = state;
22
+ const { transactionDetailState, transactionState, vendorState, vendorListState, accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, projectState, projectListState, } = state;
22
23
  const detailKey = (0, transactionDetailState_1.getTransactionDetailKey)(transactionId);
23
24
  const transactionDetail = (0, get_1.default)(transactionDetailState.transactionDetailById, detailKey);
24
25
  let fetchState = {
@@ -79,6 +80,14 @@ const getTransactionDetail = (state, transactionId, fetchLinkedTransactions = tr
79
80
  : [];
80
81
  const transactionDetailAnyUpdateStatus = reduceUpdateFetchStates(transactionDetail);
81
82
  const vendors = (0, vendorSelector_1.getVendorsByVendorIds)(vendorState, vendorListState.vendorIds);
83
+ const transferAccountsFromApi = expenseAutomationTransactionsViewState.transferAccounts.accountIds
84
+ .map((id) => (0, accountSelector_1.getAccountBaseForTransferAccounts)(accountState, id))
85
+ .filter((account) => account != null);
86
+ const transferAccountsList = transferAccountsFromApi.length > 0
87
+ ? transferAccountsFromApi
88
+ : accountsList.accounts
89
+ .map((a) => (0, accountSelector_1.getAccountBase)(accountState, a.accountId, 'account_list'))
90
+ .filter((account) => account != null);
82
91
  return {
83
92
  reportId: 'transaction_detail',
84
93
  reportTitle: 'Transaction Detail',
@@ -95,6 +104,8 @@ const getTransactionDetail = (state, transactionId, fetchLinkedTransactions = tr
95
104
  accountsHierarchyList,
96
105
  classList: classList,
97
106
  isAccountingClassesEnabled,
107
+ createTransferEntryStatus: expenseAutomationTransactionsViewState.createTransferEntryStatus,
108
+ transferAccounts: transferAccountsList,
98
109
  isAccountingProjectsEnabled,
99
110
  projectList,
100
111
  isUpdateNotAllowed: transactionDetail?.isUpdateNotAllowed,
@@ -4,7 +4,7 @@ import { AccountBase } from '../../entity/account/accountState';
4
4
  import { ClassBase } from '../../entity/class/classState';
5
5
  import { CustomerBase } from '../../entity/customer/customerState';
6
6
  import { EntityType } from '../../entity/genericEntity/entity';
7
- import { ProjectBase } from '../../entity/project/projectState';
7
+ import { Project } from '../../entity/project/projectState';
8
8
  import { Transaction, TransactionID } from '../../entity/transaction/stateTypes/transaction';
9
9
  import { VendorBase } from '../../entity/vendor/vendorState';
10
10
  import { EntityRecommendationKey } from '../recommendation/recommendationState';
@@ -53,7 +53,7 @@ export interface TransactionLineUpdates {
53
53
  class?: ClassBase;
54
54
  customer?: CustomerBase;
55
55
  lineDescription?: string;
56
- project?: ProjectBase;
56
+ project?: Project;
57
57
  recommendation?: Recommendation[];
58
58
  vendor?: VendorBase;
59
59
  }