mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
feat(components): add GlobalSearch components
This commit is contained in:
@ -19,6 +19,7 @@ import {
|
||||
getSelectedMenuKeyPathByKey,
|
||||
isRouteExistByRouteName,
|
||||
sortRoutesByOrder,
|
||||
transformMenuToSearchMenus,
|
||||
updateLocaleOfGlobalMenus
|
||||
} from './shared';
|
||||
|
||||
@ -52,6 +53,7 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => {
|
||||
|
||||
/** Global menus */
|
||||
const menus = ref<App.Global.Menu[]>([]);
|
||||
const searchMenus = computed(() => transformMenuToSearchMenus(menus.value));
|
||||
|
||||
/** Get global menus */
|
||||
function getGlobalMenus(routes: ElegantConstRoute[]) {
|
||||
@ -275,6 +277,7 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => {
|
||||
resetStore,
|
||||
routeHome,
|
||||
menus,
|
||||
searchMenus,
|
||||
updateGlobalMenusByLocale,
|
||||
cacheRoutes,
|
||||
reCacheRoutesByKey,
|
||||
|
@ -310,3 +310,22 @@ export function getBreadcrumbsByRoute(
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform menu to searchMenus
|
||||
*
|
||||
* @param menus - menus
|
||||
* @param treeMap
|
||||
*/
|
||||
export function transformMenuToSearchMenus(menus: App.Global.Menu[], treeMap: App.Global.Menu[] = []) {
|
||||
if (menus && menus.length === 0) return [];
|
||||
return menus.reduce((acc, cur) => {
|
||||
if (!cur.children) {
|
||||
acc.push(cur);
|
||||
}
|
||||
if (cur.children && cur.children.length > 0) {
|
||||
transformMenuToSearchMenus(cur.children, treeMap);
|
||||
}
|
||||
return acc;
|
||||
}, treeMap);
|
||||
}
|
||||
|
Reference in New Issue
Block a user