@zeniai/client-epic-state 5.0.61-betaJK1 → 5.0.61-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 (81) hide show
  1. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  2. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  3. package/lib/entity/account/accountSelector.d.ts +9 -0
  4. package/lib/entity/account/accountSelector.js +14 -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 +1 -1
  11. package/lib/entity/project/projectPayload.js +1 -1
  12. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  13. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  14. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  15. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
  16. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
  17. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  18. package/lib/entity/snackbar/snackbarTypes.js +2 -1
  19. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +4 -0
  20. package/lib/entity/transaction/payloadTypes/transactionPayload.js +10 -0
  21. package/lib/entity/transaction/stateTypes/transaction.d.ts +3 -0
  22. package/lib/epic.d.ts +3 -2
  23. package/lib/epic.js +3 -2
  24. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  25. package/lib/esm/entity/account/accountSelector.js +11 -0
  26. package/lib/esm/entity/project/projectPayload.js +1 -1
  27. package/lib/esm/entity/snackbar/snackbarTypes.js +2 -1
  28. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +10 -0
  29. package/lib/esm/epic.js +3 -2
  30. package/lib/esm/index.js +14 -14
  31. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +81 -0
  32. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +8 -1
  33. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +30 -0
  34. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +79 -1
  35. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +30 -0
  36. package/lib/esm/view/expenseAutomationView/types/transactionsViewState.js +5 -0
  37. package/lib/esm/view/taskManager/taskDetailView/taskDetailReducer.js +1 -23
  38. package/lib/esm/view/transactionDetail/epics/transactionDetailEpic.js +10 -0
  39. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +24 -2
  40. package/lib/index.d.ts +16 -16
  41. package/lib/index.js +64 -56
  42. package/lib/tsconfig.typecheck.tsbuildinfo +1 -0
  43. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  44. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  45. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  46. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  47. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  48. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  49. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  50. package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.d.ts +9 -0
  51. package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +85 -0
  52. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.d.ts +2 -2
  53. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +7 -0
  54. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.d.ts +8 -0
  55. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +34 -0
  56. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  57. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +21 -2
  58. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +80 -2
  59. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +4 -1
  60. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +2 -0
  61. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +31 -0
  62. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +18 -1
  63. package/lib/view/expenseAutomationView/types/transactionsViewState.js +6 -1
  64. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  65. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  66. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  67. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  68. package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +0 -12
  69. package/lib/view/taskManager/taskDetailView/taskDetailReducer.d.ts +2 -6
  70. package/lib/view/taskManager/taskDetailView/taskDetailReducer.js +2 -24
  71. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  72. package/lib/view/topEx/topExSelector.d.ts +1 -1
  73. package/lib/view/transactionDetail/epics/transactionDetailEpic.d.ts +2 -1
  74. package/lib/view/transactionDetail/epics/transactionDetailEpic.js +10 -0
  75. package/lib/view/transactionDetail/transactionDetailPayload.d.ts +1 -1
  76. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +6 -1
  77. package/lib/view/transactionDetail/transactionDetailSelector.js +23 -1
  78. package/package.json +1 -1
  79. package/lib/esm/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +0 -62
  80. package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.d.ts +0 -29
  81. package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +0 -66
@@ -3,10 +3,12 @@ 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");
@@ -14,6 +16,9 @@ const accountListSelector_1 = require("../../accountList/accountListSelector");
14
16
  const classListSelector_1 = require("../../classList/classListSelector");
15
17
  const projectListSelector_1 = require("../../projectList/projectListSelector");
16
18
  const expenseAutomationViewSelectorTypes_1 = require("../selectorTypes/expenseAutomationViewSelectorTypes");
19
+ function getLastTransferEntryReplacement(state) {
20
+ return state.expenseAutomationTransactionsViewState.lastTransferEntryReplacement;
21
+ }
17
22
  function getExpenseAutomationTransactionView(state) {
18
23
  const { accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, expenseAutomationViewState, projectState, projectListState, transactionState, monthEndCloseChecksState, monthEndCloseChecksViewState, } = state;
19
24
  const { selectedTransactionCategorizationTab } = expenseAutomationTransactionsViewState;
@@ -92,6 +97,29 @@ function getExpenseAutomationTransactionView(state) {
92
97
  : [];
93
98
  const transactionCompletionStatus = allSteps.find((step) => step.step === 'transaction_categorization')?.completionStatus;
94
99
  const completionStatus = transactionCompletionStatus ?? 'incomplete';
100
+ const transferAccountsFromApi = expenseAutomationTransactionsViewState.transferAccounts.accountIds
101
+ .map((id) => (0, accountSelector_1.getAccountBaseForTransferAccounts)(accountState, id))
102
+ .filter((account) => account != null);
103
+ /**
104
+ * Credit transfer picker uses transfer-account ids from a dedicated fetch. If that list
105
+ * resolves to nothing while the COA list is loaded, fall back to the full COA list so the
106
+ * credit dropdown is not empty.
107
+ */
108
+ const transferAccountsList = transferAccountsFromApi.length > 0
109
+ ? transferAccountsFromApi
110
+ : accountList.accounts
111
+ .map((a) => (0, accountSelector_1.getAccountBase)(accountState, a.accountId, 'account_list'))
112
+ .filter((account) => account != null);
113
+ const creditCardAccountsFromApi = expenseAutomationTransactionsViewState.creditCardAccountsForTransfer.accountIds
114
+ .map((id) => (0, accountSelector_1.getAccountBaseForCreditCardTransferAccounts)(accountState, id))
115
+ .filter((account) => account != null);
116
+ const coaCreditCardsFallback = accountList.accounts
117
+ .map((a) => (0, accountSelector_1.getAccountBase)(accountState, a.accountId, 'account_list'))
118
+ .filter((account) => account != null)
119
+ .filter((a) => a.accountType === 'credit_card');
120
+ const creditCardAccountsForTransferList = creditCardAccountsFromApi.length > 0
121
+ ? creditCardAccountsFromApi
122
+ : coaCreditCardsFallback;
95
123
  return {
96
124
  version: 0,
97
125
  fetchState: fetchStatus.fetchState,
@@ -112,11 +140,14 @@ function getExpenseAutomationTransactionView(state) {
112
140
  refreshStatus,
113
141
  saveStatus,
114
142
  markAsNotMiscategorizedStatus,
143
+ createTransferEntryStatus: expenseAutomationTransactionsViewState.createTransferEntryStatus,
115
144
  completionStatus,
116
145
  totalCountByTab,
117
146
  fetchStateByTransactionTabs: fetchStateByTab,
118
147
  uploadReceiptStatusById,
119
148
  selectedTransactionId,
120
149
  selectedTransactionLineId,
150
+ creditCardAccountsForTransferList,
151
+ transferAccounts: transferAccountsList,
121
152
  };
122
153
  }
@@ -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';
@@ -103,9 +103,26 @@ export interface TransactionsTabViewState extends FetchedState {
103
103
  selectedTransactionId?: ID;
104
104
  selectedTransactionLineId?: ID;
105
105
  }
106
+ export interface TransferAccountsState {
107
+ accountIds: ID[];
108
+ fetchState: FetchState;
109
+ }
110
+ /** Which pool `fetchAccountsForTransferFlow` / transfer-flow epic should load. */
111
+ export declare const TRANSFER_ACCOUNTS_FETCH_KIND: readonly ["transfer_eligible", "credit_card_only"];
112
+ export type TransferAccountsFetchKind = (typeof TRANSFER_ACCOUNTS_FETCH_KIND)[number];
113
+ export type TransferEntryRouteReplacement = {
114
+ newTransactionId: TransactionID;
115
+ previousTransactionId: TransactionID;
116
+ };
106
117
  export type TransactionsViewState = {
118
+ createTransferEntryStatus: FetchState;
119
+ /** Credit-card-only accounts for transfer drawer when type is credit_card_payment. */
120
+ creditCardAccountsForTransfer: TransferAccountsState;
121
+ /** Set when create-transfer returns a new transaction id; host navigates then acknowledges. */
122
+ lastTransferEntryReplacement: TransferEntryRouteReplacement | undefined;
107
123
  selectedTransactionCategorizationTab: TransactionsTab;
108
124
  transactionCategorizationView: Record<TransactionsTab, TransactionsTabViewState>;
125
+ transferAccounts: TransferAccountsState;
109
126
  };
110
127
  export interface TransactionLineUpdates {
111
128
  account?: AccountBase;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initialSupportedTransactionCategorization = exports.getTransactionCategorizationKey = exports.toTransactionsTabKey = exports.TRANSACTIONS_TABS = exports.toTransactionsSortKey = void 0;
3
+ exports.TRANSFER_ACCOUNTS_FETCH_KIND = exports.initialSupportedTransactionCategorization = exports.getTransactionCategorizationKey = exports.toTransactionsTabKey = exports.TRANSACTIONS_TABS = exports.toTransactionsSortKey = void 0;
4
4
  const stringToUnion_1 = require("../../../commonStateTypes/stringToUnion");
5
5
  const transactionDetailState_1 = require("../../transactionDetail/transactionDetailState");
6
6
  const TRANSACTIONS_SORT_KEYS = [
@@ -31,3 +31,8 @@ exports.initialSupportedTransactionCategorization = {
31
31
  tabSpecificLineItems: {},
32
32
  },
33
33
  };
34
+ /** Which pool `fetchAccountsForTransferFlow` / transfer-flow epic should load. */
35
+ exports.TRANSFER_ACCOUNTS_FETCH_KIND = [
36
+ 'transfer_eligible',
37
+ 'credit_card_only',
38
+ ];
@@ -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" | "credit_card_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" | "credit_card_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" | "credit_card_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" | "credit_card_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" | "credit_card_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" | "credit_card_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<{
@@ -3,21 +3,9 @@ import { DayOfWeek, PriorityCodeType, TaskStatusCodeType, TaskType } from '../..
3
3
  import { ZeniDate } from '../../../zeniDayJS';
4
4
  import { RecurringDatePickerOptions, RecurringFrequencyType } from '../../common/recurringViewHelper';
5
5
  import { CommonHistoryView } from '../../spendManagement/commonHistoryView/commonHistory';
6
- export interface CreateSubTaskPayload {
7
- assignee: ID[];
8
- description: string;
9
- groupAssignees: ID[];
10
- name: string;
11
- parentTaskId: ID;
12
- priority: PriorityCodeType;
13
- status: TaskStatusCodeType;
14
- tagIds: ID[];
15
- timeSpent: string;
16
- }
17
6
  export interface TaskDetailViewState {
18
7
  editTaskStateById: Record<ID, EditTaskDetail>;
19
8
  newTaskState: EditTaskDetail;
20
- subTaskCreateStatus: FetchStateAndError;
21
9
  taskHistoryById: Record<ID, CommonHistoryView>;
22
10
  }
23
11
  export interface EditTaskDetail {
@@ -1,7 +1,7 @@
1
1
  import { FetchState, ID } from '../../../commonStateTypes/common';
2
2
  import { ZeniAPIStatus } from '../../../responsePayload';
3
3
  import { HistoricEventPayload } from '../../spendManagement/commonHistoryView/commonHistoryPayload';
4
- import { CreateSubTaskPayload, EditTaskLocalData, TaskDetailViewState } from './taskDetail';
4
+ import { EditTaskLocalData, TaskDetailViewState } from './taskDetail';
5
5
  export declare const initialState: TaskDetailViewState;
6
6
  export declare const fetchTaskDetailPage: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride: boolean, taskId?: string | undefined], {
7
7
  cacheOverride: boolean;
@@ -34,11 +34,7 @@ export declare const fetchTaskDetailPage: import("@reduxjs/toolkit").ActionCreat
34
34
  error?: ZeniAPIStatus;
35
35
  newTaskId?: ID;
36
36
  taskId?: ID;
37
- }, "taskDetailView/saveTaskSuccessOrFailure">, createSubTask: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: CreateSubTaskPayload], CreateSubTaskPayload, "taskDetailView/createSubTask", never, never>, createSubTaskSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
38
- fetchState: FetchState;
39
- error?: ZeniAPIStatus;
40
- newTaskId?: ID;
41
- }, "taskDetailView/createSubTaskSuccessOrFailure">, deleteTask: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[taskId?: string | undefined], {
37
+ }, "taskDetailView/saveTaskSuccessOrFailure">, deleteTask: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[taskId?: string | undefined], {
42
38
  taskId: string | undefined;
43
39
  }, "taskDetailView/deleteTask", never, never>, removeTaskDetail: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "taskDetailView/removeTaskDetail">, deleteTaskSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
44
40
  fetchState: FetchState;
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  var _a;
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.updateDeletedTagToLocalStore = exports.updateCreatedTagToLocalStore = exports.clearTaskDetail = exports.updateTaskHistoryFetchStatus = exports.updateTaskHistory = exports.fetchTaskHistory = exports.unsnoozeTask = exports.snoozeTaskSuccessOrFailure = exports.snoozeTask = exports.deleteTaskSuccessOrFailure = exports.removeTaskDetail = exports.deleteTask = exports.createSubTaskSuccessOrFailure = exports.createSubTask = exports.saveTaskSuccessOrFailure = exports.archiveTaskSuccessOrFailure = exports.archiveTask = exports.saveTaskDetail = exports.discardTaskUpdatesInLocalStore = exports.saveTaskUpdatesToLocalStore = exports.updateEditTaskFetchStatus = exports.initializeTaskToLocalStore = exports.fetchTaskDetail = exports.fetchTaskDetailPage = exports.initialState = void 0;
7
+ exports.updateDeletedTagToLocalStore = exports.updateCreatedTagToLocalStore = exports.clearTaskDetail = exports.updateTaskHistoryFetchStatus = exports.updateTaskHistory = exports.fetchTaskHistory = exports.unsnoozeTask = exports.snoozeTaskSuccessOrFailure = exports.snoozeTask = exports.deleteTaskSuccessOrFailure = exports.removeTaskDetail = exports.deleteTask = exports.saveTaskSuccessOrFailure = exports.archiveTaskSuccessOrFailure = exports.archiveTask = exports.saveTaskDetail = exports.discardTaskUpdatesInLocalStore = exports.saveTaskUpdatesToLocalStore = exports.updateEditTaskFetchStatus = exports.initializeTaskToLocalStore = exports.fetchTaskDetail = exports.fetchTaskDetailPage = exports.initialState = void 0;
8
8
  const toolkit_1 = require("@reduxjs/toolkit");
9
9
  const get_1 = __importDefault(require("lodash/get"));
10
10
  const commonHistory_1 = require("../../spendManagement/commonHistoryView/commonHistory");
@@ -13,10 +13,6 @@ const taskDetail_1 = require("./taskDetail");
13
13
  exports.initialState = {
14
14
  newTaskState: taskDetail_1.initialTaskDetail,
15
15
  editTaskStateById: {},
16
- subTaskCreateStatus: {
17
- fetchState: 'Not-Started',
18
- error: undefined,
19
- },
20
16
  taskHistoryById: {},
21
17
  };
22
18
  const taskDetailView = (0, toolkit_1.createSlice)({
@@ -329,28 +325,10 @@ const taskDetailView = (0, toolkit_1.createSlice)({
329
325
  error,
330
326
  };
331
327
  },
332
- createSubTask: {
333
- reducer(draft) {
334
- draft.subTaskCreateStatus = {
335
- fetchState: 'In-Progress',
336
- error: undefined,
337
- };
338
- },
339
- prepare(payload) {
340
- return { payload };
341
- },
342
- },
343
- createSubTaskSuccessOrFailure(draft, action) {
344
- const { fetchState, error } = action.payload;
345
- draft.subTaskCreateStatus = {
346
- fetchState,
347
- error,
348
- };
349
- },
350
328
  clearTaskDetail(draft) {
351
329
  Object.assign(draft, exports.initialState);
352
330
  },
353
331
  },
354
332
  });
355
- _a = taskDetailView.actions, exports.fetchTaskDetailPage = _a.fetchTaskDetailPage, exports.fetchTaskDetail = _a.fetchTaskDetail, exports.initializeTaskToLocalStore = _a.initializeTaskToLocalStore, exports.updateEditTaskFetchStatus = _a.updateEditTaskFetchStatus, exports.saveTaskUpdatesToLocalStore = _a.saveTaskUpdatesToLocalStore, exports.discardTaskUpdatesInLocalStore = _a.discardTaskUpdatesInLocalStore, exports.saveTaskDetail = _a.saveTaskDetail, exports.archiveTask = _a.archiveTask, exports.archiveTaskSuccessOrFailure = _a.archiveTaskSuccessOrFailure, exports.saveTaskSuccessOrFailure = _a.saveTaskSuccessOrFailure, exports.createSubTask = _a.createSubTask, exports.createSubTaskSuccessOrFailure = _a.createSubTaskSuccessOrFailure, exports.deleteTask = _a.deleteTask, exports.removeTaskDetail = _a.removeTaskDetail, exports.deleteTaskSuccessOrFailure = _a.deleteTaskSuccessOrFailure, exports.snoozeTask = _a.snoozeTask, exports.snoozeTaskSuccessOrFailure = _a.snoozeTaskSuccessOrFailure, exports.unsnoozeTask = _a.unsnoozeTask, exports.fetchTaskHistory = _a.fetchTaskHistory, exports.updateTaskHistory = _a.updateTaskHistory, exports.updateTaskHistoryFetchStatus = _a.updateTaskHistoryFetchStatus, exports.clearTaskDetail = _a.clearTaskDetail, exports.updateCreatedTagToLocalStore = _a.updateCreatedTagToLocalStore, exports.updateDeletedTagToLocalStore = _a.updateDeletedTagToLocalStore;
333
+ _a = taskDetailView.actions, exports.fetchTaskDetailPage = _a.fetchTaskDetailPage, exports.fetchTaskDetail = _a.fetchTaskDetail, exports.initializeTaskToLocalStore = _a.initializeTaskToLocalStore, exports.updateEditTaskFetchStatus = _a.updateEditTaskFetchStatus, exports.saveTaskUpdatesToLocalStore = _a.saveTaskUpdatesToLocalStore, exports.discardTaskUpdatesInLocalStore = _a.discardTaskUpdatesInLocalStore, exports.saveTaskDetail = _a.saveTaskDetail, exports.archiveTask = _a.archiveTask, exports.archiveTaskSuccessOrFailure = _a.archiveTaskSuccessOrFailure, exports.saveTaskSuccessOrFailure = _a.saveTaskSuccessOrFailure, exports.deleteTask = _a.deleteTask, exports.removeTaskDetail = _a.removeTaskDetail, exports.deleteTaskSuccessOrFailure = _a.deleteTaskSuccessOrFailure, exports.snoozeTask = _a.snoozeTask, exports.snoozeTaskSuccessOrFailure = _a.snoozeTaskSuccessOrFailure, exports.unsnoozeTask = _a.unsnoozeTask, exports.fetchTaskHistory = _a.fetchTaskHistory, exports.updateTaskHistory = _a.updateTaskHistory, exports.updateTaskHistoryFetchStatus = _a.updateTaskHistoryFetchStatus, exports.clearTaskDetail = _a.clearTaskDetail, exports.updateCreatedTagToLocalStore = _a.updateCreatedTagToLocalStore, exports.updateDeletedTagToLocalStore = _a.updateDeletedTagToLocalStore;
356
334
  exports.default = taskDetailView.reducer;
@@ -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" | "credit_card_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" | "credit_card_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 { fetchAccountsForTransferFlow } 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 fetchAccountsForTransferFlow>;
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,15 @@ 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, creditCardAccountsForTransfer, } = state$.value.expenseAutomationTransactionsViewState;
46
+ if (transferAccounts.fetchState !== 'In-Progress' &&
47
+ transferAccounts.fetchState !== 'Completed') {
48
+ transactionActions.push((0, transactionsViewReducer_1.fetchAccountsForTransferFlow)({ kind: 'transfer_eligible' }));
49
+ }
50
+ if (creditCardAccountsForTransfer.fetchState !== 'In-Progress' &&
51
+ creditCardAccountsForTransfer.fetchState !== 'Completed') {
52
+ transactionActions.push((0, transactionsViewReducer_1.fetchAccountsForTransferFlow)({ kind: 'credit_card_only' }));
53
+ }
44
54
  const classList = state$.value.classListState;
45
55
  if (classList.hasValidState() === false &&
46
56
  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,9 @@ export interface TransactionDetailReport extends SelectorView {
17
18
  allVendors: Vendor[];
18
19
  classHierarchyList: NestedClassHierarchyForReport[];
19
20
  classList: ClassListSelectorView;
21
+ createTransferEntryStatus: FetchState;
22
+ /** Resolved credit-card pool for credit_card_payment transfer drawer. */
23
+ creditCardAccountsForTransferList: AccountBase[];
20
24
  deleteStatusByAttachmentName: Record<string, FetchStateAndError>;
21
25
  isAccountingClassesEnabled: boolean;
22
26
  isAccountingProjectsEnabled: boolean;
@@ -24,6 +28,7 @@ export interface TransactionDetailReport extends SelectorView {
24
28
  projectList: ProjectListSelectorView;
25
29
  transactionDetailLocalData: TransactionDetailLocalData;
26
30
  transactionDetailUpdateStatus: FetchStateAndError;
31
+ transferAccounts: AccountBase[];
27
32
  isUpdateNotAllowed?: boolean;
28
33
  transaction?: SupportedTransactionWithCOT;
29
34
  }
@@ -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,24 @@ 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);
91
+ const creditCardAccountsFromApi = expenseAutomationTransactionsViewState.creditCardAccountsForTransfer.accountIds
92
+ .map((id) => (0, accountSelector_1.getAccountBaseForCreditCardTransferAccounts)(accountState, id))
93
+ .filter((account) => account != null);
94
+ const coaCreditCardsFallback = accountsList.accounts
95
+ .map((a) => (0, accountSelector_1.getAccountBase)(accountState, a.accountId, 'account_list'))
96
+ .filter((account) => account != null)
97
+ .filter((a) => a.accountType === 'credit_card');
98
+ const creditCardAccountsForTransferList = creditCardAccountsFromApi.length > 0
99
+ ? creditCardAccountsFromApi
100
+ : coaCreditCardsFallback;
82
101
  return {
83
102
  reportId: 'transaction_detail',
84
103
  reportTitle: 'Transaction Detail',
@@ -95,6 +114,9 @@ const getTransactionDetail = (state, transactionId, fetchLinkedTransactions = tr
95
114
  accountsHierarchyList,
96
115
  classList: classList,
97
116
  isAccountingClassesEnabled,
117
+ createTransferEntryStatus: expenseAutomationTransactionsViewState.createTransferEntryStatus,
118
+ creditCardAccountsForTransferList,
119
+ transferAccounts: transferAccountsList,
98
120
  isAccountingProjectsEnabled,
99
121
  projectList,
100
122
  isUpdateNotAllowed: transactionDetail?.isUpdateNotAllowed,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.0.61-betaJK1",
3
+ "version": "5.0.61-betaML1",
4
4
  "description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/esm/index.js",
@@ -1,62 +0,0 @@
1
- import { from, of } from 'rxjs';
2
- import { catchError, filter, mergeMap } from 'rxjs/operators';
3
- import { convertHHMMStrToMinutes } from '../../../../commonStateTypes/fiscalYearHelpers/formatMinutesToFromHHMM';
4
- import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
5
- import { updateTasks } from '../../../../entity/task/taskReducer';
6
- import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
7
- import { createSubTask, createSubTaskSuccessOrFailure, } from '../taskDetailReducer';
8
- export const createSubTaskEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(createSubTask.match), mergeMap((action) => {
9
- const payload = prepareSubTaskPayload(action.payload);
10
- return zeniAPI
11
- .postAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks`, payload)
12
- .pipe(mergeMap((response) => {
13
- if (isSuccessResponse(response) &&
14
- response.data != null &&
15
- response.data.tasks.length > 0) {
16
- const newTaskId = response.data.tasks[0].task_id;
17
- return from([
18
- updateTasks(response.data.tasks),
19
- createSubTaskSuccessOrFailure({
20
- fetchState: 'Completed',
21
- newTaskId,
22
- }),
23
- openSnackbar({
24
- messageSection: 'create_sub_task',
25
- messageText: 'success',
26
- type: 'success',
27
- }),
28
- ]);
29
- }
30
- else {
31
- return of(createSubTaskSuccessOrFailure({
32
- fetchState: 'Error',
33
- error: response.status,
34
- }), openSnackbar({
35
- messageSection: 'create_sub_task',
36
- messageText: 'failed',
37
- type: 'error',
38
- variables: [
39
- {
40
- variableName: '_api-error_',
41
- variableValue: response.status.message,
42
- },
43
- ],
44
- }));
45
- }
46
- }), catchError((error) => of(createSubTaskSuccessOrFailure({
47
- fetchState: 'Error',
48
- error: createZeniAPIStatus('Unexpected Error', 'Create Sub Task REST API call errored out' +
49
- JSON.stringify(error)),
50
- }))));
51
- }));
52
- const prepareSubTaskPayload = (subTask) => ({
53
- name: subTask.name,
54
- assignees: subTask.assignee,
55
- description: subTask.description,
56
- priority: subTask.priority,
57
- status: subTask.status,
58
- tags: subTask.tagIds,
59
- time_spent: convertHHMMStrToMinutes(subTask.timeSpent),
60
- group_assignees: subTask.groupAssignees,
61
- parent_task_id: subTask.parentTaskId,
62
- });
@@ -1,29 +0,0 @@
1
- import { ActionsObservable } from 'redux-observable';
2
- import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
3
- import { updateTasks } from '../../../../entity/task/taskReducer';
4
- import { ZeniAPI } from '../../../../zeniAPI';
5
- import { createSubTask, createSubTaskSuccessOrFailure } from '../taskDetailReducer';
6
- export type ActionType = ReturnType<typeof createSubTask> | ReturnType<typeof updateTasks> | ReturnType<typeof openSnackbar> | ReturnType<typeof createSubTaskSuccessOrFailure>;
7
- export declare const createSubTaskEpic: (actions$: ActionsObservable<ActionType>, _state$: unknown, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
8
- payload: {
9
- messageSection: import("../../../..").SnackbarMessageSections;
10
- messageText: import("../../../..").SnackbarMessageSectionTexts;
11
- type: import("../../../..").SnackbarMessageType;
12
- showStatusIcon?: boolean;
13
- variables?: {
14
- variableName: string;
15
- variableValue: string;
16
- }[];
17
- };
18
- type: "snackbar/openSnackbar";
19
- } | {
20
- payload: import("../../../../entity/task/taskPayload").TaskPayload[];
21
- type: "task/updateTasks";
22
- } | {
23
- payload: {
24
- fetchState: import("../../../..").FetchState;
25
- error?: import("../../../../responsePayload").ZeniAPIStatus;
26
- newTaskId?: import("../../../..").ID;
27
- };
28
- type: "taskDetailView/createSubTaskSuccessOrFailure";
29
- }>;