@zeniai/client-epic-state 5.0.85-betaJK7 → 5.0.86-beta26RJ
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.
- package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +1 -0
- package/lib/entity/jeSchedules/jeSchedulesPayload.js +7 -0
- package/lib/entity/jeSchedules/jeSchedulesState.d.ts +2 -0
- package/lib/entity/task/taskPayload.d.ts +1 -3
- package/lib/entity/task/taskPayload.js +0 -2
- package/lib/entity/task/taskState.d.ts +0 -2
- package/lib/epic.d.ts +1 -2
- package/lib/epic.js +1 -2
- package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +7 -0
- package/lib/esm/entity/task/taskPayload.js +0 -2
- package/lib/esm/epic.js +1 -2
- package/lib/esm/index.js +3 -3
- package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +11 -26
- package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +2 -12
- package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +28 -37
- package/lib/esm/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
- package/lib/esm/view/createTransferEntry/epics/createTransferEntryEpic.js +7 -1
- package/lib/index.d.ts +5 -6
- package/lib/index.js +25 -26
- package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +15 -13
- package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +4 -5
- package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +12 -27
- package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +0 -2
- package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +1 -11
- package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +3 -3
- package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +3 -1
- package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +28 -37
- package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
- package/lib/view/companyView/types/cockpitTypes.d.ts +1 -2
- package/lib/view/createTransferEntry/epics/createTransferEntryEpic.js +7 -1
- package/package.json +1 -1
- package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewUIStateEpic.js +0 -16
- package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewUIStateEpic.d.ts +0 -6
- package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewUIStateEpic.js +0 -20
package/lib/esm/index.js
CHANGED
|
@@ -144,7 +144,7 @@ import { clearCompanyHealthMetricView, fetchCompanyHealthMetricView, initializeC
|
|
|
144
144
|
import { companyHealthMetricDropDownOptions, getCompanyHealthMetricView, hasCompanyHealthMetricFormFieldChanged, isCompanyRunwayInfinite, } from './view/companyHealthMetricView/companyHealthMetricViewSelector';
|
|
145
145
|
import { fetchCompanyMonthEndReportHistoricData, fetchCompanyMonthEndReportHistoricDates, fetchCompanyMonthEndReportTemplates, fetchCompanyMonthEndReportView, fetchImproveUsingZeniGPT, resetCompanyMonthEndReportFetchStatus, resetSendCompanyMonthEndReportFetchStatus, saveCompanyMonthEndReport, sendCompanyMonthEndReport, } from './view/companyMonthEndReportView/companyMonthEndReportViewReducer';
|
|
146
146
|
import { getCompanyMonthEndReportHistoricData, getCompanyMonthEndReportSelectorView, } from './view/companyMonthEndReportView/companyMonthEndReportViewSelector';
|
|
147
|
-
import { fetchCompanyTaskManagerView, fetchTaskManagerMetrics,
|
|
147
|
+
import { fetchCompanyTaskManagerView, fetchTaskManagerMetrics, } from './view/companyTaskManagerView/companyTaskManagerViewReducer';
|
|
148
148
|
import { getCompanyTaskManagerView, } from './view/companyTaskManagerView/companyTaskManagerViewSelector';
|
|
149
149
|
import { clearCompanyView, companyManagementSaveUpdates, companyPassportClearDataInLocalStore, companyPassportSaveDataInLocalStore, deleteCompanyOfficerInLocalStore, fetchAllCockpitViews, fetchCompanyManagementView, fetchCompanyPassportView, fetchCompanyPortfolioView, fetchManagementView, fetchOnboardingView, fetchParentSubsidiaryManagementView, fetchPortfolioView, fetchSubscriptionView, fetchZeniUsers, saveCompanyPassportDetails, dismissCapitalizationOnboarding, saveIndustryAndIncDateInCompanyPassportLocalStore, updateAccountingClassesEnabled, updateCapitalizationThreshold, updateCompanyDownloadState, updateCompanyManagementUIState, updateCompanyPassportLocalStoreData, updateCompanyPortfolioUIState, } from './view/companyView/companyViewReducer';
|
|
150
150
|
import { canSendMonthEndEmailReport, shouldEnableCalendarPickerForLastReportSent, } from './view/companyView/helpers/cockpitHelpers';
|
|
@@ -174,7 +174,6 @@ import { backgroundRefetchReviewTab, clearExpenseAutomationTransactionsView, fet
|
|
|
174
174
|
import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationView/selectors/fluxAnalysisViewSelector';
|
|
175
175
|
import { getExpenseAutomationReconciliationView, isAccountReconReport, } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
|
|
176
176
|
import { getExpenseAutomationTransactionView, getLastTransferEntryReplacement, } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
|
|
177
|
-
import { TRANSACTION_FILTER_CATEGORIES, applyTransactionFilters, } from './view/expenseAutomationView/transactionFilterHelpers';
|
|
178
177
|
import { DEFAULT_COMPLETED_SUB_TAB, toCompletedSubTab, } from './view/expenseAutomationView/types/completedSubTab';
|
|
179
178
|
import { toJEScheduleMainTab as toExpenseAutomationJEScheduleMainTab, toJEScheduleSortKey as toExpenseAutomationJEScheduleSortKey, } from './view/expenseAutomationView/types/jeSchedulesViewState';
|
|
180
179
|
import { BATCH_FILE_STATUSES, isUnmatchedTabFileStatus, toBatchFileStatus, toBatchStatusValue, toBulkUploadPhase, toBulkUploadResultsTab, toBulkUploadSortKey, toMatchSource, toMissingReceiptsTab, } from './view/expenseAutomationView/types/missingReceiptsViewState';
|
|
@@ -339,6 +338,7 @@ import { getRemiBusinessVerificationDetails, getRemiSetupViewDetails, } from './
|
|
|
339
338
|
import { approveOrRejectRemisBulkAction, autoReviewPendingApprovalRemis, cancelOrDeleteRemisBulkAction, clearAllRemisFromBulkActionList, clearRemiBulkActionView, incrementRemiBulkActionProcessedCount, removeRemiFromBulkActionList, reviewDraftRemisBulkAction, submitDraftRemisBulkAction, updateRemisBulkActionList, } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewReducer';
|
|
340
339
|
import { getRemisBulkOperationProgress, getRemisBulkReviewView, } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewSelector';
|
|
341
340
|
import { hideCreatedByFilter, } from './view/spendManagement/spendManagementFilterHelpers';
|
|
341
|
+
import { TRANSACTION_FILTER_CATEGORIES, applyTransactionFilters, } from './view/expenseAutomationView/transactionFilterHelpers';
|
|
342
342
|
import { acceptTreasuryTerms, clearTreasurySetupView, fetchPortfolioAllocation, fetchTreasuryFunds, fetchTreasurySetupView, updateFundAllocationLocalData, updatePortfolioAllocation, updateTreasuryVideoViewed, } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer';
|
|
343
343
|
import { getTreasuryBusinessVerificationDetails, getTreasurySetupViewDetails, } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewSelector';
|
|
344
344
|
import { getTreasuryFundsMaximumYield, } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewState';
|
|
@@ -536,7 +536,7 @@ export { getCompanyPortfolioView, isInfiniteRunway };
|
|
|
536
536
|
export { getAllCockpitTabsFilterView };
|
|
537
537
|
export { fetchImproveUsingZeniGPT, fetchCompanyMonthEndReportView, sendCompanyMonthEndReport, saveCompanyMonthEndReport, resetCompanyMonthEndReportFetchStatus, resetSendCompanyMonthEndReportFetchStatus, getCompanyMonthEndReportSelectorView, fetchCompanyMonthEndReportHistoricDates, fetchCompanyMonthEndReportHistoricData, fetchCompanyMonthEndReportTemplates, getCompanyMonthEndReportHistoricData, };
|
|
538
538
|
export { newAddressInLocalStore, getAddress, getNewAddress, getAllNewAddresses, getFormattedAddress, fetchAddress, clearAddressView, createAddress, removeNewAddressDataInLocalStore, };
|
|
539
|
-
export { toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toHealthSortKeyType, toTaskManagerSortKeyType,
|
|
539
|
+
export { toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toHealthSortKeyType, toTaskManagerSortKeyType, };
|
|
540
540
|
export { ALL_COCKPIT_TABS_FILE_TYPES, ALL_COCKPIT_TABS_IDS, toCockpitTabsIDStrict, toCockpitTabsFileTypeStrict, };
|
|
541
541
|
export { isAllowedValueWithCode, isAllowedValueWithID, };
|
|
542
542
|
export { fetchCompanyPassportView, getCompanyPassportView, getCompanyPassportLocalStoreData, isCompanyPassportDataToBeSaved, companyPassportSaveDataInLocalStore, saveIndustryAndIncDateInCompanyPassportLocalStore, deleteCompanyOfficerInLocalStore, companyPassportClearDataInLocalStore, updateCompanyPassportLocalStoreData, saveCompanyPassportDetails, updateAccountingClassesEnabled, updateCapitalizationThreshold, dismissCapitalizationOnboarding, clearCompanyView, };
|
|
@@ -3,8 +3,7 @@ export const initialUIState = {
|
|
|
3
3
|
filterText: '',
|
|
4
4
|
sortKey: 'dueDate',
|
|
5
5
|
sortOrder: 'descending',
|
|
6
|
-
|
|
7
|
-
filters: {},
|
|
6
|
+
pageToken: null,
|
|
8
7
|
};
|
|
9
8
|
const initialMetrics = {
|
|
10
9
|
closed: 0,
|
|
@@ -29,11 +28,10 @@ const companyTaskManagerView = createSlice({
|
|
|
29
28
|
initialState,
|
|
30
29
|
reducers: {
|
|
31
30
|
fetchCompanyTaskManagerView: {
|
|
32
|
-
prepare(
|
|
31
|
+
prepare(pageToken, sortKey, sortOrder, keepExistingListItems = true, searchString) {
|
|
33
32
|
return {
|
|
34
33
|
payload: {
|
|
35
|
-
|
|
36
|
-
filters,
|
|
34
|
+
pageToken,
|
|
37
35
|
searchString,
|
|
38
36
|
sortKey,
|
|
39
37
|
sortOrder,
|
|
@@ -42,10 +40,10 @@ const companyTaskManagerView = createSlice({
|
|
|
42
40
|
};
|
|
43
41
|
},
|
|
44
42
|
reducer(draft, action) {
|
|
45
|
-
const {
|
|
43
|
+
const { pageToken, searchString, sortKey, sortOrder, keepExistingListItems, } = action.payload;
|
|
46
44
|
draft.uiState.sortKey = sortKey;
|
|
47
45
|
draft.uiState.sortOrder = sortOrder;
|
|
48
|
-
draft.uiState.
|
|
46
|
+
draft.uiState.pageToken = pageToken;
|
|
49
47
|
if (keepExistingListItems === false) {
|
|
50
48
|
draft.taskIds = [];
|
|
51
49
|
}
|
|
@@ -58,14 +56,15 @@ const companyTaskManagerView = createSlice({
|
|
|
58
56
|
},
|
|
59
57
|
updateCompanyTaskManagerViewOnSuccess(draft, action) {
|
|
60
58
|
const { data } = action.payload;
|
|
61
|
-
const tasks = data
|
|
59
|
+
const { tasks, query, total_count } = data;
|
|
62
60
|
draft.fetchState = 'Completed';
|
|
63
61
|
draft.error = undefined;
|
|
64
62
|
draft.taskIds = [...draft.taskIds, ...tasks.map((task) => task.task_id)];
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
// consider total count only when fetching for first time
|
|
64
|
+
if (draft.uiState.filterText === '' && draft.uiState.pageToken == null) {
|
|
65
|
+
draft.totalTaskCount = total_count;
|
|
67
66
|
}
|
|
68
|
-
draft.uiState.
|
|
67
|
+
draft.uiState.pageToken = query.page_token;
|
|
69
68
|
},
|
|
70
69
|
updateCompanyTaskManagerViewOnFailure: {
|
|
71
70
|
reducer(draft, action) {
|
|
@@ -86,24 +85,10 @@ const companyTaskManagerView = createSlice({
|
|
|
86
85
|
updateTaskManagerMetricsOnFailure(draft) {
|
|
87
86
|
draft.metricsFetchState = 'Error';
|
|
88
87
|
},
|
|
89
|
-
updateCompanyTaskManagerViewUIState(draft, action) {
|
|
90
|
-
if (action.payload.filters != null) {
|
|
91
|
-
draft.uiState.filters = action.payload.filters;
|
|
92
|
-
}
|
|
93
|
-
if (action.payload.filterText != null) {
|
|
94
|
-
draft.uiState.filterText = action.payload.filterText;
|
|
95
|
-
}
|
|
96
|
-
if (action.payload.sortKey != null) {
|
|
97
|
-
draft.uiState.sortKey = action.payload.sortKey;
|
|
98
|
-
}
|
|
99
|
-
if (action.payload.sortOrder != null) {
|
|
100
|
-
draft.uiState.sortOrder = action.payload.sortOrder;
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
88
|
clearCompanyTaskManagerView(draft) {
|
|
104
89
|
Object.assign(draft, initialState);
|
|
105
90
|
},
|
|
106
91
|
},
|
|
107
92
|
});
|
|
108
|
-
export const { fetchCompanyTaskManagerView, updateCompanyTaskManagerViewOnSuccess, updateCompanyTaskManagerViewOnFailure, fetchTaskManagerMetrics, updateTaskManagerMetrics, updateTaskManagerMetricsOnFailure, clearCompanyTaskManagerView,
|
|
93
|
+
export const { fetchCompanyTaskManagerView, updateCompanyTaskManagerViewOnSuccess, updateCompanyTaskManagerViewOnFailure, fetchTaskManagerMetrics, updateTaskManagerMetrics, updateTaskManagerMetricsOnFailure, clearCompanyTaskManagerView, } = companyTaskManagerView.actions;
|
|
109
94
|
export default companyTaskManagerView.reducer;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createSelector } from '@reduxjs/toolkit';
|
|
2
|
-
import { getCompanyByCompanyId
|
|
2
|
+
import { getCompanyByCompanyId } from '../../entity/company/companySelector';
|
|
3
3
|
import { getTagsByIds } from '../../entity/tag/tagSelector';
|
|
4
4
|
import { getTaskById } from '../../entity/task/taskSelector';
|
|
5
5
|
import { getUserByUserId, getUsersByUserIds, } from '../../entity/user/userSelector';
|
|
6
|
-
export const getCompanyTaskManagerView = createSelector((state) => state.companyTaskManagerViewState, (state) => state.companyState, (state) => state.userState, (state) => state.taskState, (state) => state.tagState, (
|
|
6
|
+
export const getCompanyTaskManagerView = createSelector((state) => state.companyTaskManagerViewState, (state) => state.companyState, (state) => state.userState, (state) => state.taskState, (state) => state.tagState, (companyTaskManagerViewState, companyState, userState, taskState, tagState) => {
|
|
7
7
|
const { taskIds, uiState, fetchState, error, totalTaskCount, metrics, metricsFetchState, } = companyTaskManagerViewState;
|
|
8
8
|
const tasksList = [];
|
|
9
9
|
taskIds.forEach((taskId) => {
|
|
@@ -26,16 +26,7 @@ export const getCompanyTaskManagerView = createSelector((state) => state.company
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
|
-
const allCompanyIds = [
|
|
30
|
-
...new Set([
|
|
31
|
-
...companyViewState.managementView.companyIds,
|
|
32
|
-
...companyViewState.portfolioView.companyIds,
|
|
33
|
-
]),
|
|
34
|
-
];
|
|
35
|
-
const companies = getCompanyByCompanyIds(companyState, allCompanyIds).map((c) => c.company);
|
|
36
|
-
const users = Object.values(userState.userByUserId);
|
|
37
29
|
return {
|
|
38
|
-
companies,
|
|
39
30
|
metrics,
|
|
40
31
|
metricsFetchState,
|
|
41
32
|
tasksList,
|
|
@@ -43,6 +34,5 @@ export const getCompanyTaskManagerView = createSelector((state) => state.company
|
|
|
43
34
|
fetchState,
|
|
44
35
|
error,
|
|
45
36
|
totalTaskCount,
|
|
46
|
-
users,
|
|
47
37
|
};
|
|
48
38
|
});
|
|
@@ -1,35 +1,51 @@
|
|
|
1
1
|
import { from } from 'rxjs';
|
|
2
2
|
import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
|
|
3
3
|
import { getSortOrder } from '../../../commonPayloadTypes/sortOrderPayload';
|
|
4
|
+
import { updateCompanies } from '../../../entity/company/companyReducer';
|
|
4
5
|
import { updateTags } from '../../../entity/tag/tagReducer';
|
|
5
6
|
import { updateTasks } from '../../../entity/task/taskReducer';
|
|
7
|
+
import { updateAllUsers } from '../../../entity/user/userReducer';
|
|
6
8
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
7
9
|
import { fetchCompanyTaskManagerView, updateCompanyTaskManagerViewOnFailure, updateCompanyTaskManagerViewOnSuccess, } from '../companyTaskManagerViewReducer';
|
|
8
|
-
const
|
|
10
|
+
const toSortKeyPayload = (sortKey) => {
|
|
11
|
+
switch (sortKey) {
|
|
12
|
+
case 'taskName':
|
|
13
|
+
return 'name';
|
|
14
|
+
case 'dueDate':
|
|
15
|
+
return 'due_date';
|
|
16
|
+
case 'createdBy':
|
|
17
|
+
return 'created_by';
|
|
18
|
+
case 'name':
|
|
19
|
+
return 'company_name';
|
|
20
|
+
default:
|
|
21
|
+
return sortKey;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
9
24
|
export const fetchCompanyTaskManagerViewEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCompanyTaskManagerView.match), switchMap((action) => {
|
|
10
|
-
const {
|
|
25
|
+
const { pageToken, sortKey, sortOrder, searchString } = action.payload;
|
|
11
26
|
const queryValue = {
|
|
12
|
-
|
|
13
|
-
from: fromOffset,
|
|
14
|
-
global_search: searchString ?? '',
|
|
27
|
+
page_token: pageToken,
|
|
15
28
|
sort_by: toSortKeyPayload(sortKey),
|
|
16
29
|
sort_order: getSortOrder(sortOrder),
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
? { filter_by: toFilterByPayload(filters) }
|
|
20
|
-
: {}),
|
|
30
|
+
search_text: searchString ?? '',
|
|
31
|
+
view: 'cockpit_task_manager_view',
|
|
21
32
|
};
|
|
22
33
|
return zeniAPI
|
|
23
|
-
.getJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/cockpit-panels/tasks
|
|
34
|
+
.getJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/cockpit-panels/tasks?query=${encodeURIComponent(JSON.stringify(queryValue))}`)
|
|
24
35
|
.pipe(mergeMap((response) => {
|
|
25
36
|
if (isSuccessResponse(response) && response.data != null) {
|
|
26
|
-
const tasksList = response.data.
|
|
37
|
+
const tasksList = response.data.tasks;
|
|
27
38
|
const actions = [
|
|
28
39
|
updateCompanyTaskManagerViewOnSuccess({
|
|
29
40
|
data: response.data,
|
|
30
41
|
}),
|
|
31
42
|
updateTasks(tasksList),
|
|
32
|
-
|
|
43
|
+
updateCompanies({
|
|
44
|
+
payload: response.data.companies,
|
|
45
|
+
schema: {},
|
|
46
|
+
}),
|
|
47
|
+
updateTags(tasksList.map((task) => task.tags).flat()),
|
|
48
|
+
updateAllUsers({ users: response.data.users }),
|
|
33
49
|
];
|
|
34
50
|
return from(actions);
|
|
35
51
|
}
|
|
@@ -46,28 +62,3 @@ export const fetchCompanyTaskManagerViewEpic = (actions$, _state$, zeniAPI) => a
|
|
|
46
62
|
return from(actions);
|
|
47
63
|
}));
|
|
48
64
|
}));
|
|
49
|
-
const toSortKeyPayload = (sortKey) => {
|
|
50
|
-
switch (sortKey) {
|
|
51
|
-
case 'taskName':
|
|
52
|
-
return 'name';
|
|
53
|
-
case 'dueDate':
|
|
54
|
-
return 'due_date';
|
|
55
|
-
case 'createdBy':
|
|
56
|
-
return 'created_by';
|
|
57
|
-
case 'name':
|
|
58
|
-
return 'company_name';
|
|
59
|
-
default:
|
|
60
|
-
return sortKey;
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const toFilterByPayload = (filters) => {
|
|
64
|
-
if (filters.categories == null) {
|
|
65
|
-
return [];
|
|
66
|
-
}
|
|
67
|
-
return filters.categories.map((category) => ({
|
|
68
|
-
field: category.field ?? '',
|
|
69
|
-
operator: category.matchingOperator === 'equal' ? 'is' : 'is_not',
|
|
70
|
-
values: category.values.map((v) => String(v)),
|
|
71
|
-
join: category.valuesCombinationOperator === 'ALL' ? 'and' : 'or',
|
|
72
|
-
}));
|
|
73
|
-
};
|
|
@@ -21,7 +21,7 @@ export const fetchAllCockpitViewsEpic = (actions$, state$) => actions$.pipe(filt
|
|
|
21
21
|
fetchReviewCompanyView(),
|
|
22
22
|
fetchCompanyHealthMetricView(),
|
|
23
23
|
fetchCompanyMetaData(),
|
|
24
|
-
fetchCompanyTaskManagerView(
|
|
24
|
+
fetchCompanyTaskManagerView(null, 'dueDate', 'descending', false),
|
|
25
25
|
fetchCompanyHealthMetricConfig(),
|
|
26
26
|
]);
|
|
27
27
|
}
|
|
@@ -74,7 +74,7 @@ export const fetchAllCockpitViewsEpic = (actions$, state$) => actions$.pipe(filt
|
|
|
74
74
|
}
|
|
75
75
|
if (state.companyTaskManagerViewState.fetchState !== 'In-Progress' &&
|
|
76
76
|
state.companyTaskManagerViewState.hasValidState() === false) {
|
|
77
|
-
fetchActions.push(fetchCompanyTaskManagerView(
|
|
77
|
+
fetchActions.push(fetchCompanyTaskManagerView(null, 'dueDate', 'descending', false));
|
|
78
78
|
}
|
|
79
79
|
return from(fetchActions);
|
|
80
80
|
}
|
|
@@ -105,12 +105,18 @@ export const createTransferEntryEpic = (actions$, _state$, zeniAPI) => actions$.
|
|
|
105
105
|
id: transactionId,
|
|
106
106
|
type: sourceTransactionType,
|
|
107
107
|
};
|
|
108
|
+
// The server contract for `transaction-type-update` expects
|
|
109
|
+
// `transaction_memo`, but the client-side action payload field is named
|
|
110
|
+
// `memo` (callers in web-components dispatch with `memo`). The names are
|
|
111
|
+
// intentionally kept separate: `memo` is the internal client model and
|
|
112
|
+
// `transaction_memo` is the wire format. Don't unify them without
|
|
113
|
+
// updating the action contract and all dispatchers in lockstep.
|
|
108
114
|
const payload = {
|
|
109
115
|
transaction_type: transactionType,
|
|
110
116
|
transaction_id: transactionId,
|
|
111
117
|
to_account_integration_id: creditAccountIntegrationId,
|
|
112
118
|
from_account_integration_id: debitAccountIntegrationId,
|
|
113
|
-
|
|
119
|
+
transaction_memo: memo ?? '',
|
|
114
120
|
};
|
|
115
121
|
return zeniAPI
|
|
116
122
|
.postAndGetJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/transactions/transaction-type-update`, payload)
|
package/lib/index.d.ts
CHANGED
|
@@ -125,7 +125,6 @@ import { SubscriptionSummary, SchemaKeys as SubscriptionSummarySchemaKeys } from
|
|
|
125
125
|
import { SubscriptionPaymentAccount } from './entity/subscriptionPaymentAccount/subscriptionPaymentAccountState';
|
|
126
126
|
import { Tag, TagState } from './entity/tag/tagState';
|
|
127
127
|
import { ALL_WEEK_DAYS, DayOfWeek, PriorityCodeType, Task, TaskCodeType, TaskPriority, TaskStatus, TaskStatusCodeType, TaskType, toDayOfWeek, toPriorityCodeType, toTaskStatusCodeType } from './entity/task/taskState';
|
|
128
|
-
import { TaskPayload } from './entity/task/taskPayload';
|
|
129
128
|
import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
|
|
130
129
|
import { TaskGroupState } from './entity/taskGroup/taskGroupState';
|
|
131
130
|
import { TaskGroupTemplate } from './entity/taskGroupTemplate/taskGroupTemplateState';
|
|
@@ -241,7 +240,7 @@ import { CompanyDetailWithHealthMetric, CompanyHealthMetricDropDownOption, Compa
|
|
|
241
240
|
import { fetchCompanyMonthEndReportHistoricData, fetchCompanyMonthEndReportHistoricDates, fetchCompanyMonthEndReportTemplates, fetchCompanyMonthEndReportView, fetchImproveUsingZeniGPT, resetCompanyMonthEndReportFetchStatus, resetSendCompanyMonthEndReportFetchStatus, saveCompanyMonthEndReport, sendCompanyMonthEndReport } from './view/companyMonthEndReportView/companyMonthEndReportViewReducer';
|
|
242
241
|
import { CompanyMonthEndReportHistoricDataSelectorView, CompanyMonthEndReportSelectorView, getCompanyMonthEndReportHistoricData, getCompanyMonthEndReportSelectorView } from './view/companyMonthEndReportView/companyMonthEndReportViewSelector';
|
|
243
242
|
import { AuditSummaryData, CompanyMonthEndReportData, CompanyMonthReportTemplates, TemplatesList } from './view/companyMonthEndReportView/companyMonthEndReportViewState';
|
|
244
|
-
import { fetchCompanyTaskManagerView, fetchTaskManagerMetrics
|
|
243
|
+
import { fetchCompanyTaskManagerView, fetchTaskManagerMetrics } from './view/companyTaskManagerView/companyTaskManagerViewReducer';
|
|
245
244
|
import { CompanyTaskManagerSelectorView, TaskWithCompanyDetail, getCompanyTaskManagerView } from './view/companyTaskManagerView/companyTaskManagerViewSelector';
|
|
246
245
|
import { CompanyTaskManagerViewUIState, TaskManagerMetrics } from './view/companyTaskManagerView/companyTaskManagerViewState';
|
|
247
246
|
import { clearCompanyView, companyManagementSaveUpdates, companyPassportClearDataInLocalStore, companyPassportSaveDataInLocalStore, deleteCompanyOfficerInLocalStore, fetchAllCockpitViews, fetchCompanyManagementView, fetchCompanyPassportView, fetchCompanyPortfolioView, fetchManagementView, fetchOnboardingView, fetchParentSubsidiaryManagementView, fetchPortfolioView, fetchSubscriptionView, fetchZeniUsers, saveCompanyPassportDetails, dismissCapitalizationOnboarding, saveIndustryAndIncDateInCompanyPassportLocalStore, updateAccountingClassesEnabled, updateCapitalizationThreshold, updateCompanyDownloadState, updateCompanyManagementUIState, updateCompanyPassportLocalStoreData, updateCompanyPortfolioUIState } from './view/companyView/companyViewReducer';
|
|
@@ -252,7 +251,7 @@ import { CompanyPassportLocalStoreDataView, CompanyPassportView, getCompanyPassp
|
|
|
252
251
|
import { CompanyPortfolioView, getCompanyPortfolioView, isInfiniteRunway } from './view/companyView/selector/companyPortfolioViewSelector';
|
|
253
252
|
import { AllCockpitTabsView, getAllCockpitTabsFilterView } from './view/companyView/selector/getAllCockpitTabsFilterView';
|
|
254
253
|
import { ALL_COCKPIT_TABS_FILE_TYPES, ALL_COCKPIT_TABS_IDS, CockpitDownloadTabsID, CockpitTabsFileType, CockpitTabsID, toCockpitTabsFileTypeStrict, toCockpitTabsIDStrict } from './view/companyView/types/cockpitTabsID';
|
|
255
|
-
import { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthMonitorViewFilterCategoryField, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField,
|
|
254
|
+
import { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthMonitorViewFilterCategoryField, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField, TaskManagerViewSortKey, toHealthSortKeyType, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toTaskManagerSortKeyType } from './view/companyView/types/cockpitTypes';
|
|
256
255
|
import { ManagementUIState } from './view/companyView/types/companyManagementViewState';
|
|
257
256
|
import { CompanyDetailsLocalData, CompanyInfoLocalData, IncInfoLocalData, TaxDetailsLocalData } from './view/companyView/types/companyPassport/companyDetailsLocalData';
|
|
258
257
|
import { CompanyPassportLocalData, toCompanyPassportLocalData } from './view/companyView/types/companyPassport/companyPassportLocalData';
|
|
@@ -289,7 +288,6 @@ import { getExpenseAutomationFluxAnalysisView } from './view/expenseAutomationVi
|
|
|
289
288
|
import { JEScheduledTransactionWithFailedEntries } from './view/expenseAutomationView/selectors/jeSchedulesViewSelector';
|
|
290
289
|
import { getExpenseAutomationReconciliationView, isAccountReconReport } from './view/expenseAutomationView/selectors/reconciliationViewSelector';
|
|
291
290
|
import { getExpenseAutomationTransactionView, getLastTransferEntryReplacement } from './view/expenseAutomationView/selectors/transactionCategorizationSelector';
|
|
292
|
-
import { TRANSACTION_FILTER_CATEGORIES, TransactionFilterAmountMatchingOperator, TransactionFilterCategory, TransactionFilterCategoryDropdownOption, TransactionFilterCategoryField, TransactionFilterEntityType, TransactionFilters, applyTransactionFilters } from './view/expenseAutomationView/transactionFilterHelpers';
|
|
293
291
|
import { CompletedSubTab, DEFAULT_COMPLETED_SUB_TAB, toCompletedSubTab } from './view/expenseAutomationView/types/completedSubTab';
|
|
294
292
|
import { FluxAnalysisActionType, FluxAnalysisReviewStatus, FluxAnalysisSortKey, FluxAnalysisViewUIState, FluxBalancesByMonth } from './view/expenseAutomationView/types/fluxAnalysisViewState';
|
|
295
293
|
import { AccountSettingsLocalData, JEScheduleMainTab as ExpenseAutomationJEScheduleMainTab, JEScheduleSortKey as ExpenseAutomationJEScheduleSortKey, JESchedulesViewUIState as ExpenseAutomationJESchedulesViewUIState, JEScheduleLocalData, toJEScheduleMainTab as toExpenseAutomationJEScheduleMainTab, toJEScheduleSortKey as toExpenseAutomationJEScheduleSortKey } from './view/expenseAutomationView/types/jeSchedulesViewState';
|
|
@@ -511,6 +509,7 @@ import { MileageDenomination, MileageDetailsLocalData, RemiSetupViewLocalData, R
|
|
|
511
509
|
import { approveOrRejectRemisBulkAction, autoReviewPendingApprovalRemis, cancelOrDeleteRemisBulkAction, clearAllRemisFromBulkActionList, clearRemiBulkActionView, incrementRemiBulkActionProcessedCount, removeRemiFromBulkActionList, reviewDraftRemisBulkAction, submitDraftRemisBulkAction, updateRemisBulkActionList } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewReducer';
|
|
512
510
|
import { RemisBulkReviewView, getRemisBulkOperationProgress, getRemisBulkReviewView } from './view/spendManagement/reimbursement/remisBulkActionView/remisBulkActionViewSelector';
|
|
513
511
|
import { BillPayFilterCategoryDropdownOption, CategoryCombinationOperator, FilterCategoryType, MatchingOperatorDropdownOption, ReimbursementFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, SpendManagementFilterEntityType, SpendManagementFiltersType, TaskFilterCategoryDropdownOption, hideCreatedByFilter } from './view/spendManagement/spendManagementFilterHelpers';
|
|
512
|
+
import { TRANSACTION_FILTER_CATEGORIES, TransactionFilterAmountMatchingOperator, TransactionFilterCategory, TransactionFilterCategoryDropdownOption, TransactionFilterCategoryField, TransactionFilterEntityType, TransactionFilters, applyTransactionFilters } from './view/expenseAutomationView/transactionFilterHelpers';
|
|
514
513
|
import { acceptTreasuryTerms, clearTreasurySetupView, fetchPortfolioAllocation, fetchTreasuryFunds, fetchTreasurySetupView, updateFundAllocationLocalData, updatePortfolioAllocation, updateTreasuryVideoViewed } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer';
|
|
515
514
|
import { TreasuryBusinessVerificationDetails, TreasurySetupView, getTreasuryBusinessVerificationDetails, getTreasurySetupViewDetails } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewSelector';
|
|
516
515
|
import { FundAllocationOption, FundComposition, FundData, getTreasuryFundsMaximumYield } from './view/spendManagement/treasury/treasurySetUp/treasurySetupViewState';
|
|
@@ -772,7 +771,7 @@ export { AllCockpitTabsView, getAllCockpitTabsFilterView };
|
|
|
772
771
|
export { AuditSummaryData, fetchImproveUsingZeniGPT, fetchCompanyMonthEndReportView, sendCompanyMonthEndReport, saveCompanyMonthEndReport, resetCompanyMonthEndReportFetchStatus, resetSendCompanyMonthEndReportFetchStatus, getCompanyMonthEndReportSelectorView, CompanyMonthEndReportSelectorView, fetchCompanyMonthEndReportHistoricDates, fetchCompanyMonthEndReportHistoricData, fetchCompanyMonthEndReportTemplates, getCompanyMonthEndReportHistoricData, CompanyMonthEndReportHistoricDataSelectorView, CompanyMonthEndReportData, TemplatesList, CompanyMonthReportTemplates, };
|
|
773
772
|
export { Runway, AccountingSummary };
|
|
774
773
|
export { newAddressInLocalStore, getAddress, getNewAddress, getAllNewAddresses, getFormattedAddress, fetchAddress, clearAddressView, AddressType, NewAddressData, AddressUpdatableInfo, createAddress, removeNewAddressDataInLocalStore, };
|
|
775
|
-
export { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, HealthMonitorViewFilterCategoryField,
|
|
774
|
+
export { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, HealthMonitorViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toHealthSortKeyType, TaskManagerViewSortKey, toTaskManagerSortKeyType, };
|
|
776
775
|
export { CockpitDownloadTabsID, CockpitTabsFileType, CockpitTabsID, ALL_COCKPIT_TABS_FILE_TYPES, ALL_COCKPIT_TABS_IDS, toCockpitTabsIDStrict, toCockpitTabsFileTypeStrict, };
|
|
777
776
|
export { AllowedValueWithCode, AllowedValue, AllowedValueWithID, isAllowedValueWithCode, isAllowedValueWithID, };
|
|
778
777
|
export { ManagementUIState, PortfolioUIState };
|
|
@@ -879,7 +878,7 @@ export { fetchGlobalMerchantRecommendation, createGlobalMerchant, updateCreateGl
|
|
|
879
878
|
export { approveVendorGlobalReview, rejectVendorGlobalReview, fetchVendorGlobalReviewView, updateSelectedGlobalMerchant, updateVendorGlobalReviewViewUIState, getVendorGlobalReviewView, getTenantMerchantByMerchantId, toVendorGlobalReviewColumnSortKeyType, VendorGlobalReview, VendorGlobalReviewViewUIState, VendorGlobalReviewViewColumnSortKey, VendorGlobalReviewViewSelectorView, VendorGlobalReviewViewState, VendorGlobalReviewViewLocalData, updateVendorGlobalReviewViewLocalData, GlobalReviewPageCurrentSelectionByColumn, GlobalRecommendationFetchSource, };
|
|
880
879
|
export { fetchArAging, updateArAgingUIState, fetchArAgingDetail, updateArAgingDetailUIState, ArAgingReport, ArAgingDetail, NestedAgingBalancesByCustomer, getArAgingReport, getArAgingDetailForCustomer, updateArAgingNodeCollapseState, };
|
|
881
880
|
export { toRecurringBillFrequency, toRecurringBillFrequencyStrict, RecurringBillFrequency, RecurringBillDetail, RecurringBillConfig, RecurringBillStatus, RecurringBillPaymentStatus, };
|
|
882
|
-
export { Task,
|
|
881
|
+
export { Task, TaskListSelectorView, TaskWithUserDetails, TaskListViewSortKey, TaskListUIState, TaskDetailSelectorView, EditTaskLocalData, TaskStatusCodeType, PriorityCodeType, getTaskGroupById, TaskStatus, TaskPriority, TaskCodeType, getAllTasks, fetchTaskListPage, getTaskDetail, fetchTaskDetailPage, saveTaskUpdatesToLocalStore, saveTaskDetail, archiveTask, CannedResponse, CannedResponsesViewState, fetchCannedResponses, saveCannedResponse, deleteCannedResponse, getCannedResponsesView, updateTaskListSearchText, updateTaskListUIState, allTaskStatus, allTaskPriority, TaskListFilters, updateTaskFilters, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, TaskListFilterCategoryField, deleteTask, discardTaskUpdatesInLocalStore, TaskFilterCategory, TaskType, TaskGroupWithTasksList, TaskListLocalData, bulkUpdateTaskList, createNewTaskGroup, initiateTaskListLocalData, deleteTaskGroup, updateTaskListLocalData, dragNDropTasks, updateTaskGroupName, TaskGroupState, TaskGroupKey, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict, getTaskUpdates, fetchAllTaskGroups, initialTaskDetail, getDueDateValueFromDueDateGroupId, toPriorityCodeType, toTaskStatusCodeType, DueDateGroupKey, toDueDateGroupKeyType, updateTaskFromListView, updateTaskListTab, removeTaskFromList, snoozeTask, unsnoozeTask, convertHHMMStrToMinutes, initialTaskDetailLocalData, TaskListTab, ALL_TASK_LIST_TABS, };
|
|
883
882
|
export { Tag, TagState, TagViewState, getAllTags, TagViewSelectorView, fetchTagList, createTag, deleteTag, };
|
|
884
883
|
export { CardPayment, CardPaymentViewState, SetupIntentData, CardPaymentSelectorView, getAllCardsAndBankPaymentMethods, createCardSetupIntent, confirmCardSetupIntent, addCardPaymentSource, fetchPaymentSources, resetCardPaymentErrorStatuses, clearCardPaymentView, AddCardPaymentSourceType, };
|
|
885
884
|
export { getAuditReportGroupViewSelectorView, getAuditRuleGroupViewSelectorView, getUserFromAllUsers, AuditReportGroupSelectorView, AuditReportGroupViewSelectorView, AuditRuleGroupViewSelectorView, fetchAuditRuleGroupView, fetchAuditReportGroupView, saveReasonForAuditRule, AuditRuleGroup, AuditRuleGroupReport, AuditReportRule, AuditRuleEntityType, AuditRuleEntityIdType, AuditRuleBypassReason, clearAuditReportGroupViewByCompanyId, };
|