@zeniai/client-epic-state 4.19.41-betaML4 → 4.19.41

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.
@@ -155,9 +155,6 @@ export declare const fetchTransactionCategorization: import("@reduxjs/toolkit").
155
155
  pendingReviewLineIds: string[];
156
156
  uncategorizedIncomeExpense: UncategorizedAccounts;
157
157
  isUncategorizedExpenseCategoryEnabled: boolean | undefined;
158
- }, "expenseAutomationTransactionsView/syncTransactionCategorizationFromDetailSave", never, never>, backgroundRefetchReviewTab: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, isUncategorizedExpenseCategoryEnabled?: boolean | undefined], {
159
- period: TimePeriod;
160
- isUncategorizedExpenseCategoryEnabled: boolean | undefined;
161
- }, "expenseAutomationTransactionsView/backgroundRefetchReviewTab", never, never>;
158
+ }, "expenseAutomationTransactionsView/syncTransactionCategorizationFromDetailSave", never, never>;
162
159
  declare const _default: import("redux").Reducer<TransactionsViewState>;
163
160
  export default _default;
@@ -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.backgroundRefetchReviewTab = exports.syncTransactionCategorizationFromDetailSave = exports.updateSelectedTransactionId = exports.setEntityRecommendationForLineIdsForCategorization = exports.clearExpenseAutomationTransactionsView = exports.clearExpenseAutomationTransactionsViewPerTabView = exports.updateSelectedCheckboxTransactionIds = exports.fetchTransactionCategorizationView = exports.resetOtherTabsFetchState = exports.fetchTransactionCategorizationSuccess = exports.updateTotalCountForTransactionCategorization = exports.setAllItemsToCategoryClassInLocalDataForCategorization = exports.updateSelectedCustomerForTransaction = exports.updateSelectedVendorForTransaction = exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = exports.markTransactionAsNotMiscategorized = exports.updateTransactionCategorizationSaveStatus = exports.updateCurrentSelectedTransactionCategorizationTab = exports.updateTransactionCategorization = exports.saveTransactionCategorization = exports.fetchTransactionCategorizationFailure = exports.saveTransactionCategorizationLocalData = exports.initializeTransactionCategorizationViewLocalData = exports.updateTransactionCategorizationUIState = exports.fetchTransactionCategorization = exports.initialState = exports.initialTransactionTabViewState = void 0;
7
+ exports.syncTransactionCategorizationFromDetailSave = exports.updateSelectedTransactionId = exports.setEntityRecommendationForLineIdsForCategorization = exports.clearExpenseAutomationTransactionsView = exports.clearExpenseAutomationTransactionsViewPerTabView = exports.updateSelectedCheckboxTransactionIds = exports.fetchTransactionCategorizationView = exports.resetOtherTabsFetchState = exports.fetchTransactionCategorizationSuccess = exports.updateTotalCountForTransactionCategorization = exports.setAllItemsToCategoryClassInLocalDataForCategorization = exports.updateSelectedCustomerForTransaction = exports.updateSelectedVendorForTransaction = exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = exports.markTransactionAsNotMiscategorized = exports.updateTransactionCategorizationSaveStatus = exports.updateCurrentSelectedTransactionCategorizationTab = exports.updateTransactionCategorization = exports.saveTransactionCategorization = exports.fetchTransactionCategorizationFailure = exports.saveTransactionCategorizationLocalData = exports.initializeTransactionCategorizationViewLocalData = exports.updateTransactionCategorizationUIState = exports.fetchTransactionCategorization = exports.initialState = exports.initialTransactionTabViewState = void 0;
8
8
  const toolkit_1 = require("@reduxjs/toolkit");
9
9
  const get_1 = __importDefault(require("lodash/get"));
10
10
  const uniq_1 = __importDefault(require("lodash/uniq"));
@@ -769,23 +769,7 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
769
769
  }
770
770
  },
771
771
  },
772
- backgroundRefetchReviewTab: {
773
- prepare(period, isUncategorizedExpenseCategoryEnabled) {
774
- return {
775
- payload: {
776
- period,
777
- isUncategorizedExpenseCategoryEnabled,
778
- },
779
- };
780
- },
781
- reducer(draft) {
782
- draft.transactionCategorizationView.review.refreshStatus = {
783
- fetchState: 'In-Progress',
784
- error: undefined,
785
- };
786
- },
787
- },
788
772
  },
789
773
  });
790
- _a = expenseAutomationTransactionsView.actions, exports.fetchTransactionCategorization = _a.fetchTransactionCategorization, exports.updateTransactionCategorizationUIState = _a.updateTransactionCategorizationUIState, exports.initializeTransactionCategorizationViewLocalData = _a.initializeTransactionCategorizationViewLocalData, exports.saveTransactionCategorizationLocalData = _a.saveTransactionCategorizationLocalData, exports.fetchTransactionCategorizationFailure = _a.fetchTransactionCategorizationFailure, exports.saveTransactionCategorization = _a.saveTransactionCategorization, exports.updateTransactionCategorization = _a.updateTransactionCategorization, exports.updateCurrentSelectedTransactionCategorizationTab = _a.updateCurrentSelectedTransactionCategorizationTab, exports.updateTransactionCategorizationSaveStatus = _a.updateTransactionCategorizationSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = _a.updateStatusForTransactionNotMiscategorizedUpdateForCategorization, exports.updateSelectedVendorForTransaction = _a.updateSelectedVendorForTransaction, exports.updateSelectedCustomerForTransaction = _a.updateSelectedCustomerForTransaction, exports.setAllItemsToCategoryClassInLocalDataForCategorization = _a.setAllItemsToCategoryClassInLocalDataForCategorization, exports.updateTotalCountForTransactionCategorization = _a.updateTotalCountForTransactionCategorization, exports.fetchTransactionCategorizationSuccess = _a.fetchTransactionCategorizationSuccess, exports.resetOtherTabsFetchState = _a.resetOtherTabsFetchState, exports.fetchTransactionCategorizationView = _a.fetchTransactionCategorizationView, exports.updateSelectedCheckboxTransactionIds = _a.updateSelectedCheckboxTransactionIds, exports.clearExpenseAutomationTransactionsViewPerTabView = _a.clearExpenseAutomationTransactionsViewPerTabView, exports.clearExpenseAutomationTransactionsView = _a.clearExpenseAutomationTransactionsView, exports.setEntityRecommendationForLineIdsForCategorization = _a.setEntityRecommendationForLineIdsForCategorization, exports.updateSelectedTransactionId = _a.updateSelectedTransactionId, exports.syncTransactionCategorizationFromDetailSave = _a.syncTransactionCategorizationFromDetailSave, exports.backgroundRefetchReviewTab = _a.backgroundRefetchReviewTab;
774
+ _a = expenseAutomationTransactionsView.actions, exports.fetchTransactionCategorization = _a.fetchTransactionCategorization, exports.updateTransactionCategorizationUIState = _a.updateTransactionCategorizationUIState, exports.initializeTransactionCategorizationViewLocalData = _a.initializeTransactionCategorizationViewLocalData, exports.saveTransactionCategorizationLocalData = _a.saveTransactionCategorizationLocalData, exports.fetchTransactionCategorizationFailure = _a.fetchTransactionCategorizationFailure, exports.saveTransactionCategorization = _a.saveTransactionCategorization, exports.updateTransactionCategorization = _a.updateTransactionCategorization, exports.updateCurrentSelectedTransactionCategorizationTab = _a.updateCurrentSelectedTransactionCategorizationTab, exports.updateTransactionCategorizationSaveStatus = _a.updateTransactionCategorizationSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = _a.updateStatusForTransactionNotMiscategorizedUpdateForCategorization, exports.updateSelectedVendorForTransaction = _a.updateSelectedVendorForTransaction, exports.updateSelectedCustomerForTransaction = _a.updateSelectedCustomerForTransaction, exports.setAllItemsToCategoryClassInLocalDataForCategorization = _a.setAllItemsToCategoryClassInLocalDataForCategorization, exports.updateTotalCountForTransactionCategorization = _a.updateTotalCountForTransactionCategorization, exports.fetchTransactionCategorizationSuccess = _a.fetchTransactionCategorizationSuccess, exports.resetOtherTabsFetchState = _a.resetOtherTabsFetchState, exports.fetchTransactionCategorizationView = _a.fetchTransactionCategorizationView, exports.updateSelectedCheckboxTransactionIds = _a.updateSelectedCheckboxTransactionIds, exports.clearExpenseAutomationTransactionsViewPerTabView = _a.clearExpenseAutomationTransactionsViewPerTabView, exports.clearExpenseAutomationTransactionsView = _a.clearExpenseAutomationTransactionsView, exports.setEntityRecommendationForLineIdsForCategorization = _a.setEntityRecommendationForLineIdsForCategorization, exports.updateSelectedTransactionId = _a.updateSelectedTransactionId, exports.syncTransactionCategorizationFromDetailSave = _a.syncTransactionCategorizationFromDetailSave;
791
775
  exports.default = expenseAutomationTransactionsView.reducer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.19.41-betaML4",
3
+ "version": "4.19.41",
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,101 +0,0 @@
1
- import { EMPTY, from, of } from 'rxjs';
2
- import { catchError, expand, filter, mergeMap, reduce, switchMap, } from 'rxjs/operators';
3
- import { toString } from '../../../../commonStateTypes/timePeriod';
4
- import { getCurrentTenant } from '../../../../entity/tenant/tenantSelector';
5
- import { updateTransactions } from '../../../../entity/transaction/transactionReducer';
6
- import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
7
- import { getLineItemsByTransactionsIdsFromResponse } from '../../helpers/transactionCategorizationLocalDataHelper';
8
- import { backgroundRefetchReviewTab, fetchTransactionCategorizationFailure, fetchTransactionCategorizationSuccess, initializeTransactionCategorizationViewLocalData, updateTotalCountForTransactionCategorization, updateTransactionCategorizationUIState, } from '../../reducers/transactionsViewReducer';
9
- import { toTransactionsSortKey } from '../../types/transactionsViewState';
10
- const SELECTED_TAB = 'review';
11
- const PAGE_SIZE = 25;
12
- export const backgroundRefetchReviewTabEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(backgroundRefetchReviewTab.match), switchMap((action) => {
13
- const { period, isUncategorizedExpenseCategoryEnabled } = action.payload;
14
- const state = state$.value;
15
- const currentTenant = getCurrentTenant(state);
16
- const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
17
- const reviewUiState = state.expenseAutomationTransactionsViewState
18
- .transactionCategorizationView.review.uiState;
19
- const storedPageToken = reviewUiState.pageToken;
20
- const fetchPage = (pageToken) => {
21
- const queryParam = {
22
- start_date: toString(period.start),
23
- end_date: toString(period.end),
24
- auto_categorized: false,
25
- sort_by: toTransactionsSortKey(reviewUiState.sortKey),
26
- sort_order: reviewUiState.sortOrder === 'ascending' ? 'asc' : 'desc',
27
- page_token: pageToken,
28
- page_size: PAGE_SIZE,
29
- search_text: reviewUiState.searchString,
30
- };
31
- return zeniAPI.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`);
32
- };
33
- return fetchPage(null).pipe(expand((response) => {
34
- if (!isSuccessResponse(response) || response.data == null) {
35
- return EMPTY;
36
- }
37
- const nextToken = response.data.next_page_token ?? null;
38
- if (nextToken == null || nextToken === storedPageToken) {
39
- return EMPTY;
40
- }
41
- return fetchPage(nextToken);
42
- }), reduce((acc, response) => {
43
- if (!isSuccessResponse(response) || response.data == null) {
44
- return { ...acc, failureStatus: response.status };
45
- }
46
- const nextToken = response.data.next_page_token ?? null;
47
- return {
48
- ...acc,
49
- allTransactions: [
50
- ...acc.allTransactions,
51
- ...response.data.transactions,
52
- ],
53
- finalPageToken: nextToken,
54
- finalStatus: response.status,
55
- totalCount: response.data.total_count,
56
- };
57
- }, {
58
- allTransactions: [],
59
- failureStatus: null,
60
- finalPageToken: null,
61
- finalStatus: null,
62
- totalCount: 0,
63
- }), mergeMap((accumulated) => {
64
- if (accumulated.failureStatus != null ||
65
- accumulated.finalStatus == null) {
66
- return of(fetchTransactionCategorizationFailure({
67
- selectedPeriod,
68
- selectedTab: SELECTED_TAB,
69
- status: accumulated.failureStatus ??
70
- createZeniAPIStatus('Unexpected Error', 'background refetch review tab received error response'),
71
- }));
72
- }
73
- const transactionIds = accumulated.allTransactions.map((t) => t.transaction_id);
74
- const lineItemsByTransactionIds = getLineItemsByTransactionsIdsFromResponse(accumulated.allTransactions);
75
- return from([
76
- updateTransactions(accumulated.allTransactions, (value) => value.transaction_id, 'merge'),
77
- updateTransactionCategorizationUIState({
78
- selectedTab: SELECTED_TAB,
79
- uiState: {
80
- pageToken: accumulated.finalPageToken,
81
- },
82
- }),
83
- initializeTransactionCategorizationViewLocalData(SELECTED_TAB, transactionIds, selectedPeriod, false, accumulated.finalPageToken, accumulated.totalCount, lineItemsByTransactionIds, true, isUncategorizedExpenseCategoryEnabled),
84
- updateTotalCountForTransactionCategorization({
85
- selectedPeriod,
86
- selectedTab: SELECTED_TAB,
87
- totalCount: accumulated.totalCount,
88
- }),
89
- fetchTransactionCategorizationSuccess({
90
- refreshViewInBackground: true,
91
- selectedTab: SELECTED_TAB,
92
- status: accumulated.finalStatus,
93
- }),
94
- ]);
95
- }), catchError((error) => of(fetchTransactionCategorizationFailure({
96
- selectedPeriod,
97
- selectedTab: SELECTED_TAB,
98
- status: createZeniAPIStatus('Unexpected Error', 'background refetch review tab REST API call errored out' +
99
- JSON.stringify(error)),
100
- }))));
101
- }));
@@ -1,28 +0,0 @@
1
- import { EMPTY, of } from 'rxjs';
2
- import { filter, mergeMap } from 'rxjs/operators';
3
- import { convertToPeriod, toAbsoluteDay, } from '../../../../commonStateTypes/timePeriod';
4
- import { getCurrentTenant } from '../../../../entity/tenant/tenantSelector';
5
- import { backgroundRefetchReviewTab, syncTransactionCategorizationFromDetailSave, } from '../../reducers/transactionsViewReducer';
6
- export const triggerReviewTabRefetchEpic = (actions$, state$) => actions$.pipe(filter(syncTransactionCategorizationFromDetailSave.match), mergeMap((action) => {
7
- const { pendingReviewLineIds, transactionId, isUncategorizedExpenseCategoryEnabled } = action.payload;
8
- if (pendingReviewLineIds.length === 0) {
9
- return EMPTY;
10
- }
11
- const state = state$.value;
12
- // Only trigger when the transaction was auto-only (not in review tab after reducer ran)
13
- const reviewLocalData = state.expenseAutomationTransactionsViewState
14
- .transactionCategorizationView.review
15
- .transactionReviewLocalDataById[transactionId.id];
16
- if (reviewLocalData != null) {
17
- return EMPTY;
18
- }
19
- const currentTenant = getCurrentTenant(state);
20
- const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
21
- const period = convertToPeriod(selectedPeriod);
22
- const timePeriodStart = toAbsoluteDay(period.start);
23
- const timePeriodEnd = toAbsoluteDay(period.end);
24
- if (timePeriodStart == null || timePeriodEnd == null) {
25
- return EMPTY;
26
- }
27
- return of(backgroundRefetchReviewTab({ start: timePeriodStart, end: timePeriodEnd }, isUncategorizedExpenseCategoryEnabled));
28
- }));
@@ -1,8 +0,0 @@
1
- import { ActionsObservable, StateObservable } from 'redux-observable';
2
- import { Observable } from 'rxjs';
3
- import { updateTransactions } from '../../../../entity/transaction/transactionReducer';
4
- import { RootState } from '../../../../reducer';
5
- import { ZeniAPI } from '../../../../zeniAPI';
6
- import { backgroundRefetchReviewTab, fetchTransactionCategorizationFailure, fetchTransactionCategorizationSuccess, initializeTransactionCategorizationViewLocalData, updateTotalCountForTransactionCategorization, updateTransactionCategorizationUIState } from '../../reducers/transactionsViewReducer';
7
- export type ActionType = ReturnType<typeof backgroundRefetchReviewTab> | ReturnType<typeof updateTransactions> | ReturnType<typeof initializeTransactionCategorizationViewLocalData> | ReturnType<typeof fetchTransactionCategorizationFailure> | ReturnType<typeof fetchTransactionCategorizationSuccess> | ReturnType<typeof updateTotalCountForTransactionCategorization> | ReturnType<typeof updateTransactionCategorizationUIState>;
8
- export declare const backgroundRefetchReviewTabEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.backgroundRefetchReviewTabEpic = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const timePeriod_1 = require("../../../../commonStateTypes/timePeriod");
7
- const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
8
- const transactionReducer_1 = require("../../../../entity/transaction/transactionReducer");
9
- const responsePayload_1 = require("../../../../responsePayload");
10
- const transactionCategorizationLocalDataHelper_1 = require("../../helpers/transactionCategorizationLocalDataHelper");
11
- const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
12
- const transactionsViewState_1 = require("../../types/transactionsViewState");
13
- const SELECTED_TAB = 'review';
14
- const PAGE_SIZE = 25;
15
- const backgroundRefetchReviewTabEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(transactionsViewReducer_1.backgroundRefetchReviewTab.match), (0, operators_1.switchMap)((action) => {
16
- const { period, isUncategorizedExpenseCategoryEnabled } = action.payload;
17
- const state = state$.value;
18
- const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
19
- const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
20
- const reviewUiState = state.expenseAutomationTransactionsViewState
21
- .transactionCategorizationView.review.uiState;
22
- const storedPageToken = reviewUiState.pageToken;
23
- const fetchPage = (pageToken) => {
24
- const queryParam = {
25
- start_date: (0, timePeriod_1.toString)(period.start),
26
- end_date: (0, timePeriod_1.toString)(period.end),
27
- auto_categorized: false,
28
- sort_by: (0, transactionsViewState_1.toTransactionsSortKey)(reviewUiState.sortKey),
29
- sort_order: reviewUiState.sortOrder === 'ascending' ? 'asc' : 'desc',
30
- page_token: pageToken,
31
- page_size: PAGE_SIZE,
32
- search_text: reviewUiState.searchString,
33
- };
34
- return zeniAPI.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`);
35
- };
36
- return fetchPage(null).pipe((0, operators_1.expand)((response) => {
37
- if (!(0, responsePayload_1.isSuccessResponse)(response) || response.data == null) {
38
- return rxjs_1.EMPTY;
39
- }
40
- const nextToken = response.data.next_page_token ?? null;
41
- if (nextToken == null || nextToken === storedPageToken) {
42
- return rxjs_1.EMPTY;
43
- }
44
- return fetchPage(nextToken);
45
- }), (0, operators_1.reduce)((acc, response) => {
46
- if (!(0, responsePayload_1.isSuccessResponse)(response) || response.data == null) {
47
- return { ...acc, failureStatus: response.status };
48
- }
49
- const nextToken = response.data.next_page_token ?? null;
50
- return {
51
- ...acc,
52
- allTransactions: [
53
- ...acc.allTransactions,
54
- ...response.data.transactions,
55
- ],
56
- finalPageToken: nextToken,
57
- finalStatus: response.status,
58
- totalCount: response.data.total_count,
59
- };
60
- }, {
61
- allTransactions: [],
62
- failureStatus: null,
63
- finalPageToken: null,
64
- finalStatus: null,
65
- totalCount: 0,
66
- }), (0, operators_1.mergeMap)((accumulated) => {
67
- if (accumulated.failureStatus != null ||
68
- accumulated.finalStatus == null) {
69
- return (0, rxjs_1.of)((0, transactionsViewReducer_1.fetchTransactionCategorizationFailure)({
70
- selectedPeriod,
71
- selectedTab: SELECTED_TAB,
72
- status: accumulated.failureStatus ??
73
- (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'background refetch review tab received error response'),
74
- }));
75
- }
76
- const transactionIds = accumulated.allTransactions.map((t) => t.transaction_id);
77
- const lineItemsByTransactionIds = (0, transactionCategorizationLocalDataHelper_1.getLineItemsByTransactionsIdsFromResponse)(accumulated.allTransactions);
78
- return (0, rxjs_1.from)([
79
- (0, transactionReducer_1.updateTransactions)(accumulated.allTransactions, (value) => value.transaction_id, 'merge'),
80
- (0, transactionsViewReducer_1.updateTransactionCategorizationUIState)({
81
- selectedTab: SELECTED_TAB,
82
- uiState: {
83
- pageToken: accumulated.finalPageToken,
84
- },
85
- }),
86
- (0, transactionsViewReducer_1.initializeTransactionCategorizationViewLocalData)(SELECTED_TAB, transactionIds, selectedPeriod, false, accumulated.finalPageToken, accumulated.totalCount, lineItemsByTransactionIds, true, isUncategorizedExpenseCategoryEnabled),
87
- (0, transactionsViewReducer_1.updateTotalCountForTransactionCategorization)({
88
- selectedPeriod,
89
- selectedTab: SELECTED_TAB,
90
- totalCount: accumulated.totalCount,
91
- }),
92
- (0, transactionsViewReducer_1.fetchTransactionCategorizationSuccess)({
93
- refreshViewInBackground: true,
94
- selectedTab: SELECTED_TAB,
95
- status: accumulated.finalStatus,
96
- }),
97
- ]);
98
- }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, transactionsViewReducer_1.fetchTransactionCategorizationFailure)({
99
- selectedPeriod,
100
- selectedTab: SELECTED_TAB,
101
- status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'background refetch review tab REST API call errored out' +
102
- JSON.stringify(error)),
103
- }))));
104
- }));
105
- exports.backgroundRefetchReviewTabEpic = backgroundRefetchReviewTabEpic;
@@ -1,6 +0,0 @@
1
- import { ActionsObservable, StateObservable } from 'redux-observable';
2
- import { Observable } from 'rxjs';
3
- import { RootState } from '../../../../reducer';
4
- import { backgroundRefetchReviewTab, syncTransactionCategorizationFromDetailSave } from '../../reducers/transactionsViewReducer';
5
- export type ActionType = ReturnType<typeof syncTransactionCategorizationFromDetailSave> | ReturnType<typeof backgroundRefetchReviewTab>;
6
- export declare const triggerReviewTabRefetchEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.triggerReviewTabRefetchEpic = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const timePeriod_1 = require("../../../../commonStateTypes/timePeriod");
7
- const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
8
- const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
9
- const triggerReviewTabRefetchEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(transactionsViewReducer_1.syncTransactionCategorizationFromDetailSave.match), (0, operators_1.mergeMap)((action) => {
10
- const { pendingReviewLineIds, transactionId, isUncategorizedExpenseCategoryEnabled } = action.payload;
11
- if (pendingReviewLineIds.length === 0) {
12
- return rxjs_1.EMPTY;
13
- }
14
- const state = state$.value;
15
- // Only trigger when the transaction was auto-only (not in review tab after reducer ran)
16
- const reviewLocalData = state.expenseAutomationTransactionsViewState
17
- .transactionCategorizationView.review
18
- .transactionReviewLocalDataById[transactionId.id];
19
- if (reviewLocalData != null) {
20
- return rxjs_1.EMPTY;
21
- }
22
- const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
23
- const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
24
- const period = (0, timePeriod_1.convertToPeriod)(selectedPeriod);
25
- const timePeriodStart = (0, timePeriod_1.toAbsoluteDay)(period.start);
26
- const timePeriodEnd = (0, timePeriod_1.toAbsoluteDay)(period.end);
27
- if (timePeriodStart == null || timePeriodEnd == null) {
28
- return rxjs_1.EMPTY;
29
- }
30
- return (0, rxjs_1.of)((0, transactionsViewReducer_1.backgroundRefetchReviewTab)({ start: timePeriodStart, end: timePeriodEnd }, isUncategorizedExpenseCategoryEnabled));
31
- }));
32
- exports.triggerReviewTabRefetchEpic = triggerReviewTabRefetchEpic;