nocobase/packages/client/src/acl/Configuration/schemas/useRoleResourceValues.ts
2022-02-26 23:03:58 +08:00

32 lines
747 B
TypeScript

import { useEffect } from 'react';
import { useActionContext, useRecord, useRequest } from '../../../';
export const useRoleResourceValues = (options) => {
const record = useRecord();
const { visible } = useActionContext();
const result = useRequest(
{
resource: 'roles.resources',
resourceOf: record.roleName,
action: 'get',
params: {
appends: ['actions', 'actions.scope'],
filterByTk: record.name,
},
},
{ ...options, manual: true },
);
useEffect(() => {
if (record.usingConfig === 'strategy') {
options.onSuccess({
data: {},
});
return;
}
if (visible) {
result.run();
}
}, [visible, record.usingConfig]);
return result;
};