@ant-design/pro-layout
Version:
78 lines (64 loc) • 2.01 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
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 = function getOpenKeysFromMenuData(menuData) {
return (menuData || []).reduce(function (pre, item) {
if (item.key) {
pre.push(item.key);
}
if (item.routes) {
var newArray = pre.concat(getOpenKeysFromMenuData(item.routes) || []);
return newArray;
}
return pre;
}, []);
};
exports.getOpenKeysFromMenuData = getOpenKeysFromMenuData;
var themeConfig = {
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 || item.routes;
var finalItem = (0, _objectSpread2.default)({}, item);
if (!finalItem.name || finalItem.hideInMenu) {
return null;
}
if (finalItem && (finalItem === null || finalItem === void 0 ? void 0 : finalItem.routes)) {
if (!finalItem.hideChildrenInMenu && children.some(function (child) {
return child && child.name && !child.hideInMenu;
})) {
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
children: clearMenuItem(children),
routes: clearMenuItem(children)
});
} // children 为空就直接删掉
delete finalItem.routes;
delete finalItem.children;
}
return finalItem;
}).filter(function (item) {
return item;
});
}