feat: update Action component
update Action component to check allowed by other func first Change-Id: I656d853417dd5969fd5c4f226689111f9043b993
This commit is contained in:
parent
e1893756d6
commit
94b2e8d58f
@ -19,6 +19,7 @@ export async function checkAllowed({
|
|||||||
policy,
|
policy,
|
||||||
aliasPolicy,
|
aliasPolicy,
|
||||||
allowed,
|
allowed,
|
||||||
|
allowedExtra,
|
||||||
containerProps,
|
containerProps,
|
||||||
actionName,
|
actionName,
|
||||||
extra,
|
extra,
|
||||||
@ -38,6 +39,16 @@ export async function checkAllowed({
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
let result = false;
|
let result = false;
|
||||||
|
let allowedExtraResult = true;
|
||||||
|
if (allowedExtra) {
|
||||||
|
allowedExtraResult = allowedExtra({ item, containerProps, extra, action });
|
||||||
|
if (allowedExtraResult instanceof Promise) {
|
||||||
|
allowedExtraResult = await allowedExtraResult;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!allowedExtraResult) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (allowed) {
|
if (allowed) {
|
||||||
result = allowed(item, containerProps, extra);
|
result = allowed(item, containerProps, extra);
|
||||||
if (result instanceof Promise) {
|
if (result instanceof Promise) {
|
||||||
@ -61,6 +72,7 @@ export async function getAllowedResults({
|
|||||||
policy: key ? it[key].policy : it.policy,
|
policy: key ? it[key].policy : it.policy,
|
||||||
aliasPolicy: key ? it[key].aliasPolicy : it.aliasPolicy,
|
aliasPolicy: key ? it[key].aliasPolicy : it.aliasPolicy,
|
||||||
allowed: key ? it[key].allowed : it.allowed,
|
allowed: key ? it[key].allowed : it.allowed,
|
||||||
|
allowedExtra: key ? it[key].allowedExtra : it.allowedExtra,
|
||||||
containerProps,
|
containerProps,
|
||||||
actionName: key ? it[key].title : it.title,
|
actionName: key ? it[key].title : it.title,
|
||||||
extra,
|
extra,
|
||||||
|
Loading…
Reference in New Issue
Block a user