perf(projects): perf code
This commit is contained in:
parent
87143172e8
commit
5c49d24504
@ -48,20 +48,30 @@ function filterAuthRouteByRoles(route: ElegantConstRoute, roles: string[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sort routes by order
|
* sort route by order
|
||||||
*
|
*
|
||||||
* @param routes An array of routes
|
* @param route route
|
||||||
* @returns A new array of routes sorted by order
|
|
||||||
*
|
|
||||||
* This function sorts the routes by their order property, which is a number. If the order property is missing or
|
|
||||||
* invalid, it is treated as 0. The routes with lower order values are placed before the routes with higher order
|
|
||||||
* values. The function also sorts the children routes recursively, if any.
|
|
||||||
*/
|
*/
|
||||||
export const sortRoutesByOrder = (routes: ElegantConstRoute[]): ElegantConstRoute[] => {
|
function sortRouteByOrder(route: ElegantConstRoute) {
|
||||||
return routes
|
if (route.children?.length) {
|
||||||
.sort((next, prev) => (Number(next.meta?.order) || 0) - (Number(prev.meta?.order) || 0))
|
route.children.sort((next, prev) => (Number(next.meta?.order) || 0) - (Number(prev.meta?.order) || 0));
|
||||||
.map(route => (route.children ? { ...route, children: sortRoutesByOrder(route.children) } : route));
|
route.children.forEach(sortRouteByOrder);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
return route;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sort routes by order
|
||||||
|
*
|
||||||
|
* @param routes routes
|
||||||
|
*/
|
||||||
|
export function sortRoutesByOrder(routes: ElegantConstRoute[]) {
|
||||||
|
routes.sort((next, prev) => (Number(next.meta?.order) || 0) - (Number(prev.meta?.order) || 0));
|
||||||
|
routes.forEach(sortRouteByOrder);
|
||||||
|
|
||||||
|
return routes;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get global menus by auth routes
|
* Get global menus by auth routes
|
||||||
|
Loading…
Reference in New Issue
Block a user