@zeniai/client-epic-state 5.3.26 → 5.3.28
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/approvalRule/approvalRuleSelector.d.ts +8 -1
- package/lib/entity/approvalRule/approvalRuleSelector.js +12 -0
- package/lib/entity/approvalRule/attributeApprovers.d.ts +26 -0
- package/lib/entity/approvalRule/attributeApprovers.js +39 -0
- package/lib/entity/vendor/vendorPayload.js +1 -1
- package/lib/entity/vendor/vendorState.d.ts +6 -1
- package/lib/esm/entity/approvalRule/approvalRuleSelector.js +11 -0
- package/lib/esm/entity/approvalRule/attributeApprovers.js +35 -0
- package/lib/esm/entity/vendor/vendorPayload.js +1 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/view/commonVendorView/transactionVendorView/transactionVendorLocalDataHelper.js +1 -1
- package/lib/esm/view/commonVendorView/vendorView/epics/vendorDetailLocalDataHelpers.js +1 -1
- package/lib/esm/view/commonVendorView/vendorsTabVendorView/epics/vendorsTabVendorDetailLocalDataHelpers.js +1 -1
- package/lib/esm/view/spendManagement/billPay/billDetailView/billDetailViewSelector.js +1 -1
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +30 -16
- package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +6 -0
- package/lib/esm/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +6 -1
- package/lib/esm/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +6 -0
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiApproversListEpic.js +7 -3
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +7 -1
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewSelector.js +31 -17
- package/lib/index.d.ts +2 -1
- package/lib/index.js +30 -28
- package/lib/view/commonVendorView/transactionVendorView/transactionVendorLocalDataHelper.js +1 -1
- package/lib/view/commonVendorView/vendorView/epics/vendorDetailLocalDataHelpers.js +1 -1
- package/lib/view/commonVendorView/vendorsTabVendorView/epics/vendorsTabVendorDetailLocalDataHelpers.js +1 -1
- package/lib/view/spendManagement/billPay/billDetailView/billDetailViewSelector.js +1 -1
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +29 -15
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelectorTypes.d.ts +1 -0
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +7 -0
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +6 -0
- package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.d.ts +8 -0
- package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +6 -1
- package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.d.ts +2 -1
- package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +6 -0
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiApproversListEpic.js +7 -3
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.d.ts +2 -2
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +7 -1
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewSelector.js +30 -16
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewSelectorTypes.d.ts +1 -0
- package/package.json +1 -1
package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js
CHANGED
|
@@ -88,11 +88,17 @@ const remiSetupApproverView = (0, toolkit_1.createSlice)({
|
|
|
88
88
|
},
|
|
89
89
|
},
|
|
90
90
|
fetchRemiApproversList: {
|
|
91
|
-
reducer(draft) {
|
|
91
|
+
reducer(draft, action) {
|
|
92
92
|
draft.approverListState.fetchStatus = {
|
|
93
93
|
fetchState: 'In-Progress',
|
|
94
94
|
error: undefined,
|
|
95
95
|
};
|
|
96
|
+
// The attribute mapping is specific to `lastUpdatedByUserId`; drop the
|
|
97
|
+
// previous user's mapping so it is never shown for someone else while
|
|
98
|
+
// the new one loads.
|
|
99
|
+
if (action.payload.includeAttributesUserIds === true) {
|
|
100
|
+
draft.approverListState.attributeSubTypeToUserIdMapping = undefined;
|
|
101
|
+
}
|
|
96
102
|
},
|
|
97
103
|
prepare(cacheOverride = false, includeUserRoles = true, includeAttributesUserIds = false, lastUpdatedByUserId = undefined) {
|
|
98
104
|
return {
|
|
@@ -16,23 +16,36 @@ const getRemiSetupApproverView = (state, filterAdmins = true) => {
|
|
|
16
16
|
const { approvalRulesDeleteStatusById, approvalRuleIds, approverListState, fetchState, error, listeningToPusherEvent, newApprovalRuleId, } = remiSetupApproverViewState;
|
|
17
17
|
const deleteStateList = Object.values(approvalRulesDeleteStatusById);
|
|
18
18
|
const approvalRules = (0, approvalRuleSelector_1.getApprovalRulesByIds)(approvalRuleState, approvalRuleIds);
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
32
|
-
}),
|
|
33
|
-
};
|
|
34
|
-
return approvalRuleWithUser;
|
|
19
|
+
const toStepWithUser = (step) => ({
|
|
20
|
+
...step,
|
|
21
|
+
actors: step.actors
|
|
22
|
+
.filter((actor) => actor.userId != null)
|
|
23
|
+
.map((actor) => (0, userSelector_1.getUserByUserId)(userState, actor.userId))
|
|
24
|
+
.filter((user) => user != null),
|
|
25
|
+
nonUserActors: step.actors.filter((actor) => actor.type !== 'user' &&
|
|
26
|
+
(filterAdmins ? actor.isImplicitActor === false : true)),
|
|
27
|
+
});
|
|
28
|
+
const toApprovalRuleWithUser = (approvalRule) => ({
|
|
29
|
+
...approvalRule,
|
|
30
|
+
steps: approvalRule.steps.map(toStepWithUser),
|
|
35
31
|
});
|
|
32
|
+
const allApprovalRules = approvalRules.map(toApprovalRuleWithUser);
|
|
33
|
+
// Exposed separately so the new-reimbursement preview can show it when no other
|
|
34
|
+
// rule matches. (It is also in allApprovalRules; the rules pages filter it
|
|
35
|
+
// out by `isFallback`.)
|
|
36
|
+
const fallbackApprovalRule = (0, approvalRuleSelector_1.getFallbackApprovalRule)(approvalRuleState, 'reimbursement');
|
|
37
|
+
// A fallback step shows its implicit Admin only when it has no explicit
|
|
38
|
+
// approver, regardless of `filterAdmins` (same as bills; see
|
|
39
|
+
// getFallbackStepNonUserActors).
|
|
40
|
+
const fallbackRule = fallbackApprovalRule != null
|
|
41
|
+
? {
|
|
42
|
+
...fallbackApprovalRule,
|
|
43
|
+
steps: fallbackApprovalRule.steps.map((step) => ({
|
|
44
|
+
...toStepWithUser(step),
|
|
45
|
+
nonUserActors: (0, approvalRuleSelector_1.getFallbackStepNonUserActors)(step),
|
|
46
|
+
})),
|
|
47
|
+
}
|
|
48
|
+
: undefined;
|
|
36
49
|
const approvalRulesStatus = allApprovalRules.length > 0
|
|
37
50
|
? {
|
|
38
51
|
code: 'created',
|
|
@@ -47,6 +60,7 @@ const getRemiSetupApproverView = (state, filterAdmins = true) => {
|
|
|
47
60
|
const inactiveApproverIds = Array.from(referencedApproverIds).filter((userId) => !activeApproverIds.has(userId));
|
|
48
61
|
return {
|
|
49
62
|
allApprovalRules,
|
|
63
|
+
fallbackRule,
|
|
50
64
|
deleteStatus: (0, reduceFetchState_1.reduceAnyFetchState)(deleteStateList),
|
|
51
65
|
approvalRulesStatus,
|
|
52
66
|
approverListFetchStatus: approverListState.fetchStatus,
|
|
@@ -51,6 +51,7 @@ export interface RemiSetupApproverView extends SelectorView {
|
|
|
51
51
|
approverListFetchStatus: FetchStateAndError;
|
|
52
52
|
deleteStatus: FetchStateAndError;
|
|
53
53
|
inactiveApproverIds: ID[];
|
|
54
|
+
fallbackRule?: ApprovalRuleWithUser;
|
|
54
55
|
listeningToPusherEvent?: boolean;
|
|
55
56
|
newApprovalRuleId?: ID;
|
|
56
57
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.28",
|
|
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",
|