mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 13:39:24 +08:00
fix: role data source collection operation permissions list loading issue (#6431)
* fix: role data source collection operation permissions list loading issue * fix: bug
This commit is contained in:
parent
33a46a6645
commit
c2a95fcbe9
@ -59,12 +59,16 @@ export const PermissionProvider = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
export const CurrentDataSourceKey = createContext({ dataSourceKey: 'main' });
|
||||
|
||||
export const RoleRecordProvider = (props) => {
|
||||
const role = useContext(CurrentRolesContext);
|
||||
const record = useRecord();
|
||||
return (
|
||||
<RecordContext_deprecated.Provider value={{ ...role }}>
|
||||
<SchemaComponentOptions scope={{ dataSourceKey: record.key }}>{props.children}</SchemaComponentOptions>
|
||||
<CurrentDataSourceKey.Provider value={{ dataSourceKey: record.key }}>
|
||||
<SchemaComponentOptions scope={{ dataSourceKey: record.key }}>{props.children}</SchemaComponentOptions>
|
||||
</CurrentDataSourceKey.Provider>
|
||||
</RecordContext_deprecated.Provider>
|
||||
);
|
||||
};
|
||||
|
@ -0,0 +1,36 @@
|
||||
/**
|
||||
* This file is part of the NocoBase (R) project.
|
||||
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
||||
* Authors: NocoBase Team.
|
||||
*
|
||||
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
||||
* For more information, please refer to: https://www.nocobase.com/agreement.
|
||||
*/
|
||||
|
||||
import React, { useContext } from 'react';
|
||||
import { ResourceActionProvider, useRecord } from '@nocobase/client';
|
||||
import { CurrentDataSourceKey } from './PermisionProvider';
|
||||
|
||||
export const PermissionResourceActionProvider = (props) => {
|
||||
const { dataSourceKey } = useContext(CurrentDataSourceKey);
|
||||
const record = useRecord();
|
||||
console.log(props, record.key, dataSourceKey);
|
||||
|
||||
// 创建一个新的请求对象,并添加 dataSourceKey
|
||||
const modifiedRequest = {
|
||||
...props.request,
|
||||
params: {
|
||||
...props.request.params,
|
||||
filter: {
|
||||
...props.request.params.filter,
|
||||
dataSourceKey, // 添加 dataSourceKey 到 filter
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
return (
|
||||
<ResourceActionProvider {...props} request={modifiedRequest}>
|
||||
{props.children}
|
||||
</ResourceActionProvider>
|
||||
);
|
||||
};
|
@ -11,7 +11,7 @@ import { ISchema } from '@formily/react';
|
||||
import { uid } from '@formily/shared';
|
||||
import { useRoleResourceValues } from './useRoleResourceValues';
|
||||
import { useSaveRoleResourceAction } from './useSaveRoleResourceAction';
|
||||
|
||||
import { PermissionResourceActionProvider } from '../PermissionResourceActionProvider';
|
||||
const collection = {
|
||||
name: 'dataSourcesCollections',
|
||||
targetKey: 'name',
|
||||
@ -82,9 +82,9 @@ export const roleCollectionsSchema: ISchema = {
|
||||
type: 'void',
|
||||
'x-decorator': 'RoleRecordProvider',
|
||||
properties: {
|
||||
block: {
|
||||
[uid()]: {
|
||||
type: 'void',
|
||||
'x-decorator': 'ResourceActionProvider',
|
||||
'x-decorator': PermissionResourceActionProvider,
|
||||
'x-decorator-props': {
|
||||
collection,
|
||||
association: {
|
||||
|
Loading…
x
Reference in New Issue
Block a user