fix: properly handle hidden field in tab routing (#6366)

* fix: format code and improve readability in routesTableSchema.tsx

* fix: properly handle hidden field in tab routing
This commit is contained in:
Zeke Zhang 2025-03-07 11:58:18 +08:00 committed by GitHub
parent 1c07aecdb4
commit 28500dd114
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -411,6 +411,18 @@ export const createRoutesTableSchema = (collectionName: string, basename: string
};
}
const childrenObj: any = {};
if (tabSchemaUid) {
childrenObj.children = [
{
schemaUid: tabSchemaUid,
type: NocoBaseDesktopRouteType.tabs,
tabSchemaName,
hidden: !form.values?.enableTabs,
},
];
}
const res = await createRoute({
..._.omit(form.values, ['href', 'params', 'url']),
schemaUid:
@ -419,18 +431,9 @@ export const createRoutesTableSchema = (collectionName: string, basename: string
: menuSchemaUid,
menuSchemaUid,
options,
...childrenObj,
});
if (tabSchemaUid) {
await createRoute({
schemaUid: tabSchemaUid,
parentId: res?.data?.data?.id,
type: NocoBaseDesktopRouteType.tabs,
tabSchemaName,
hidden: true,
});
}
ctx.setVisible(false);
actionCallback?.(res?.data?.data);
await form.reset();
@ -1207,6 +1210,7 @@ export const createRoutesTableSchema = (collectionName: string, basename: string
const resource = useMemo(() => api.resource(collectionName), [api]);
const { getDataBlockRequest } = useDataBlockRequestGetter();
const { deleteRouteSchema } = useDeleteRouteSchema();
const { refresh: refreshMenu } = useAllAccessDesktopRoutes();
return {
onClick: async () => {
@ -1217,6 +1221,7 @@ export const createRoutesTableSchema = (collectionName: string, basename: string
})
.then(() => {
getDataBlockRequest().refresh();
refreshMenu();
})
.catch((error) => {
console.error(error);