UNPKG

2.01 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.clearMenuItem = clearMenuItem;
9exports.genStringToTheme = genStringToTheme;
10exports.getOpenKeysFromMenuData = void 0;
11
12var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
14var getOpenKeysFromMenuData = function getOpenKeysFromMenuData(menuData) {
15 return (menuData || []).reduce(function (pre, item) {
16 if (item.key) {
17 pre.push(item.key);
18 }
19
20 if (item.routes) {
21 var newArray = pre.concat(getOpenKeysFromMenuData(item.routes) || []);
22 return newArray;
23 }
24
25 return pre;
26 }, []);
27};
28
29exports.getOpenKeysFromMenuData = getOpenKeysFromMenuData;
30var themeConfig = {
31 daybreak: '#1890ff',
32 dust: '#F5222D',
33 volcano: '#FA541C',
34 sunset: '#FAAD14',
35 cyan: '#13C2C2',
36 green: '#52C41A',
37 geekblue: '#2F54EB',
38 purple: '#722ED1'
39};
40/**
41 * Daybreak-> #1890ff
42 *
43 * @param val
44 */
45
46function genStringToTheme(val) {
47 return val && themeConfig[val] ? themeConfig[val] : val;
48}
49
50function clearMenuItem(menusData) {
51 return menusData.map(function (item) {
52 var children = item.children || item.routes;
53 var finalItem = (0, _objectSpread2.default)({}, item);
54
55 if (!finalItem.name || finalItem.hideInMenu) {
56 return null;
57 }
58
59 if (finalItem && (finalItem === null || finalItem === void 0 ? void 0 : finalItem.routes)) {
60 if (!finalItem.hideChildrenInMenu && children.some(function (child) {
61 return child && child.name && !child.hideInMenu;
62 })) {
63 return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
64 children: clearMenuItem(children),
65 routes: clearMenuItem(children)
66 });
67 } // children 为空就直接删掉
68
69
70 delete finalItem.routes;
71 delete finalItem.children;
72 }
73
74 return finalItem;
75 }).filter(function (item) {
76 return item;
77 });
78}
\No newline at end of file