@para-ui/core 3.0.28 → 3.0.30
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/AutoBox/index.js +48 -88
- package/AutoTips/index.js +25 -32
- package/Breadcrumbs/index.js +43 -63
- package/Button/SplitButton.d.ts +1 -1
- package/Button/index.d.ts +1 -1
- package/Button/index.js +88 -118
- package/ButtonGroup/index.js +27 -36
- package/Carousel/index.d.ts +2 -2
- package/Carousel/index.js +27 -28
- package/Cascader/index.js +52 -64
- package/Checkbox/index.js +23 -39
- package/CheckboxGroup/index.js +31 -48
- package/Collapse/collapsePanel.d.ts +1 -1
- package/Collapse/index.d.ts +1 -1
- package/Collapse/index.js +9 -29
- package/Collapse/util.d.ts +2 -2
- package/CollapseBox/index.js +45 -56
- package/CollapseLayout/index.js +35 -54
- package/ComboSelect/index.js +222 -349
- package/ComboSelect/interface.d.ts +3 -3
- package/Container/index.js +17 -20
- package/DatePicker/generatePicker/index.d.ts +17 -17
- package/DatePicker/index.d.ts +4 -4
- package/DatePicker/index.js +111 -167
- package/Desktop/index.js +62 -173
- package/Drawer/index.js +65 -58
- package/Drawer/interface.d.ts +7 -3
- package/Dropdown/index.d.ts +1 -1
- package/Dropdown/index.js +3 -3
- package/Empty/index.js +17 -22
- package/Form/index.d.ts +1 -1
- package/Form/index.js +38 -80
- package/FormItem/index.d.ts +1 -1
- package/FormItem/index.js +11 -11
- package/FormItem/validateFunction.d.ts +1 -1
- package/FunctionModal/index.js +11 -11
- package/GlobalContext/index.js +3 -3
- package/GlobalContext/usePopupContainer.d.ts +1 -1
- package/Help/index.js +11 -11
- package/HelperText/index.js +11 -12
- package/InputLang/index.js +47 -80
- package/InputNumber/index.js +65 -100
- package/Label/index.js +15 -16
- package/Loading/index.js +6 -7
- package/Menu/index.js +148 -328
- package/Menu/interface.d.ts +2 -2
- package/Menu/verticalMenuList.d.ts +1 -1
- package/Message/index.d.ts +1 -1
- package/Message/index.js +45 -64
- package/Modal/Confirm/index.d.ts +2 -2
- package/Modal/index.d.ts +1 -1
- package/Modal/index.js +119 -152
- package/MultiBox/index.js +44 -76
- package/Notification/index.d.ts +2 -2
- package/Notification/index.js +51 -72
- package/OperateBtn/index.js +42 -70
- package/PageHeader/index.js +120 -286
- package/PageHeader/interface.d.ts +1 -1
- package/Pagination/index.d.ts +2 -2
- package/Pagination/index.js +79 -131
- package/ParauiProvider/index.js +2 -3
- package/PasswordRules/index.js +12 -30
- package/PopConfirm/index.d.ts +1 -1
- package/PopConfirm/index.js +52 -59
- package/Popover/index.js +8 -9
- package/Progress/index.d.ts +6 -6
- package/Progress/index.js +50 -89
- package/Querying/index.js +14 -17
- package/README.md +813 -800
- package/Radio/index.js +21 -33
- package/RadioGroup/index.js +32 -47
- package/Search/index.js +44 -66
- package/Select/index.js +176 -343
- package/SelectInput/index.js +8 -9
- package/Selector/index.js +285 -681
- package/SelectorPicker/index.js +62 -97
- package/SingleBox/index.js +30 -55
- package/Slider/index.d.ts +1 -1
- package/Slider/index.js +29 -41
- package/Slider/interface.d.ts +2 -2
- package/Split/index.js +10 -23
- package/Status/index.js +8 -7
- package/Stepper/index.d.ts +1 -1
- package/Stepper/index.js +20 -25
- package/Styles/form.scss +5 -5
- package/Styles/index.scss +37 -37
- package/Styles/normalize.scss +348 -348
- package/Styles/scrollbar.scss +223 -223
- package/Styles/theme.scss +74 -74
- package/Switch/index.d.ts +2 -2
- package/Switch/index.js +19 -20
- package/Table/index.js +568 -1019
- package/Table/interface.d.ts +5 -5
- package/Tabs/index.d.ts +3 -3
- package/Tabs/index.js +47 -65
- package/Tag/TagGroup.d.ts +1 -1
- package/Tag/index.d.ts +2 -2
- package/Tag/index.js +72 -107
- package/TextEditor/index.d.ts +2 -2
- package/TextEditor/index.js +81 -105
- package/TextField/index.js +141 -220
- package/TimePicker/index.d.ts +1 -1
- package/TimePicker/index.js +12 -15
- package/Timeline/index.js +42 -52
- package/Title/index.js +10 -9
- package/ToggleButton/ToggleButtonGroup.d.ts +1 -1
- package/ToggleButton/index.js +50 -70
- package/Tooltip/index.js +64 -98
- package/Tooltip/interface.d.ts +1 -1
- package/Transfer/index.d.ts +1 -1
- package/Transfer/index.js +114 -137
- package/Transfer/useClick.d.ts +1 -1
- package/Tree/index.js +10 -10
- package/Tree/interface.d.ts +6 -6
- package/Upload/Dragger/index.d.ts +1 -1
- package/Upload/ImageUpload/index.d.ts +1 -1
- package/Upload/ImgCrop/EasyCrop.d.ts +1 -1
- package/Upload/index.d.ts +1 -1
- package/Upload/index.js +283 -475
- package/Upload/interface.d.ts +2 -2
- package/_verture/{constant-bf34e6fa.js → constant-66aa48a1.js} +0 -1
- package/_verture/defineProperty-62acccfc.js +34 -0
- package/_verture/{index-342379c6.js → index-06fea29b.js} +79 -124
- package/_verture/{index-48875ffd.js → index-131f8fe5.js} +80 -181
- package/_verture/{index-31ce5a11.js → index-92144ad3.js} +238 -445
- package/_verture/{index-bbed73a3.js → index-be4faaee.js} +19 -61
- package/_verture/{intl-336570e4.js → intl-5cbb940c.js} +4 -12
- package/_verture/{modalContext-d646d9db.js → modalContext-c749e1c6.js} +18 -43
- package/_verture/{slicedToArray-d7722f4b.js → slicedToArray-77980792.js} +23 -25
- package/_verture/{toConsumableArray-f8047a75.js → toConsumableArray-87c7d895.js} +1 -1
- package/_verture/{useFormatMessage-f4452258.js → useFormatMessage-703f8b20.js} +1 -3
- package/_verture/{useGlobalProps-af9a2af6.js → useGlobalProps-1b846a65.js} +1 -2
- package/_verture/{usePopupContainer-b8ab7cab.js → usePopupContainer-87febeb9.js} +10 -25
- package/_verture/{util-a77b261e.js → util-7e1fb1e2.js} +2 -3
- package/index.d.ts +2 -4
- package/index.js +15 -16
- package/package.json +167 -168
- package/Test/index.d.ts +0 -3
- package/Test/index.js +0 -9
- package/_verture/defineProperty-0590dc61.js +0 -16
package/Menu/index.js
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
|
-
import { _ as _slicedToArray } from '../_verture/slicedToArray-
|
|
1
|
+
import { _ as _slicedToArray } from '../_verture/slicedToArray-77980792.js';
|
|
2
2
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
3
3
|
import React__default, { useState, useEffect, useMemo, createElement, useRef } from 'react';
|
|
4
|
-
import { _ as _toConsumableArray } from '../_verture/toConsumableArray-
|
|
4
|
+
import { _ as _toConsumableArray } from '../_verture/toConsumableArray-87c7d895.js';
|
|
5
5
|
import { createPortal } from 'react-dom';
|
|
6
6
|
import CollapseBox from '../CollapseBox/index.js';
|
|
7
7
|
import Down from '@para-ui/icons/Down';
|
|
8
8
|
import * as iconList from '@para-ui/icons';
|
|
9
9
|
import { UUID, DeepClone } from '@paraview/lib';
|
|
10
|
-
import { $ as $prefixCls } from '../_verture/constant-
|
|
10
|
+
import { $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
|
|
11
11
|
import MenuMoreLine from '@para-ui/icons/IndentRightFill';
|
|
12
12
|
import MenuLessLine from '@para-ui/icons/IndentLeftFill';
|
|
13
13
|
import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
|
|
14
14
|
import 'react-transition-group';
|
|
15
|
-
import '../_verture/util-
|
|
15
|
+
import '../_verture/util-7e1fb1e2.js';
|
|
16
16
|
|
|
17
17
|
var Logo = function Logo(props) {
|
|
18
18
|
var _props$expansion = props.expansion,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
expansion = _props$expansion === void 0 ? true : _props$expansion,
|
|
20
|
+
render = props.render,
|
|
21
|
+
className = props.className;
|
|
22
22
|
/**
|
|
23
23
|
* 处理内容
|
|
24
24
|
* @return {ReactNode}
|
|
25
25
|
*/
|
|
26
|
-
|
|
27
26
|
var handContent = function handContent() {
|
|
28
27
|
if (render) return render;
|
|
29
28
|
};
|
|
@@ -31,15 +30,12 @@ var Logo = function Logo(props) {
|
|
|
31
30
|
* 处理className
|
|
32
31
|
* @return class名
|
|
33
32
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
33
|
var handClass = function handClass() {
|
|
37
34
|
var str = 'menu-logo';
|
|
38
35
|
if (className) str += ' ' + className;
|
|
39
36
|
if (!expansion) str += ' menu-logo-shrink';
|
|
40
37
|
return str;
|
|
41
38
|
};
|
|
42
|
-
|
|
43
39
|
return jsx("div", Object.assign({
|
|
44
40
|
className: handClass()
|
|
45
41
|
}, {
|
|
@@ -51,63 +47,52 @@ var Logo = function Logo(props) {
|
|
|
51
47
|
* @description 处理菜单标签
|
|
52
48
|
* 默认div,最后一级为a标签
|
|
53
49
|
* */
|
|
54
|
-
|
|
55
50
|
var handMenuEle = function handMenuEle(children) {
|
|
56
51
|
var Ele = 'div';
|
|
57
52
|
var lastOne = !children || children.length === 0;
|
|
58
|
-
|
|
59
53
|
if (lastOne) {
|
|
60
54
|
Ele = 'a';
|
|
61
55
|
}
|
|
62
|
-
|
|
63
56
|
return Ele;
|
|
64
57
|
};
|
|
65
58
|
/**
|
|
66
59
|
* 处理菜单href地址
|
|
67
60
|
* */
|
|
68
|
-
|
|
69
|
-
|
|
70
61
|
var handHref = function handHref() {
|
|
71
62
|
var children = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
72
63
|
var path = arguments.length > 1 ? arguments[1] : undefined;
|
|
73
64
|
var href = arguments.length > 2 ? arguments[2] : undefined;
|
|
74
65
|
var lastOne = !children || children.length === 0;
|
|
75
|
-
|
|
76
66
|
if (lastOne) {
|
|
77
67
|
return {
|
|
78
68
|
href: href ? href : '#' + path
|
|
79
69
|
};
|
|
80
70
|
}
|
|
81
|
-
|
|
82
71
|
return {};
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
|
|
72
|
+
};
|
|
73
|
+
// 下拉展开
|
|
86
74
|
var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
87
75
|
var label = props.label;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
76
|
+
props.type;
|
|
77
|
+
var path = props.path,
|
|
78
|
+
href = props.href,
|
|
79
|
+
icon = props.icon,
|
|
80
|
+
children = props.children,
|
|
81
|
+
className = props.className,
|
|
82
|
+
_props$level = props.level,
|
|
83
|
+
level = _props$level === void 0 ? 1 : _props$level,
|
|
84
|
+
_props$selectMenu = props.selectMenu,
|
|
85
|
+
selectMenu = _props$selectMenu === void 0 ? '' : _props$selectMenu,
|
|
86
|
+
idMenuLast = props.idMenuLast,
|
|
87
|
+
onClickMenu = props.onClickMenu,
|
|
88
|
+
_props$shrinkOthers = props.shrinkOthers,
|
|
89
|
+
shrinkOthers = _props$shrinkOthers === void 0 ? true : _props$shrinkOthers;
|
|
103
90
|
var _useState = useState(false),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
91
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
92
|
+
openCom = _useState2[0],
|
|
93
|
+
setOpenCom = _useState2[1];
|
|
108
94
|
useEffect(function () {
|
|
109
95
|
var selectMenuLast = idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
|
|
110
|
-
|
|
111
96
|
if (selectMenuLast && selectMenuLast.indexOf(path) !== -1 && selectMenuLast.length > 1) {
|
|
112
97
|
setOpenCom(true);
|
|
113
98
|
} else {
|
|
@@ -116,13 +101,11 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
116
101
|
}
|
|
117
102
|
}, [idMenuLast, selectMenu, path]);
|
|
118
103
|
/** 点击菜单 */
|
|
119
|
-
|
|
120
104
|
var clickMenu = function clickMenu(e) {
|
|
121
105
|
if (children && children.length > 0) {
|
|
122
106
|
onClickMenu && onClickMenu(false);
|
|
123
107
|
return setOpenCom(!openCom);
|
|
124
108
|
}
|
|
125
|
-
|
|
126
109
|
onClickMenu && onClickMenu(props);
|
|
127
110
|
e.preventDefault();
|
|
128
111
|
};
|
|
@@ -130,8 +113,6 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
130
113
|
* 处理图标
|
|
131
114
|
* @return {ReactNode}
|
|
132
115
|
*/
|
|
133
|
-
|
|
134
|
-
|
|
135
116
|
var handIcon = function handIcon() {
|
|
136
117
|
if (icon) {
|
|
137
118
|
var iconCom = iconList[icon];
|
|
@@ -145,15 +126,13 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
145
126
|
}, {
|
|
146
127
|
children: icon
|
|
147
128
|
}));
|
|
148
|
-
}
|
|
149
|
-
|
|
129
|
+
}
|
|
130
|
+
//return <Down className="opacity-pos-svg"/>; // 占位
|
|
150
131
|
};
|
|
151
132
|
/**
|
|
152
133
|
* 处理箭头
|
|
153
134
|
* @return {ReactNode}
|
|
154
135
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
136
|
var handArrow = function handArrow() {
|
|
158
137
|
if (children && children.length > 0) return jsx(Down, {});
|
|
159
138
|
return jsx(Down, {
|
|
@@ -164,20 +143,15 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
164
143
|
* 处理class
|
|
165
144
|
* @return class名
|
|
166
145
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
146
|
var handClass = function handClass() {
|
|
170
147
|
var str = 'vertical-menu-list-item';
|
|
171
148
|
if (openCom) str += ' vertical-menu-list-item-open';
|
|
172
149
|
if (className) str += ' ' + className;
|
|
173
150
|
var selectMenuLast = idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
|
|
174
|
-
|
|
175
151
|
if (selectMenuLast) {
|
|
176
152
|
var index = selectMenuLast.indexOf(path);
|
|
177
|
-
|
|
178
153
|
if (index !== -1) {
|
|
179
154
|
str += ' vertical-menu-list-item-select'; // 选中
|
|
180
|
-
|
|
181
155
|
if (index === selectMenuLast.length - 1) {
|
|
182
156
|
str += ' vertical-menu-list-item-select-last'; // 最后一项
|
|
183
157
|
}
|
|
@@ -194,23 +168,18 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
194
168
|
/**
|
|
195
169
|
* 处理样式
|
|
196
170
|
*/
|
|
197
|
-
|
|
198
|
-
|
|
199
171
|
var handStyle = function handStyle() {
|
|
200
172
|
var json = {
|
|
201
173
|
paddingRight: '12px'
|
|
202
174
|
};
|
|
203
|
-
|
|
204
175
|
if (level >= 0) {
|
|
205
176
|
json.paddingLeft = (level - 1) * 32 + 16 + 'px';
|
|
206
177
|
} else {
|
|
207
178
|
json.paddingLeft = '16px';
|
|
208
179
|
}
|
|
209
|
-
|
|
210
180
|
return json;
|
|
211
|
-
};
|
|
212
|
-
|
|
213
|
-
|
|
181
|
+
};
|
|
182
|
+
// itemMemo
|
|
214
183
|
var ItemMemo = useMemo(function () {
|
|
215
184
|
var Ele = handMenuEle(children);
|
|
216
185
|
return jsxs(Ele, Object.assign({
|
|
@@ -228,8 +197,8 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
228
197
|
children: handArrow()
|
|
229
198
|
}))]
|
|
230
199
|
}));
|
|
231
|
-
}, [children, onClickMenu, openCom, level, icon, label, path, href]);
|
|
232
|
-
|
|
200
|
+
}, [children, onClickMenu, openCom, level, icon, label, path, href]);
|
|
201
|
+
// Collapse
|
|
233
202
|
var CollapseMemo = useMemo(function () {
|
|
234
203
|
return jsx(CollapseBox, Object.assign({
|
|
235
204
|
in: openCom,
|
|
@@ -253,56 +222,45 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
253
222
|
}, {
|
|
254
223
|
children: [ItemMemo, CollapseMemo]
|
|
255
224
|
}));
|
|
256
|
-
};
|
|
257
|
-
|
|
258
|
-
|
|
225
|
+
};
|
|
226
|
+
// 弹出菜单
|
|
259
227
|
var MenuItemPopper = function MenuItemPopper(props) {
|
|
260
228
|
var _props$open = props.open,
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
229
|
+
open = _props$open === void 0 ? false : _props$open,
|
|
230
|
+
anchorEl = props.anchorEl,
|
|
231
|
+
idMenuLast = props.idMenuLast,
|
|
232
|
+
_props$selectMenu2 = props.selectMenu,
|
|
233
|
+
selectMenu = _props$selectMenu2 === void 0 ? '' : _props$selectMenu2,
|
|
234
|
+
onClickMenu = props.onClickMenu,
|
|
235
|
+
_props$list = props.list,
|
|
236
|
+
list = _props$list === void 0 ? [] : _props$list,
|
|
237
|
+
onMouseEnter = props.onMouseEnter,
|
|
238
|
+
onMouseLeave = props.onMouseLeave,
|
|
239
|
+
onMouseEnterBus = props.onMouseEnterBus,
|
|
240
|
+
onMouseLeaveBus = props.onMouseLeaveBus,
|
|
241
|
+
_props$level2 = props.level,
|
|
242
|
+
level = _props$level2 === void 0 ? 1 : _props$level2,
|
|
243
|
+
color = props.color,
|
|
244
|
+
className = props.className;
|
|
278
245
|
var _useState3 = useState(false),
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
246
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
247
|
+
openChild = _useState4[0],
|
|
248
|
+
setOpenChild = _useState4[1]; // 是否渲染子级
|
|
284
249
|
var _useState5 = useState(''),
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
250
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
251
|
+
childPos = _useState6[0],
|
|
252
|
+
setChildPos = _useState6[1]; // 子级定位元素
|
|
290
253
|
var _useState7 = useState([]),
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
254
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
255
|
+
childList = _useState8[0],
|
|
256
|
+
setChildList = _useState8[1]; // 子级列表
|
|
296
257
|
var _useState9 = useState({}),
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
258
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
259
|
+
posStyle = _useState10[0],
|
|
260
|
+
setPosStyle = _useState10[1]; // 定位元素样式
|
|
302
261
|
var _useState11 = useState({}),
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
262
|
+
_useState12 = _slicedToArray(_useState11, 1),
|
|
263
|
+
timerJson = _useState12[0];
|
|
306
264
|
var boxRef = useRef(null);
|
|
307
265
|
useEffect(function () {
|
|
308
266
|
return function () {
|
|
@@ -316,26 +274,22 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
316
274
|
/**
|
|
317
275
|
* 设置定位样式
|
|
318
276
|
* */
|
|
319
|
-
|
|
320
277
|
var handPosStyle = function handPosStyle() {
|
|
321
278
|
if (anchorEl && open && boxRef.current) {
|
|
322
279
|
// 定位容器
|
|
323
280
|
var anchorElDom = document.querySelector("[data-menu-id=".concat(anchorEl, "]"));
|
|
324
281
|
var reactDom = anchorElDom.getBoundingClientRect();
|
|
325
|
-
var top = reactDom.top;
|
|
326
|
-
|
|
282
|
+
var top = reactDom.top;
|
|
283
|
+
// 不是第一级的弹窗向上便宜8px
|
|
327
284
|
if (level !== 1) {
|
|
328
285
|
top = top - 8;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
|
|
286
|
+
}
|
|
287
|
+
// 第一级,且只有一级
|
|
332
288
|
if (handTooltip()) {
|
|
333
289
|
top = top + 4;
|
|
334
290
|
}
|
|
335
|
-
|
|
336
291
|
var bodyHeight = document.body.clientHeight;
|
|
337
292
|
var selfHeight = boxRef.current.clientHeight;
|
|
338
|
-
|
|
339
293
|
if (selfHeight + top > bodyHeight) {
|
|
340
294
|
top = top - (selfHeight + top - bodyHeight) - 20; // 多减20的余量
|
|
341
295
|
}
|
|
@@ -343,7 +297,6 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
343
297
|
if (top < 0) {
|
|
344
298
|
top = 0;
|
|
345
299
|
}
|
|
346
|
-
|
|
347
300
|
setPosStyle({
|
|
348
301
|
position: 'absolute',
|
|
349
302
|
left: '0',
|
|
@@ -355,31 +308,25 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
355
308
|
/**
|
|
356
309
|
* 判断是否是第一级,且没有子级
|
|
357
310
|
* */
|
|
358
|
-
|
|
359
|
-
|
|
360
311
|
var handTooltip = function handTooltip() {
|
|
361
312
|
// 第一层,长度为1,且没有父级,,子级也没有
|
|
362
313
|
if (level === 1 && list.length === 1 && list[0]._paraui_menu_first && (!list[0].children || list[0].children.length === 0)) {
|
|
363
314
|
return true;
|
|
364
315
|
}
|
|
365
|
-
|
|
366
316
|
return false;
|
|
367
317
|
};
|
|
368
318
|
/**
|
|
369
319
|
* 处理MenuPopover样式类名
|
|
370
320
|
* @return {string}
|
|
371
321
|
*/
|
|
372
|
-
|
|
373
|
-
|
|
374
322
|
var handPopoverClass = function handPopoverClass() {
|
|
375
323
|
var str = $prefixCls + '-vertical-menu-item-popper';
|
|
376
324
|
if (color) str += " ".concat($prefixCls, "-vertical-menu-item-popper-").concat(color);
|
|
377
|
-
if (color === 'deep') str += " ".concat($prefixCls, "-scrollbar-small-deep");else str += " ".concat($prefixCls, "-scrollbar-small");
|
|
378
|
-
|
|
325
|
+
if (color === 'deep') str += " ".concat($prefixCls, "-scrollbar-small-deep");else str += " ".concat($prefixCls, "-scrollbar-small");
|
|
326
|
+
// 第一级,且只有一项
|
|
379
327
|
if (handTooltip()) {
|
|
380
328
|
str += " ".concat($prefixCls, "-vertical-menu-item-popper-tooltip");
|
|
381
329
|
}
|
|
382
|
-
|
|
383
330
|
if (className) str += ' ' + className;
|
|
384
331
|
return str;
|
|
385
332
|
};
|
|
@@ -388,16 +335,12 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
388
335
|
* @param item {MenuChildrenProps} 子菜单详情
|
|
389
336
|
* @return {string}
|
|
390
337
|
*/
|
|
391
|
-
|
|
392
|
-
|
|
393
338
|
var handItemClass = function handItemClass(item) {
|
|
394
339
|
var str = 'menu-item-popper-content-item';
|
|
395
340
|
var selectMenuLast = idMenuLast && idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
|
|
396
|
-
|
|
397
341
|
if (selectMenuLast && selectMenuLast.indexOf(item.path) !== -1) {
|
|
398
342
|
str += ' menu-item-popper-content-item-select';
|
|
399
343
|
}
|
|
400
|
-
|
|
401
344
|
return str;
|
|
402
345
|
};
|
|
403
346
|
/**
|
|
@@ -405,8 +348,6 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
405
348
|
* @param icon 图标信息
|
|
406
349
|
* @return {ReactNode}
|
|
407
350
|
*/
|
|
408
|
-
|
|
409
|
-
|
|
410
351
|
var handIcon = function handIcon(icon) {
|
|
411
352
|
if (icon) {
|
|
412
353
|
var iconCom = iconList[icon];
|
|
@@ -420,16 +361,14 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
420
361
|
}, {
|
|
421
362
|
children: icon
|
|
422
363
|
}));
|
|
423
|
-
}
|
|
424
|
-
|
|
364
|
+
}
|
|
365
|
+
//return <Down className="opacity-pos-svg"/>; // 占位
|
|
425
366
|
};
|
|
426
367
|
/**
|
|
427
368
|
* 处理箭头
|
|
428
369
|
* @param children 详细
|
|
429
370
|
* @return {ReactNode}
|
|
430
371
|
*/
|
|
431
|
-
|
|
432
|
-
|
|
433
372
|
var handArrow = function handArrow(children) {
|
|
434
373
|
if (children && children.length > 0) return jsx(Down, {});
|
|
435
374
|
return jsx(Down, {
|
|
@@ -441,8 +380,6 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
441
380
|
* @param item {MenuChildrenProps} 当前项参数
|
|
442
381
|
* @param e 当前元素
|
|
443
382
|
*/
|
|
444
|
-
|
|
445
|
-
|
|
446
383
|
var clickMenu = function clickMenu(item) {
|
|
447
384
|
return function (e) {
|
|
448
385
|
e.preventDefault();
|
|
@@ -453,11 +390,8 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
453
390
|
/**
|
|
454
391
|
* 鼠标移入大容器
|
|
455
392
|
* */
|
|
456
|
-
|
|
457
|
-
|
|
458
393
|
var onMouseEnterBox = function onMouseEnterBox() {
|
|
459
394
|
if (handTooltip()) return;
|
|
460
|
-
|
|
461
395
|
if (level == 1) {
|
|
462
396
|
// 关闭收缩按钮移出事件
|
|
463
397
|
onMouseEnter && onMouseEnter();
|
|
@@ -468,8 +402,6 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
468
402
|
/**
|
|
469
403
|
* 鼠标移出大容器
|
|
470
404
|
* */
|
|
471
|
-
|
|
472
|
-
|
|
473
405
|
var onMouseLeaveBox = function onMouseLeaveBox() {
|
|
474
406
|
if (handTooltip()) return;
|
|
475
407
|
clearTimeout(timerJson.leaveBox);
|
|
@@ -485,8 +417,6 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
485
417
|
* 移入事件 传递 给子级
|
|
486
418
|
* 用来通知上级
|
|
487
419
|
* */
|
|
488
|
-
|
|
489
|
-
|
|
490
420
|
var onMouseEnterBusCom = function onMouseEnterBusCom() {
|
|
491
421
|
// 移入子级的大容器里面, 需要通知上级不关闭容器, 清楚关闭定时器
|
|
492
422
|
clearTimeout(timerJson.leaveBox);
|
|
@@ -495,8 +425,6 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
495
425
|
* 移出事件 传递 给子级
|
|
496
426
|
* 用来通知上级
|
|
497
427
|
* */
|
|
498
|
-
|
|
499
|
-
|
|
500
428
|
var onMouseLeaveBusCom = function onMouseLeaveBusCom() {
|
|
501
429
|
setOpenChild(false);
|
|
502
430
|
setChildPos('');
|
|
@@ -509,8 +437,6 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
509
437
|
* @param index {number} 移入当前项下标
|
|
510
438
|
* @param e 当前元素
|
|
511
439
|
*/
|
|
512
|
-
|
|
513
|
-
|
|
514
440
|
var onMouseEnterChildCom = function onMouseEnterChildCom(item) {
|
|
515
441
|
return function (e) {
|
|
516
442
|
handClassItemHover(e.target);
|
|
@@ -518,7 +444,6 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
518
444
|
clearTimeout(timerJson.closeTimer);
|
|
519
445
|
timerJson.closeTimer = setTimeout(function () {
|
|
520
446
|
var childListHand = item.children || [];
|
|
521
|
-
|
|
522
447
|
if (childListHand.length > 0) {
|
|
523
448
|
setOpenChild(true);
|
|
524
449
|
setChildPos(e.target.getAttribute('data-menu-id'));
|
|
@@ -537,34 +462,27 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
537
462
|
* @param index {number} 移入当前项下标
|
|
538
463
|
* @param e 当前元素
|
|
539
464
|
*/
|
|
540
|
-
|
|
541
|
-
|
|
542
465
|
var onMouseLeaveChildCom = function onMouseLeaveChildCom(item) {
|
|
543
|
-
return function (e) {
|
|
466
|
+
return function (e) {
|
|
467
|
+
//console.log('移出子级')
|
|
544
468
|
};
|
|
545
469
|
};
|
|
546
470
|
/**
|
|
547
471
|
* 处理移入的class
|
|
548
472
|
* */
|
|
549
|
-
|
|
550
|
-
|
|
551
473
|
var handClassItemHover = function handClassItemHover(target) {
|
|
552
474
|
if (boxRef) {
|
|
553
475
|
var boxDom = boxRef.current;
|
|
554
476
|
var hoverDom = boxDom.querySelector('.menu-item-popper-content-item-hover');
|
|
555
|
-
|
|
556
477
|
if (hoverDom) {
|
|
557
478
|
hoverDom.classList.remove('menu-item-popper-content-item-hover');
|
|
558
479
|
}
|
|
559
480
|
}
|
|
560
|
-
|
|
561
481
|
if (target) {
|
|
562
482
|
target.classList.add('menu-item-popper-content-item-hover');
|
|
563
483
|
}
|
|
564
484
|
};
|
|
565
485
|
/** 内容 */
|
|
566
|
-
|
|
567
|
-
|
|
568
486
|
var ContentMemo = useMemo(function () {
|
|
569
487
|
return jsx("div", Object.assign({
|
|
570
488
|
className: "menu-item-popper-content",
|
|
@@ -597,8 +515,8 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
597
515
|
}), index);
|
|
598
516
|
})
|
|
599
517
|
}));
|
|
600
|
-
}, [list, onClickMenu, idMenuLast, selectMenu, onClickMenu, onMouseEnter, onMouseLeave, level]);
|
|
601
|
-
|
|
518
|
+
}, [list, onClickMenu, idMenuLast, selectMenu, onClickMenu, onMouseEnter, onMouseLeave, level]);
|
|
519
|
+
// 计算定位
|
|
602
520
|
var MenuPopover = function MenuPopover() {
|
|
603
521
|
return jsx("div", Object.assign({
|
|
604
522
|
className: handPopoverClass(),
|
|
@@ -607,7 +525,6 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
607
525
|
children: ContentMemo
|
|
608
526
|
}));
|
|
609
527
|
};
|
|
610
|
-
|
|
611
528
|
var MenuPortalMemo = useMemo(function () {
|
|
612
529
|
return jsx(Fragment, {
|
|
613
530
|
children: /*#__PURE__*/createPortal(jsx(MenuPopover, {}), document.getElementsByTagName('body')[0])
|
|
@@ -635,86 +552,65 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
635
552
|
* @param transform {string}
|
|
636
553
|
* @return {number}
|
|
637
554
|
*/
|
|
638
|
-
|
|
639
|
-
|
|
640
555
|
var getTransformY = function getTransformY(transform) {
|
|
641
556
|
if (!transform) return 0;
|
|
642
|
-
|
|
643
557
|
try {
|
|
644
558
|
var transformY = transform.match(/translate3d\((.*)px, (.*)px, (.*)px\)/);
|
|
645
559
|
return Number(transformY && transformY[2]);
|
|
646
560
|
} catch (e) {}
|
|
647
|
-
|
|
648
561
|
return 0;
|
|
649
562
|
};
|
|
650
|
-
|
|
651
563
|
var VerticalMenuList = function VerticalMenuList(props) {
|
|
652
564
|
var list = props.list,
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
565
|
+
_props$expansion = props.expansion,
|
|
566
|
+
expansion = _props$expansion === void 0 ? true : _props$expansion,
|
|
567
|
+
_props$selectMenu3 = props.selectMenu,
|
|
568
|
+
selectMenu = _props$selectMenu3 === void 0 ? '' : _props$selectMenu3,
|
|
569
|
+
onClickMenu = props.onClickMenu,
|
|
570
|
+
className = props.className,
|
|
571
|
+
_props$shrinkOthers2 = props.shrinkOthers,
|
|
572
|
+
shrinkOthers = _props$shrinkOthers2 === void 0 ? true : _props$shrinkOthers2,
|
|
573
|
+
color = props.color;
|
|
574
|
+
// const classes: any = useStyles(props);
|
|
663
575
|
var _useState13 = useState([]),
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
576
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
577
|
+
listCom = _useState14[0],
|
|
578
|
+
setListCom = _useState14[1]; // 菜单数据
|
|
669
579
|
var _useState15 = useState(false),
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
580
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
581
|
+
openChild = _useState16[0],
|
|
582
|
+
setOpenChild = _useState16[1]; // 侧边展开子菜单
|
|
675
583
|
var _useState17 = useState(null),
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
584
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
585
|
+
openChildIndex = _useState18[0],
|
|
586
|
+
setOpenChildIndex = _useState18[1]; // 侧边菜单第几项
|
|
681
587
|
var _useState19 = useState(''),
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
588
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
589
|
+
childPos = _useState20[0],
|
|
590
|
+
setChildPos = _useState20[1]; // 侧边子菜单定位
|
|
687
591
|
var _useState21 = useState([]),
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
592
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
593
|
+
childList = _useState22[0],
|
|
594
|
+
setChildList = _useState22[1]; // 侧边子菜单数据
|
|
693
595
|
var _useState23 = useState(""),
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
596
|
+
_useState24 = _slicedToArray(_useState23, 2),
|
|
597
|
+
selectMenuCom = _useState24[0],
|
|
598
|
+
setSelectMenuCom = _useState24[1]; // 当前选中菜单id
|
|
697
599
|
//const [jsonMenu, setJsonMenu] = useState<any>({}); // 菜单map
|
|
698
|
-
|
|
699
|
-
|
|
700
600
|
var _useState25 = useState({}),
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
601
|
+
_useState26 = _slicedToArray(_useState25, 2),
|
|
602
|
+
idMenuLast = _useState26[0],
|
|
603
|
+
setIdMenuLast = _useState26[1]; // 最后一级菜单所有层级id
|
|
706
604
|
var _useState27 = useState({
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
605
|
+
prev: false,
|
|
606
|
+
next: false
|
|
607
|
+
}),
|
|
608
|
+
_useState28 = _slicedToArray(_useState27, 2),
|
|
609
|
+
flipDisable = _useState28[0],
|
|
610
|
+
setFlipDisable = _useState28[1];
|
|
714
611
|
var _useState29 = useState({}),
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
612
|
+
_useState30 = _slicedToArray(_useState29, 1),
|
|
613
|
+
timerJson = _useState30[0];
|
|
718
614
|
var listRef = React__default.useRef();
|
|
719
615
|
useEffect(function () {
|
|
720
616
|
return function () {
|
|
@@ -728,12 +624,10 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
728
624
|
// 浅拷贝一层,防止数据外部使用用了同一份数据,导致收缩的时候定位错误
|
|
729
625
|
var listArr = list || [];
|
|
730
626
|
var arr = [];
|
|
731
|
-
|
|
732
627
|
for (var i = 0, l = listArr.length; i < l; i++) {
|
|
733
628
|
var item = listArr[i];
|
|
734
629
|
arr.push(Object.assign({}, item));
|
|
735
630
|
}
|
|
736
|
-
|
|
737
631
|
handList(arr);
|
|
738
632
|
}, [list]);
|
|
739
633
|
useEffect(function () {
|
|
@@ -744,14 +638,12 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
744
638
|
isShowArrow();
|
|
745
639
|
}, [selectMenu]);
|
|
746
640
|
/** 初始化判断是否显示箭头 */
|
|
747
|
-
|
|
748
641
|
var isShowArrow = function isShowArrow() {
|
|
749
642
|
clearTimeout(timerJson.arrowTimer);
|
|
750
643
|
timerJson.arrowTimer = setTimeout(function () {
|
|
751
644
|
var _getLimit = getLimit(),
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
645
|
+
min = _getLimit.min,
|
|
646
|
+
max = _getLimit.max;
|
|
755
647
|
var y = getTransformY(listRef.current.style.transform);
|
|
756
648
|
setFlipDisable({
|
|
757
649
|
prev: y !== min,
|
|
@@ -763,8 +655,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
763
655
|
* 鼠标滚动应用列表
|
|
764
656
|
* @param e 元素
|
|
765
657
|
*/
|
|
766
|
-
|
|
767
|
-
|
|
768
658
|
var handleScroll = function handleScroll(e) {
|
|
769
659
|
var deltaY = e.deltaY;
|
|
770
660
|
var y = getTransformY(listRef.current.style.transform);
|
|
@@ -775,23 +665,18 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
775
665
|
* 翻页点击
|
|
776
666
|
* @param type {'prev' | 'next'} 点击类型
|
|
777
667
|
*/
|
|
778
|
-
|
|
779
|
-
|
|
780
668
|
var flip = function flip(type) {
|
|
781
669
|
return function () {
|
|
782
670
|
var height = 100;
|
|
783
671
|
var y = getTransformY(listRef.current.style.transform);
|
|
784
|
-
|
|
785
672
|
switch (type) {
|
|
786
673
|
case "next":
|
|
787
674
|
y -= height;
|
|
788
675
|
break;
|
|
789
|
-
|
|
790
676
|
case "prev":
|
|
791
677
|
y += height;
|
|
792
678
|
break;
|
|
793
679
|
}
|
|
794
|
-
|
|
795
680
|
setTransform(y);
|
|
796
681
|
};
|
|
797
682
|
};
|
|
@@ -799,13 +684,10 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
799
684
|
* 设置上下平移
|
|
800
685
|
* @param y {number} 滚动距离
|
|
801
686
|
*/
|
|
802
|
-
|
|
803
|
-
|
|
804
687
|
var setTransform = function setTransform(y) {
|
|
805
688
|
var _getLimit2 = getLimit(),
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
689
|
+
min = _getLimit2.min,
|
|
690
|
+
max = _getLimit2.max;
|
|
809
691
|
if (y > min) y = min;
|
|
810
692
|
if (y < max) y = max;
|
|
811
693
|
setFlipDisable({
|
|
@@ -818,17 +700,13 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
818
700
|
* 返回滚动限制
|
|
819
701
|
* @return {object} 滚动限制
|
|
820
702
|
*/
|
|
821
|
-
|
|
822
|
-
|
|
823
703
|
var getLimit = function getLimit() {
|
|
824
704
|
var parentHeight = listRef.current.parentNode.getBoundingClientRect().height;
|
|
825
705
|
var min = 0;
|
|
826
706
|
var max = -(listRef.current.getBoundingClientRect().height - parentHeight);
|
|
827
|
-
|
|
828
707
|
if (parentHeight > listRef.current.getBoundingClientRect().height) {
|
|
829
708
|
max = 0;
|
|
830
709
|
}
|
|
831
|
-
|
|
832
710
|
return {
|
|
833
711
|
min: min,
|
|
834
712
|
max: max
|
|
@@ -838,19 +716,14 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
838
716
|
* 处理菜单数据
|
|
839
717
|
* @param dataArr {MenuChildrenProps} 菜单数据
|
|
840
718
|
*/
|
|
841
|
-
|
|
842
|
-
|
|
843
719
|
var handList = function handList(dataArr) {
|
|
844
720
|
var idMap = {}; // 所有id,层级map
|
|
845
|
-
|
|
846
721
|
var idMapLast = {}; // 最后一层菜单,层级map
|
|
847
|
-
|
|
848
722
|
var recurrenceFunc = function recurrenceFunc(daraChildArr, parent) {
|
|
849
723
|
for (var i = 0, l = daraChildArr.length; i < l; i++) {
|
|
850
724
|
var item = daraChildArr[i];
|
|
851
725
|
var path = item.path;
|
|
852
726
|
item._paraui_menu_id = '_paraui_menu_id_' + UUID(); // 设置唯一id
|
|
853
|
-
|
|
854
727
|
if (parent) {
|
|
855
728
|
var idList = DeepClone(idMap[parent.path] || []);
|
|
856
729
|
idList.push(path);
|
|
@@ -860,7 +733,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
860
733
|
idMap[path] = [path];
|
|
861
734
|
item._paraui_menu_first = true;
|
|
862
735
|
}
|
|
863
|
-
|
|
864
736
|
if (item.children && item.children.length > 0) {
|
|
865
737
|
recurrenceFunc(item.children, item);
|
|
866
738
|
} else {
|
|
@@ -869,7 +741,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
869
741
|
}
|
|
870
742
|
}
|
|
871
743
|
};
|
|
872
|
-
|
|
873
744
|
recurrenceFunc(dataArr);
|
|
874
745
|
setIdMenuLast(idMapLast);
|
|
875
746
|
setListCom(dataArr);
|
|
@@ -880,8 +751,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
880
751
|
* @param index {number} 移入当前项下标
|
|
881
752
|
* @param e 当前元素
|
|
882
753
|
*/
|
|
883
|
-
|
|
884
|
-
|
|
885
754
|
var mouseEnterShrinkFunc = function mouseEnterShrinkFunc(item, index) {
|
|
886
755
|
return function (e) {
|
|
887
756
|
setOpenChild(false);
|
|
@@ -889,11 +758,9 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
889
758
|
timerJson.enterTimer = setTimeout(function () {
|
|
890
759
|
clearTimeout(timerJson.leaveTimer);
|
|
891
760
|
var childListHand = [item];
|
|
892
|
-
|
|
893
761
|
if (item.children && item.children.length > 0) {
|
|
894
762
|
childListHand = item.children;
|
|
895
763
|
}
|
|
896
|
-
|
|
897
764
|
setOpenChildIndex(index);
|
|
898
765
|
setChildPos(e.target.getAttribute('data-menu-id'));
|
|
899
766
|
setChildList(childListHand);
|
|
@@ -906,16 +773,12 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
906
773
|
* @param item {MenuChildrenProps} 移出当前项参数
|
|
907
774
|
* @param e 当前元素
|
|
908
775
|
*/
|
|
909
|
-
|
|
910
|
-
|
|
911
776
|
var mouseLeaveShrinkFunc = function mouseLeaveShrinkFunc(item) {
|
|
912
777
|
return function (e) {
|
|
913
778
|
leaveFunc();
|
|
914
779
|
};
|
|
915
780
|
};
|
|
916
781
|
/** 移出事件 */
|
|
917
|
-
|
|
918
|
-
|
|
919
782
|
var leaveFunc = function leaveFunc() {
|
|
920
783
|
clearTimeout(timerJson.leaveTimer);
|
|
921
784
|
timerJson.leaveTimer = setTimeout(function () {
|
|
@@ -923,22 +786,16 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
923
786
|
}, 50);
|
|
924
787
|
};
|
|
925
788
|
/** 移入子菜单 */
|
|
926
|
-
|
|
927
|
-
|
|
928
789
|
var onMouseEnterChild = function onMouseEnterChild() {
|
|
929
790
|
clearTimeout(timerJson.leaveTimer);
|
|
930
791
|
};
|
|
931
792
|
/** 移出子菜单 */
|
|
932
|
-
|
|
933
|
-
|
|
934
793
|
var onMouseLeaveChild = function onMouseLeaveChild() {
|
|
935
794
|
leaveFunc();
|
|
936
795
|
};
|
|
937
796
|
/**
|
|
938
797
|
* 关闭收缩弹窗
|
|
939
798
|
* */
|
|
940
|
-
|
|
941
|
-
|
|
942
799
|
var closeShrink = function closeShrink() {
|
|
943
800
|
setOpenChild(false);
|
|
944
801
|
setChildPos('');
|
|
@@ -950,18 +807,14 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
950
807
|
* @param item {MenuChildrenProps} 当前项参数
|
|
951
808
|
* @return {ReactNode}
|
|
952
809
|
*/
|
|
953
|
-
|
|
954
|
-
|
|
955
810
|
var handShrink = function handShrink(item) {
|
|
956
811
|
var icon = item.icon,
|
|
957
|
-
|
|
958
|
-
|
|
812
|
+
label = item.label;
|
|
959
813
|
if (icon) {
|
|
960
814
|
var iconCom = iconList[icon];
|
|
961
815
|
if (iconCom) return iconCom();
|
|
962
816
|
return icon;
|
|
963
817
|
}
|
|
964
|
-
|
|
965
818
|
if (typeof label === 'string') {
|
|
966
819
|
return label[0];
|
|
967
820
|
} else {
|
|
@@ -971,8 +824,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
971
824
|
/**
|
|
972
825
|
* 点击收缩菜单时候的按钮
|
|
973
826
|
* */
|
|
974
|
-
|
|
975
|
-
|
|
976
827
|
var clickShrinkMenu = function clickShrinkMenu(item) {
|
|
977
828
|
return function (e) {
|
|
978
829
|
if (!item.children || item.children.length === 0) {
|
|
@@ -980,7 +831,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
980
831
|
delete handItem._paraui_menu_id;
|
|
981
832
|
onClickMenu && onClickMenu(handItem);
|
|
982
833
|
}
|
|
983
|
-
|
|
984
834
|
e.preventDefault();
|
|
985
835
|
};
|
|
986
836
|
};
|
|
@@ -988,13 +838,10 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
988
838
|
* 点击菜单
|
|
989
839
|
* @param item {MenuChildrenProps | false} 当前项参数
|
|
990
840
|
*/
|
|
991
|
-
|
|
992
|
-
|
|
993
841
|
var clickMenu = function clickMenu(item) {
|
|
994
842
|
if (item === false) {
|
|
995
843
|
return isShowArrow();
|
|
996
844
|
}
|
|
997
|
-
|
|
998
845
|
closeShrink();
|
|
999
846
|
var handItem = Object.assign({}, item);
|
|
1000
847
|
delete handItem._paraui_menu_id;
|
|
@@ -1006,12 +853,9 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
1006
853
|
* @param index {number} 下标
|
|
1007
854
|
* @return {string} 返回图标元素
|
|
1008
855
|
*/
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
856
|
var handShrinkClass = function handShrinkClass(item, index) {
|
|
1012
857
|
var str = 'vertical-menu-list-item-shrink';
|
|
1013
858
|
var selectMenuLast = idMenuLast[selectMenuCom]; // 当前选中菜单的 所有上下级 一条线
|
|
1014
|
-
|
|
1015
859
|
if (selectMenuLast && selectMenuLast.indexOf(item.path) !== -1) str += ' vertical-menu-list-item-shrink-select';
|
|
1016
860
|
if (openChildIndex === index) str += ' vertical-menu-list-item-shrink-hover';
|
|
1017
861
|
return str;
|
|
@@ -1020,16 +864,12 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
1020
864
|
* 处理class
|
|
1021
865
|
* @return {string} class名
|
|
1022
866
|
*/
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
867
|
var handClass = function handClass() {
|
|
1026
868
|
var str = 'vertical-menu-list';
|
|
1027
869
|
if (className) str += ' ' + className;
|
|
1028
870
|
return str;
|
|
1029
871
|
};
|
|
1030
872
|
/** 展开memo */
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
873
|
var ExpansionMemo = useMemo(function () {
|
|
1034
874
|
if (expansion) {
|
|
1035
875
|
return listCom.map(function (item, index) {
|
|
@@ -1045,7 +885,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
1045
885
|
}
|
|
1046
886
|
}, [expansion, listCom, idMenuLast, selectMenuCom, onClickMenu, shrinkOthers]);
|
|
1047
887
|
/** 收缩memo */
|
|
1048
|
-
|
|
1049
888
|
var ShrinkMemo = useMemo(function () {
|
|
1050
889
|
if (expansion) return null;
|
|
1051
890
|
return listCom.map(function (item, index) {
|
|
@@ -1064,7 +903,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
1064
903
|
});
|
|
1065
904
|
}, [expansion, listCom, idMenuLast, selectMenuCom, openChildIndex]);
|
|
1066
905
|
/** 向上翻页 */
|
|
1067
|
-
|
|
1068
906
|
var PrevScroll = useMemo(function () {
|
|
1069
907
|
return jsx(Fragment, {
|
|
1070
908
|
children: flipDisable.prev && jsx("span", Object.assign({
|
|
@@ -1077,7 +915,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
1077
915
|
});
|
|
1078
916
|
}, [flipDisable]);
|
|
1079
917
|
/** 向下翻页 */
|
|
1080
|
-
|
|
1081
918
|
var NextScroll = useMemo(function () {
|
|
1082
919
|
return jsx(Fragment, {
|
|
1083
920
|
children: flipDisable.next && jsx("span", Object.assign({
|
|
@@ -1090,7 +927,6 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
1090
927
|
});
|
|
1091
928
|
}, [flipDisable]);
|
|
1092
929
|
/** 收缩弹出框菜单 */
|
|
1093
|
-
|
|
1094
930
|
var MenuItemPopperMemo = useMemo(function () {
|
|
1095
931
|
return jsx(Fragment, {
|
|
1096
932
|
children: openChild && jsx(MenuItemPopper, {
|
|
@@ -1130,16 +966,15 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
1130
966
|
|
|
1131
967
|
var FooterExpansion = function FooterExpansion(props) {
|
|
1132
968
|
var _props$expansion = props.expansion,
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
969
|
+
expansion = _props$expansion === void 0 ? true : _props$expansion,
|
|
970
|
+
expandIcon = props.expandIcon,
|
|
971
|
+
shrinkIcon = props.shrinkIcon,
|
|
972
|
+
customizeContent = props.customizeContent,
|
|
973
|
+
clickExpansion = props.clickExpansion,
|
|
974
|
+
version = props.version,
|
|
975
|
+
render = props.render,
|
|
976
|
+
className = props.className;
|
|
1141
977
|
/** 点击展开/收起按钮 */
|
|
1142
|
-
|
|
1143
978
|
var clickExpansionCom = function clickExpansionCom() {
|
|
1144
979
|
clickExpansion && clickExpansion(!expansion);
|
|
1145
980
|
};
|
|
@@ -1147,12 +982,9 @@ var FooterExpansion = function FooterExpansion(props) {
|
|
|
1147
982
|
* 处理内容
|
|
1148
983
|
* @return {ReactNode}
|
|
1149
984
|
*/
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
985
|
var handContent = function handContent() {
|
|
1153
986
|
if (render) return render;
|
|
1154
987
|
if (customizeContent) return customizeContent;
|
|
1155
|
-
|
|
1156
988
|
var handIcon = function handIcon() {
|
|
1157
989
|
if (expansion) {
|
|
1158
990
|
if (expandIcon) return expandIcon;
|
|
@@ -1166,7 +998,6 @@ var FooterExpansion = function FooterExpansion(props) {
|
|
|
1166
998
|
});
|
|
1167
999
|
}
|
|
1168
1000
|
};
|
|
1169
|
-
|
|
1170
1001
|
return jsxs(Fragment, {
|
|
1171
1002
|
children: [handIcon(), expansion && version && jsx("span", Object.assign({
|
|
1172
1003
|
className: "version"
|
|
@@ -1174,16 +1005,14 @@ var FooterExpansion = function FooterExpansion(props) {
|
|
|
1174
1005
|
children: version
|
|
1175
1006
|
}))]
|
|
1176
1007
|
});
|
|
1177
|
-
};
|
|
1178
|
-
|
|
1179
|
-
|
|
1008
|
+
};
|
|
1009
|
+
// 处理className
|
|
1180
1010
|
var handClass = function handClass() {
|
|
1181
1011
|
var str = 'footer-expansion';
|
|
1182
1012
|
if (className) str += ' ' + className;
|
|
1183
1013
|
if (!expansion) str += ' footer-expansion-shrink';
|
|
1184
1014
|
return str;
|
|
1185
1015
|
};
|
|
1186
|
-
|
|
1187
1016
|
return jsx("div", Object.assign({
|
|
1188
1017
|
className: handClass()
|
|
1189
1018
|
}, {
|
|
@@ -1196,34 +1025,31 @@ styleInject(css_248z);
|
|
|
1196
1025
|
|
|
1197
1026
|
var Menu = function Menu(props) {
|
|
1198
1027
|
var _props$color = props.color,
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1028
|
+
color = _props$color === void 0 ? 'deep' : _props$color,
|
|
1029
|
+
logoProps = props.logoProps,
|
|
1030
|
+
menuListProps = props.menuListProps,
|
|
1031
|
+
_props$expansion = props.expansion,
|
|
1032
|
+
expansion = _props$expansion === void 0 ? true : _props$expansion,
|
|
1033
|
+
onClickExpansion = props.onClickExpansion,
|
|
1034
|
+
selectMenu = props.selectMenu,
|
|
1035
|
+
onClickMenu = props.onClickMenu,
|
|
1036
|
+
className = props.className,
|
|
1037
|
+
style = props.style,
|
|
1038
|
+
_props$shrinkOthers = props.shrinkOthers,
|
|
1039
|
+
shrinkOthers = _props$shrinkOthers === void 0 ? true : _props$shrinkOthers,
|
|
1040
|
+
footerExpansionProps = props.footerExpansionProps,
|
|
1041
|
+
_props$showExpansion = props.showExpansion,
|
|
1042
|
+
showExpansion = _props$showExpansion === void 0 ? true : _props$showExpansion;
|
|
1215
1043
|
var _useState = useState(true),
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1044
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1045
|
+
expansionCom = _useState2[0],
|
|
1046
|
+
setExpansionCom = _useState2[1];
|
|
1220
1047
|
useEffect(function () {
|
|
1221
1048
|
if (expansion !== expansionCom) setExpansionCom(expansion);
|
|
1222
1049
|
}, [expansion]);
|
|
1223
1050
|
/**
|
|
1224
1051
|
* 点击展开 / 收起
|
|
1225
1052
|
*/
|
|
1226
|
-
|
|
1227
1053
|
var clickExpansion = function clickExpansion() {
|
|
1228
1054
|
onClickExpansion && onClickExpansion(!expansionCom);
|
|
1229
1055
|
};
|
|
@@ -1231,8 +1057,6 @@ var Menu = function Menu(props) {
|
|
|
1231
1057
|
* 处理class
|
|
1232
1058
|
* @return class名
|
|
1233
1059
|
*/
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
1060
|
var handClass = function handClass() {
|
|
1237
1061
|
var str = $prefixCls + '-vertical-menu';
|
|
1238
1062
|
if (className) str += ' ' + className;
|
|
@@ -1241,15 +1065,12 @@ var Menu = function Menu(props) {
|
|
|
1241
1065
|
return str;
|
|
1242
1066
|
};
|
|
1243
1067
|
/** 头像memo */
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
1068
|
var LogoMemo = useMemo(function () {
|
|
1247
1069
|
return props.logoProps && jsx(Logo, Object.assign({}, logoProps, {
|
|
1248
1070
|
expansion: expansionCom
|
|
1249
1071
|
}));
|
|
1250
1072
|
}, [logoProps, expansionCom]);
|
|
1251
1073
|
/** 菜单memo */
|
|
1252
|
-
|
|
1253
1074
|
var MenuListMemo = useMemo(function () {
|
|
1254
1075
|
return props.menuListProps && jsx(VerticalMenuList, Object.assign({}, props.menuListProps, {
|
|
1255
1076
|
color: color,
|
|
@@ -1260,7 +1081,6 @@ var Menu = function Menu(props) {
|
|
|
1260
1081
|
}));
|
|
1261
1082
|
}, [menuListProps, expansionCom, selectMenu, onClickMenu, color]);
|
|
1262
1083
|
/** 底部展开收起 */
|
|
1263
|
-
|
|
1264
1084
|
var ExpansionMemo = useMemo(function () {
|
|
1265
1085
|
if (!showExpansion) return null;
|
|
1266
1086
|
return jsx(FooterExpansion, Object.assign({
|