@zeniai/client-epic-state 4.13.99 → 4.14.1
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/view/companyView/types/cockpitTypes.d.ts +1 -1
- package/lib/view/companyView/types/cockpitTypes.js +1 -0
- package/lib/view/onboardingView/cockpitView/onboardingCockpitViewReducer.js +1 -1
- package/lib/view/onboardingView/cockpitView/onboardingCockpitViewSelector.js +12 -1
- package/lib/view/transactionDetail/epics/saveTransactionDetailEpic.js +1 -3
- package/lib/view/transactionDetail/epics/saveTransactionHelper.d.ts +1 -1
- package/lib/view/transactionDetail/epics/saveTransactionHelper.js +2 -3
- package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +8 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ import { FilterCategoryValueType } from '../helpers/cockpitHelpers';
|
|
|
5
5
|
import { CockpitDownloadTabsID, CockpitTabsFileType } from './cockpitTabsID';
|
|
6
6
|
export declare const toPortfolioSortKeyType: (v: string) => "expenses" | "runway" | "cashBalance" | "netIncome" | "companyName" | "revenues";
|
|
7
7
|
export declare const toManagementSortKeyType: (v: string) => "status" | "group" | "bookCloseDate" | "controller" | "preparer" | "reviewer" | "companyName" | "monthlyRecurringRevenue" | "annualRecurringRevenue" | "taxStatus" | "notes" | "plans" | "customerSuccessManager" | "task" | "apAnalyst" | "reportSent" | "taxLead" | "satisfaction";
|
|
8
|
-
export declare const toOnboardingSortKeyType: (v: string) => "companyName" | "notes" | "bankAccountLinked" | "qboLinked" | "identityVerified" | "businessVerified" | "groupCreated" | "customerCreated" | "enroller" | "invite";
|
|
8
|
+
export declare const toOnboardingSortKeyType: (v: string) => "companyName" | "notes" | "bankAccountLinked" | "qboLinked" | "identityVerified" | "businessVerified" | "groupCreated" | "customerCreated" | "enroller" | "invite" | "latestCreated";
|
|
9
9
|
export declare const toHealthSortKeyType: (v: string) => "group" | "runway" | "controller" | "companyName" | "monthlyRecurringRevenue" | "customerSatisfactionScore" | "netPromoterScore" | "customerSuccessManager" | "lastReportSent" | "externalProductServiceExposure" | "finOpsEngagementFrequency" | "companyEngagementMetricsUpdatedAt" | "issues" | "productVerticals" | "churnProbability" | "subscriptionDate" | "renewalDate";
|
|
10
10
|
export declare const toTaskManagerSortKeyType: (v: string) => "priority" | "name" | "status" | "dueDate" | "taskName" | "assignee" | "tags" | "createdBy";
|
|
11
11
|
export declare type PortfolioViewSortKey = ReturnType<typeof toPortfolioSortKeyType>;
|
|
@@ -133,6 +133,7 @@ const getSortedOnboardingCustomers = (onboardingCustomers, sortKey, sortOrder, u
|
|
|
133
133
|
var _a;
|
|
134
134
|
switch (sortKey) {
|
|
135
135
|
case 'companyName':
|
|
136
|
+
case 'latestCreated':
|
|
136
137
|
case 'groupCreated':
|
|
137
138
|
case 'customerCreated':
|
|
138
139
|
case 'bankAccountLinked':
|
|
@@ -161,9 +162,19 @@ const getSortedOnboardingCustomers = (onboardingCustomers, sortKey, sortOrder, u
|
|
|
161
162
|
break;
|
|
162
163
|
}
|
|
163
164
|
});
|
|
165
|
+
const appliedSortOrder = () => {
|
|
166
|
+
if (sortKey === 'latestCreated') {
|
|
167
|
+
return 'desc';
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
return sortOrder === 'ascending' ? 'asc' : 'desc';
|
|
171
|
+
}
|
|
172
|
+
};
|
|
164
173
|
const sortedCompaniesWithSortKeyValue = (0, orderBy_1.default)(companiesWithSortKeyValue, (company) => {
|
|
165
174
|
var _a, _b, _c, _d, _e, _f;
|
|
166
175
|
switch (sortKey) {
|
|
176
|
+
case 'latestCreated':
|
|
177
|
+
return company.company.company.companyInfo.createTime;
|
|
167
178
|
case 'companyName':
|
|
168
179
|
return Boolean(company.company.company.companyInfo.name) === true
|
|
169
180
|
? company.company.company.companyInfo.name.toLowerCase()
|
|
@@ -185,7 +196,7 @@ const getSortedOnboardingCustomers = (onboardingCustomers, sortKey, sortOrder, u
|
|
|
185
196
|
default:
|
|
186
197
|
return (_f = company.company.company.managementInfo.companyGroupId) === null || _f === void 0 ? void 0 : _f.toLowerCase();
|
|
187
198
|
}
|
|
188
|
-
},
|
|
199
|
+
}, appliedSortOrder());
|
|
189
200
|
return [...sortedCompaniesWithSortKeyValue, ...companiesWithNoSortKeyValue];
|
|
190
201
|
};
|
|
191
202
|
/**
|
|
@@ -10,7 +10,6 @@ const operators_1 = require("rxjs/operators");
|
|
|
10
10
|
const transactionDetailReducer_1 = require("../transactionDetailReducer");
|
|
11
11
|
const transactionDetailState_1 = require("../transactionDetailState");
|
|
12
12
|
const saveTransactionHelper_1 = require("./saveTransactionHelper");
|
|
13
|
-
const accountListSelector_1 = require("../../accountList/accountListSelector");
|
|
14
13
|
const transactionSelector_1 = require("../../../entity/transaction/transactionSelector");
|
|
15
14
|
const saveTransactionDetailEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(transactionDetailReducer_1.saveTransactionDetail.match), (0, operators_1.mergeMap)((action) => {
|
|
16
15
|
const transactionId = action.payload.transactionId;
|
|
@@ -22,9 +21,8 @@ const saveTransactionDetailEpic = (actions$, state$) => actions$.pipe((0, operat
|
|
|
22
21
|
const detail = (0, get_1.default)(transactionDetailState.transactionDetailById, key, undefined);
|
|
23
22
|
const transaction = (0, transactionSelector_1.getSupportedTransactionById)(transactionState, key);
|
|
24
23
|
if (detail != null && transaction != null) {
|
|
25
|
-
const uncategorizedIncomeExpense = (0, accountListSelector_1.getUncategorizedAccounts)(state$.value.accountState, state$.value.accountListState, 'accountList');
|
|
26
24
|
const localData = detail.transactionDetailLocalData;
|
|
27
|
-
const transactionSaveUpdates = (0, saveTransactionHelper_1.toTransactionUpdatesFromTransactionDetailLocalData)(localData, transaction,
|
|
25
|
+
const transactionSaveUpdates = (0, saveTransactionHelper_1.toTransactionUpdatesFromTransactionDetailLocalData)(localData, transaction, isExpenseAutomationEnabled);
|
|
28
26
|
fetchActions.push((0, transactionDetailReducer_1.updateTransactionDetail)(transactionId, transactionSaveUpdates));
|
|
29
27
|
return (0, rxjs_1.from)(fetchActions);
|
|
30
28
|
}
|
|
@@ -21,7 +21,7 @@ import { TransactionDetailLocalData } from '../transactionDetailTypes';
|
|
|
21
21
|
* 4. Only difference between this and Miscategorized will be that we will
|
|
22
22
|
* additionally fire “Mark as not miscat” for every point above.
|
|
23
23
|
*/
|
|
24
|
-
export declare const toTransactionUpdatesFromTransactionDetailLocalData: (transactionDetailLocalData: TransactionDetailLocalData, transaction: SupportedTransaction,
|
|
24
|
+
export declare const toTransactionUpdatesFromTransactionDetailLocalData: (transactionDetailLocalData: TransactionDetailLocalData, transaction: SupportedTransaction, isExpenseAutomationEnabled: boolean) => TransactionSaveUpdates;
|
|
25
25
|
export declare const toRecommendedAccountBase: (amountValue: number, accountBase?: AccountBase | undefined, recommendationBase?: RecommendationBase | undefined) => RecommendedAccountBase | undefined;
|
|
26
26
|
export declare const toRecommendedClassBase: (amountValue: number, classBase?: ClassBase | undefined, recommendationBase?: RecommendationBase | undefined) => RecommendedClassBase | undefined;
|
|
27
27
|
export declare const isTransactionMiscategorized: (transaction: SupportedTransaction, isExpenseAutomationEnabled: boolean) => boolean;
|
|
@@ -24,7 +24,7 @@ const recommendationState_1 = require("../../recommendation/recommendationState"
|
|
|
24
24
|
* 4. Only difference between this and Miscategorized will be that we will
|
|
25
25
|
* additionally fire “Mark as not miscat” for every point above.
|
|
26
26
|
*/
|
|
27
|
-
const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDetailLocalData, transaction,
|
|
27
|
+
const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDetailLocalData, transaction, isExpenseAutomationEnabled) => {
|
|
28
28
|
var _a, _b, _c;
|
|
29
29
|
const updates = {
|
|
30
30
|
updatesByLineId: {},
|
|
@@ -32,7 +32,6 @@ const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDetailLoc
|
|
|
32
32
|
const updatesByLineId = {};
|
|
33
33
|
const entityUpdates = {};
|
|
34
34
|
const isTransactionMisCategorized = (0, exports.isTransactionMiscategorized)(transaction, isExpenseAutomationEnabled);
|
|
35
|
-
const isTransactionUnCategorized = (0, exports.isTransactionUncategorized)(transaction, uncategorizedIncomeExpense);
|
|
36
35
|
updates.memo = transactionDetailLocalData.memo;
|
|
37
36
|
const updatedEntityId = transactionDetailLocalData.updatePreviousTransactionsWithUpdatedVendor ===
|
|
38
37
|
true
|
|
@@ -138,7 +137,7 @@ const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDetailLoc
|
|
|
138
137
|
entityRelatedUpdates: entityUpdates,
|
|
139
138
|
/*Note: We need to call `mark-miscategorized-as-correct` api only when any of the line item is miscategorized
|
|
140
139
|
and all the line items are NOT uncategorized*/
|
|
141
|
-
markAsMiscatUpdates: isTransactionMisCategorized
|
|
140
|
+
markAsMiscatUpdates: isTransactionMisCategorized,
|
|
142
141
|
anyBulkUpdates: isBulkUpdate,
|
|
143
142
|
};
|
|
144
143
|
};
|
|
@@ -25,6 +25,9 @@ const vendorSelector_1 = require("../../../entity/vendor/vendorSelector");
|
|
|
25
25
|
const vendorReducer_1 = require("../../../entity/vendor/vendorReducer");
|
|
26
26
|
const transactionSelector_1 = require("../../../entity/transaction/transactionSelector");
|
|
27
27
|
const transactionType_1 = require("../../../entity/transaction/stateTypes/transactionType");
|
|
28
|
+
const accountListSelector_1 = require("../../accountList/accountListSelector");
|
|
29
|
+
const toSupportedTransaction_1 = __importDefault(require("../../../entity/transaction/toSupportedTransaction"));
|
|
30
|
+
const saveTransactionHelper_1 = require("./saveTransactionHelper");
|
|
28
31
|
const updateTransactionDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(transactionDetailReducer_1.updateTransactionDetail.match), (0, operators_1.mergeMap)((action) => {
|
|
29
32
|
const { transactionState, vendorState, transactionDetailState } = state$.value;
|
|
30
33
|
return zeniAPI
|
|
@@ -76,9 +79,13 @@ const updateTransactionDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe
|
|
|
76
79
|
callMarkTransactionAsNotMiscategorized = false;
|
|
77
80
|
}
|
|
78
81
|
}
|
|
82
|
+
const uncategorizedIncomeExpense = (0, accountListSelector_1.getUncategorizedAccounts)(state$.value.accountState, state$.value.accountListState, 'accountList');
|
|
83
|
+
const transaction = (0, toSupportedTransaction_1.default)(response.data.transaction);
|
|
84
|
+
const isTransactionUnCategorized = (0, saveTransactionHelper_1.isTransactionUncategorized)(transaction, uncategorizedIncomeExpense);
|
|
79
85
|
if (action.payload.transactionSaveUpdates.markAsMiscatUpdates ===
|
|
80
86
|
true &&
|
|
81
|
-
callMarkTransactionAsNotMiscategorized === true
|
|
87
|
+
callMarkTransactionAsNotMiscategorized === true &&
|
|
88
|
+
isTransactionUnCategorized === false) {
|
|
82
89
|
actions.push((0, transactionDetailReducer_1.markTransactionAsNotMiscategorized)(transactionIdResp, action.payload.transactionSaveUpdates));
|
|
83
90
|
}
|
|
84
91
|
else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.14.1",
|
|
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
|
"types": "lib/index.d.ts",
|