in src/utils/AuthRoute.js [92:128]
export function getAuthMenus(menus, permissions, beginCache) {
let authMenus = [];
if (beginCache && authMenusCache && Object.keys(authMenusCache).length > 0) {
let locale = window.sessionStorage.getItem("locale");
let authCacheMenus = authMenusCache[locale];
if (authCacheMenus && authCacheMenus.length > 0) {
return authCacheMenus;
}
}
if (menus && menus.length > 0) {
setMenuIconAndSort(menus, permissions);
authMenus = JSON.parse(JSON.stringify(menus));
authMenus.forEach(m => {
if (checkMenuAuth(m.path, permissions)) {
filterTree(m, menuItem => {
if (menuItem.children && menuItem.children.length > 0) {
let newChildren = [];
menuItem.children.forEach(menuChildItem => {
if (checkMenuAuth(menuChildItem.path, permissions)) {
newChildren.push(menuChildItem);
}
});
menuItem.children = newChildren;
}
});
} else {
m.deleted = true;
}
});
authMenus = authMenus.filter(e => !e.deleted);
}
if (beginCache) {
let locale = window.sessionStorage.getItem("locale");
authMenusCache[locale] = authMenus;
}
return authMenus;
}