@ant-design/pro-layout
Version:
68 lines (67 loc) • 2.09 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.clearMenuItem = clearMenuItem;
exports.genStringToTheme = genStringToTheme;
exports.getOpenKeysFromMenuData = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var getOpenKeysFromMenuData = exports.getOpenKeysFromMenuData = function getOpenKeysFromMenuData(menuData) {
return (menuData || []).reduce(function (pre, item) {
if (item.key) {
pre.push(item.key);
}
if (item.children || item.routes) {
var newArray = pre.concat(getOpenKeysFromMenuData(item.children || item.routes) || []);
return newArray;
}
return pre;
}, []);
};
var themeConfig = {
techBlue: '#1677FF',
daybreak: '#1890ff',
dust: '#F5222D',
volcano: '#FA541C',
sunset: '#FAAD14',
cyan: '#13C2C2',
green: '#52C41A',
geekblue: '#2F54EB',
purple: '#722ED1'
};
/**
* Daybreak-> #1890ff
*
* @param val
*/
function genStringToTheme(val) {
return val && themeConfig[val] ? themeConfig[val] : val || '';
}
function clearMenuItem(menusData) {
return menusData.map(function (item) {
var children = item.children || [];
var finalItem = (0, _objectSpread2.default)({}, item);
if (!finalItem.children && finalItem.routes) {
finalItem.children = finalItem.routes;
}
if (!finalItem.name || finalItem.hideInMenu) {
return null;
}
if (finalItem && finalItem !== null && finalItem !== void 0 && finalItem.children) {
if (!finalItem.hideChildrenInMenu && children.some(function (child) {
return child && child.name && !child.hideInMenu;
})) {
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
children: clearMenuItem(children)
});
}
// children 为空就直接删掉
delete finalItem.children;
}
delete finalItem.routes;
return finalItem;
}).filter(function (item) {
return item;
});
}
;