feat: update Action component

update Action component to check allowed by other func first

Change-Id: I656d853417dd5969fd5c4f226689111f9043b993
This commit is contained in:
Jingwei.Zhang 2023-09-01 17:30:51 +08:00
parent e1893756d6
commit 94b2e8d58f

View File

@ -19,6 +19,7 @@ export async function checkAllowed({
policy,
aliasPolicy,
allowed,
allowedExtra,
containerProps,
actionName,
extra,
@ -38,6 +39,16 @@ export async function checkAllowed({
return 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) {
result = allowed(item, containerProps, extra);
if (result instanceof Promise) {
@ -61,6 +72,7 @@ export async function getAllowedResults({
policy: key ? it[key].policy : it.policy,
aliasPolicy: key ? it[key].aliasPolicy : it.aliasPolicy,
allowed: key ? it[key].allowed : it.allowed,
allowedExtra: key ? it[key].allowedExtra : it.allowedExtra,
containerProps,
actionName: key ? it[key].title : it.title,
extra,