dlt-for-react 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/lib/index.js +6 -0
- package/lib/layouts/LeftMenu/index.js +322 -296
- package/lib/utils/index.js +12 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/lib/index.js
CHANGED
|
@@ -507,6 +507,12 @@ Object.defineProperty(exports, 'randomNumEnum', {
|
|
|
507
507
|
return _index4.randomNumEnum;
|
|
508
508
|
}
|
|
509
509
|
});
|
|
510
|
+
Object.defineProperty(exports, 'keyToLower', {
|
|
511
|
+
enumerable: true,
|
|
512
|
+
get: function get() {
|
|
513
|
+
return _index4.keyToLower;
|
|
514
|
+
}
|
|
515
|
+
});
|
|
510
516
|
|
|
511
517
|
var _common = require('./utils/common.js');
|
|
512
518
|
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = undefined;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _icon = require("antd/lib/icon");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _icon2 = _interopRequireDefault(_icon);
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _extends2 = require("babel-runtime/helpers/extends");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
|
15
15
|
|
|
16
|
-
var _getPrototypeOf = require(
|
|
16
|
+
var _getPrototypeOf = require("babel-runtime/core-js/object/get-prototype-of");
|
|
17
17
|
|
|
18
18
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
|
19
19
|
|
|
20
|
-
var _classCallCheck2 = require(
|
|
20
|
+
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
|
|
21
21
|
|
|
22
22
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
|
23
23
|
|
|
24
|
-
var _createClass2 = require(
|
|
24
|
+
var _createClass2 = require("babel-runtime/helpers/createClass");
|
|
25
25
|
|
|
26
26
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
|
27
27
|
|
|
28
|
-
var _possibleConstructorReturn2 = require(
|
|
28
|
+
var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");
|
|
29
29
|
|
|
30
30
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
|
31
31
|
|
|
32
|
-
var _inherits2 = require(
|
|
32
|
+
var _inherits2 = require("babel-runtime/helpers/inherits");
|
|
33
33
|
|
|
34
34
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
|
35
35
|
|
|
36
|
-
var _menu = require(
|
|
36
|
+
var _menu = require("antd/lib/menu");
|
|
37
37
|
|
|
38
38
|
var _menu2 = _interopRequireDefault(_menu);
|
|
39
39
|
|
|
40
|
-
require(
|
|
40
|
+
require("antd/lib/icon/style");
|
|
41
41
|
|
|
42
|
-
require(
|
|
42
|
+
require("antd/lib/menu/style");
|
|
43
43
|
|
|
44
|
-
var _react = require(
|
|
44
|
+
var _react = require("react");
|
|
45
45
|
|
|
46
46
|
var _react2 = _interopRequireDefault(_react);
|
|
47
47
|
|
|
48
|
-
var _router = require(
|
|
48
|
+
var _router = require("dva/router");
|
|
49
49
|
|
|
50
|
-
var _xguiForReact = require(
|
|
50
|
+
var _xguiForReact = require("xgui-for-react");
|
|
51
51
|
|
|
52
|
-
var _reactCustomScrollbars = require(
|
|
52
|
+
var _reactCustomScrollbars = require("react-custom-scrollbars");
|
|
53
53
|
|
|
54
54
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
55
55
|
|
|
@@ -57,296 +57,322 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
57
57
|
var SubMenu = _menu2.default.SubMenu;
|
|
58
58
|
|
|
59
59
|
var Home = function (_React$Component) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
} else {
|
|
87
|
-
if (curUrl.startsWith(leftMenu[i].children[j].url + "/")) {
|
|
88
|
-
_this.setState({
|
|
89
|
-
selectedKeys: leftMenu[i].children[j].key,
|
|
90
|
-
openKeys: [leftMenu[i].key]
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
} else {
|
|
96
|
-
if (curUrl.startsWith(leftMenu[i].url + "/")) {
|
|
97
|
-
_this.setState({
|
|
98
|
-
selectedKeys: leftMenu[i].key,
|
|
99
|
-
openKeys: []
|
|
100
|
-
});
|
|
101
|
-
}
|
|
60
|
+
(0, _inherits3.default)(Home, _React$Component);
|
|
61
|
+
|
|
62
|
+
function Home(props) {
|
|
63
|
+
(0, _classCallCheck3.default)(this, Home);
|
|
64
|
+
|
|
65
|
+
var _this = (0, _possibleConstructorReturn3.default)(this, (Home.__proto__ || (0, _getPrototypeOf2.default)(Home)).call(this, props));
|
|
66
|
+
|
|
67
|
+
_this.loginSkip = function () {
|
|
68
|
+
var leftMenu = (0, _xguiForReact.getLoginUser)().menus ? (0, _xguiForReact.getLoginUser)().menus : [];
|
|
69
|
+
// 如果不需要登录的服务就取props的菜单
|
|
70
|
+
leftMenu = _this.props.config.noNeedLogin ? _this.props.allMenu : leftMenu;
|
|
71
|
+
var curUrl = window.location.href.split("#")[1] + "/";
|
|
72
|
+
var addRootSubmenuKeys = [];
|
|
73
|
+
for (var i = 0; i < leftMenu.length; i++) {
|
|
74
|
+
addRootSubmenuKeys.push(leftMenu[i].key);
|
|
75
|
+
if (leftMenu[i].children) {
|
|
76
|
+
for (var j = 0; j < leftMenu[i].children.length; j++) {
|
|
77
|
+
if (leftMenu[i].children[j].children) {
|
|
78
|
+
for (var k = 0; k < leftMenu[i].children[j].children.length; k++) {
|
|
79
|
+
if (curUrl.startsWith(leftMenu[i].children[j].children[k].url + "/")) {
|
|
80
|
+
_this.setState({
|
|
81
|
+
selectedKeys: leftMenu[i].children[j].children[k].key,
|
|
82
|
+
openKeys: [leftMenu[i].key]
|
|
83
|
+
});
|
|
102
84
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
_this.setState({
|
|
106
|
-
rootSubmenuKeys: addRootSubmenuKeys
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
_this.onOpenChange = function (openKeys) {
|
|
111
|
-
/*const state = this.state;
|
|
112
|
-
const latestOpenKey = openKeys.find(key => !(state.openKeys.indexOf(key) > -1));
|
|
113
|
-
const latestCloseKey = state.openKeys.find(key => !(openKeys.indexOf(key) > -1));
|
|
114
|
-
let nextOpenKeys = [];
|
|
115
|
-
if (latestOpenKey) {
|
|
116
|
-
nextOpenKeys = this.getAncestorKeys(latestOpenKey).concat(latestOpenKey);
|
|
117
|
-
}
|
|
118
|
-
if (latestCloseKey) {
|
|
119
|
-
nextOpenKeys = this.getAncestorKeys(latestCloseKey);
|
|
120
|
-
}
|
|
121
|
-
this.setState({ openKeys: nextOpenKeys });*/
|
|
122
|
-
var latestOpenKey = openKeys.find(function (key) {
|
|
123
|
-
return _this.state.openKeys.indexOf(key) === -1;
|
|
124
|
-
});
|
|
125
|
-
if (_this.state.rootSubmenuKeys.indexOf(latestOpenKey) === -1) {
|
|
126
|
-
_this.setState({ openKeys: openKeys });
|
|
85
|
+
}
|
|
127
86
|
} else {
|
|
87
|
+
if (curUrl.startsWith(leftMenu[i].children[j].url + "/")) {
|
|
128
88
|
_this.setState({
|
|
129
|
-
|
|
89
|
+
selectedKeys: leftMenu[i].children[j].key,
|
|
90
|
+
openKeys: [leftMenu[i].key]
|
|
130
91
|
});
|
|
92
|
+
}
|
|
131
93
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
var map = { key: key };
|
|
136
|
-
return map[key] || [];
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
_this.onClick = function (e) {
|
|
94
|
+
}
|
|
95
|
+
} else {
|
|
96
|
+
if (curUrl.startsWith(leftMenu[i].url + "/")) {
|
|
140
97
|
_this.setState({
|
|
141
|
-
|
|
98
|
+
selectedKeys: leftMenu[i].key,
|
|
99
|
+
openKeys: []
|
|
142
100
|
});
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
_this.renderIcon = function (menuIcons, icon, curUrl) {
|
|
146
|
-
if (!icon) {
|
|
147
|
-
// 占位元素
|
|
148
|
-
return _react2.default.createElement('i', { className: 'anticon' });
|
|
149
|
-
}
|
|
150
|
-
var customIcon = menuIcons[icon];
|
|
151
|
-
if (typeof customIcon === "string") {
|
|
152
|
-
// 兼容旧版本
|
|
153
|
-
return _react2.default.createElement(
|
|
154
|
-
'div',
|
|
155
|
-
{
|
|
156
|
-
className: 'anticon',
|
|
157
|
-
style: {
|
|
158
|
-
display: 'inline-block',
|
|
159
|
-
verticalAlign: '-0.046296rem',
|
|
160
|
-
width: '0.259195rem',
|
|
161
|
-
height: '0.259195rem',
|
|
162
|
-
marginRight: '0.135rem',
|
|
163
|
-
'-webkit-mask-image': 'url(' + (curUrl + customIcon) + ')',
|
|
164
|
-
'-webkit-mask-size': 'contain',
|
|
165
|
-
'mask-image': 'url(' + (curUrl + customIcon) + ')',
|
|
166
|
-
'mask-size': 'contain',
|
|
167
|
-
fontSize: 100,
|
|
168
|
-
overflow: 'hidden'
|
|
169
|
-
}
|
|
170
|
-
},
|
|
171
|
-
'\u2588'
|
|
172
|
-
);
|
|
173
|
-
}
|
|
174
|
-
return customIcon ? _react2.default.createElement(_icon2.default, { component: customIcon }) : _react2.default.createElement(_icon2.default, { type: icon });
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
_this.getBaseMenu = function (leftMenu, menuIcons, curUrl, defaultProps) {
|
|
178
|
-
var navTheme = _this.props.setting.navTheme;
|
|
179
|
-
|
|
180
|
-
return _react2.default.createElement(
|
|
181
|
-
_menu2.default,
|
|
182
|
-
(0, _extends3.default)({ theme: navTheme,
|
|
183
|
-
mode: 'inline'
|
|
184
|
-
// openKeys={this.state.openKeys}
|
|
185
|
-
}, defaultProps, {
|
|
186
|
-
selectedKeys: [_this.state.selectedKeys],
|
|
187
|
-
onOpenChange: _this.onOpenChange,
|
|
188
|
-
onClick: _this.onClick
|
|
189
|
-
}),
|
|
190
|
-
leftMenu.map(function (item, index) {
|
|
191
|
-
if (item.children && item.children !== '' && item.children.length > 0) {
|
|
192
|
-
var htmlct = [];
|
|
193
|
-
var menuItem = item.children.map(function (itemM, index) {
|
|
194
|
-
if (itemM.children && itemM.children !== '' && itemM.children.length > 0) {
|
|
195
|
-
var menuItemC = itemM.children.map(function (itemC, index) {
|
|
196
|
-
return _react2.default.createElement(
|
|
197
|
-
_menu2.default.Item,
|
|
198
|
-
{ key: itemC.key },
|
|
199
|
-
_react2.default.createElement(
|
|
200
|
-
_router.Link,
|
|
201
|
-
{ key: 1, to: itemC.url },
|
|
202
|
-
_this.renderIcon(menuIcons, itemC.icon, curUrl),
|
|
203
|
-
_react2.default.createElement(
|
|
204
|
-
'span',
|
|
205
|
-
null,
|
|
206
|
-
itemC.name
|
|
207
|
-
)
|
|
208
|
-
)
|
|
209
|
-
);
|
|
210
|
-
});
|
|
211
|
-
return _react2.default.createElement(
|
|
212
|
-
SubMenu,
|
|
213
|
-
{ key: itemM.key, title: _react2.default.createElement(
|
|
214
|
-
'span',
|
|
215
|
-
null,
|
|
216
|
-
_this.renderIcon(menuIcons, itemM.icon, curUrl),
|
|
217
|
-
_react2.default.createElement(
|
|
218
|
-
'span',
|
|
219
|
-
null,
|
|
220
|
-
itemM.name
|
|
221
|
-
)
|
|
222
|
-
) },
|
|
223
|
-
menuItemC
|
|
224
|
-
);
|
|
225
|
-
} else {
|
|
226
|
-
return _react2.default.createElement(
|
|
227
|
-
_menu2.default.Item,
|
|
228
|
-
{ key: itemM.key },
|
|
229
|
-
_react2.default.createElement(
|
|
230
|
-
_router.Link,
|
|
231
|
-
{ key: 1, to: itemM.url },
|
|
232
|
-
_this.renderIcon(menuIcons, itemM.icon, curUrl),
|
|
233
|
-
_react2.default.createElement(
|
|
234
|
-
'span',
|
|
235
|
-
null,
|
|
236
|
-
itemM.name
|
|
237
|
-
)
|
|
238
|
-
)
|
|
239
|
-
);
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
htmlct.push(_react2.default.createElement(
|
|
243
|
-
SubMenu,
|
|
244
|
-
{ key: item.key, title: _react2.default.createElement(
|
|
245
|
-
'span',
|
|
246
|
-
null,
|
|
247
|
-
_this.renderIcon(menuIcons, item.icon, curUrl),
|
|
248
|
-
_react2.default.createElement(
|
|
249
|
-
'span',
|
|
250
|
-
null,
|
|
251
|
-
item.name
|
|
252
|
-
)
|
|
253
|
-
) },
|
|
254
|
-
menuItem
|
|
255
|
-
));
|
|
256
|
-
return htmlct;
|
|
257
|
-
} else {
|
|
258
|
-
return _react2.default.createElement(
|
|
259
|
-
_menu2.default.Item,
|
|
260
|
-
{ key: item.key },
|
|
261
|
-
_react2.default.createElement(
|
|
262
|
-
_router.Link,
|
|
263
|
-
{ key: 1, to: item.url },
|
|
264
|
-
_this.renderIcon(menuIcons, item.icon, curUrl),
|
|
265
|
-
_react2.default.createElement(
|
|
266
|
-
'span',
|
|
267
|
-
null,
|
|
268
|
-
item.name
|
|
269
|
-
)
|
|
270
|
-
)
|
|
271
|
-
);
|
|
272
|
-
}
|
|
273
|
-
})
|
|
274
|
-
);
|
|
275
|
-
};
|
|
276
|
-
|
|
277
|
-
_this.state = {
|
|
278
|
-
expandedKeys: [],
|
|
279
|
-
openKeys: [],
|
|
280
|
-
selectedKeys: undefined,
|
|
281
|
-
rootSubmenuKeys: []
|
|
282
|
-
};
|
|
283
|
-
return _this;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
(0, _createClass3.default)(Home, [{
|
|
287
|
-
key: 'componentDidMount',
|
|
288
|
-
value: function componentDidMount() {
|
|
289
|
-
this.loginSkip();
|
|
290
|
-
// 监听页面地址变化,防止手动点击浏览器前进后退按钮导致导航栏选中值错误
|
|
291
|
-
window.addEventListener("hashchange", this.loginSkip);
|
|
101
|
+
}
|
|
292
102
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
_this.setState({
|
|
106
|
+
rootSubmenuKeys: addRootSubmenuKeys
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
_this.onOpenChange = function (openKeys) {
|
|
111
|
+
/*const state = this.state;
|
|
112
|
+
const latestOpenKey = openKeys.find(key => !(state.openKeys.indexOf(key) > -1));
|
|
113
|
+
const latestCloseKey = state.openKeys.find(key => !(openKeys.indexOf(key) > -1));
|
|
114
|
+
let nextOpenKeys = [];
|
|
115
|
+
if (latestOpenKey) {
|
|
116
|
+
nextOpenKeys = this.getAncestorKeys(latestOpenKey).concat(latestOpenKey);
|
|
117
|
+
}
|
|
118
|
+
if (latestCloseKey) {
|
|
119
|
+
nextOpenKeys = this.getAncestorKeys(latestCloseKey);
|
|
120
|
+
}
|
|
121
|
+
this.setState({ openKeys: nextOpenKeys });*/
|
|
122
|
+
var latestOpenKey = openKeys.find(function (key) {
|
|
123
|
+
return _this.state.openKeys.indexOf(key) === -1;
|
|
124
|
+
});
|
|
125
|
+
if (_this.state.rootSubmenuKeys.indexOf(latestOpenKey) === -1) {
|
|
126
|
+
_this.setState({ openKeys: openKeys });
|
|
127
|
+
} else {
|
|
128
|
+
_this.setState({
|
|
129
|
+
openKeys: latestOpenKey ? [latestOpenKey] : []
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
_this.getAncestorKeys = function (key) {
|
|
135
|
+
var map = { key: key };
|
|
136
|
+
return map[key] || [];
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
_this.onClick = function (e) {
|
|
140
|
+
_this.setState({
|
|
141
|
+
selectedKeys: e.key
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
_this.renderIcon = function (menuIcons, icon, curUrl) {
|
|
146
|
+
if (!icon) {
|
|
147
|
+
// 占位元素
|
|
148
|
+
return _react2.default.createElement("i", { className: "anticon" });
|
|
149
|
+
}
|
|
150
|
+
var customIcon = menuIcons[icon];
|
|
151
|
+
if (typeof customIcon === "string") {
|
|
152
|
+
var data = ["data:image/jpeg;base64", "data:image/png;base64"];
|
|
153
|
+
var rs = data.filter(function (item) {
|
|
154
|
+
return customIcon.startsWith(item);
|
|
155
|
+
});
|
|
156
|
+
var url = void 0;
|
|
157
|
+
var obj = void 0;
|
|
158
|
+
if (!rs || !rs.length) {
|
|
159
|
+
url = curUrl + customIcon;
|
|
160
|
+
obj = {
|
|
161
|
+
width: "0.259195rem",
|
|
162
|
+
height: "0.259195rem"
|
|
163
|
+
};
|
|
164
|
+
} else {
|
|
165
|
+
url = customIcon;
|
|
166
|
+
obj = {
|
|
167
|
+
width: "14px",
|
|
168
|
+
height: "14px"
|
|
169
|
+
};
|
|
297
170
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
171
|
+
// 兼容旧版本
|
|
172
|
+
return _react2.default.createElement(
|
|
173
|
+
"div",
|
|
174
|
+
{
|
|
175
|
+
className: "anticon",
|
|
176
|
+
style: (0, _extends3.default)({
|
|
177
|
+
display: "inline-block",
|
|
178
|
+
verticalAlign: "-0.046296rem"
|
|
179
|
+
}, obj, {
|
|
180
|
+
marginRight: "0.135rem",
|
|
181
|
+
"-webkit-mask-image": "url(" + url + ")",
|
|
182
|
+
"-webkit-mask-size": "contain",
|
|
183
|
+
"mask-image": "url(" + url + ")",
|
|
184
|
+
"mask-size": "contain",
|
|
185
|
+
fontSize: 100,
|
|
186
|
+
overflow: "hidden"
|
|
187
|
+
})
|
|
188
|
+
},
|
|
189
|
+
"\u2588"
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
return customIcon ? _react2.default.createElement(_icon2.default, { component: customIcon }) : _react2.default.createElement(_icon2.default, { type: icon });
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
_this.getBaseMenu = function (leftMenu, menuIcons, curUrl, defaultProps) {
|
|
196
|
+
var navTheme = _this.props.setting.navTheme;
|
|
197
|
+
|
|
198
|
+
return _react2.default.createElement(
|
|
199
|
+
_menu2.default,
|
|
200
|
+
(0, _extends3.default)({
|
|
201
|
+
theme: navTheme,
|
|
202
|
+
mode: "inline"
|
|
203
|
+
// openKeys={this.state.openKeys}
|
|
204
|
+
}, defaultProps, {
|
|
205
|
+
selectedKeys: [_this.state.selectedKeys],
|
|
206
|
+
onOpenChange: _this.onOpenChange,
|
|
207
|
+
onClick: _this.onClick
|
|
208
|
+
}),
|
|
209
|
+
leftMenu.map(function (item, index) {
|
|
210
|
+
if (item.children && item.children !== "" && item.children.length > 0) {
|
|
211
|
+
var htmlct = [];
|
|
212
|
+
var menuItem = item.children.map(function (itemM, index) {
|
|
213
|
+
if (itemM.children && itemM.children !== "" && itemM.children.length > 0) {
|
|
214
|
+
var menuItemC = itemM.children.map(function (itemC, index) {
|
|
215
|
+
return _react2.default.createElement(
|
|
216
|
+
_menu2.default.Item,
|
|
217
|
+
{ key: itemC.key },
|
|
218
|
+
_react2.default.createElement(
|
|
219
|
+
_router.Link,
|
|
220
|
+
{ key: 1, to: itemC.url },
|
|
221
|
+
_this.renderIcon(menuIcons, itemC.icon, curUrl),
|
|
222
|
+
_react2.default.createElement(
|
|
223
|
+
"span",
|
|
224
|
+
null,
|
|
225
|
+
itemC.name
|
|
226
|
+
)
|
|
227
|
+
)
|
|
228
|
+
);
|
|
229
|
+
});
|
|
230
|
+
return _react2.default.createElement(
|
|
231
|
+
SubMenu,
|
|
232
|
+
{
|
|
233
|
+
key: itemM.key,
|
|
234
|
+
title: _react2.default.createElement(
|
|
235
|
+
"span",
|
|
236
|
+
null,
|
|
237
|
+
_this.renderIcon(menuIcons, itemM.icon, curUrl),
|
|
238
|
+
_react2.default.createElement(
|
|
239
|
+
"span",
|
|
240
|
+
null,
|
|
241
|
+
itemM.name
|
|
242
|
+
)
|
|
243
|
+
)
|
|
244
|
+
},
|
|
245
|
+
menuItemC
|
|
246
|
+
);
|
|
247
|
+
} else {
|
|
248
|
+
return _react2.default.createElement(
|
|
249
|
+
_menu2.default.Item,
|
|
250
|
+
{ key: itemM.key },
|
|
251
|
+
_react2.default.createElement(
|
|
252
|
+
_router.Link,
|
|
253
|
+
{ key: 1, to: itemM.url },
|
|
254
|
+
_this.renderIcon(menuIcons, itemM.icon, curUrl),
|
|
255
|
+
_react2.default.createElement(
|
|
256
|
+
"span",
|
|
257
|
+
null,
|
|
258
|
+
itemM.name
|
|
259
|
+
)
|
|
260
|
+
)
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
htmlct.push(_react2.default.createElement(
|
|
265
|
+
SubMenu,
|
|
266
|
+
{
|
|
267
|
+
key: item.key,
|
|
268
|
+
title: _react2.default.createElement(
|
|
269
|
+
"span",
|
|
270
|
+
null,
|
|
271
|
+
_this.renderIcon(menuIcons, item.icon, curUrl),
|
|
272
|
+
_react2.default.createElement(
|
|
273
|
+
"span",
|
|
343
274
|
null,
|
|
344
|
-
|
|
275
|
+
item.name
|
|
276
|
+
)
|
|
345
277
|
)
|
|
278
|
+
},
|
|
279
|
+
menuItem
|
|
280
|
+
));
|
|
281
|
+
return htmlct;
|
|
282
|
+
} else {
|
|
283
|
+
return _react2.default.createElement(
|
|
284
|
+
_menu2.default.Item,
|
|
285
|
+
{ key: item.key },
|
|
286
|
+
_react2.default.createElement(
|
|
287
|
+
_router.Link,
|
|
288
|
+
{ key: 1, to: item.url },
|
|
289
|
+
_this.renderIcon(menuIcons, item.icon, curUrl),
|
|
290
|
+
_react2.default.createElement(
|
|
291
|
+
"span",
|
|
292
|
+
null,
|
|
293
|
+
item.name
|
|
294
|
+
)
|
|
295
|
+
)
|
|
346
296
|
);
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
297
|
+
}
|
|
298
|
+
})
|
|
299
|
+
);
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
_this.state = {
|
|
303
|
+
expandedKeys: [],
|
|
304
|
+
openKeys: [],
|
|
305
|
+
selectedKeys: undefined,
|
|
306
|
+
rootSubmenuKeys: []
|
|
307
|
+
};
|
|
308
|
+
return _this;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
(0, _createClass3.default)(Home, [{
|
|
312
|
+
key: "componentDidMount",
|
|
313
|
+
value: function componentDidMount() {
|
|
314
|
+
this.loginSkip();
|
|
315
|
+
// 监听页面地址变化,防止手动点击浏览器前进后退按钮导致导航栏选中值错误
|
|
316
|
+
window.addEventListener("hashchange", this.loginSkip);
|
|
317
|
+
}
|
|
318
|
+
}, {
|
|
319
|
+
key: "componentWillUnmount",
|
|
320
|
+
value: function componentWillUnmount() {
|
|
321
|
+
window.removeEventListener("hashchange", this.loginSkip);
|
|
322
|
+
}
|
|
323
|
+
}, {
|
|
324
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
325
|
+
value: function UNSAFE_componentWillReceiveProps() {
|
|
326
|
+
//this.loginSkip();
|
|
327
|
+
}
|
|
328
|
+
// 渲染菜单图标
|
|
329
|
+
|
|
330
|
+
}, {
|
|
331
|
+
key: "render",
|
|
332
|
+
value: function render() {
|
|
333
|
+
var leftMenu = (0, _xguiForReact.getLoginUser)().menus ? (0, _xguiForReact.getLoginUser)().menus : [];
|
|
334
|
+
// 如果不需要登录的服务就取props的菜单
|
|
335
|
+
leftMenu = this.props.config.noNeedLogin ? this.props.allMenu : leftMenu;
|
|
336
|
+
var menuIcons = this.props.menuIcons ? this.props.menuIcons : {};
|
|
337
|
+
var curUrl = window.location.href.split("#")[0];
|
|
338
|
+
// console.info(curUrl);
|
|
339
|
+
// console.info(menuIcons);
|
|
340
|
+
// 判断menu收缩时不设置值openKeys,解决收缩时二级菜单不跟随问题
|
|
341
|
+
var defaultProps = this.props.collapsed ? {} : { openKeys: this.state.openKeys };
|
|
342
|
+
var _props$setting = this.props.setting,
|
|
343
|
+
title = _props$setting.title,
|
|
344
|
+
navTheme = _props$setting.navTheme,
|
|
345
|
+
layout = _props$setting.layout,
|
|
346
|
+
contentWidth = _props$setting.contentWidth,
|
|
347
|
+
fixedHeader = _props$setting.fixedHeader,
|
|
348
|
+
fixSiderbar = _props$setting.fixSiderbar,
|
|
349
|
+
autoHideHeader = _props$setting.autoHideHeader;
|
|
350
|
+
|
|
351
|
+
return _react2.default.createElement(
|
|
352
|
+
_react2.default.Fragment,
|
|
353
|
+
null,
|
|
354
|
+
fixSiderbar ? _react2.default.createElement(
|
|
355
|
+
_reactCustomScrollbars.Scrollbars,
|
|
356
|
+
{
|
|
357
|
+
onScroll: this.onScroll,
|
|
358
|
+
autoHide: true,
|
|
359
|
+
style: { width: "100%" },
|
|
360
|
+
autoHeight: true,
|
|
361
|
+
autoHeightMin: 0,
|
|
362
|
+
autoHeightMax: (0, _xguiForReact.getSize)().windowH - 64,
|
|
363
|
+
thumbMinSize: 30,
|
|
364
|
+
universal: true
|
|
365
|
+
},
|
|
366
|
+
this.getBaseMenu(leftMenu, menuIcons, curUrl, defaultProps)
|
|
367
|
+
) : _react2.default.createElement(
|
|
368
|
+
_react2.default.Fragment,
|
|
369
|
+
null,
|
|
370
|
+
this.getBaseMenu(leftMenu, menuIcons, curUrl, defaultProps)
|
|
371
|
+
)
|
|
372
|
+
);
|
|
373
|
+
}
|
|
374
|
+
}]);
|
|
375
|
+
return Home;
|
|
350
376
|
}(_react2.default.Component);
|
|
351
377
|
|
|
352
378
|
exports.default = Home;
|
package/lib/utils/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.randomNumEnum = exports.getValueFromArray = exports.getLabelValueTree = exports.cutArray = exports.arrayMove = exports.arrayMoveMutate = exports.checkPassword = exports.matchParamsPath = exports.urlToList = exports.getHashParam = exports.isUrl = exports.getRouterAuthority = exports.transformDate = exports.getStrLength = exports.DateUtil = exports._utf8_encode = exports.encode = exports.decode = undefined;
|
|
6
|
+
exports.keyToLower = exports.randomNumEnum = exports.getValueFromArray = exports.getLabelValueTree = exports.cutArray = exports.arrayMove = exports.arrayMoveMutate = exports.checkPassword = exports.matchParamsPath = exports.urlToList = exports.getHashParam = exports.isUrl = exports.getRouterAuthority = exports.transformDate = exports.getStrLength = exports.DateUtil = exports._utf8_encode = exports.encode = exports.decode = undefined;
|
|
7
7
|
|
|
8
8
|
var _promise = require('babel-runtime/core-js/promise');
|
|
9
9
|
|
|
@@ -585,4 +585,15 @@ var randomNumEnum = exports.randomNumEnum = function randomNumEnum(array, num) {
|
|
|
585
585
|
shuffled[i] = temp;
|
|
586
586
|
}
|
|
587
587
|
return shuffled.slice(min);
|
|
588
|
+
};
|
|
589
|
+
|
|
590
|
+
// 将数组对象的key转成小写
|
|
591
|
+
var keyToLower = exports.keyToLower = function keyToLower(arr) {
|
|
592
|
+
return arr.map(function (obj) {
|
|
593
|
+
var newObj = {};
|
|
594
|
+
(0, _keys2.default)(obj).forEach(function (key) {
|
|
595
|
+
newObj[key.toLowerCase()] = obj[key];
|
|
596
|
+
});
|
|
597
|
+
return newObj;
|
|
598
|
+
});
|
|
588
599
|
};
|