@zeniai/client-epic-state 5.3.8-beta0DI → 5.3.9
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/task/taskPayload.d.ts +0 -1
- package/lib/entity/task/taskPayload.js +0 -1
- package/lib/entity/task/taskReducer.d.ts +1 -4
- package/lib/entity/task/taskReducer.js +2 -19
- package/lib/entity/task/taskState.d.ts +0 -3
- package/lib/entity/tenant/epic/fetchAllTenantsEpic.js +45 -38
- package/lib/epic.d.ts +1 -4
- package/lib/epic.js +0 -9
- package/lib/esm/entity/task/taskPayload.js +0 -1
- package/lib/esm/entity/task/taskReducer.js +1 -18
- package/lib/esm/entity/tenant/epic/fetchAllTenantsEpic.js +46 -39
- package/lib/esm/epic.js +0 -9
- package/lib/esm/index.js +3 -6
- package/lib/esm/init.js +14 -3
- package/lib/esm/reducer.js +0 -6
- package/lib/esm/sessionEndpointsLoader.js +7 -0
- package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +0 -3
- package/lib/esm/view/taskManager/taskListView/taskList.js +0 -5
- package/lib/esm/view/taskManager/taskListView/taskListFilterHelpers.js +0 -2
- package/lib/esm/view/taskManager/taskListView/taskListViewHelpers.js +0 -37
- package/lib/esm/view/transactionDetail/createTransaction/createTransactionPayload.js +14 -2
- package/lib/esm/view/transactionDetail/createTransaction/createTransactionSelector.js +21 -2
- package/lib/index.d.ts +4 -7
- package/lib/index.js +53 -66
- package/lib/init.d.ts +9 -0
- package/lib/init.js +17 -4
- package/lib/reducer.d.ts +0 -2
- package/lib/reducer.js +0 -6
- package/lib/rootStateTypes.d.ts +0 -4
- package/lib/sessionEndpointsLoader.d.ts +9 -0
- package/lib/sessionEndpointsLoader.js +11 -0
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +0 -4
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +0 -3
- package/lib/view/taskManager/taskListView/taskList.d.ts +1 -1
- package/lib/view/taskManager/taskListView/taskList.js +0 -5
- package/lib/view/taskManager/taskListView/taskListFilterHelpers.js +0 -2
- package/lib/view/taskManager/taskListView/taskListViewHelpers.d.ts +1 -1
- package/lib/view/taskManager/taskListView/taskListViewHelpers.js +0 -37
- package/lib/view/transactionDetail/createTransaction/createTransactionPayload.d.ts +10 -6
- package/lib/view/transactionDetail/createTransaction/createTransactionPayload.js +14 -2
- package/lib/view/transactionDetail/createTransaction/createTransactionSelector.d.ts +4 -1
- package/lib/view/transactionDetail/createTransaction/createTransactionSelector.js +21 -2
- package/lib/view/transactionDetail/createTransaction/createTransactionState.d.ts +1 -1
- package/lib/zeniAPI.d.ts +2 -2
- package/package.json +1 -1
- package/lib/entity/timeEntry/timeEntryPayload.d.ts +0 -26
- package/lib/entity/timeEntry/timeEntryPayload.js +0 -2
- package/lib/entity/timeEntry/timeEntryReducer.d.ts +0 -8
- package/lib/entity/timeEntry/timeEntryReducer.js +0 -76
- package/lib/entity/timeEntry/timeEntrySelector.d.ts +0 -10
- package/lib/entity/timeEntry/timeEntrySelector.js +0 -32
- package/lib/entity/timeEntry/timeEntryState.d.ts +0 -43
- package/lib/entity/timeEntry/timeEntryState.js +0 -13
- package/lib/esm/entity/timeEntry/timeEntryPayload.js +0 -1
- package/lib/esm/entity/timeEntry/timeEntryReducer.js +0 -70
- package/lib/esm/entity/timeEntry/timeEntrySelector.js +0 -23
- package/lib/esm/entity/timeEntry/timeEntryState.js +0 -8
- package/lib/esm/view/taskManager/timeEntryView/epic/fetchTaskCategoriesEpic.js +0 -24
- package/lib/esm/view/taskManager/timeEntryView/epic/fetchTimeEntriesEpic.js +0 -73
- package/lib/esm/view/taskManager/timeEntryView/epic/writeTimeEntryEpic.js +0 -77
- package/lib/esm/view/taskManager/timeEntryView/timeEntryViewPayload.js +0 -1
- package/lib/esm/view/taskManager/timeEntryView/timeEntryViewReducer.js +0 -160
- package/lib/esm/view/taskManager/timeEntryView/timeEntryViewSelector.js +0 -41
- package/lib/esm/view/taskManager/timeEntryView/timeEntryViewState.js +0 -1
- package/lib/view/taskManager/timeEntryView/epic/fetchTaskCategoriesEpic.d.ts +0 -18
- package/lib/view/taskManager/timeEntryView/epic/fetchTaskCategoriesEpic.js +0 -28
- package/lib/view/taskManager/timeEntryView/epic/fetchTimeEntriesEpic.d.ts +0 -23
- package/lib/view/taskManager/timeEntryView/epic/fetchTimeEntriesEpic.js +0 -78
- package/lib/view/taskManager/timeEntryView/epic/writeTimeEntryEpic.d.ts +0 -23
- package/lib/view/taskManager/timeEntryView/epic/writeTimeEntryEpic.js +0 -83
- package/lib/view/taskManager/timeEntryView/timeEntryViewPayload.d.ts +0 -27
- package/lib/view/taskManager/timeEntryView/timeEntryViewPayload.js +0 -2
- package/lib/view/taskManager/timeEntryView/timeEntryViewReducer.d.ts +0 -48
- package/lib/view/taskManager/timeEntryView/timeEntryViewReducer.js +0 -164
- package/lib/view/taskManager/timeEntryView/timeEntryViewSelector.d.ts +0 -24
- package/lib/view/taskManager/timeEntryView/timeEntryViewSelector.js +0 -46
- package/lib/view/taskManager/timeEntryView/timeEntryViewState.d.ts +0 -21
- package/lib/view/taskManager/timeEntryView/timeEntryViewState.js +0 -5
package/lib/esm/index.js
CHANGED
|
@@ -75,7 +75,6 @@ import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
|
|
|
75
75
|
import { deleteConnection, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, initEmailConnectOAuth, resendVerifyDeviceOTP, resetSignInState, saveAPIKeyConnection, saveConnectorCredentials, saveExternalConnection as saveExternalConnectionForTenant, saveOAuthConnection, sendEmailMagicLinkToUser, sendSessionHeartbeat, toExternalIntegrationType, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA, } from './entity/tenant/tenantReducer';
|
|
76
76
|
import { DEFAULT_RECEIPTS_EMAIL, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getIsAutoReviewIncomeWithoutCustomerEnabled, getReceiptsEmail, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView, } from './entity/tenant/tenantSelector';
|
|
77
77
|
import { toExternalSupportedTool } from './entity/tenant/tenantTypes';
|
|
78
|
-
import { getTaskCategories, getTaskCategoryById, } from './entity/timeEntry/timeEntrySelector';
|
|
79
78
|
import { pushToastNotification } from './entity/toastNotification/toastNotificationReducer';
|
|
80
79
|
import { getLastNotificationTime, getNotifications, } from './entity/toastNotification/toastNotificationSelector';
|
|
81
80
|
import { mapFileEntityToAttachment, toContentType, toContentTypeStrict, } from './entity/transaction/stateTypes/attachment';
|
|
@@ -91,7 +90,7 @@ import { getUserRoleMap, hasAICFOAccess, hasAdminLevelAccess, hasAnyCompanyRole,
|
|
|
91
90
|
import { updateVendors } from './entity/vendor/vendorReducer';
|
|
92
91
|
import { defaultVendorCurrency, } from './entity/vendor/vendorState';
|
|
93
92
|
import { VendorExpenseTrend } from './entity/vendorExpense/vendorExpenseTrend';
|
|
94
|
-
import initialize, { disconnectPusher, initializePusher, initializeWithNewStore, injectFeatureEpics, injectFeatureModules, updateZeniAPIClientConfig, zeniAPIClientConfig, } from './init';
|
|
93
|
+
import initialize, { disconnectPusher, initializePusher, initializeWithNewStore, injectFeatureEpics, injectFeatureModules, setSessionEndpointsLoader, updateZeniAPIClientConfig, updateZeniAPIEndpoints, zeniAPIClientConfig, } from './init';
|
|
95
94
|
import { isAccessDeniedError, isInvalidSessionError, isSuccessResponse, } from './responsePayload';
|
|
96
95
|
import { clearAll } from './rootActions';
|
|
97
96
|
import { fetchAccountList } from './view/accountList/accountListReducer';
|
|
@@ -422,8 +421,6 @@ import { ALL_TASK_LIST_TABS, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CAT
|
|
|
422
421
|
import { bulkUpdateTaskList, dragNDropTasks, fetchTaskList, fetchTaskListPage, initiateTaskListLocalData, removeTaskFromList, updateTaskFilters, updateTaskFromListView, updateTaskListLocalData, updateTaskListSearchText, updateTaskListTab, updateTaskListUIState, } from './view/taskManager/taskListView/taskListReducer';
|
|
423
422
|
import { getAllTasks, } from './view/taskManager/taskListView/taskListSelector';
|
|
424
423
|
import { getDueDateValueFromDueDateGroupId, getTaskUpdates, sortSubtasks, } from './view/taskManager/taskListView/taskListViewHelpers';
|
|
425
|
-
import { deleteTimeEntry, fetchTaskCategories, fetchTimeEntriesForRange, fetchTimeEntriesForTask, logTime, updateTimeEntryMinutes, } from './view/taskManager/timeEntryView/timeEntryViewReducer';
|
|
426
|
-
import { getTimeEntriesForRange, getTimeEntriesForTask, getTimeEntrySaveState, } from './view/taskManager/timeEntryView/timeEntryViewSelector';
|
|
427
424
|
import { fetchTasksCard } from './view/tasksCard/tasksCardReducer';
|
|
428
425
|
import { fetchTopEx, updateTopExDownloadState, updateTopExTimeFrame, } from './view/topEx/topExReducer';
|
|
429
426
|
import { getAllTopExpenses, getTop6Expenses, getTopExpenses, } from './view/topEx/topExSelector';
|
|
@@ -488,7 +485,7 @@ export { updateCreditAgentMacro, updateCreditAgentRow, updateCreditAgentRows, }
|
|
|
488
485
|
export { getCreditAgentRows, getCreditAgentMacroEntity, } from './entity/creditAgent/creditAgentSelector';
|
|
489
486
|
export { saveJeAccountSettings, saveJeAccountSettingsLocalData };
|
|
490
487
|
export default initialize;
|
|
491
|
-
export { initializePusher, disconnectPusher, Dayjs, dateInLocal as zeniDateInLocal, date as zeniDate, dateLocal, dateNow, getBusinessDayOfDate, formatZeniDateFY as formatZeniDate, getFYMonths, getFYQuarterAndYear, getStartOfAndEndOfTimeframeForFY, getActualPeriodOfFYQtr, getActualPeriodOfFY, getLocalTimezone, addPeriod, subtractPeriod, setLocalTimezone, updateZeniDateLocaleID, toZeniUrl, toZeniUrlWithoutBaseURL, updateZeniAPIClientConfig, zeniAPIClientConfig, injectFeatureEpics, injectFeatureModules, initializeWithNewStore, getTimeframeTickTag, isIncompleteMonthPresentInTimeframeTick, getLastMonthOfFYQuarter, getLastMonthOfFYYear, getMonthIndex, dateFromYearMonthDate, getMinDate, };
|
|
488
|
+
export { initializePusher, disconnectPusher, Dayjs, dateInLocal as zeniDateInLocal, date as zeniDate, dateLocal, dateNow, getBusinessDayOfDate, formatZeniDateFY as formatZeniDate, getFYMonths, getFYQuarterAndYear, getStartOfAndEndOfTimeframeForFY, getActualPeriodOfFYQtr, getActualPeriodOfFY, getLocalTimezone, addPeriod, subtractPeriod, setLocalTimezone, updateZeniDateLocaleID, toZeniUrl, toZeniUrlWithoutBaseURL, updateZeniAPIClientConfig, updateZeniAPIEndpoints, setSessionEndpointsLoader, zeniAPIClientConfig, injectFeatureEpics, injectFeatureModules, initializeWithNewStore, getTimeframeTickTag, isIncompleteMonthPresentInTimeframeTick, getLastMonthOfFYQuarter, getLastMonthOfFYYear, getMonthIndex, dateFromYearMonthDate, getMinDate, };
|
|
492
489
|
export { toAmount };
|
|
493
490
|
export { toReportID, toReportFormatStrict, isCashFlowOrBalanceSheetReport, isBalanceSheetReport, isBalanceSheetClassesViewReport, isBalanceSheetProjectViewReport, isCashFlowClassesViewReport, isCashFlowProjectViewReport, isCashFlowReport, isGroupedCashFlowReport, isGroupedBalanceSheetReport, isDashboardReport, isDashboardClassesViewReport, isDashboardProjectViewReport, isPAndLReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isAgingReport, isOpExByVendorReport, isFluxAnalysisOpExReport, };
|
|
494
491
|
export { toCOABalanceTimeframe, };
|
|
@@ -681,7 +678,7 @@ export { fetchGlobalMerchantRecommendation, createGlobalMerchant, updateCreateGl
|
|
|
681
678
|
export { approveVendorGlobalReview, rejectVendorGlobalReview, fetchVendorGlobalReviewView, updateSelectedGlobalMerchant, updateVendorGlobalReviewViewUIState, getVendorGlobalReviewView, getTenantMerchantByMerchantId, toVendorGlobalReviewColumnSortKeyType, updateVendorGlobalReviewViewLocalData, };
|
|
682
679
|
export { fetchArAging, updateArAgingUIState, fetchArAgingDetail, updateArAgingDetailUIState, getArAgingReport, getArAgingDetailForCustomer, updateArAgingNodeCollapseState, };
|
|
683
680
|
export { toRecurringBillFrequency, toRecurringBillFrequencyStrict, };
|
|
684
|
-
export { getTaskGroupById, getAllTasks,
|
|
681
|
+
export { getTaskGroupById, getAllTasks, fetchTaskList, fetchTaskListPage, getTaskDetail, fetchTaskDetailPage, saveTaskUpdatesToLocalStore, saveTaskDetail, createSubTask, resetSubTaskCreateStatus, fetchSubTasks, archiveTask, fetchCannedResponses, saveCannedResponse, deleteCannedResponse, getCannedResponsesView, updateTaskListSearchText, updateTaskListUIState, allTaskStatus, allTaskPriority, updateTaskFilters, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, deleteTask, discardTaskUpdatesInLocalStore, bulkUpdateTaskList, createNewTaskGroup, initiateTaskListLocalData, deleteTaskGroup, updateTaskListLocalData, dragNDropTasks, updateTaskGroupName, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict, getTaskUpdates, sortSubtasks, fetchAllTaskGroups, initialTaskDetail, getDueDateValueFromDueDateGroupId, toPriorityCodeType, toTaskStatusCodeType, toDueDateGroupKeyType, updateTaskFromListView, updateTaskListTab, removeTaskFromList, snoozeTask, unsnoozeTask, convertHHMMStrToMinutes, initialTaskDetailLocalData, ALL_TASK_LIST_TABS, };
|
|
685
682
|
export { getAllTags, fetchTagList, createTag, deleteTag, };
|
|
686
683
|
export { getAllCardsAndBankPaymentMethods, createCardSetupIntent, confirmCardSetupIntent, addCardPaymentSource, fetchPaymentSources, resetCardPaymentErrorStatuses, clearCardPaymentView, };
|
|
687
684
|
export { getAuditReportGroupViewSelectorView, getAuditRuleGroupViewSelectorView, getUserFromAllUsers, fetchAuditRuleGroupView, fetchAuditReportGroupView, saveReasonForAuditRule, clearAuditReportGroupViewByCompanyId, };
|
package/lib/esm/init.js
CHANGED
|
@@ -2,6 +2,7 @@ import configureNewStore from './configureStore';
|
|
|
2
2
|
import { ZeniAPIClient } from './zeniAPI';
|
|
3
3
|
import { setZeniAPIClient, zeniAPI } from './zeniAPIClientState';
|
|
4
4
|
export { zeniAPI } from './zeniAPIClientState';
|
|
5
|
+
export { setSessionEndpointsLoader } from './sessionEndpointsLoader';
|
|
5
6
|
export { disconnectPusher, initializePusher, pusher } from './pusherClient';
|
|
6
7
|
export let store;
|
|
7
8
|
let initialized = false;
|
|
@@ -13,11 +14,10 @@ let initialized = false;
|
|
|
13
14
|
*/
|
|
14
15
|
export default function initialize(restEndPoints, userId, sessionId, tenantId, isSandboxEnv, onSessionInvalidated) {
|
|
15
16
|
if (initialized) {
|
|
16
|
-
console.warn(
|
|
17
|
+
console.warn('client-epic-state is already initialized');
|
|
17
18
|
return store;
|
|
18
19
|
}
|
|
19
20
|
initialized = true;
|
|
20
|
-
console.info(`initializing with ${JSON.stringify(restEndPoints)}`);
|
|
21
21
|
initialize3rdPartyExtensions();
|
|
22
22
|
setZeniAPIClient(new ZeniAPIClient(restEndPoints, userId, sessionId, tenantId, onSessionInvalidated));
|
|
23
23
|
store = configureNewStore(zeniAPI, isSandboxEnv);
|
|
@@ -35,6 +35,18 @@ export { injectFeatureModules, injectFeatureEpics } from './configureStore';
|
|
|
35
35
|
export function updateZeniAPIClientConfig(userId, sessionId, tenantId) {
|
|
36
36
|
zeniAPI.update(userId, sessionId, tenantId);
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Replace the REST endpoints the API client calls. Epics read the endpoints
|
|
40
|
+
* at request time, so every request made after this uses the new ones.
|
|
41
|
+
* Note: This version SHOULD BE used only in the client side.
|
|
42
|
+
* @param restEndPoints
|
|
43
|
+
*/
|
|
44
|
+
export function updateZeniAPIEndpoints(restEndPoints) {
|
|
45
|
+
if (zeniAPI == null) {
|
|
46
|
+
throw new Error('Call initialize() before updateZeniAPIEndpoints()');
|
|
47
|
+
}
|
|
48
|
+
zeniAPI.apiEndPoints = restEndPoints;
|
|
49
|
+
}
|
|
38
50
|
/**
|
|
39
51
|
* Returns current Zeni REST API client config.
|
|
40
52
|
* @returns
|
|
@@ -61,7 +73,6 @@ export function zeniAPIClientConfig() {
|
|
|
61
73
|
* @param tenantId tenant id
|
|
62
74
|
*/
|
|
63
75
|
export async function initializeWithNewStore(restEndPoints, userId, sessionId, tenantId) {
|
|
64
|
-
console.info(`initializeWithNewStore with ${JSON.stringify(restEndPoints)}`);
|
|
65
76
|
initialize3rdPartyExtensions();
|
|
66
77
|
const zeniHttpClient = new ZeniAPIClient(restEndPoints, userId, sessionId, tenantId);
|
|
67
78
|
const store = configureNewStore(zeniHttpClient, false);
|
package/lib/esm/reducer.js
CHANGED
|
@@ -70,7 +70,6 @@ import taskGroup, { initialState as initialTaskGroupState, } from './entity/task
|
|
|
70
70
|
import taskGroupTemplate, { initialState as initialTaskGroupTemplateState, } from './entity/taskGroupTemplate/taskGroupTemplateReducer';
|
|
71
71
|
import taskSummary, { initialState as initailTaskSummaryState, } from './entity/taskSummary/taskSummaryReducer';
|
|
72
72
|
import tenant, { initialState as initialTenantState, } from './entity/tenant/tenantReducer';
|
|
73
|
-
import timeEntry, { initialState as initialTimeEntryState, } from './entity/timeEntry/timeEntryReducer';
|
|
74
73
|
import toastNotification, { initialState as initialToastNotificationState, } from './entity/toastNotification/toastNotificationReducer';
|
|
75
74
|
import transaction, { initialState as initialTransactionState, } from './entity/transaction/transactionReducer';
|
|
76
75
|
import transactionActivityLog, { initialState as initialTransactionActivityLogState, } from './entity/transactionActivityLog/transactionActivityLogReducer';
|
|
@@ -256,7 +255,6 @@ import taskDetailView, { initialState as initialTaskDetailState, } from './view/
|
|
|
256
255
|
import taskGroupTemplateView, { initialState as initialTaskGroupTemplateViewState, } from './view/taskManager/taskGroupTemplateView/taskGroupTemplateViewReducer';
|
|
257
256
|
import taskGroupView, { initialState as initialTaskGroupViewState, } from './view/taskManager/taskGroupView/taskGroupViewReducer';
|
|
258
257
|
import taskList, { initialState as initialTaskListState, } from './view/taskManager/taskListView/taskListReducer';
|
|
259
|
-
import timeEntryView, { initialState as initialTimeEntryViewState, } from './view/taskManager/timeEntryView/timeEntryViewReducer';
|
|
260
258
|
import tasksCard, { initialState as initialTasksCardState, } from './view/tasksCard/tasksCardReducer';
|
|
261
259
|
import topEx, { initialState as initialTopExState, } from './view/topEx/topExReducer';
|
|
262
260
|
import transactionActivityLogView, { initialState as initialTransactionActivityLogViewState, } from './view/transactionActivityLogView/transactionActivityLogViewReducer';
|
|
@@ -345,7 +343,6 @@ const initialEntitiesState = {
|
|
|
345
343
|
subscriptionState: initialSubscriptionState,
|
|
346
344
|
subscriptionSummaryState: initialSubscriptionSummaryState,
|
|
347
345
|
tagState: initialTagState,
|
|
348
|
-
timeEntryState: initialTimeEntryState,
|
|
349
346
|
taskGroupState: initialTaskGroupState,
|
|
350
347
|
taskGroupTemplateState: initialTaskGroupTemplateState,
|
|
351
348
|
taskState: initialTaskState,
|
|
@@ -527,7 +524,6 @@ const initialViewsState = {
|
|
|
527
524
|
taskGroupTemplateViewState: initialTaskGroupTemplateViewState,
|
|
528
525
|
taskGroupViewState: initialTaskGroupViewState,
|
|
529
526
|
taskListState: initialTaskListState,
|
|
530
|
-
timeEntryViewState: initialTimeEntryViewState,
|
|
531
527
|
tasksCardState: initialTasksCardState,
|
|
532
528
|
topExState: initialTopExState,
|
|
533
529
|
transactionActivityLogViewState: initialTransactionActivityLogViewState,
|
|
@@ -636,7 +632,6 @@ const entityReducers = {
|
|
|
636
632
|
subscriptionState: subscription,
|
|
637
633
|
subscriptionSummaryState: subscriptionSummary,
|
|
638
634
|
tagState: tag,
|
|
639
|
-
timeEntryState: timeEntry,
|
|
640
635
|
taskGroupState: taskGroup,
|
|
641
636
|
taskGroupTemplateState: taskGroupTemplate,
|
|
642
637
|
taskState: task,
|
|
@@ -817,7 +812,6 @@ const viewReducers = {
|
|
|
817
812
|
taskGroupTemplateViewState: taskGroupTemplateView,
|
|
818
813
|
taskGroupViewState: taskGroupView,
|
|
819
814
|
taskListState: taskList,
|
|
820
|
-
timeEntryViewState: timeEntryView,
|
|
821
815
|
tagViewState: tagView,
|
|
822
816
|
tasksCardState: tasksCard,
|
|
823
817
|
topExState: topEx,
|
|
@@ -26,7 +26,6 @@ export const getTaskDetail = (state, taskId) => {
|
|
|
26
26
|
let isDeleted = undefined;
|
|
27
27
|
let depth = undefined;
|
|
28
28
|
let recurringSourceTaskId = undefined;
|
|
29
|
-
let taskCategoryId = undefined;
|
|
30
29
|
let snoozedUntil = undefined;
|
|
31
30
|
let taskGroupId = undefined;
|
|
32
31
|
let subtasks = [];
|
|
@@ -40,7 +39,6 @@ export const getTaskDetail = (state, taskId) => {
|
|
|
40
39
|
if (taskEntity != null) {
|
|
41
40
|
createdByUser = getUserAndUserRole(userState, userRoleState, addressState, taskEntity.createdBy);
|
|
42
41
|
depth = taskEntity.depth;
|
|
43
|
-
taskCategoryId = taskEntity.taskCategoryId;
|
|
44
42
|
isArchived = taskEntity.isArchived;
|
|
45
43
|
isDeleted = taskEntity.isDeleted;
|
|
46
44
|
recurringSourceTaskId = taskEntity.recurringSourceTaskId;
|
|
@@ -105,7 +103,6 @@ export const getTaskDetail = (state, taskId) => {
|
|
|
105
103
|
version: 0,
|
|
106
104
|
createdByUser,
|
|
107
105
|
depth,
|
|
108
|
-
taskCategoryId,
|
|
109
106
|
isArchived,
|
|
110
107
|
isDeleted,
|
|
111
108
|
recurringSourceTaskId,
|
|
@@ -47,11 +47,6 @@ export const TASK_LIST_FILTER_CATEGORIES = [
|
|
|
47
47
|
type: 'user',
|
|
48
48
|
multiple: true,
|
|
49
49
|
},
|
|
50
|
-
{
|
|
51
|
-
value: 'createdBy',
|
|
52
|
-
type: 'user',
|
|
53
|
-
multiple: true,
|
|
54
|
-
},
|
|
55
50
|
{ value: 'creationDate', type: 'dateRange', multiple: true },
|
|
56
51
|
];
|
|
57
52
|
export const TASK_LIST_GROUP_BY_CATEGORIES = [
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { convertHHMMStrToMinutes } from '../../../commonStateTypes/fiscalYearHelpers/formatMinutesToFromHHMM';
|
|
2
1
|
import { dateNow } from '../../../zeniDayJS';
|
|
3
2
|
import { allTaskPriority, allTaskStatus, } from '../taskDetailView/taskDetailSelector';
|
|
4
3
|
import { toDueDateGroupKeyType } from './taskList';
|
|
@@ -64,11 +63,6 @@ export const sortSubtasks = (subtasks, sortKey, sortOrder, userList, tagList) =>
|
|
|
64
63
|
return acc;
|
|
65
64
|
}, {});
|
|
66
65
|
const unknownStatusRank = allTaskStatus.length;
|
|
67
|
-
const priorityOrder = allTaskPriority.reduce((acc, priority, index) => {
|
|
68
|
-
acc[priority.code] = index;
|
|
69
|
-
return acc;
|
|
70
|
-
}, {});
|
|
71
|
-
const unknownPriorityRank = allTaskPriority.length;
|
|
72
66
|
const cmpStr = (a, b) => a.localeCompare(b, undefined, { sensitivity: 'base' });
|
|
73
67
|
const keyFn = (task) => {
|
|
74
68
|
if (sortKey === 'name') {
|
|
@@ -95,37 +89,6 @@ export const sortSubtasks = (subtasks, sortKey, sortOrder, userList, tagList) =>
|
|
|
95
89
|
const tag = tagList.find((candidate) => candidate.tagId === firstTagId);
|
|
96
90
|
return tag?.name ?? '';
|
|
97
91
|
}
|
|
98
|
-
if (sortKey === 'priority') {
|
|
99
|
-
// Rank by the canonical order, not the code string: alphabetical would
|
|
100
|
-
// sort "high" before "urgent" and read as wrong to anyone scanning it.
|
|
101
|
-
return priorityOrder[task.priority?.code] ?? unknownPriorityRank;
|
|
102
|
-
}
|
|
103
|
-
if (sortKey === 'dueDate') {
|
|
104
|
-
// A task with no date is not "earliest", so undated rows belong at the
|
|
105
|
-
// bottom in BOTH directions. The comparator negates for 'desc', so one
|
|
106
|
-
// fixed sentinel would flip them to the top — the sentinel has to flip
|
|
107
|
-
// with the order to survive that negation.
|
|
108
|
-
// `dueDate` is already a ZeniDate (dayjs), so valueOf() is the epoch.
|
|
109
|
-
// An unparseable date yields NaN, and a NaN comparator leaves the array
|
|
110
|
-
// untouched -- the same silent failure the timeSpent branch guards.
|
|
111
|
-
// Treat it as undated rather than as a date.
|
|
112
|
-
const due = task.dueDate;
|
|
113
|
-
const epoch = due?.valueOf();
|
|
114
|
-
if (epoch == null || Number.isNaN(epoch)) {
|
|
115
|
-
return sortOrder === 'asc'
|
|
116
|
-
? Number.MAX_SAFE_INTEGER
|
|
117
|
-
: Number.MIN_SAFE_INTEGER;
|
|
118
|
-
}
|
|
119
|
-
return epoch;
|
|
120
|
-
}
|
|
121
|
-
if (sortKey === 'timeSpent') {
|
|
122
|
-
// `timeSpent` is an "HHMM" STRING (no colon). Comparing it as text puts
|
|
123
|
-
// "1000" before "0900" only by luck of padding, and any malformed value
|
|
124
|
-
// makes the converter return NaN -- which a comparator turns into "no
|
|
125
|
-
// sort at all", silently. Coerce that to 0.
|
|
126
|
-
const minutes = convertHHMMStrToMinutes(task.timeSpent ?? '');
|
|
127
|
-
return Number.isFinite(minutes) ? minutes : 0;
|
|
128
|
-
}
|
|
129
92
|
return '';
|
|
130
93
|
};
|
|
131
94
|
const copy = [...subtasks];
|
|
@@ -4,6 +4,10 @@ import { getClassById } from '../../../entity/class/classSelector';
|
|
|
4
4
|
import { toProjectBasePayload, } from '../../../entity/project/projectPayload';
|
|
5
5
|
import { getProjectById } from '../../../entity/project/projectSelector';
|
|
6
6
|
import { getVendorByQboId, getVendorByVendorId, } from '../../../entity/vendor/vendorSelector';
|
|
7
|
+
const POSTING_TYPE_NAME = {
|
|
8
|
+
credit: 'Credit',
|
|
9
|
+
debit: 'Debit',
|
|
10
|
+
};
|
|
7
11
|
const toRemitToAddressPayload = (address) => {
|
|
8
12
|
if (address == null) {
|
|
9
13
|
return undefined;
|
|
@@ -35,10 +39,12 @@ const toLinePayload = (state, line, transactionType) => {
|
|
|
35
39
|
});
|
|
36
40
|
}
|
|
37
41
|
if (transactionType === 'journal_entry') {
|
|
38
|
-
|
|
42
|
+
if (line.postingType != null) {
|
|
43
|
+
lineDetail.posting_type_name = POSTING_TYPE_NAME[line.postingType];
|
|
44
|
+
}
|
|
39
45
|
const vendorQboId = toQboLineVendorId(state, line.vendorQboId);
|
|
40
46
|
if (vendorQboId != null) {
|
|
41
|
-
lineDetail.vendor = {
|
|
47
|
+
lineDetail.vendor = { vendor_id: vendorQboId };
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
return {
|
|
@@ -128,6 +134,10 @@ export const prepareCreateTransactionPayload = (state, localData) => {
|
|
|
128
134
|
if (transactionType === 'journal_entry') {
|
|
129
135
|
return {
|
|
130
136
|
...base,
|
|
137
|
+
...(localData.documentNumber != null &&
|
|
138
|
+
localData.documentNumber !== '' && {
|
|
139
|
+
document_id: localData.documentNumber,
|
|
140
|
+
}),
|
|
131
141
|
lines,
|
|
132
142
|
};
|
|
133
143
|
}
|
|
@@ -141,6 +151,8 @@ export const prepareCreateTransactionPayload = (state, localData) => {
|
|
|
141
151
|
if (transactionType === 'check') {
|
|
142
152
|
return {
|
|
143
153
|
...purchaseBase,
|
|
154
|
+
// The form has no payment method field for a check; qbo_purchase.py still requires it.
|
|
155
|
+
payment_type: 'check',
|
|
144
156
|
document_number: localData.documentNumber,
|
|
145
157
|
print_status: localData.printStatus,
|
|
146
158
|
remit_to_address: toRemitToAddressPayload(localData.remitToAddress),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createSelector } from '@reduxjs/toolkit';
|
|
2
|
+
import { getAccountBase } from '../../../entity/account/accountSelector';
|
|
2
3
|
import { getAccountListFetchState, getNestedAccountListHierarchy, } from '../../accountList/accountListSelector';
|
|
3
4
|
import { getNestedClassListHierarchy } from '../../classList/classListSelector';
|
|
4
5
|
import { getResolvedTransferAccounts } from '../../createTransferEntry/createTransferEntrySelector';
|
|
@@ -22,6 +23,23 @@ export const getCreateTransactionVendorRecommendations = (state, vendorQboId) =>
|
|
|
22
23
|
recommendations: view.recommendations,
|
|
23
24
|
};
|
|
24
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* QBO sub-accounts share their parent's type, so filtering the root nodes keeps whole subtrees.
|
|
28
|
+
*
|
|
29
|
+
* Memoized on its own: createTransactionsState changes on every keystroke, which re-runs the view
|
|
30
|
+
* projection, and the filter would otherwise hand the dropdown a new array each time.
|
|
31
|
+
*/
|
|
32
|
+
const getPaymentAccountListNestedAccountHierarchy = createSelector([
|
|
33
|
+
(state) => getNestedAccountListHierarchy(state.accountListState, 'createTransactionPaymentAccountList'),
|
|
34
|
+
(state) => state.accountState,
|
|
35
|
+
(_state, transactionType) => transactionType,
|
|
36
|
+
], (hierarchy, accountState, transactionType) => {
|
|
37
|
+
if (transactionType !== 'check') {
|
|
38
|
+
return hierarchy;
|
|
39
|
+
}
|
|
40
|
+
return hierarchy.filter((node) => getAccountBase(accountState, node.accountId[0], 'account_list')
|
|
41
|
+
?.accountType === 'bank');
|
|
42
|
+
});
|
|
25
43
|
/**
|
|
26
44
|
* Memoized: app-ui reads this straight from useSelector, and the vendor list and hierarchies are
|
|
27
45
|
* rebuilt on every call, so an unmemoized version re-renders the page on every store action.
|
|
@@ -30,10 +48,11 @@ export const getCreateTransactionView = createSelector([
|
|
|
30
48
|
(state) => state.transactionDetailState.createTransactionsState,
|
|
31
49
|
(state) => state.vendorState.vendorByID,
|
|
32
50
|
(state) => state.accountListState,
|
|
51
|
+
getPaymentAccountListNestedAccountHierarchy,
|
|
33
52
|
(state) => state.classListState,
|
|
34
53
|
(state) => getResolvedTransferAccounts(state).transferAccountsList,
|
|
35
54
|
(_state, transactionType) => transactionType,
|
|
36
|
-
], (createTransactionsState, vendorByID, accountListState, classListState, transferAccountsList, transactionType) => ({
|
|
55
|
+
], (createTransactionsState, vendorByID, accountListState, paymentAccountListNestedAccountHierarchy, classListState, transferAccountsList, transactionType) => ({
|
|
37
56
|
transactionType,
|
|
38
57
|
localData: createTransactionsState.newTransactionState[transactionType],
|
|
39
58
|
createStatus: createTransactionsState.createStatus,
|
|
@@ -43,7 +62,7 @@ export const getCreateTransactionView = createSelector([
|
|
|
43
62
|
lineAccountListFetchState: getAccountListFetchState(accountListState, 'createTransactionLineAccountList'),
|
|
44
63
|
paymentAccountListFetchState: getAccountListFetchState(accountListState, 'createTransactionPaymentAccountList'),
|
|
45
64
|
accountListNestedAccountHierarchy: getNestedAccountListHierarchy(accountListState, 'createTransactionLineAccountList'),
|
|
46
|
-
paymentAccountListNestedAccountHierarchy
|
|
65
|
+
paymentAccountListNestedAccountHierarchy,
|
|
47
66
|
classListNestedAccountHierarchy: getNestedClassListHierarchy(classListState),
|
|
48
67
|
transferAccountsList: transactionType === 'transfer' ? transferAccountsList : [],
|
|
49
68
|
fetchState: createTransactionsState.createStatus.fetchState,
|
package/lib/index.d.ts
CHANGED
|
@@ -150,8 +150,6 @@ import { DoSignInPayload, deleteConnection, doMagicLinkSignIn, doSignIn, doSignO
|
|
|
150
150
|
import { CurrentTenant, DEFAULT_RECEIPTS_EMAIL, TenantBaseView, TenantCoreDetailsView, TenantView, TenantsBaseOrdered, TenantsOrdered, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getIsAutoReviewIncomeWithoutCustomerEnabled, getReceiptsEmail, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView } from './entity/tenant/tenantSelector';
|
|
151
151
|
import { CapitalizableAccount, CapitalizableAccounts, CapitalizableClassificationType, CapitalizableMatchPattern, Connection, LoggedInUser, RoleResource, Tenant, TenantProductSettings } from './entity/tenant/tenantState';
|
|
152
152
|
import { toExternalSupportedTool } from './entity/tenant/tenantTypes';
|
|
153
|
-
import { getTaskCategories, getTaskCategoryById } from './entity/timeEntry/timeEntrySelector';
|
|
154
|
-
import { BillingType, TaskCategory, TimeEntry, TimeEntrySource } from './entity/timeEntry/timeEntryState';
|
|
155
153
|
import { ToastNotificationPayload } from './entity/toastNotification/toastNotificationPayload';
|
|
156
154
|
import { pushToastNotification } from './entity/toastNotification/toastNotificationReducer';
|
|
157
155
|
import { getLastNotificationTime, getNotifications } from './entity/toastNotification/toastNotificationSelector';
|
|
@@ -177,7 +175,7 @@ import { Filing1099TinType } from './entity/vendor/vendorType';
|
|
|
177
175
|
import { VendorExpenseState, VendorSpend } from './entity/vendorExpense/vendorExpenseState';
|
|
178
176
|
import { VendorExpenseTrend } from './entity/vendorExpense/vendorExpenseTrend';
|
|
179
177
|
import { ExternalAPIEndpoints } from './externalAPI';
|
|
180
|
-
import initialize, { ZeniStore, disconnectPusher, initializePusher, initializeWithNewStore, injectFeatureEpics, injectFeatureModules, updateZeniAPIClientConfig, zeniAPIClientConfig } from './init';
|
|
178
|
+
import initialize, { ZeniStore, disconnectPusher, initializePusher, initializeWithNewStore, injectFeatureEpics, injectFeatureModules, setSessionEndpointsLoader, updateZeniAPIClientConfig, updateZeniAPIEndpoints, zeniAPIClientConfig } from './init';
|
|
181
179
|
import { ZeniAPIStatus, isAccessDeniedError, isInvalidSessionError, isSuccessResponse } from './responsePayload';
|
|
182
180
|
import { clearAll } from './rootActions';
|
|
183
181
|
import { RootState } from './rootStateTypes';
|
|
@@ -637,8 +635,6 @@ import { ALL_TASK_LIST_TABS, DueDateGroupKey, TASK_LIST_FILTER_CATEGORIES, TASK_
|
|
|
637
635
|
import { bulkUpdateTaskList, dragNDropTasks, fetchTaskList, fetchTaskListPage, initiateTaskListLocalData, removeTaskFromList, updateTaskFilters, updateTaskFromListView, updateTaskListLocalData, updateTaskListSearchText, updateTaskListTab, updateTaskListUIState } from './view/taskManager/taskListView/taskListReducer';
|
|
638
636
|
import { TaskGroupWithTasksList, TaskListSelectorView, TaskWithUserDetails, getAllTasks } from './view/taskManager/taskListView/taskListSelector';
|
|
639
637
|
import { SubtaskSortKey, SubtaskSortOrder, getDueDateValueFromDueDateGroupId, getTaskUpdates, sortSubtasks } from './view/taskManager/taskListView/taskListViewHelpers';
|
|
640
|
-
import { deleteTimeEntry, fetchTaskCategories, fetchTimeEntriesForRange, fetchTimeEntriesForTask, logTime, updateTimeEntryMinutes } from './view/taskManager/timeEntryView/timeEntryViewReducer';
|
|
641
|
-
import { TimeEntryListView, TimesheetWeekView, getTimeEntriesForRange, getTimeEntriesForTask, getTimeEntrySaveState } from './view/taskManager/timeEntryView/timeEntryViewSelector';
|
|
642
638
|
import { fetchTasksCard } from './view/tasksCard/tasksCardReducer';
|
|
643
639
|
import { TasksCardReport } from './view/tasksCard/tasksCardSelector';
|
|
644
640
|
import { fetchTopEx, updateTopExDownloadState, updateTopExTimeFrame } from './view/topEx/topExReducer';
|
|
@@ -726,7 +722,7 @@ export type { CreditAgentFocusFilter, CreditAgentSortDir, CreditAgentSortKey, Cr
|
|
|
726
722
|
export { AccountSettingsLocalData };
|
|
727
723
|
export { saveJeAccountSettings, saveJeAccountSettingsLocalData };
|
|
728
724
|
export default initialize;
|
|
729
|
-
export { initializePusher, disconnectPusher, Dayjs, ZeniDate, dateInLocal as zeniDateInLocal, date as zeniDate, dateLocal, dateNow, getBusinessDayOfDate, formatZeniDateFY as formatZeniDate, getFYMonths, getFYQuarterAndYear, getStartOfAndEndOfTimeframeForFY, getActualPeriodOfFYQtr, getActualPeriodOfFY, getLocalTimezone, addPeriod, subtractPeriod, setLocalTimezone, updateZeniDateLocaleID, ZeniUrl, toZeniUrl, toZeniUrlWithoutBaseURL, RESTAPIEndpoints, RootState, updateZeniAPIClientConfig, zeniAPIClientConfig, injectFeatureEpics, injectFeatureModules, initializeWithNewStore, ZeniStore, ZeniAPIStatus, getTimeframeTickTag, TimeFrameTickTag, isIncompleteMonthPresentInTimeframeTick, getLastMonthOfFYQuarter, getLastMonthOfFYYear, getMonthIndex, dateFromYearMonthDate, getMinDate, ExternalAPIEndpoints, };
|
|
725
|
+
export { initializePusher, disconnectPusher, Dayjs, ZeniDate, dateInLocal as zeniDateInLocal, date as zeniDate, dateLocal, dateNow, getBusinessDayOfDate, formatZeniDateFY as formatZeniDate, getFYMonths, getFYQuarterAndYear, getStartOfAndEndOfTimeframeForFY, getActualPeriodOfFYQtr, getActualPeriodOfFY, getLocalTimezone, addPeriod, subtractPeriod, setLocalTimezone, updateZeniDateLocaleID, ZeniUrl, toZeniUrl, toZeniUrlWithoutBaseURL, RESTAPIEndpoints, RootState, updateZeniAPIClientConfig, updateZeniAPIEndpoints, setSessionEndpointsLoader, zeniAPIClientConfig, injectFeatureEpics, injectFeatureModules, initializeWithNewStore, ZeniStore, ZeniAPIStatus, getTimeframeTickTag, TimeFrameTickTag, isIncompleteMonthPresentInTimeframeTick, getLastMonthOfFYQuarter, getLastMonthOfFYYear, getMonthIndex, dateFromYearMonthDate, getMinDate, ExternalAPIEndpoints, };
|
|
730
726
|
export { ID, FetchState, FetchStateAndError, FetchedState, UpdateType, Mode, AccountViewMode, CompletionStatusType, };
|
|
731
727
|
export { Amount, toAmount, Currency };
|
|
732
728
|
export { View, SelectorView, Report, ReportID, toReportID, ReportIDPlusForecastID, SelectorReport, ReportFormat, toReportFormatStrict, isCashFlowOrBalanceSheetReport, isBalanceSheetReport, isBalanceSheetClassesViewReport, isBalanceSheetProjectViewReport, isCashFlowClassesViewReport, isCashFlowProjectViewReport, isCashFlowReport, isGroupedCashFlowReport, isGroupedBalanceSheetReport, isDashboardReport, isDashboardClassesViewReport, isDashboardProjectViewReport, isPAndLReport, isPAndLClassesViewReport, isPAndLProjectViewReport, isAgingReport, isOpExByVendorReport, isFluxAnalysisOpExReport, PageToken, };
|
|
@@ -976,7 +972,7 @@ export { fetchGlobalMerchantRecommendation, createGlobalMerchant, updateCreateGl
|
|
|
976
972
|
export { approveVendorGlobalReview, rejectVendorGlobalReview, fetchVendorGlobalReviewView, updateSelectedGlobalMerchant, updateVendorGlobalReviewViewUIState, getVendorGlobalReviewView, getTenantMerchantByMerchantId, toVendorGlobalReviewColumnSortKeyType, VendorGlobalReview, VendorGlobalReviewViewUIState, VendorGlobalReviewViewColumnSortKey, VendorGlobalReviewViewSelectorView, VendorGlobalReviewViewState, VendorGlobalReviewViewLocalData, updateVendorGlobalReviewViewLocalData, GlobalReviewPageCurrentSelectionByColumn, GlobalRecommendationFetchSource, };
|
|
977
973
|
export { fetchArAging, updateArAgingUIState, fetchArAgingDetail, updateArAgingDetailUIState, ArAgingReport, ArAgingDetail, NestedAgingBalancesByCustomer, getArAgingReport, getArAgingDetailForCustomer, updateArAgingNodeCollapseState, };
|
|
978
974
|
export { toRecurringBillFrequency, toRecurringBillFrequencyStrict, RecurringBillFrequency, RecurringBillDetail, RecurringBillConfig, RecurringBillStatus, RecurringBillPaymentStatus, };
|
|
979
|
-
export { Task, TaskPayload, TaskListSelectorView, TaskWithUserDetails, TaskListViewSortKey, TaskListUIState, TaskDetailSelectorView, EditTaskLocalData, TaskStatusCodeType, PriorityCodeType, getTaskGroupById, TaskStatus, TaskPriority, TaskCodeType, getAllTasks,
|
|
975
|
+
export { Task, TaskPayload, TaskListSelectorView, TaskWithUserDetails, TaskListViewSortKey, TaskListUIState, TaskDetailSelectorView, EditTaskLocalData, TaskStatusCodeType, PriorityCodeType, getTaskGroupById, TaskStatus, TaskPriority, TaskCodeType, getAllTasks, fetchTaskList, fetchTaskListPage, getTaskDetail, fetchTaskDetailPage, saveTaskUpdatesToLocalStore, saveTaskDetail, createSubTask, resetSubTaskCreateStatus, fetchSubTasks, CreateSubTaskPayload, 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, SubtaskSortKey, SubtaskSortOrder, getTaskUpdates, sortSubtasks, fetchAllTaskGroups, initialTaskDetail, getDueDateValueFromDueDateGroupId, toPriorityCodeType, toTaskStatusCodeType, DueDateGroupKey, toDueDateGroupKeyType, updateTaskFromListView, updateTaskListTab, removeTaskFromList, snoozeTask, unsnoozeTask, convertHHMMStrToMinutes, initialTaskDetailLocalData, TaskListTab, ALL_TASK_LIST_TABS, };
|
|
980
976
|
export { Tag, TagState, TagViewState, getAllTags, TagViewSelectorView, fetchTagList, createTag, deleteTag, };
|
|
981
977
|
export { CardPayment, CardPaymentViewState, SetupIntentData, CardPaymentSelectorView, getAllCardsAndBankPaymentMethods, createCardSetupIntent, confirmCardSetupIntent, addCardPaymentSource, fetchPaymentSources, resetCardPaymentErrorStatuses, clearCardPaymentView, AddCardPaymentSourceType, };
|
|
982
978
|
export { getAuditReportGroupViewSelectorView, getAuditRuleGroupViewSelectorView, getUserFromAllUsers, AuditReportGroupSelectorView, AuditReportGroupViewSelectorView, AuditRuleGroupViewSelectorView, fetchAuditRuleGroupView, fetchAuditReportGroupView, saveReasonForAuditRule, AuditRuleGroup, AuditRuleGroupReport, AuditReportRule, AuditRuleEntityType, AuditRuleEntityIdType, AuditRuleBypassReason, clearAuditReportGroupViewByCompanyId, };
|
|
@@ -1274,6 +1270,7 @@ export { getActualMatchingAmount, getActualMatchingReversalDate, getActualMatchi
|
|
|
1274
1270
|
export type { ExpenseAutomationActualMatchingMatchView } from './view/expenseAutomationView/selectors/actualMatchingViewSelector';
|
|
1275
1271
|
export type { ActualMatchingMatch, ActualMatchingMatchKind, } from './entity/actualMatching/actualMatchingState';
|
|
1276
1272
|
export type { ActualMatchingMatchId } from './entity/actualMatching/actualMatchingTypes';
|
|
1273
|
+
export type { SessionEndpointsLoader } from './sessionEndpointsLoader';
|
|
1277
1274
|
export type { DisplayCurrencyFallback } from './entity/actualMatching/actualMatchingPayload';
|
|
1278
1275
|
export { fetchCustomerSummaryDetail, fetchCustomerSummaryList, resetCustomerSummaryDetailUiState, saveCustomerSummaryDetail, updateCustomerAllTransactionsTabData, updateCustomerDetailSelectedTab, updateCustomerSummaryRevenueSelection, updateCustomerSummaryScrollYOffset, updateCustomerSummarySortUiState, updateCustomerTrendFilter, } from './view/customerSummaryView/customerSummaryViewReducer';
|
|
1279
1276
|
export { getCustomerSummaryAllTransactionsTabData, getCustomerSummaryDetail, getCustomerSummaryList, getCustomerSummarySelectedTabType, getCustomerSummaryTrendFilter, isCustomersTabVisible, } from './view/customerSummaryView/customerSummaryViewSelector';
|