diff --git a/packages/core/client/src/collection-manager/CollectionManagerProvider.tsx b/packages/core/client/src/collection-manager/CollectionManagerProvider.tsx
index 46ac952c78..48ad0fb174 100644
--- a/packages/core/client/src/collection-manager/CollectionManagerProvider.tsx
+++ b/packages/core/client/src/collection-manager/CollectionManagerProvider.tsx
@@ -45,11 +45,19 @@ export const RemoteCollectionManagerProvider = (props: any) => {
sort: ['sort'],
},
};
+ const coptions = {
+ url: 'collectionCategories:list',
+ params: {
+ paginate: false,
+ sort: ['sort'],
+ },
+ };
const service = useRequest(options);
+ const result = useRequest(coptions);
+
if (service.loading) {
return ;
}
-
const refreshCM = async (opts) => {
if (opts?.reload) {
setContentLoading(true);
@@ -62,40 +70,32 @@ export const RemoteCollectionManagerProvider = (props: any) => {
}
return data?.data || [];
};
+ const refreshCategory = async () => {
+ const { data } = await api.request(coptions);
+ result.mutate(data);
+ return data?.data || [];
+ };
return (
-
+
+
+
);
};
export const CollectionCategroriesProvider = (props) => {
- const api = useAPIClient();
- const options = {
- url: 'collectionCategories:list',
- params: {
- paginate: false,
- sort: ['sort'],
- },
- };
- const result = useRequest(options);
- if (result.loading) {
- return ;
- }
+ const { service, refreshCategory } = props;
return (
{
- const { data } = await api.request(options);
- result.mutate(data);
- return data?.data || [];
- },
+ data: service?.data?.data,
+ refresh: refreshCategory,
+ ...props
}}
>
{props.children}
diff --git a/packages/core/client/src/collection-manager/CollectionManagerShortcut.tsx b/packages/core/client/src/collection-manager/CollectionManagerShortcut.tsx
index a5e3eafc01..656fdcd47e 100644
--- a/packages/core/client/src/collection-manager/CollectionManagerShortcut.tsx
+++ b/packages/core/client/src/collection-manager/CollectionManagerShortcut.tsx
@@ -50,7 +50,7 @@ const schema2: ISchema = {
type: 'object',
properties: {
[uid()]: {
- 'x-decorator': 'CollectionCategroriesProvider',
+ // 'x-decorator': 'CollectionCategroriesProvider',
'x-component': 'ConfigurationTable',
},
},
diff --git a/packages/plugins/graph-collection-manager/src/client/GraphDrawPage.tsx b/packages/plugins/graph-collection-manager/src/client/GraphDrawPage.tsx
index 6119d2eedf..ea24dd984b 100644
--- a/packages/plugins/graph-collection-manager/src/client/GraphDrawPage.tsx
+++ b/packages/plugins/graph-collection-manager/src/client/GraphDrawPage.tsx
@@ -24,6 +24,7 @@ import {
useCompile,
useCurrentAppInfo,
CollectionCategroriesProvider,
+ CollectionCategroriesContext,
} from '@nocobase/client';
import { useFullscreen } from 'ahooks';
import { Button, Input, Layout, Menu, Popover, Switch, Tooltip } from 'antd';
@@ -374,6 +375,7 @@ export const GraphDrawPage = React.memo(() => {
const {
data: { database },
} = useCurrentAppInfo();
+ const categoryCtx = useContext(CollectionCategroriesContext);
const scope = { ...options?.scope };
const components = { ...options?.components };
const useSaveGraphPositionAction = async (data) => {
@@ -504,7 +506,7 @@ export const GraphDrawPage = React.memo(() => {
-
+
{
- return categoryData.data.map((item: any) => ({
+ return categoryData?.data.map((item: any) => ({
label: compile(item.name),
value: item.id,
}));