1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports.clearMenuItem = clearMenuItem;
|
9 | exports.genStringToTheme = genStringToTheme;
|
10 | exports.getOpenKeysFromMenuData = void 0;
|
11 |
|
12 | var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
13 |
|
14 | var 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 |
|
29 | exports.getOpenKeysFromMenuData = getOpenKeysFromMenuData;
|
30 | var 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 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 | function genStringToTheme(val) {
|
47 | return val && themeConfig[val] ? themeConfig[val] : val;
|
48 | }
|
49 |
|
50 | function 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 | }
|
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 |