@zeniai/client-epic-state 4.13.16 → 4.13.18

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 (37) hide show
  1. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  2. package/lib/entity/snackbar/snackbarTypes.js +2 -0
  3. package/lib/entity/toastNotification/epic/pushToastNotificationEpic.d.ts +1 -1
  4. package/lib/epic.d.ts +5 -3
  5. package/lib/epic.js +3 -1
  6. package/lib/index.d.ts +3 -3
  7. package/lib/index.js +27 -25
  8. package/lib/view/cardPayment/epic/addCardPaymentSourceEpic.d.ts +1 -1
  9. package/lib/view/cardPayment/epic/confirmCardSetupIntentEpic.d.ts +1 -1
  10. package/lib/view/cardPayment/epic/createCardSetupIntentEpic.d.ts +1 -1
  11. package/lib/view/cardPayment/epic/fetchPaymentSourcesEpic.d.ts +1 -1
  12. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +5 -4
  13. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.d.ts +1 -1
  14. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +3 -1
  15. package/lib/view/expenseAutomationView/epics/fluxAnalysis/fetchFluxAnalysisViewEpic.d.ts +2 -2
  16. package/lib/view/expenseAutomationView/epics/fluxAnalysis/fetchFluxAnalysisViewEpic.js +29 -23
  17. package/lib/view/expenseAutomationView/epics/fluxAnalysis/reviewFluxAnalysisEpic.d.ts +6 -1
  18. package/lib/view/expenseAutomationView/epics/fluxAnalysis/reviewFluxAnalysisEpic.js +46 -8
  19. package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +4 -1
  20. package/lib/view/expenseAutomationView/helpers/helpers.js +2 -2
  21. package/lib/view/expenseAutomationView/payload/fluxAnalysisPayload.d.ts +11 -11
  22. package/lib/view/expenseAutomationView/reducers/fluxAnalysisViewReducer.d.ts +20 -7
  23. package/lib/view/expenseAutomationView/reducers/fluxAnalysisViewReducer.js +73 -37
  24. package/lib/view/expenseAutomationView/selectorTypes/fluxAnalysisViewSelectorTypes.d.ts +2 -2
  25. package/lib/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +38 -4
  26. package/lib/view/expenseAutomationView/types/fluxAnalysisViewState.d.ts +5 -4
  27. package/lib/view/expenseAutomationView/types/fluxAnalysisViewState.js +1 -1
  28. package/lib/view/people/changeZeniPersonRolesEpic.d.ts +1 -1
  29. package/lib/view/people/deletePersonEpic.d.ts +1 -1
  30. package/lib/view/people/invitePeopleEpic.d.ts +1 -1
  31. package/lib/view/people/inviteZeniPeopleEpic.d.ts +1 -1
  32. package/lib/view/people/resendInviteEpic.d.ts +1 -1
  33. package/lib/view/settingsView/epic/saveNotificationSettingsEpic.d.ts +1 -1
  34. package/lib/view/tagView/epics/createTagEpic.d.ts +1 -1
  35. package/lib/view/tagView/epics/deleteTagEpic.d.ts +1 -1
  36. package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +2 -2
  37. package/package.json +1 -1
@@ -5,35 +5,73 @@ const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
6
  const responsePayload_1 = require("../../../../responsePayload");
7
7
  const fluxAnalysisViewReducer_1 = require("../../reducers/fluxAnalysisViewReducer");
8
+ const accountReducer_1 = require("../../../../entity/account/accountReducer");
9
+ const classReducer_1 = require("../../../../entity/class/classReducer");
10
+ const vendorReducer_1 = require("../../../../entity/vendor/vendorReducer");
11
+ const userReducer_1 = require("../../../../entity/user/userReducer");
8
12
  const helpers_1 = require("../../helpers/helpers");
13
+ const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
9
14
  const reviewFluxAnalysisViewEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(fluxAnalysisViewReducer_1.reviewFluxAnalysisView.match), (0, operators_1.switchMap)((action) => {
10
- const { actionType, operatingExpenseIds } = action.payload;
11
- const queryParam = {
12
- action: (0, helpers_1.toVendorFluxAnalysisReviewActionPayload)(actionType),
13
- flux_analysis_entity_ids: operatingExpenseIds,
14
- };
15
+ const { actionType, operatingExpenseIds, selectedPeriod, isBulk } = action.payload;
16
+ const payload = Object.assign({}, getReviewFluxPayload(actionType, operatingExpenseIds));
15
17
  return zeniAPI
16
- .getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/month-close-checks/flux_analysis/review?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
18
+ .putAndGetJSON(`https://qa.api.zeni.ai/version/accounting/komal/1.0/month-close/flux-analysis`, payload)
17
19
  .pipe((0, operators_1.mergeMap)((response) => {
20
+ var _a, _b;
18
21
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
19
22
  const updateActions = [];
20
- if (response.data != null) {
23
+ updateActions.push((0, accountReducer_1.updateAccounts)(response.data.accounts, 'account_list'));
24
+ updateActions.push((0, classReducer_1.updateClasses)('class_list', response.data.accounting_class));
25
+ updateActions.push((0, vendorReducer_1.updateVendors)(response.data.vendors, 'merge'));
26
+ updateActions.push((0, userReducer_1.updateAllUsers)({
27
+ users: response.data.users,
28
+ updateType: 'merge',
29
+ }));
30
+ if (response.data.flux_analysis_entities != null) {
21
31
  updateActions.push((0, fluxAnalysisViewReducer_1.reviewFluxAnalysisViewSuccess)({
22
- operatingExpenseIds: response.data.operating_expense_ids,
32
+ expensesPayload: (_b = (_a = response.data.flux_analysis_entities) === null || _a === void 0 ? void 0 : _a.operating_expenses) !== null && _b !== void 0 ? _b : [],
33
+ currency: response.data.currency,
34
+ selectedPeriod: selectedPeriod,
35
+ isBulk,
23
36
  }));
24
37
  }
38
+ updateActions.push((0, snackbarReducer_1.openSnackbar)({
39
+ messageSection: actionType === 'review'
40
+ ? 'flux_analysis_reviewed'
41
+ : 'flux_analysis_unreviewed',
42
+ messageText: 'success',
43
+ type: 'success',
44
+ variables: [
45
+ {
46
+ variableName: '_vendors_count_',
47
+ variableValue: `${operatingExpenseIds.length}`,
48
+ },
49
+ {
50
+ variableName: '_vendor_',
51
+ variableValue: operatingExpenseIds.length === 1 ? 'vendor' : 'vendors',
52
+ },
53
+ ],
54
+ }));
25
55
  return (0, rxjs_1.from)(updateActions);
26
56
  }
27
57
  else {
28
58
  return (0, rxjs_1.of)((0, fluxAnalysisViewReducer_1.reviewFluxAnalysisViewFailure)({
29
59
  operatingExpenseIds: operatingExpenseIds,
30
60
  status: response.status,
61
+ isBulk,
31
62
  }));
32
63
  }
33
64
  }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, fluxAnalysisViewReducer_1.reviewFluxAnalysisViewFailure)({
34
65
  operatingExpenseIds: operatingExpenseIds,
35
66
  status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'review flux analysis view REST API call errored out' +
36
67
  JSON.stringify(error)),
68
+ isBulk,
37
69
  }))));
38
70
  }));
39
71
  exports.reviewFluxAnalysisViewEpic = reviewFluxAnalysisViewEpic;
72
+ const getReviewFluxPayload = (actionType, operatingExpenseIds) => {
73
+ return {
74
+ action: (0, helpers_1.toVendorFluxAnalysisReviewActionPayload)(actionType),
75
+ flux_analysis_entity_ids: operatingExpenseIds,
76
+ };
77
+ };
@@ -59,8 +59,11 @@ function getExpenseAutomationView(state) {
59
59
  ? auditSummary.auditScorePercentage < 75 // TODO - jk - update condition
60
60
  : true });
61
61
  return;
62
+ case 'flux_analysis':
63
+ allStepsOriginal[index] = Object.assign(Object.assign({}, stepDetail), { completionStatus: fluxAnalysis.completionStatus });
64
+ return;
62
65
  default:
63
- // TODO - Anjali, TODO - Vivek add other steps
66
+ // TODO - Vivek add other steps
64
67
  return;
65
68
  }
66
69
  });
@@ -36,7 +36,7 @@ const toBalancesByMonthFromPayload = (month1, month2, currency) => {
36
36
  exports.toBalancesByMonthFromPayload = toBalancesByMonthFromPayload;
37
37
  const toVendorFluxAnalysisSortKeyPayload = (sortKey) => {
38
38
  switch (sortKey) {
39
- case 'vendors':
39
+ case 'vendor':
40
40
  return 'vendor_name';
41
41
  case 'category':
42
42
  return 'account_name';
@@ -49,7 +49,7 @@ const toVendorFluxAnalysisReviewActionPayload = (actionType) => {
49
49
  switch (actionType) {
50
50
  case 'review':
51
51
  return 'mark_as_reviewed';
52
- case 'unReview':
52
+ case 'unreview':
53
53
  return 'mark_as_un_reviewed';
54
54
  }
55
55
  };
@@ -8,15 +8,17 @@ import { ZeniAPIResponse } from '../../../responsePayload';
8
8
  declare const toFluxAnalysisQuerySortKey: (v: string) => "accounting_class_name" | "vendor_name" | "account_name";
9
9
  export declare type FluxAnalysisQuerySortKey = ReturnType<typeof toFluxAnalysisQuerySortKey>;
10
10
  export declare type FluxAnalysisActionQueryType = 'mark_as_reviewed' | 'mark_as_un_reviewed';
11
- interface PageMetadataPayload {
11
+ export interface PageMetadataPayload {
12
12
  next_page_token: string;
13
+ is_more_data_to_load: boolean;
13
14
  }
14
15
  export interface FluxAnalysisQueryPayload {
15
16
  month_and_year: string;
16
17
  sort_order: string;
17
18
  sort_by: string;
19
+ page_token: string | null;
18
20
  }
19
- export interface ReviewFluxAnalysisQueryPayload {
21
+ export interface FluxAnalysisReviewPayload {
20
22
  action: string;
21
23
  flux_analysis_entity_ids: string[];
22
24
  }
@@ -46,30 +48,28 @@ export interface FluxAnalysisOperatingExpensePayload {
46
48
  is_reviewed: boolean | null;
47
49
  }
48
50
  export interface FluxAnalysisReportPayload {
49
- vendors?: VendorPayload[];
50
- accounts?: AccountBasePayload[];
51
- accounting_class?: ClassBasePayload[];
52
- users?: UserPayload[];
51
+ vendors: VendorPayload[];
52
+ accounts: AccountBasePayload[];
53
+ accounting_class: ClassBasePayload[];
54
+ users: UserPayload[];
53
55
  flux_analysis_entities?: FluxAnalysisEntitiesPayload;
54
56
  page_metadata?: PageMetadataPayload;
55
57
  currency: CurrencyPayload;
56
58
  }
57
- export interface FluxAnalysisResponsePayload {
59
+ export interface FluxAnalysisResponsePayload extends FluxAnalysisReportPayload {
58
60
  query: {
59
61
  month_and_year: string;
60
62
  page_token: string;
61
63
  sort_by: string;
62
64
  sort_order: string;
63
65
  };
64
- report: FluxAnalysisReportPayload;
65
66
  }
66
- export interface ReviewFluxAnalysisResponsePayload {
67
+ export interface ReviewFluxAnalysisResponsePayload extends FluxAnalysisReportPayload {
67
68
  query: {
68
69
  action: string;
69
70
  month_and_year: string;
70
- operating_expense_ids: string[];
71
+ flux_analysis_entity_ids: string[];
71
72
  };
72
- operating_expense_ids: string[];
73
73
  }
74
74
  export declare type FluxAnalysisViewResponse = ZeniAPIResponse<FluxAnalysisResponsePayload>;
75
75
  export declare type ReviewFluxAnalysisViewResponse = ZeniAPIResponse<ReviewFluxAnalysisResponsePayload>;
@@ -1,34 +1,47 @@
1
- import { FluxAnalysisActionType, FluxAnalysisOperatingExpense, FluxAnalysisViewState } from '../types/fluxAnalysisViewState';
1
+ import { FluxAnalysisActionType, FluxAnalysisOperatingExpense, FluxAnalysisViewState, FluxAnalysisViewUIState } from '../types/fluxAnalysisViewState';
2
2
  import { MonthYearPeriod } from '../../../commonStateTypes/timePeriod';
3
3
  import { ZeniAPIStatus } from '../../../responsePayload';
4
- import { FluxAnalysisOperatingExpensePayload } from '../payload/fluxAnalysisPayload';
4
+ import { FluxAnalysisOperatingExpensePayload, PageMetadataPayload } from '../payload/fluxAnalysisPayload';
5
5
  import { FetchStateAndError, ID } from '../../../commonStateTypes/common';
6
6
  import { CurrencyPayload } from '../../../commonPayloadTypes/v2/viewAndReportPayloadv2';
7
+ import { PageToken } from '../../../commonStateTypes/viewAndReport/viewAndReport';
7
8
  export declare const initialState: FluxAnalysisViewState;
8
9
  export declare const toFluxAnalysisiOperatingExpensesById: (operatingExpenses: FluxAnalysisOperatingExpensePayload[], currency: CurrencyPayload) => Record<ID, FluxAnalysisOperatingExpense>;
9
10
  export declare const toFluxAnalysisOperatingEexpenses: (operatingExpensesPayload: FluxAnalysisOperatingExpensePayload[], currency: CurrencyPayload) => FluxAnalysisOperatingExpense[];
10
11
  export declare const toFluxAnalysisOperatingEexpense: (operatingExpensePayload: FluxAnalysisOperatingExpensePayload, currency: CurrencyPayload) => FluxAnalysisOperatingExpense;
11
12
  export declare const toReviewStatusById: (operatingExpenses: FluxAnalysisOperatingExpensePayload[]) => Record<ID, FetchStateAndError>;
12
- export declare const fetchFluxAnalysisView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[monthAndYear: MonthYearPeriod, refreshViewInBackground: boolean], {
13
+ export declare const fetchFluxAnalysisView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[monthAndYear: MonthYearPeriod, cacheOverride: boolean, refreshViewInBackground: boolean, pageToken: PageToken, keepExistingListItems?: boolean | undefined], {
13
14
  monthAndYear: MonthYearPeriod;
14
15
  refreshViewInBackground: boolean;
16
+ cacheOverride: boolean;
17
+ pageToken: PageToken;
18
+ keepExistingListItems: boolean | undefined;
15
19
  }, string, never, never>, fetchFluxAnalysisViewSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
16
20
  expensesPayload: FluxAnalysisOperatingExpensePayload[];
21
+ selectedPeriod: MonthYearPeriod;
17
22
  currency: CurrencyPayload;
23
+ keepExistingListItems?: boolean | undefined;
18
24
  }, string>, fetchFluxAnalysisViewFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
19
25
  status: ZeniAPIStatus;
26
+ selectedPeriod: MonthYearPeriod;
20
27
  }, string>, clearExpenseAutomationFluxAnalysisView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateOperatingExpensesIdsForReview: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
21
28
  operatingExpenseIds: ID[];
22
- }, string>, markFullFluxAnalysisViewForReview: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
23
- isSelected: boolean;
24
- }, string>, reviewFluxAnalysisView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[actionType: FluxAnalysisActionType, operatingExpenseIds: string[]], {
29
+ }, string>, reviewFluxAnalysisView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[actionType: FluxAnalysisActionType, operatingExpenseIds: string[], selectedPeriod: MonthYearPeriod, isBulk?: boolean | undefined], {
25
30
  actionType: FluxAnalysisActionType;
26
31
  operatingExpenseIds: string[];
32
+ selectedPeriod: MonthYearPeriod;
33
+ isBulk: boolean | undefined;
27
34
  }, string, never, never>, reviewFluxAnalysisViewSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
28
- operatingExpenseIds: ID[];
35
+ expensesPayload: FluxAnalysisOperatingExpensePayload[];
36
+ currency: CurrencyPayload;
37
+ selectedPeriod: MonthYearPeriod;
38
+ isBulk?: boolean | undefined;
29
39
  }, string>, reviewFluxAnalysisViewFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
30
40
  operatingExpenseIds: ID[];
31
41
  status: ZeniAPIStatus;
42
+ isBulk?: boolean | undefined;
43
+ }, string>, updateFluxAnalysisViewUIState: import("@reduxjs/toolkit").ActionCreatorWithPayload<Partial<FluxAnalysisViewUIState>, string>, updateFluxAnalysisViewPageMetaData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
44
+ pageMetaData?: PageMetadataPayload | undefined;
32
45
  }, string>;
33
46
  declare const _default: import("@reduxjs/toolkit").Reducer<FluxAnalysisViewState, import("@reduxjs/toolkit").AnyAction>;
34
47
  export default _default;
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.reviewFluxAnalysisViewFailure = exports.reviewFluxAnalysisViewSuccess = exports.reviewFluxAnalysisView = exports.markFullFluxAnalysisViewForReview = exports.updateOperatingExpensesIdsForReview = exports.clearExpenseAutomationFluxAnalysisView = exports.fetchFluxAnalysisViewFailure = exports.fetchFluxAnalysisViewSuccess = exports.fetchFluxAnalysisView = exports.toReviewStatusById = exports.toFluxAnalysisOperatingEexpense = exports.toFluxAnalysisOperatingEexpenses = exports.toFluxAnalysisiOperatingExpensesById = exports.initialState = void 0;
4
+ exports.updateFluxAnalysisViewPageMetaData = exports.updateFluxAnalysisViewUIState = exports.reviewFluxAnalysisViewFailure = exports.reviewFluxAnalysisViewSuccess = exports.reviewFluxAnalysisView = exports.updateOperatingExpensesIdsForReview = exports.clearExpenseAutomationFluxAnalysisView = exports.fetchFluxAnalysisViewFailure = exports.fetchFluxAnalysisViewSuccess = exports.fetchFluxAnalysisView = exports.toReviewStatusById = exports.toFluxAnalysisOperatingEexpense = exports.toFluxAnalysisOperatingEexpenses = exports.toFluxAnalysisiOperatingExpensesById = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
+ const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
6
7
  const helpers_1 = require("../helpers/helpers");
7
8
  exports.initialState = {
8
9
  reviewStatusById: {},
9
- operatingExpenseById: {},
10
+ operatingExpenseIdsBySelectedPeriod: {},
10
11
  fluxAnalysisEntities: { operatingExpenses: [] },
11
12
  uiState: {
12
13
  scrollPosition: { scrollTop: 0, scrollLeft: undefined },
13
14
  pageToken: null,
15
+ hasMore: true,
14
16
  totalCount: 0,
15
17
  limit: 10,
16
- sortKey: 'vendors',
18
+ sortKey: 'vendor',
17
19
  searchString: '',
18
20
  sortOrder: 'ascending',
19
21
  },
@@ -29,7 +31,6 @@ exports.initialState = {
29
31
  error: undefined,
30
32
  fluxAnalysisReportGenerated: false,
31
33
  reviewOperatingExpensesIds: [],
32
- isAllRowsSelected: false,
33
34
  hasValidState() {
34
35
  return this.fetchState == 'Completed';
35
36
  },
@@ -49,17 +50,20 @@ const expenseAutomationFluxAnalysisView = (0, toolkit_1.createSlice)({
49
50
  draft.error = undefined;
50
51
  }
51
52
  },
52
- prepare(monthAndYear, refreshViewInBackground) {
53
+ prepare(monthAndYear, cacheOverride, refreshViewInBackground, pageToken, keepExistingListItems) {
53
54
  return {
54
55
  payload: {
55
56
  monthAndYear,
56
57
  refreshViewInBackground,
58
+ cacheOverride,
59
+ pageToken,
60
+ keepExistingListItems,
57
61
  },
58
62
  };
59
63
  },
60
64
  },
61
65
  fetchFluxAnalysisViewSuccess(draft, action) {
62
- const { expensesPayload, currency } = action.payload;
66
+ const { expensesPayload, selectedPeriod, keepExistingListItems, currency } = action.payload;
63
67
  if (draft.fetchState === 'In-Progress') {
64
68
  draft.fetchState = 'Completed';
65
69
  draft.error = undefined;
@@ -67,14 +71,36 @@ const expenseAutomationFluxAnalysisView = (0, toolkit_1.createSlice)({
67
71
  else {
68
72
  draft.refreshStatus = { fetchState: 'Completed', error: undefined };
69
73
  }
70
- draft.reviewStatusById = (0, exports.toReviewStatusById)(expensesPayload);
71
- draft.operatingExpenseById = (0, exports.toFluxAnalysisiOperatingExpensesById)(expensesPayload, currency);
72
- draft.fluxAnalysisEntities = {
73
- operatingExpenses: (0, exports.toFluxAnalysisOperatingEexpenses)(expensesPayload, currency),
74
- };
74
+ draft.reviewStatusById = Object.assign(Object.assign({}, draft.reviewStatusById), (0, exports.toReviewStatusById)(expensesPayload));
75
+ const fluxOpExEntityIds = expensesPayload.map((expense) => expense.flux_analysis_entity_id);
76
+ if (keepExistingListItems === true) {
77
+ const allFluxAnalysisEntities = {
78
+ operatingExpenses: [
79
+ ...draft.fluxAnalysisEntities.operatingExpenses,
80
+ ...(0, exports.toFluxAnalysisOperatingEexpenses)(expensesPayload, currency),
81
+ ],
82
+ };
83
+ const allOperatingExpenseIdsBySelectedPeriod = [
84
+ ...fluxOpExEntityIds,
85
+ ...draft.operatingExpenseIdsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)],
86
+ ];
87
+ draft.fluxAnalysisEntities = allFluxAnalysisEntities;
88
+ draft.operatingExpenseIdsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)] = allOperatingExpenseIdsBySelectedPeriod;
89
+ }
90
+ else {
91
+ draft.operatingExpenseIdsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)] = fluxOpExEntityIds;
92
+ draft.fluxAnalysisEntities = {
93
+ operatingExpenses: (0, exports.toFluxAnalysisOperatingEexpenses)(expensesPayload, currency),
94
+ };
95
+ }
96
+ },
97
+ updateFluxAnalysisViewPageMetaData(draft, action) {
98
+ var _a, _b, _c, _d;
99
+ draft.uiState = Object.assign(Object.assign({}, draft.uiState), { pageToken: (_b = (_a = action.payload.pageMetaData) === null || _a === void 0 ? void 0 : _a.next_page_token) !== null && _b !== void 0 ? _b : null, hasMore: (_d = (_c = action.payload.pageMetaData) === null || _c === void 0 ? void 0 : _c.is_more_data_to_load) !== null && _d !== void 0 ? _d : true });
75
100
  },
76
101
  fetchFluxAnalysisViewFailure(draft, action) {
77
- const { status } = action.payload;
102
+ const { status, selectedPeriod } = action.payload;
103
+ draft.operatingExpenseIdsBySelectedPeriod[(0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod)] = [];
78
104
  if (draft.fetchState === 'In-Progress') {
79
105
  draft.fetchState = 'Error';
80
106
  draft.error = status;
@@ -85,69 +111,79 @@ const expenseAutomationFluxAnalysisView = (0, toolkit_1.createSlice)({
85
111
  },
86
112
  updateOperatingExpensesIdsForReview(draft, action) {
87
113
  const { operatingExpenseIds } = action.payload;
88
- if (draft.reviewOperatingExpensesIds.length == 0) {
89
- draft.reviewOperatingExpensesIds = operatingExpenseIds;
90
- }
91
- else {
92
- draft.reviewOperatingExpensesIds =
93
- draft.reviewOperatingExpensesIds.concat(operatingExpenseIds);
94
- }
95
- },
96
- markFullFluxAnalysisViewForReview(draft, action) {
97
- const { isSelected } = action.payload;
98
- const allRowIds = Object.keys(draft.operatingExpenseById);
99
- draft.reviewOperatingExpensesIds = allRowIds;
100
- draft.isAllRowsSelected = isSelected;
114
+ draft.reviewOperatingExpensesIds = operatingExpenseIds;
101
115
  },
102
116
  reviewFluxAnalysisView: {
103
117
  reducer(draft, action) {
104
- const { operatingExpenseIds } = action.payload;
118
+ const { operatingExpenseIds, isBulk } = action.payload;
105
119
  operatingExpenseIds.forEach((id) => {
106
120
  draft.reviewStatusById[id] = {
107
121
  fetchState: 'In-Progress',
108
122
  };
109
123
  });
110
- if (operatingExpenseIds.length > 1) {
124
+ if (isBulk === true) {
111
125
  draft.bulkReviewStatus = {
112
126
  fetchState: 'In-Progress',
113
127
  };
114
128
  }
115
129
  },
116
- prepare(actionType, operatingExpenseIds) {
130
+ prepare(actionType, operatingExpenseIds, selectedPeriod, isBulk) {
117
131
  return {
118
- payload: { actionType, operatingExpenseIds },
132
+ payload: { actionType, operatingExpenseIds, selectedPeriod, isBulk },
119
133
  };
120
134
  },
121
135
  },
122
136
  reviewFluxAnalysisViewSuccess(draft, action) {
123
- const { operatingExpenseIds } = action.payload;
124
- operatingExpenseIds.forEach((id) => {
125
- delete draft.operatingExpenseById[id];
126
- draft.reviewStatusById[id] = {
137
+ const { expensesPayload, currency, isBulk } = action.payload;
138
+ let updatedFluxEntities = draft.fluxAnalysisEntities.operatingExpenses;
139
+ expensesPayload.forEach((opExPayload) => {
140
+ draft.reviewStatusById[opExPayload.flux_analysis_entity_id] = {
127
141
  fetchState: 'Completed',
128
142
  };
143
+ const fluxEntity = (0, exports.toFluxAnalysisOperatingEexpense)(opExPayload, currency);
144
+ updatedFluxEntities = updatedFluxEntities.filter((fluxEntity) => fluxEntity.operatingExpenseId !==
145
+ opExPayload.flux_analysis_entity_id);
146
+ updatedFluxEntities.push(fluxEntity);
129
147
  });
130
- if (operatingExpenseIds.length > 1) {
148
+ draft.fluxAnalysisEntities = {
149
+ operatingExpenses: updatedFluxEntities,
150
+ };
151
+ draft.reviewOperatingExpensesIds = [];
152
+ if (isBulk === true) {
131
153
  draft.bulkReviewStatus = {
132
154
  fetchState: 'Completed',
133
155
  };
134
156
  }
135
157
  },
136
158
  reviewFluxAnalysisViewFailure(draft, action) {
137
- const { operatingExpenseIds, status } = action.payload;
159
+ const { operatingExpenseIds, status, isBulk } = action.payload;
138
160
  operatingExpenseIds.forEach((id) => {
139
161
  if (draft.reviewStatusById[id].fetchState === 'In-Progress') {
140
162
  draft.reviewStatusById[id].fetchState = 'Error';
141
163
  draft.reviewStatusById[id].error = status;
142
164
  }
143
165
  });
144
- if (operatingExpenseIds.length > 1) {
166
+ if (isBulk === true) {
145
167
  draft.bulkReviewStatus = {
146
168
  fetchState: 'Error',
147
169
  error: status,
148
170
  };
149
171
  }
150
172
  },
173
+ updateFluxAnalysisViewUIState(draft, action) {
174
+ if (action.payload.sortKey != null) {
175
+ draft.uiState.sortKey = action.payload.sortKey;
176
+ }
177
+ if (action.payload.sortOrder != null) {
178
+ draft.uiState.sortOrder = action.payload.sortOrder;
179
+ }
180
+ if (action.payload.searchString != null) {
181
+ draft.uiState.searchString = action.payload.searchString;
182
+ }
183
+ if (action.payload.scrollPosition != null) {
184
+ draft.uiState.scrollPosition = action.payload.scrollPosition;
185
+ }
186
+ },
151
187
  clearExpenseAutomationFluxAnalysisView(draft) {
152
188
  Object.assign(draft, exports.initialState);
153
189
  },
@@ -201,5 +237,5 @@ const toReviewStatusById = (operatingExpenses) => {
201
237
  return reviewStatusById;
202
238
  };
203
239
  exports.toReviewStatusById = toReviewStatusById;
204
- _a = expenseAutomationFluxAnalysisView.actions, exports.fetchFluxAnalysisView = _a.fetchFluxAnalysisView, exports.fetchFluxAnalysisViewSuccess = _a.fetchFluxAnalysisViewSuccess, exports.fetchFluxAnalysisViewFailure = _a.fetchFluxAnalysisViewFailure, exports.clearExpenseAutomationFluxAnalysisView = _a.clearExpenseAutomationFluxAnalysisView, exports.updateOperatingExpensesIdsForReview = _a.updateOperatingExpensesIdsForReview, exports.markFullFluxAnalysisViewForReview = _a.markFullFluxAnalysisViewForReview, exports.reviewFluxAnalysisView = _a.reviewFluxAnalysisView, exports.reviewFluxAnalysisViewSuccess = _a.reviewFluxAnalysisViewSuccess, exports.reviewFluxAnalysisViewFailure = _a.reviewFluxAnalysisViewFailure;
240
+ _a = expenseAutomationFluxAnalysisView.actions, exports.fetchFluxAnalysisView = _a.fetchFluxAnalysisView, exports.fetchFluxAnalysisViewSuccess = _a.fetchFluxAnalysisViewSuccess, exports.fetchFluxAnalysisViewFailure = _a.fetchFluxAnalysisViewFailure, exports.clearExpenseAutomationFluxAnalysisView = _a.clearExpenseAutomationFluxAnalysisView, exports.updateOperatingExpensesIdsForReview = _a.updateOperatingExpensesIdsForReview, exports.reviewFluxAnalysisView = _a.reviewFluxAnalysisView, exports.reviewFluxAnalysisViewSuccess = _a.reviewFluxAnalysisViewSuccess, exports.reviewFluxAnalysisViewFailure = _a.reviewFluxAnalysisViewFailure, exports.updateFluxAnalysisViewUIState = _a.updateFluxAnalysisViewUIState, exports.updateFluxAnalysisViewPageMetaData = _a.updateFluxAnalysisViewPageMetaData;
205
241
  exports.default = expenseAutomationFluxAnalysisView.reducer;
@@ -1,5 +1,5 @@
1
1
  import { Currency } from '../../../commonStateTypes/amount';
2
- import { FetchStateAndError, ID } from '../../../commonStateTypes/common';
2
+ import { CompletionStatusType, FetchStateAndError, ID } from '../../../commonStateTypes/common';
3
3
  import { AccountBase } from '../../../entity/account/accountState';
4
4
  import { ClassBase } from '../../../entity/class/classState';
5
5
  import { User } from '../../../entity/user/userState';
@@ -28,5 +28,5 @@ export interface ExpenseAutomationFluxAnalysisViewSelector {
28
28
  bulkReviewStatus: FetchStateAndError;
29
29
  uiState: FluxAnalysisViewUIState;
30
30
  lastRefreshSuccessTime?: ZeniDate;
31
- isAllSelected: boolean;
31
+ completionStatus: CompletionStatusType;
32
32
  }
@@ -1,18 +1,37 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getExpenseAutomationFluxAnalysisView = void 0;
7
+ const orderBy_1 = __importDefault(require("lodash/orderBy"));
4
8
  const accountSelector_1 = require("../../../entity/account/accountSelector");
5
9
  const classSelector_1 = require("../../../entity/class/classSelector");
6
10
  const userSelector_1 = require("../../../entity/user/userSelector");
7
11
  const vendorSelector_1 = require("../../../entity/vendor/vendorSelector");
12
+ const tenantSelector_1 = require("../../../entity/tenant/tenantSelector");
13
+ const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
8
14
  function getExpenseAutomationFluxAnalysisView(state) {
9
15
  const { expenseAutomationFluxAnalysisViewState } = state;
10
- const { fetchState, error, refreshStatus, uiState, isAllRowsSelected, reviewOperatingExpensesIds, reviewStatusById, operatingExpenseById, bulkReviewStatus, } = expenseAutomationFluxAnalysisViewState;
16
+ const { fetchState, error, refreshStatus, uiState, reviewOperatingExpensesIds, reviewStatusById, fluxAnalysisEntities, operatingExpenseIdsBySelectedPeriod, bulkReviewStatus, } = expenseAutomationFluxAnalysisViewState;
11
17
  const fetchStateAndError = {
12
18
  fetchState,
13
19
  error,
14
20
  };
15
- const operatingExpenses = Object.values(operatingExpenseById);
21
+ const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
22
+ const { selectedPeriodByTenantId } = state.expenseAutomationViewState;
23
+ const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
24
+ const monthYearPeriodId = selectedPeriod != null ? (0, timePeriod_1.toMonthYearPeriodId)(selectedPeriod) : null;
25
+ const operatingExpenseIdsForCurrentPeriod = monthYearPeriodId != null
26
+ ? operatingExpenseIdsBySelectedPeriod[monthYearPeriodId]
27
+ : null;
28
+ const operatingExpenses = [];
29
+ operatingExpenseIdsForCurrentPeriod === null || operatingExpenseIdsForCurrentPeriod === void 0 ? void 0 : operatingExpenseIdsForCurrentPeriod.forEach((opExId) => {
30
+ const fluxEntity = fluxAnalysisEntities.operatingExpenses.find((fluxEntity) => fluxEntity.operatingExpenseId === opExId);
31
+ if (fluxEntity != null) {
32
+ operatingExpenses.push(fluxEntity);
33
+ }
34
+ });
16
35
  const operatingExpensesView = [];
17
36
  operatingExpenses.forEach((operatingExpense) => {
18
37
  const vendor = (0, vendorSelector_1.getVendorByVendorId)(state.vendorState, operatingExpense.vendorId);
@@ -42,14 +61,29 @@ function getExpenseAutomationFluxAnalysisView(state) {
42
61
  });
43
62
  }
44
63
  });
64
+ const sortedOperatingExpenses = (0, orderBy_1.default)(operatingExpensesView, (opEx) => {
65
+ var _a, _b;
66
+ switch (uiState.sortKey) {
67
+ case 'category':
68
+ return (_a = opEx.accountBase) === null || _a === void 0 ? void 0 : _a.accountName.toLowerCase();
69
+ case 'class':
70
+ return (_b = opEx.classBase) === null || _b === void 0 ? void 0 : _b.className.toLowerCase();
71
+ case 'vendor':
72
+ default:
73
+ return opEx.vendor.name;
74
+ }
75
+ }, uiState.sortOrder === 'ascending' ? 'asc' : 'desc');
45
76
  return {
46
77
  fetchStatus: fetchStateAndError,
47
- operatingExpensesView,
48
- isAllSelected: isAllRowsSelected,
78
+ operatingExpensesView: sortedOperatingExpenses,
49
79
  bulkReviewStatus,
50
80
  reviewOperatingExpensesIds,
51
81
  uiState,
52
82
  refreshStatus,
83
+ completionStatus: operatingExpensesView.length === 0 &&
84
+ fetchStateAndError.fetchState === 'Completed'
85
+ ? 'complete'
86
+ : 'incomplete',
53
87
  };
54
88
  }
55
89
  exports.getExpenseAutomationFluxAnalysisView = getExpenseAutomationFluxAnalysisView;
@@ -2,10 +2,11 @@ import { Currency } from '../../../commonStateTypes/amount';
2
2
  import { COABalance } from '../../../commonStateTypes/coaBalance/coaBalance';
3
3
  import { FetchedState, FetchStateAndError, ID } from '../../../commonStateTypes/common';
4
4
  import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes';
5
+ import { MonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
5
6
  import { PageToken } from '../../../commonStateTypes/viewAndReport/viewAndReport';
6
- declare const toFluxAnalysisSortKey: (v: string) => "category" | "class" | "vendors";
7
+ declare const toFluxAnalysisSortKey: (v: string) => "vendor" | "category" | "class";
7
8
  export declare type FluxAnalysisSortKey = ReturnType<typeof toFluxAnalysisSortKey>;
8
- export declare type FluxAnalysisActionType = 'review' | 'unReview';
9
+ export declare type FluxAnalysisActionType = 'review' | 'unreview';
9
10
  export declare type FluxAnalysisReviewStatus = 'Pending Review' | 'Reviewed';
10
11
  export interface FluxBalancesByMonth {
11
12
  month1: COABalance;
@@ -36,18 +37,18 @@ export interface FluxAnalysisViewUIState {
36
37
  scrollLeft?: number;
37
38
  } | undefined;
38
39
  pageToken: PageToken;
40
+ hasMore: boolean;
39
41
  limit?: number;
40
42
  totalCount: number;
41
43
  }
42
44
  export interface FluxAnalysisViewState extends FetchedState {
43
45
  fluxAnalysisReportGenerated: boolean;
44
46
  fluxAnalysisEntities: FluxAnalysisEntities;
45
- operatingExpenseById: Record<ID, FluxAnalysisOperatingExpense>;
47
+ operatingExpenseIdsBySelectedPeriod: Record<MonthYearPeriodId, ID[]>;
46
48
  reviewStatusById: Record<ID, FetchStateAndError>;
47
49
  bulkReviewStatus: FetchStateAndError;
48
50
  refreshStatus: FetchStateAndError;
49
51
  uiState: FluxAnalysisViewUIState;
50
52
  reviewOperatingExpensesIds: ID[];
51
- isAllRowsSelected: boolean;
52
53
  }
53
54
  export {};
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const stringToUnion_1 = require("../../../commonStateTypes/stringToUnion");
4
- const FLUX_ANALYSIS_SORT_KEYS = ['vendors', 'category', 'class'];
4
+ const FLUX_ANALYSIS_SORT_KEYS = ['vendor', 'category', 'class'];
5
5
  const toFluxAnalysisSortKey = (v) => (0, stringToUnion_1.stringToUnion)(v, FLUX_ANALYSIS_SORT_KEYS);
@@ -26,7 +26,7 @@ export declare const changeZeniPersonRolesEpic: (actions$: ActionsObservable<Act
26
26
  type: string;
27
27
  } | {
28
28
  payload: {
29
- messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment";
29
+ messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed";
30
30
  messageText: "failed" | "success" | "notification";
31
31
  type: import("../..").SnackbarMessageType;
32
32
  showStatusIcon?: boolean | undefined;
@@ -18,7 +18,7 @@ export declare const deletePersonEpic: (actions$: ActionsObservable<ActionType>,
18
18
  type: string;
19
19
  } | {
20
20
  payload: {
21
- messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment";
21
+ messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed";
22
22
  messageText: "failed" | "success" | "notification";
23
23
  type: import("../..").SnackbarMessageType;
24
24
  showStatusIcon?: boolean | undefined;