UNPKG

@orca-fe/pocket

Version:

UI components by orca-team

58 lines 1.61 kB
export function findSelectedMenuIndex(path, menu, key = 'path') { for (var i = 0; i < menu.length; i++) { var m = menu[i]; if (m[key] === path) { return [i]; } if (m.children) { var res = findSelectedMenuIndex(path, m.children, key); if (res.length > 0) { return [i, ...res]; } } } return []; } export function findSelectedMenuIndexTraverse(path, menu, key = 'path') { var pathArr = path.split('/'); var length = pathArr.length; var res = []; while (res.length === 0 && length > 1) { var p = pathArr.slice(0, length).join('/'); res = findSelectedMenuIndex(p, menu, key); length -= 1; } return res; } export function findSelectedMenuKey(path, menu, key = 'path') { var indexs = findSelectedMenuIndexTraverse(path, menu, key); var res = []; var _menu = menu; for (var i = 0; i < indexs.length; i++) { var _menu2; var menuIndex = indexs[i]; if ((_menu2 = _menu) !== null && _menu2 !== void 0 && _menu2[menuIndex]) { res.push(_menu[menuIndex].key); _menu = _menu[menuIndex].children; } else { return []; } } return res; } export function findSelectedMenu(path, menu, key = 'path') { var indexs = findSelectedMenuIndexTraverse(path, menu, key); var res = []; var _menu = menu; for (var i = 0; i < indexs.length; i++) { var _menu3; var menuIndex = indexs[i]; if ((_menu3 = _menu) !== null && _menu3 !== void 0 && _menu3[menuIndex]) { res.push(_menu[menuIndex]); _menu = _menu[menuIndex].children; } else { return []; } } return res; }