@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
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as _toConsumableArray } from './toConsumableArray-
|
|
2
|
-
import { _ as _defineProperty } from './defineProperty-
|
|
3
|
-
import { _ as _slicedToArray } from './slicedToArray-
|
|
4
|
-
import { r as regenerator } from './index-
|
|
1
|
+
import { _ as _toConsumableArray } from './toConsumableArray-87c7d895.js';
|
|
2
|
+
import { _ as _defineProperty } from './defineProperty-62acccfc.js';
|
|
3
|
+
import { _ as _slicedToArray } from './slicedToArray-77980792.js';
|
|
4
|
+
import { r as regenerator } from './index-06fea29b.js';
|
|
5
5
|
import { _ as __rest, a as __awaiter } from './tslib.es6-55ed4bd2.js';
|
|
6
6
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
7
7
|
import React__default, { isValidElement, cloneElement, useRef, useState, useImperativeHandle, useEffect, useMemo } from 'react';
|
|
@@ -12,7 +12,7 @@ import LoadingOutlined from '@para-ui/icons/LoadingF';
|
|
|
12
12
|
import FileOutlined from '@para-ui/icons/Document';
|
|
13
13
|
import SolidArrowDown from '@para-ui/icons/DownTriangleF';
|
|
14
14
|
import { Radio } from '../Radio/index.js';
|
|
15
|
-
import { $ as $prefixCls } from './constant-
|
|
15
|
+
import { $ as $prefixCls } from './constant-66aa48a1.js';
|
|
16
16
|
import ReactDOM from 'react-dom';
|
|
17
17
|
import EditOutlinedIcon from '@para-ui/icons/EditFile';
|
|
18
18
|
import AddOutlinedIcon from '@para-ui/icons/PlusCircle';
|
|
@@ -20,7 +20,7 @@ import Delete from '@para-ui/icons/Delete';
|
|
|
20
20
|
import Forbid from '@para-ui/icons/Forbid';
|
|
21
21
|
import { Tooltip } from '../Tooltip/index.js';
|
|
22
22
|
import { UUID, Request } from '@paraview/lib';
|
|
23
|
-
import { u as useFormatMessage } from './useFormatMessage-
|
|
23
|
+
import { u as useFormatMessage } from './useFormatMessage-703f8b20.js';
|
|
24
24
|
import { s as styleInject } from './style-inject.es-300983ab.js';
|
|
25
25
|
import MoreOutlinedIcon from '@para-ui/icons/MoreCircle';
|
|
26
26
|
import Empty from '../Empty/index.js';
|
|
@@ -28,27 +28,21 @@ import { Loading } from '../Loading/index.js';
|
|
|
28
28
|
import AutoTips from '../AutoTips/index.js';
|
|
29
29
|
|
|
30
30
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
31
|
-
|
|
32
31
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
33
|
-
|
|
34
32
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
35
|
-
|
|
33
|
+
//深拷贝包括函数
|
|
36
34
|
var deepCopy = function deepCopy(target) {
|
|
37
35
|
var copyedObjs = []; //此数组解决了循环引用和相同引用的问题,它存放已经递归到的目标对象
|
|
38
|
-
|
|
39
36
|
function _deepCopy(target) {
|
|
40
37
|
if (_typeof(target) !== 'object' || !target) {
|
|
41
38
|
return target;
|
|
42
39
|
}
|
|
43
|
-
|
|
44
40
|
for (var i = 0; i < copyedObjs.length; i++) {
|
|
45
41
|
if (copyedObjs[i].target === target) {
|
|
46
42
|
return copyedObjs[i].copyTarget;
|
|
47
43
|
}
|
|
48
44
|
}
|
|
49
|
-
|
|
50
45
|
var obj = {};
|
|
51
|
-
|
|
52
46
|
if (Array.isArray(target)) {
|
|
53
47
|
obj = []; //处理target是数组的情况
|
|
54
48
|
}
|
|
@@ -61,25 +55,22 @@ var deepCopy = function deepCopy(target) {
|
|
|
61
55
|
if (obj[key]) {
|
|
62
56
|
return;
|
|
63
57
|
}
|
|
64
|
-
|
|
65
58
|
obj[key] = _deepCopy(target[key]);
|
|
66
59
|
});
|
|
67
60
|
return obj;
|
|
68
61
|
}
|
|
69
|
-
|
|
70
62
|
return _deepCopy(target);
|
|
71
|
-
};
|
|
72
|
-
|
|
63
|
+
};
|
|
64
|
+
//树结构转扁平
|
|
73
65
|
var flatten = function flatten(data) {
|
|
74
66
|
return data ? data.reduce(function (arr, _a) {
|
|
75
67
|
var _a$children = _a.children,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
68
|
+
children = _a$children === void 0 ? [] : _a$children,
|
|
69
|
+
rest = __rest(_a, ["children"]);
|
|
79
70
|
return arr.concat([rest], flatten(children));
|
|
80
71
|
}, []) : [];
|
|
81
|
-
};
|
|
82
|
-
|
|
72
|
+
};
|
|
73
|
+
//数组转树结构
|
|
83
74
|
var convert = function convert(list) {
|
|
84
75
|
var rFiled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
85
76
|
key: 'key',
|
|
@@ -89,15 +80,12 @@ var convert = function convert(list) {
|
|
|
89
80
|
var map = list.reduce(function (acc, v) {
|
|
90
81
|
return acc[v[rFiled.key]] = v, acc;
|
|
91
82
|
}, {});
|
|
92
|
-
|
|
93
83
|
var _iterator = _createForOfIteratorHelper(list),
|
|
94
|
-
|
|
95
|
-
|
|
84
|
+
_step;
|
|
96
85
|
try {
|
|
97
86
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
98
87
|
var item = _step.value;
|
|
99
88
|
var parentId = item[rFiled.parentId];
|
|
100
|
-
|
|
101
89
|
if (parentId in map) {
|
|
102
90
|
var parent = map[parentId];
|
|
103
91
|
parent.children = parent.children || [];
|
|
@@ -111,10 +99,9 @@ var convert = function convert(list) {
|
|
|
111
99
|
} finally {
|
|
112
100
|
_iterator.f();
|
|
113
101
|
}
|
|
114
|
-
|
|
115
102
|
return res;
|
|
116
|
-
};
|
|
117
|
-
|
|
103
|
+
};
|
|
104
|
+
//本地过滤时,转为树结构
|
|
118
105
|
var convertByFilter = function convertByFilter(sourceList, filterList) {
|
|
119
106
|
var rFiled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
120
107
|
key: 'key',
|
|
@@ -127,10 +114,8 @@ var convertByFilter = function convertByFilter(sourceList, filterList) {
|
|
|
127
114
|
var filterMap = filterList.reduce(function (acc, v) {
|
|
128
115
|
return acc[v[rFiled.key]] = v, acc;
|
|
129
116
|
}, {});
|
|
130
|
-
|
|
131
117
|
var _iterator2 = _createForOfIteratorHelper(sourceList),
|
|
132
|
-
|
|
133
|
-
|
|
118
|
+
_step2;
|
|
134
119
|
try {
|
|
135
120
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
136
121
|
var item = _step2.value;
|
|
@@ -141,7 +126,6 @@ var convertByFilter = function convertByFilter(sourceList, filterList) {
|
|
|
141
126
|
} finally {
|
|
142
127
|
_iterator2.f();
|
|
143
128
|
}
|
|
144
|
-
|
|
145
129
|
function _handleNode(node) {
|
|
146
130
|
obj[node[rFiled.key]] = node;
|
|
147
131
|
var parent = map[node[rFiled.parentId]];
|
|
@@ -149,26 +133,23 @@ var convertByFilter = function convertByFilter(sourceList, filterList) {
|
|
|
149
133
|
obj[parent[rFiled.key]] = parent;
|
|
150
134
|
if (parent[rFiled.parentId]) _handleNode(parent);
|
|
151
135
|
}
|
|
152
|
-
|
|
153
136
|
var tempArr = Object.keys(obj).reduce(function (acc, curr) {
|
|
154
137
|
return acc.concat(obj[curr]);
|
|
155
138
|
}, []);
|
|
156
139
|
return convert(tempArr);
|
|
157
|
-
};
|
|
158
|
-
|
|
140
|
+
};
|
|
141
|
+
//获得checkedkeys
|
|
159
142
|
var getCheckedKeys = function getCheckedKeys(cKeys) {
|
|
160
143
|
if (!Array.isArray(cKeys)) {
|
|
161
144
|
return cKeys.checked;
|
|
162
145
|
}
|
|
163
|
-
|
|
164
146
|
return cKeys;
|
|
165
|
-
};
|
|
166
|
-
|
|
147
|
+
};
|
|
148
|
+
//获得halfchecked keys
|
|
167
149
|
var getHalfCheckedKeys = function getHalfCheckedKeys(cKeys) {
|
|
168
150
|
if (!Array.isArray(cKeys)) {
|
|
169
151
|
return cKeys.halfChecked;
|
|
170
152
|
}
|
|
171
|
-
|
|
172
153
|
return [];
|
|
173
154
|
};
|
|
174
155
|
|
|
@@ -178,24 +159,20 @@ var getCollapsedHeight = function getCollapsedHeight() {
|
|
|
178
159
|
opacity: 0
|
|
179
160
|
};
|
|
180
161
|
};
|
|
181
|
-
|
|
182
162
|
var getRealHeight = function getRealHeight(node) {
|
|
183
163
|
return {
|
|
184
164
|
height: node.scrollHeight,
|
|
185
165
|
opacity: 1
|
|
186
166
|
};
|
|
187
167
|
};
|
|
188
|
-
|
|
189
168
|
var getCurrentHeight = function getCurrentHeight(node) {
|
|
190
169
|
return {
|
|
191
170
|
height: node.offsetHeight
|
|
192
171
|
};
|
|
193
172
|
};
|
|
194
|
-
|
|
195
173
|
var skipOpacityTransition = function skipOpacityTransition(_, event) {
|
|
196
174
|
return event.propertyName === 'height';
|
|
197
175
|
};
|
|
198
|
-
|
|
199
176
|
var collapseMotion = {
|
|
200
177
|
motionName: "".concat($prefixCls, "-tree-motion-collapse"),
|
|
201
178
|
onAppearStart: getCollapsedHeight,
|
|
@@ -211,22 +188,18 @@ var collapseMotion = {
|
|
|
211
188
|
};
|
|
212
189
|
function renderSwitcherIcon(prefixCls, switcherIcon, showLine, _ref) {
|
|
213
190
|
var isLeaf = _ref.isLeaf,
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
191
|
+
expanded = _ref.expanded,
|
|
192
|
+
loading = _ref.loading;
|
|
193
|
+
_ref.eventKey;
|
|
218
194
|
if (loading) {
|
|
219
195
|
return jsx(LoadingOutlined, {
|
|
220
196
|
className: "".concat(prefixCls, "-switcher-loading-icon")
|
|
221
197
|
});
|
|
222
198
|
}
|
|
223
|
-
|
|
224
199
|
var showLeafIcon;
|
|
225
|
-
|
|
226
200
|
if (showLine && _typeof(showLine) === 'object') {
|
|
227
201
|
showLeafIcon = showLine.showLeafIcon;
|
|
228
202
|
}
|
|
229
|
-
|
|
230
203
|
if (isLeaf) {
|
|
231
204
|
if (showLine) {
|
|
232
205
|
if (_typeof(showLine) === 'object' && !showLeafIcon) {
|
|
@@ -234,27 +207,21 @@ function renderSwitcherIcon(prefixCls, switcherIcon, showLine, _ref) {
|
|
|
234
207
|
className: "".concat(prefixCls, "-switcher-leaf-line")
|
|
235
208
|
});
|
|
236
209
|
}
|
|
237
|
-
|
|
238
210
|
return jsx(FileOutlined, {
|
|
239
211
|
className: "".concat(prefixCls, "-switcher-line-icon")
|
|
240
212
|
});
|
|
241
213
|
}
|
|
242
|
-
|
|
243
214
|
return null;
|
|
244
215
|
}
|
|
245
|
-
|
|
246
216
|
var switcherCls = "".concat(prefixCls, "-switcher-icon");
|
|
247
|
-
|
|
248
217
|
if ( /*#__PURE__*/isValidElement(switcherIcon)) {
|
|
249
218
|
return /*#__PURE__*/cloneElement(switcherIcon, {
|
|
250
219
|
className: clsx(switcherIcon.props.className || '', switcherCls)
|
|
251
220
|
});
|
|
252
221
|
}
|
|
253
|
-
|
|
254
222
|
if (switcherIcon) {
|
|
255
223
|
return switcherIcon;
|
|
256
224
|
}
|
|
257
|
-
|
|
258
225
|
if (showLine) {
|
|
259
226
|
return expanded ? jsx(SolidArrowDown, {
|
|
260
227
|
className: "".concat(prefixCls, "-switcher-line-icon")
|
|
@@ -262,14 +229,12 @@ function renderSwitcherIcon(prefixCls, switcherIcon, showLine, _ref) {
|
|
|
262
229
|
className: "".concat(prefixCls, "-switcher-line-icon")
|
|
263
230
|
});
|
|
264
231
|
}
|
|
265
|
-
|
|
266
232
|
return jsx(SolidArrowDown, {
|
|
267
233
|
className: switcherCls
|
|
268
234
|
});
|
|
269
235
|
}
|
|
270
236
|
function renderTreeNodeIcon(nodeProps, radioable, checkedKey, replaceFields) {
|
|
271
237
|
var _a;
|
|
272
|
-
|
|
273
238
|
if (!radioable) return null;
|
|
274
239
|
var key = replaceFields.key;
|
|
275
240
|
var isChecked = ((_a = nodeProps.data) === null || _a === void 0 ? void 0 : _a[key]) === checkedKey;
|
|
@@ -303,6 +268,7 @@ var localeJson = {
|
|
|
303
268
|
var css_248z$1 = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n.sector-container {\n position: relative;\n z-index: 1500;\n}\n.sector-container .sector-item-container {\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n padding: 0;\n}\n.sector-container .sector-item-container .sector-item {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: 0;\n top: 0;\n width: 24px;\n height: 24px;\n background-color: rgb(255, 255, 255);\n border-radius: 50%;\n box-shadow: 4px 4px 6px rgba(70, 75, 105, 0.2), -4px -4px 6px rgba(0, 0, 0, 0.06);\n cursor: pointer;\n opacity: 0;\n}\n.sector-container .sector-item-container .sector-item svg {\n font-size: 14px;\n color: rgba(46, 55, 67, 0.7);\n}\n.sector-container .sector-item-container .sector-item:hover {\n color: rgb(54, 102, 214);\n}\n.sector-container .sector-item-container .sector-item:hover svg {\n color: inherit;\n}\n.sector-container .sector-item-container .sector-item--del:hover {\n color: rgb(235, 96, 84);\n}\n.sector-container .sector-item-container .sector-item--del:hover svg {\n color: inherit;\n}";
|
|
304
269
|
styleInject(css_248z$1);
|
|
305
270
|
|
|
271
|
+
//默认扇形按钮图标
|
|
306
272
|
var getIconMap = function getIconMap(intl) {
|
|
307
273
|
return {
|
|
308
274
|
'add': {
|
|
@@ -330,12 +296,10 @@ var getIconMap = function getIconMap(intl) {
|
|
|
330
296
|
})
|
|
331
297
|
}
|
|
332
298
|
};
|
|
333
|
-
};
|
|
334
|
-
|
|
335
|
-
|
|
299
|
+
};
|
|
300
|
+
//action array
|
|
336
301
|
var toActionArr = function toActionArr(actions, nodeData, IconMap) {
|
|
337
302
|
if (actions === undefined || actions === false) return [];
|
|
338
|
-
|
|
339
303
|
if (actions === true) {
|
|
340
304
|
return Object.keys(IconMap).map(function (k) {
|
|
341
305
|
return Object.assign(Object.assign({}, IconMap[k]), {
|
|
@@ -343,11 +307,9 @@ var toActionArr = function toActionArr(actions, nodeData, IconMap) {
|
|
|
343
307
|
});
|
|
344
308
|
});
|
|
345
309
|
}
|
|
346
|
-
|
|
347
310
|
var arr = [];
|
|
348
311
|
Object.keys(actions).forEach(function (k) {
|
|
349
312
|
var aItem = actions[k];
|
|
350
|
-
|
|
351
313
|
if (k !== 'customizeActions') {
|
|
352
314
|
//非自定义
|
|
353
315
|
if (_typeof(aItem) === 'object') {
|
|
@@ -383,40 +345,31 @@ var toActionArr = function toActionArr(actions, nodeData, IconMap) {
|
|
|
383
345
|
}
|
|
384
346
|
});
|
|
385
347
|
return arr;
|
|
386
|
-
};
|
|
387
|
-
|
|
388
|
-
|
|
348
|
+
};
|
|
349
|
+
//tree node 操作栏
|
|
389
350
|
var OperateBar = function OperateBar(props) {
|
|
390
351
|
var actionsCallback = props.actionsCallback,
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
352
|
+
opRef = props.opRef,
|
|
353
|
+
mouseInRef = props.mouseInRef,
|
|
354
|
+
showActions = props.showActions,
|
|
355
|
+
onRemove = props.onRemove;
|
|
395
356
|
var portalRef = useRef(null); //portal
|
|
396
|
-
|
|
397
357
|
var uidRef = useRef(UUID().replace(/-/g, '')); //portal uid
|
|
398
|
-
|
|
399
358
|
var _useState = useState({}),
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
359
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
360
|
+
nodeData = _useState2[0],
|
|
361
|
+
setNodeData = _useState2[1]; //节点数据
|
|
405
362
|
var _useState3 = useState(false),
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
363
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
364
|
+
isRender = _useState4[0],
|
|
365
|
+
setIsRender = _useState4[1]; //重新渲染
|
|
411
366
|
var _useState5 = useState(false),
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
367
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
368
|
+
hasPortal = _useState6[0],
|
|
369
|
+
setHasPortal = _useState6[1]; //创建插槽portal
|
|
417
370
|
var opRefCurrent = opRef.current;
|
|
418
|
-
var intl = useFormatMessage('Tree', localeJson);
|
|
419
|
-
|
|
371
|
+
var intl = useFormatMessage('Tree', localeJson);
|
|
372
|
+
//扇形位置
|
|
420
373
|
var getPosition = function getPosition(length, deg) {
|
|
421
374
|
var left = Math.round(Math.sin(Math.PI / 180 * deg) * length) + "px";
|
|
422
375
|
var top = -Math.round(Math.cos(Math.PI / 180 * deg) * length + 12) + "px";
|
|
@@ -424,33 +377,27 @@ var OperateBar = function OperateBar(props) {
|
|
|
424
377
|
"left": left,
|
|
425
378
|
"top": top
|
|
426
379
|
};
|
|
427
|
-
};
|
|
428
|
-
|
|
429
|
-
|
|
380
|
+
};
|
|
381
|
+
//计算扇形半径
|
|
430
382
|
var calcRadius = function calcRadius(num) {
|
|
431
383
|
if (num <= 4) return 40;else if (num === 5) return 60;else if (num > 5 && num < 7) return 80;else return 100;
|
|
432
|
-
};
|
|
433
|
-
|
|
434
|
-
|
|
384
|
+
};
|
|
385
|
+
//更新外层容器样式
|
|
435
386
|
var updateContainerStyles = function updateContainerStyles(C, r) {
|
|
436
387
|
var _a, _b;
|
|
437
|
-
|
|
438
388
|
var _ref = ((_b = (_a = opRef.current) === null || _a === void 0 ? void 0 : _a.anchorEl) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) || {},
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
389
|
+
top = _ref.top,
|
|
390
|
+
left = _ref.left,
|
|
391
|
+
height = _ref.height;
|
|
443
392
|
var w = r + 24 + 12;
|
|
444
393
|
var h = r * 2 + 24 + 12;
|
|
445
394
|
top = top - h / 2 + height / 2;
|
|
446
395
|
C.style.cssText = "\n position: fixed;\n width:".concat(w, "px;\n height: ").concat(h, "px;\n top: ").concat(top, "px;\n left: ").concat(left, "px;\n ");
|
|
447
|
-
};
|
|
448
|
-
|
|
449
|
-
|
|
396
|
+
};
|
|
397
|
+
//计算角度
|
|
450
398
|
var getActionsAngle = function getActionsAngle(num, i) {
|
|
451
399
|
var interval = 0;
|
|
452
400
|
var deg = 0;
|
|
453
|
-
|
|
454
401
|
if (num === 4) {
|
|
455
402
|
interval = 60;
|
|
456
403
|
deg = i * interval;
|
|
@@ -472,59 +419,47 @@ var OperateBar = function OperateBar(props) {
|
|
|
472
419
|
interval = 20;
|
|
473
420
|
deg = i * interval;
|
|
474
421
|
}
|
|
475
|
-
|
|
476
422
|
return deg;
|
|
477
|
-
};
|
|
478
|
-
|
|
479
|
-
|
|
423
|
+
};
|
|
424
|
+
//扇形展开
|
|
480
425
|
var sectorAndRotate = function sectorAndRotate() {
|
|
481
426
|
var _a;
|
|
482
|
-
|
|
483
427
|
var portal = document.getElementById(uidRef.current);
|
|
484
428
|
var container = (_a = portal === null || portal === void 0 ? void 0 : portal.getElementsByClassName('sector-item-container')) === null || _a === void 0 ? void 0 : _a[0];
|
|
485
429
|
var items = (container === null || container === void 0 ? void 0 : container.childNodes) || [];
|
|
486
430
|
var parentContainer = container === null || container === void 0 ? void 0 : container.parentNode;
|
|
487
431
|
var r = calcRadius(items.length);
|
|
488
|
-
|
|
489
432
|
if (parentContainer) {
|
|
490
433
|
updateContainerStyles(parentContainer, r);
|
|
491
434
|
}
|
|
492
|
-
|
|
493
435
|
for (var i = 0; i < items.length; i++) {
|
|
494
436
|
var item = items[i];
|
|
495
437
|
item.style.transition = ".3s";
|
|
496
|
-
item.style.opacity = 1;
|
|
497
|
-
|
|
438
|
+
item.style.opacity = 1;
|
|
439
|
+
//计算角度
|
|
498
440
|
var deg = getActionsAngle(items.length, i);
|
|
499
|
-
|
|
500
441
|
var _getPosition = getPosition(r, deg),
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
442
|
+
left = _getPosition.left,
|
|
443
|
+
top = _getPosition.top;
|
|
504
444
|
item.style.transform = "translate(".concat(left, ",").concat(top, ")");
|
|
505
445
|
}
|
|
506
|
-
};
|
|
507
|
-
|
|
508
|
-
|
|
446
|
+
};
|
|
447
|
+
//扇形收缩
|
|
509
448
|
var sectorAndRotateReverse = function sectorAndRotateReverse() {
|
|
510
449
|
var _a, _b;
|
|
511
|
-
|
|
512
450
|
var portal = document.getElementById(uidRef.current);
|
|
513
451
|
var container = (_a = portal === null || portal === void 0 ? void 0 : portal.getElementsByClassName('sector-item-container')) === null || _a === void 0 ? void 0 : _a[0];
|
|
514
452
|
var items = (container === null || container === void 0 ? void 0 : container.childNodes) || [];
|
|
515
|
-
|
|
516
453
|
for (var i = 0; i < items.length; i++) {
|
|
517
454
|
var item = items[i];
|
|
518
455
|
item.style.transition = ".3s";
|
|
519
456
|
item.style.transform = "translate(0,0)";
|
|
520
457
|
item.style.opacity = 0;
|
|
521
458
|
}
|
|
522
|
-
|
|
523
459
|
(_b = portal === null || portal === void 0 ? void 0 : portal.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(portal);
|
|
524
460
|
setHasPortal(false);
|
|
525
|
-
};
|
|
526
|
-
|
|
527
|
-
|
|
461
|
+
};
|
|
462
|
+
//显示扇形
|
|
528
463
|
var onShowSector = function onShowSector(nodeData, isShow) {
|
|
529
464
|
if (isShow) {
|
|
530
465
|
setNodeData(nodeData);
|
|
@@ -532,34 +467,29 @@ var OperateBar = function OperateBar(props) {
|
|
|
532
467
|
} else {
|
|
533
468
|
sectorAndRotateReverse();
|
|
534
469
|
}
|
|
535
|
-
};
|
|
536
|
-
|
|
537
|
-
|
|
470
|
+
};
|
|
471
|
+
//鼠标进入扇形
|
|
538
472
|
var onMouseInSector = function onMouseInSector() {
|
|
539
473
|
mouseInRef.current = true;
|
|
540
|
-
};
|
|
541
|
-
|
|
542
|
-
|
|
474
|
+
};
|
|
475
|
+
//鼠标离开扇形
|
|
543
476
|
var onMouseLeaveSector = function onMouseLeaveSector() {
|
|
544
477
|
onRemove === null || onRemove === void 0 ? void 0 : onRemove(opRefCurrent.anchorEl);
|
|
545
|
-
};
|
|
546
|
-
|
|
547
|
-
|
|
478
|
+
};
|
|
479
|
+
//操作按钮点击回调
|
|
548
480
|
var handleNodeActions = function handleNodeActions(nodeData, type, evt) {
|
|
549
481
|
evt.stopPropagation();
|
|
550
482
|
actionsCallback === null || actionsCallback === void 0 ? void 0 : actionsCallback(nodeData, type, evt);
|
|
551
|
-
};
|
|
552
|
-
|
|
553
|
-
|
|
483
|
+
};
|
|
484
|
+
//渲染操作栏
|
|
554
485
|
var renderOperateBar = function renderOperateBar() {
|
|
555
486
|
var actionArr = toActionArr(showActions, nodeData, getIconMap(intl));
|
|
556
487
|
if (!(actionArr === null || actionArr === void 0 ? void 0 : actionArr.length)) return null;
|
|
557
488
|
return actionArr.map(function (item, idx) {
|
|
558
489
|
var _ref2 = item !== null && item !== void 0 ? item : {},
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
490
|
+
action = _ref2.action,
|
|
491
|
+
text = _ref2.text,
|
|
492
|
+
icon = _ref2.icon;
|
|
563
493
|
return jsx(Tooltip, Object.assign({
|
|
564
494
|
title: text
|
|
565
495
|
}, {
|
|
@@ -575,9 +505,8 @@ var OperateBar = function OperateBar(props) {
|
|
|
575
505
|
}))
|
|
576
506
|
}), idx);
|
|
577
507
|
});
|
|
578
|
-
};
|
|
579
|
-
|
|
580
|
-
|
|
508
|
+
};
|
|
509
|
+
//透传mouse enter 事件
|
|
581
510
|
useImperativeHandle(opRef, function () {
|
|
582
511
|
return Object.assign(Object.assign({}, opRefCurrent), {
|
|
583
512
|
uid: uidRef.current,
|
|
@@ -588,7 +517,6 @@ var OperateBar = function OperateBar(props) {
|
|
|
588
517
|
//创建portal
|
|
589
518
|
var createPortal = function createPortal() {
|
|
590
519
|
var portal = document.getElementById(uidRef.current);
|
|
591
|
-
|
|
592
520
|
if (!portal) {
|
|
593
521
|
portal = document.createElement('div');
|
|
594
522
|
portal.id = uidRef.current;
|
|
@@ -598,18 +526,15 @@ var OperateBar = function OperateBar(props) {
|
|
|
598
526
|
document.body.appendChild(portal);
|
|
599
527
|
setHasPortal(true);
|
|
600
528
|
}
|
|
601
|
-
|
|
602
529
|
setIsRender(true);
|
|
603
530
|
portalRef.current = portal;
|
|
604
531
|
};
|
|
605
|
-
|
|
606
532
|
if (!hasPortal) createPortal();
|
|
607
|
-
}, [hasPortal]);
|
|
608
|
-
|
|
533
|
+
}, [hasPortal]);
|
|
534
|
+
//销毁
|
|
609
535
|
useEffect(function () {
|
|
610
536
|
return function () {
|
|
611
537
|
var _a, _b;
|
|
612
|
-
|
|
613
538
|
(_b = (_a = portalRef.current) === null || _a === void 0 ? void 0 : _a.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(portalRef.current);
|
|
614
539
|
setHasPortal(false);
|
|
615
540
|
};
|
|
@@ -629,149 +554,127 @@ var OperateBar = function OperateBar(props) {
|
|
|
629
554
|
});
|
|
630
555
|
};
|
|
631
556
|
|
|
557
|
+
//默认分页信息
|
|
632
558
|
var defaultPageSize = {
|
|
633
559
|
page: 1,
|
|
634
560
|
size: 10
|
|
635
|
-
};
|
|
636
|
-
|
|
561
|
+
};
|
|
562
|
+
//tree 组件
|
|
637
563
|
var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
638
564
|
var url = props.url,
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
565
|
+
ctx = props.ctx,
|
|
566
|
+
_props$params = props.params,
|
|
567
|
+
params = _props$params === void 0 ? null : _props$params,
|
|
568
|
+
_props$method = props.method,
|
|
569
|
+
method = _props$method === void 0 ? 'GET' : _props$method,
|
|
570
|
+
requestCallback = props.requestCallback,
|
|
571
|
+
refresh = props.refresh,
|
|
572
|
+
_props$replaceFields = props.replaceFields,
|
|
573
|
+
replaceFields = _props$replaceFields === void 0 ? {
|
|
574
|
+
key: 'key',
|
|
575
|
+
parentId: 'parentId',
|
|
576
|
+
children: 'children',
|
|
577
|
+
title: 'title',
|
|
578
|
+
loadKey: 'key'
|
|
579
|
+
} : _props$replaceFields,
|
|
580
|
+
originTreeData = props.treeData,
|
|
581
|
+
className = props.className,
|
|
582
|
+
showIcon = props.showIcon,
|
|
583
|
+
_icon = props.icon,
|
|
584
|
+
showLine = props.showLine,
|
|
585
|
+
_switcherIcon = props.switcherIcon,
|
|
586
|
+
blockNode = props.blockNode,
|
|
587
|
+
checkable = props.checkable,
|
|
588
|
+
selectable = props.selectable,
|
|
589
|
+
_props$radioable = props.radioable,
|
|
590
|
+
radioable = _props$radioable === void 0 ? false : _props$radioable,
|
|
591
|
+
_props$showRadio = props.showRadio,
|
|
592
|
+
showRadio = _props$showRadio === void 0 ? true : _props$showRadio,
|
|
593
|
+
_props$checkStrictly = props.checkStrictly,
|
|
594
|
+
checkStrictly = _props$checkStrictly === void 0 ? false : _props$checkStrictly,
|
|
595
|
+
actionsCallback = props.actionsCallback,
|
|
596
|
+
showActions = props.showActions,
|
|
597
|
+
checkedKeys = props.checkedKeys,
|
|
598
|
+
defaultCheckedKeys = props.defaultCheckedKeys,
|
|
599
|
+
expandedKeys = props.expandedKeys,
|
|
600
|
+
defaultExpandedKeys = props.defaultExpandedKeys,
|
|
601
|
+
loadedKeys = props.loadedKeys,
|
|
602
|
+
onCheck = props.onCheck,
|
|
603
|
+
onExpand = props.onExpand,
|
|
604
|
+
_props$asyncLoad = props.asyncLoad,
|
|
605
|
+
asyncLoad = _props$asyncLoad === void 0 ? false : _props$asyncLoad,
|
|
606
|
+
_props$pagination = props.pagination,
|
|
607
|
+
pagination = _props$pagination === void 0 ? false : _props$pagination,
|
|
608
|
+
_props$pageSize = props.pageSize,
|
|
609
|
+
pageSize = _props$pageSize === void 0 ? defaultPageSize : _props$pageSize,
|
|
610
|
+
loadData = props.loadData,
|
|
611
|
+
_props$localFilter = props.localFilter,
|
|
612
|
+
localFilter = _props$localFilter === void 0 ? false : _props$localFilter,
|
|
613
|
+
localParams = props.localParams,
|
|
614
|
+
onFilter = props.onFilter,
|
|
615
|
+
_props$loadMoreNode = props.loadMoreNode,
|
|
616
|
+
loadMoreNode = _props$loadMoreNode === void 0 ? null : _props$loadMoreNode,
|
|
617
|
+
paramsCallback = props.paramsCallback,
|
|
618
|
+
titleRender = props.titleRender,
|
|
619
|
+
emptyProps = props.emptyProps,
|
|
620
|
+
notFoundContent = props.notFoundContent,
|
|
621
|
+
wrapperClassName = props.wrapperClassName,
|
|
622
|
+
wrapperStyle = props.wrapperStyle,
|
|
623
|
+
_props$showLoading = props.showLoading,
|
|
624
|
+
showLoading = _props$showLoading === void 0 ? true : _props$showLoading,
|
|
625
|
+
onLoadedKey = props.onLoadedKey;
|
|
701
626
|
var _useState = useState([]),
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
627
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
628
|
+
treeData = _useState2[0],
|
|
629
|
+
setTreeData = _useState2[1]; //树数据
|
|
707
630
|
var _useState3 = useState([]),
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
631
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
632
|
+
inCheckedKeys = _useState4[0],
|
|
633
|
+
setInCheckedKeys = _useState4[1]; //选中keys
|
|
713
634
|
var _useState5 = useState([]),
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
635
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
636
|
+
inExpandedKeysKeys = _useState6[0],
|
|
637
|
+
setInExpandedKeys = _useState6[1]; //展开keys
|
|
719
638
|
var opRef = useRef({}); //操作栏
|
|
720
|
-
|
|
721
639
|
var mouseInSectorRef = useRef(false); //是否鼠标进入扇形
|
|
722
|
-
|
|
723
640
|
var timeSectorRef = useRef(-1); //定时显示扇形
|
|
724
|
-
|
|
725
641
|
var nodesRef = useRef([]); //保存节点状态
|
|
726
|
-
|
|
727
642
|
var prefixCls = "".concat($prefixCls, "-tree"); //tree容器前缀
|
|
728
|
-
|
|
729
643
|
var treeMapRef = useRef({}); //tree map
|
|
730
|
-
|
|
731
644
|
var treeOriDataRef = useRef([]); //tree origin data
|
|
732
|
-
|
|
733
645
|
var nPageSize = Object.assign(Object.assign({}, defaultPageSize), pageSize);
|
|
734
646
|
var halfCheckedKeys = useRef([]); //半选keys
|
|
735
|
-
|
|
736
647
|
var intl = useFormatMessage('Tree', localeJson);
|
|
737
|
-
|
|
738
648
|
var _useState7 = useState(false),
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
649
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
650
|
+
loading = _useState8[0],
|
|
651
|
+
setLoading = _useState8[1];
|
|
743
652
|
var firstRender = useRef(true); //是否第一次渲染
|
|
744
|
-
|
|
745
653
|
var _useState9 = useState([]),
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
654
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
655
|
+
inLoadedKeys = _useState10[0],
|
|
656
|
+
setInLoadKeys = _useState10[1];
|
|
657
|
+
//新属性
|
|
751
658
|
var newProps = Object.assign(Object.assign({}, props), {
|
|
752
659
|
showLine: Boolean(showLine),
|
|
753
660
|
checkStrictly: radioable || checkStrictly,
|
|
754
661
|
showIcon: radioable || showIcon
|
|
755
|
-
});
|
|
756
|
-
|
|
662
|
+
});
|
|
663
|
+
//生成class
|
|
757
664
|
var makeCls = function makeCls() {
|
|
758
665
|
var _clsx;
|
|
759
|
-
|
|
760
666
|
return clsx((_clsx = {}, _defineProperty(_clsx, "".concat(prefixCls, "-icon-hide"), !showIcon), _defineProperty(_clsx, "".concat(prefixCls, "-block-node"), blockNode), _defineProperty(_clsx, "".concat(prefixCls, "-unselectable"), !selectable), _defineProperty(_clsx, "".concat(prefixCls, "-radioable"), radioable), _defineProperty(_clsx, "".concat(prefixCls, "-radioable-showradio"), radioable && showRadio), _clsx), className);
|
|
761
|
-
};
|
|
762
|
-
|
|
763
|
-
|
|
667
|
+
};
|
|
668
|
+
//格式化treeData 替换显示字段
|
|
764
669
|
var formatTreeData = function formatTreeData(treeData) {
|
|
765
670
|
function recursive(dataList) {
|
|
766
671
|
var _ref = replaceFields || {},
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
672
|
+
key = _ref.key,
|
|
673
|
+
title = _ref.title,
|
|
674
|
+
children = _ref.children,
|
|
675
|
+
parentId = _ref.parentId;
|
|
772
676
|
dataList.forEach(function (item) {
|
|
773
677
|
var _a;
|
|
774
|
-
|
|
775
678
|
if (key) item.key = item[key];
|
|
776
679
|
if (title) item.title = item[title];
|
|
777
680
|
if (children) item.children = item[children];
|
|
@@ -779,12 +682,10 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
779
682
|
if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) recursive(item.children);
|
|
780
683
|
});
|
|
781
684
|
}
|
|
782
|
-
|
|
783
685
|
if (replaceFields) recursive(treeData);
|
|
784
686
|
return treeData;
|
|
785
|
-
};
|
|
786
|
-
|
|
787
|
-
|
|
687
|
+
};
|
|
688
|
+
//内部 tree title render
|
|
788
689
|
var internalTitleRender = function internalTitleRender(nodeData) {
|
|
789
690
|
if (nodeData.moreFlag) {
|
|
790
691
|
//加载更多节点
|
|
@@ -797,7 +698,6 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
797
698
|
})
|
|
798
699
|
}));
|
|
799
700
|
}
|
|
800
|
-
|
|
801
701
|
return jsxs("span", Object.assign({
|
|
802
702
|
className: "".concat($prefixCls, "-tree-title-wrapper"),
|
|
803
703
|
onMouseEnter: handleTreeNodeMEnter,
|
|
@@ -816,51 +716,40 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
816
716
|
children: jsx(MoreOutlinedIcon, {})
|
|
817
717
|
}))]
|
|
818
718
|
}));
|
|
819
|
-
};
|
|
820
|
-
|
|
821
|
-
|
|
719
|
+
};
|
|
720
|
+
//tree node mouse enter
|
|
822
721
|
var handleTreeNodeMEnter = function handleTreeNodeMEnter(evt) {
|
|
823
722
|
evt.stopPropagation();
|
|
824
723
|
clearNodesState();
|
|
825
724
|
var _currTarget = evt.currentTarget;
|
|
826
|
-
|
|
827
725
|
if (_currTarget) {
|
|
828
726
|
var pClsx = ".".concat($prefixCls, "-tree-node-content-wrapper");
|
|
829
|
-
|
|
830
727
|
var cParentEl = _currTarget.closest(pClsx);
|
|
831
|
-
|
|
832
728
|
nodesRef.current.push(cParentEl);
|
|
833
729
|
showMoreActionIcon(cParentEl, true);
|
|
834
730
|
}
|
|
835
|
-
};
|
|
836
|
-
|
|
837
|
-
|
|
731
|
+
};
|
|
732
|
+
//tree node mouse leave
|
|
838
733
|
var handleTreeNodeMLeave = function handleTreeNodeMLeave(evt) {
|
|
839
734
|
evt.stopPropagation();
|
|
840
735
|
clearNodesState();
|
|
841
736
|
var _currTarget = evt.currentTarget;
|
|
842
|
-
|
|
843
737
|
if (_currTarget) {
|
|
844
738
|
var pClsx = ".".concat($prefixCls, "-tree-node-content-wrapper");
|
|
845
|
-
|
|
846
739
|
var cParentEl = _currTarget.closest(pClsx);
|
|
847
|
-
|
|
848
740
|
showMoreActionIcon(cParentEl, false);
|
|
849
741
|
}
|
|
850
|
-
};
|
|
851
|
-
|
|
852
|
-
|
|
742
|
+
};
|
|
743
|
+
//节点显示更多图标
|
|
853
744
|
var showMoreActionIcon = function showMoreActionIcon(cParentEl, isShow) {
|
|
854
745
|
if (!cParentEl) return;
|
|
855
|
-
|
|
856
746
|
if (isShow) {
|
|
857
747
|
cParentEl === null || cParentEl === void 0 ? void 0 : cParentEl.classList.add("".concat($prefixCls, "-tree-node-content-wrapper--active"));
|
|
858
748
|
} else {
|
|
859
749
|
cParentEl === null || cParentEl === void 0 ? void 0 : cParentEl.classList.remove("".concat($prefixCls, "-tree-node-content-wrapper--active"));
|
|
860
750
|
}
|
|
861
|
-
};
|
|
862
|
-
|
|
863
|
-
|
|
751
|
+
};
|
|
752
|
+
//mouse enter sector
|
|
864
753
|
var handleSectorMEnter = function handleSectorMEnter(nodeData, evt) {
|
|
865
754
|
evt.stopPropagation();
|
|
866
755
|
var _currTarget = evt.currentTarget;
|
|
@@ -869,49 +758,40 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
869
758
|
clearTimeout(timeSectorRef.current);
|
|
870
759
|
showSector(_currTarget, nodeData);
|
|
871
760
|
}, 300);
|
|
872
|
-
};
|
|
873
|
-
|
|
874
|
-
|
|
761
|
+
};
|
|
762
|
+
//mouse sector leave
|
|
875
763
|
var handleSectorMLeave = function handleSectorMLeave(evt) {
|
|
876
764
|
evt.stopPropagation();
|
|
877
765
|
clearTimeout(timeSectorRef.current);
|
|
878
766
|
var _anchor = evt.currentTarget;
|
|
879
767
|
var timer = setTimeout(function () {
|
|
880
768
|
clearTimeout(timer);
|
|
881
|
-
|
|
882
769
|
if (!mouseInSectorRef.current) {
|
|
883
770
|
removeSector(_anchor);
|
|
884
771
|
}
|
|
885
772
|
}, 300);
|
|
886
|
-
};
|
|
887
|
-
|
|
888
|
-
|
|
773
|
+
};
|
|
774
|
+
//显示扇形
|
|
889
775
|
var showSector = function showSector(anchorEl, nodeData) {
|
|
890
776
|
var _a, _b;
|
|
891
|
-
|
|
892
777
|
var portalRoot = document.getElementById(opRef.current.uid);
|
|
893
778
|
anchorEl.classList.add('sector-anchor--active');
|
|
894
|
-
|
|
895
779
|
if (portalRoot) {
|
|
896
780
|
var container = portalRoot.querySelector('.sector-container');
|
|
897
|
-
|
|
898
781
|
if (container) {
|
|
899
782
|
(_b = (_a = opRef.current) === null || _a === void 0 ? void 0 : _a.onShowSector) === null || _b === void 0 ? void 0 : _b.call(_a, nodeData, true);
|
|
900
783
|
}
|
|
901
784
|
}
|
|
902
|
-
};
|
|
903
|
-
|
|
904
|
-
|
|
785
|
+
};
|
|
786
|
+
//移除扇形
|
|
905
787
|
var removeSector = function removeSector(anchorEl) {
|
|
906
788
|
var _a, _b;
|
|
907
|
-
|
|
908
789
|
if (anchorEl) {
|
|
909
790
|
anchorEl.classList.remove('sector-anchor--active');
|
|
910
791
|
(_b = (_a = opRef.current) === null || _a === void 0 ? void 0 : _a.onShowSector) === null || _b === void 0 ? void 0 : _b.call(_a, {}, false);
|
|
911
792
|
}
|
|
912
|
-
};
|
|
913
|
-
|
|
914
|
-
|
|
793
|
+
};
|
|
794
|
+
//离开扇形回调
|
|
915
795
|
var handleOnRemove = function handleOnRemove(anchorEl) {
|
|
916
796
|
if (anchorEl) {
|
|
917
797
|
var pCls = ".".concat($prefixCls, "-tree-node-content-wrapper");
|
|
@@ -919,29 +799,23 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
919
799
|
showMoreActionIcon(cParentEl, false);
|
|
920
800
|
removeSector(anchorEl);
|
|
921
801
|
}
|
|
922
|
-
};
|
|
923
|
-
|
|
924
|
-
|
|
802
|
+
};
|
|
803
|
+
//清除节点状态
|
|
925
804
|
var clearNodesState = function clearNodesState() {
|
|
926
805
|
var _a;
|
|
927
|
-
|
|
928
806
|
if ((_a = nodesRef.current) === null || _a === void 0 ? void 0 : _a.length) {
|
|
929
807
|
nodesRef.current.forEach(function (el) {
|
|
930
808
|
var _a;
|
|
931
|
-
|
|
932
809
|
(_a = el === null || el === void 0 ? void 0 : el.classList) === null || _a === void 0 ? void 0 : _a.remove("".concat($prefixCls, "-tree-node-content-wrapper--active"));
|
|
933
810
|
});
|
|
934
811
|
nodesRef.current.length = 0;
|
|
935
812
|
}
|
|
936
|
-
};
|
|
937
|
-
|
|
938
|
-
|
|
813
|
+
};
|
|
814
|
+
//内部check
|
|
939
815
|
var internalCheck = function internalCheck(checkedKeys, e) {
|
|
940
816
|
var _a;
|
|
941
|
-
|
|
942
817
|
var temp = [];
|
|
943
818
|
var halfChecked = [];
|
|
944
|
-
|
|
945
819
|
if (radioable) {
|
|
946
820
|
//单选
|
|
947
821
|
var node = e.node;
|
|
@@ -956,29 +830,23 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
956
830
|
temp = checkedKeys;
|
|
957
831
|
halfChecked = e.halfCheckedKeys;
|
|
958
832
|
}
|
|
959
|
-
|
|
960
833
|
if (!('checkedKeys' in props)) {
|
|
961
834
|
setInCheckedKeys(temp);
|
|
962
835
|
}
|
|
963
|
-
|
|
964
836
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck(temp, e, halfChecked);
|
|
965
|
-
};
|
|
966
|
-
|
|
967
|
-
|
|
837
|
+
};
|
|
838
|
+
//展开节点
|
|
968
839
|
var internalExpand = function internalExpand(expandedKeys, e) {
|
|
969
840
|
if (!('expandedKeys' in props)) {
|
|
970
841
|
setInExpandedKeys(_toConsumableArray(expandedKeys));
|
|
971
842
|
}
|
|
972
|
-
|
|
973
843
|
onExpand === null || onExpand === void 0 ? void 0 : onExpand(expandedKeys, e);
|
|
974
|
-
};
|
|
975
|
-
|
|
976
|
-
|
|
844
|
+
};
|
|
845
|
+
//请求树数据
|
|
977
846
|
var requestTreeData = function requestTreeData() {
|
|
978
847
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
979
848
|
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee() {
|
|
980
849
|
var tParams, m, opts, _yield$Request, data, err;
|
|
981
|
-
|
|
982
850
|
return regenerator.wrap(function _callee$(_context) {
|
|
983
851
|
while (1) {
|
|
984
852
|
switch (_context.prev = _context.next) {
|
|
@@ -987,9 +855,7 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
987
855
|
_context.next = 2;
|
|
988
856
|
break;
|
|
989
857
|
}
|
|
990
|
-
|
|
991
858
|
return _context.abrupt("return", []);
|
|
992
|
-
|
|
993
859
|
case 2:
|
|
994
860
|
showLoading && setLoading(true);
|
|
995
861
|
tParams = (paramsCallback === null || paramsCallback === void 0 ? void 0 : paramsCallback(params)) || params;
|
|
@@ -1001,24 +867,19 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1001
867
|
}, m === 'GET' ? 'params' : 'data', tParams || {});
|
|
1002
868
|
_context.next = 8;
|
|
1003
869
|
return Request(opts);
|
|
1004
|
-
|
|
1005
870
|
case 8:
|
|
1006
871
|
_yield$Request = _context.sent;
|
|
1007
872
|
data = _yield$Request.data;
|
|
1008
873
|
err = _yield$Request.err;
|
|
1009
874
|
//分页数据格式 {list,page,size,total},否则 []
|
|
1010
875
|
showLoading && setLoading(false);
|
|
1011
|
-
|
|
1012
876
|
if (!err) {
|
|
1013
877
|
_context.next = 14;
|
|
1014
878
|
break;
|
|
1015
879
|
}
|
|
1016
|
-
|
|
1017
880
|
return _context.abrupt("return", pagination ? {} : []);
|
|
1018
|
-
|
|
1019
881
|
case 14:
|
|
1020
882
|
return _context.abrupt("return", pagination ? data.data || {} : data.data || []);
|
|
1021
|
-
|
|
1022
883
|
case 15:
|
|
1023
884
|
case "end":
|
|
1024
885
|
return _context.stop();
|
|
@@ -1026,9 +887,8 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1026
887
|
}
|
|
1027
888
|
}, _callee);
|
|
1028
889
|
}));
|
|
1029
|
-
};
|
|
1030
|
-
|
|
1031
|
-
|
|
890
|
+
};
|
|
891
|
+
//加载更多节点数据
|
|
1032
892
|
var getLoadMoreData = function getLoadMoreData() {
|
|
1033
893
|
return {
|
|
1034
894
|
key: String((Math.random() * 1000000 | 0) + Date.now()),
|
|
@@ -1042,9 +902,8 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1042
902
|
icon: null,
|
|
1043
903
|
moreFlag: true
|
|
1044
904
|
};
|
|
1045
|
-
};
|
|
1046
|
-
|
|
1047
|
-
|
|
905
|
+
};
|
|
906
|
+
//渲染加载更多节点
|
|
1048
907
|
var renderLoadMoreNode = function renderLoadMoreNode(dataNode) {
|
|
1049
908
|
return jsx("span", Object.assign({
|
|
1050
909
|
className: "".concat($prefixCls, "-tree-treenode-more-wrapper"),
|
|
@@ -1055,17 +914,14 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1055
914
|
}, {
|
|
1056
915
|
children: loadMoreNode || dataNode.title
|
|
1057
916
|
}));
|
|
1058
|
-
};
|
|
1059
|
-
|
|
1060
|
-
|
|
917
|
+
};
|
|
918
|
+
//更新tree数据
|
|
1061
919
|
var updateTreeData = function updateTreeData(list, key, children, moreFlag) {
|
|
1062
920
|
//root节点
|
|
1063
921
|
if (key === 'ROOT_KEY') {
|
|
1064
922
|
list.pop(); //删除加载更多节点
|
|
1065
|
-
|
|
1066
923
|
return list.concat(children);
|
|
1067
924
|
}
|
|
1068
|
-
|
|
1069
925
|
return list.map(function (node) {
|
|
1070
926
|
if (node.key === key) {
|
|
1071
927
|
if (moreFlag) {
|
|
@@ -1076,34 +932,29 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1076
932
|
children: child.concat(children)
|
|
1077
933
|
});
|
|
1078
934
|
}
|
|
1079
|
-
|
|
1080
935
|
return Object.assign(Object.assign({}, node), {
|
|
1081
936
|
children: children
|
|
1082
937
|
});
|
|
1083
938
|
}
|
|
1084
|
-
|
|
1085
939
|
if (node.children) {
|
|
1086
940
|
return Object.assign(Object.assign({}, node), {
|
|
1087
941
|
children: updateTreeData(node.children, key, children, moreFlag)
|
|
1088
942
|
});
|
|
1089
943
|
}
|
|
1090
|
-
|
|
1091
944
|
return node;
|
|
1092
945
|
});
|
|
1093
|
-
};
|
|
1094
|
-
|
|
1095
|
-
|
|
946
|
+
};
|
|
947
|
+
//异步数据加载 [moreFlag]:加载更多标识
|
|
1096
948
|
var onLoadData = function onLoadData(dataNode) {
|
|
1097
949
|
var key = dataNode.key,
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
950
|
+
children = dataNode.children,
|
|
951
|
+
parentId = dataNode.parentId,
|
|
952
|
+
moreFlag = dataNode.moreFlag;
|
|
1101
953
|
setInLoadKeys([].concat(_toConsumableArray(inLoadedKeys), [key]));
|
|
1102
954
|
onLoadedKey === null || onLoadedKey === void 0 ? void 0 : onLoadedKey(key, dataNode);
|
|
1103
955
|
return new Promise(function (resolve) {
|
|
1104
956
|
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee2() {
|
|
1105
957
|
var _a, tKey, loadKey, loadParams, treeData, handledData, pageInfo, _treeData, _treeData$list, list, page, size, total;
|
|
1106
|
-
|
|
1107
958
|
return regenerator.wrap(function _callee2$(_context2) {
|
|
1108
959
|
while (1) {
|
|
1109
960
|
switch (_context2.prev = _context2.next) {
|
|
@@ -1112,62 +963,48 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1112
963
|
_context2.next = 3;
|
|
1113
964
|
break;
|
|
1114
965
|
}
|
|
1115
|
-
|
|
1116
966
|
resolve();
|
|
1117
967
|
return _context2.abrupt("return");
|
|
1118
|
-
|
|
1119
968
|
case 3:
|
|
1120
969
|
//当前节点key
|
|
1121
970
|
tKey = key; //参数动态字段
|
|
1122
|
-
|
|
1123
971
|
loadKey = (_a = replaceFields.loadKey) !== null && _a !== void 0 ? _a : 'key'; //加载节点时参数
|
|
1124
|
-
|
|
1125
972
|
loadParams = Object.assign(_defineProperty({}, loadKey, tKey), params); //是否分页
|
|
1126
|
-
|
|
1127
973
|
if (pagination) {
|
|
1128
974
|
if (moreFlag) {
|
|
1129
975
|
//是否加载更多
|
|
1130
976
|
tKey = parentId;
|
|
1131
977
|
treeMapRef.current[tKey].page += 1;
|
|
1132
978
|
loadParams[loadKey] = tKey;
|
|
1133
|
-
|
|
1134
979
|
if (tKey === 'ROOT_KEY') {
|
|
1135
980
|
//根节点加载更多,不需要key
|
|
1136
981
|
delete loadParams[loadKey];
|
|
1137
982
|
}
|
|
1138
|
-
}
|
|
1139
|
-
|
|
1140
|
-
|
|
983
|
+
}
|
|
984
|
+
//分页参数
|
|
1141
985
|
loadParams.page = treeMapRef.current[tKey].page;
|
|
1142
986
|
loadParams.size = treeMapRef.current[tKey].size;
|
|
1143
987
|
}
|
|
1144
|
-
|
|
1145
988
|
_context2.next = 9;
|
|
1146
989
|
return requestTreeData(loadParams);
|
|
1147
|
-
|
|
1148
990
|
case 9:
|
|
1149
991
|
treeData = _context2.sent;
|
|
1150
992
|
_context2.next = 12;
|
|
1151
993
|
return requestCallback === null || requestCallback === void 0 ? void 0 : requestCallback(treeData);
|
|
1152
|
-
|
|
1153
994
|
case 12:
|
|
1154
995
|
handledData = _context2.sent;
|
|
1155
996
|
if (handledData) treeData = handledData;
|
|
1156
997
|
pageInfo = {}; //分页信息
|
|
1157
|
-
|
|
1158
998
|
if (!pagination) {
|
|
1159
999
|
_context2.next = 22;
|
|
1160
1000
|
break;
|
|
1161
1001
|
}
|
|
1162
|
-
|
|
1163
1002
|
if (Object.keys(treeData).length) {
|
|
1164
1003
|
_context2.next = 19;
|
|
1165
1004
|
break;
|
|
1166
1005
|
}
|
|
1167
|
-
|
|
1168
1006
|
resolve();
|
|
1169
1007
|
return _context2.abrupt("return");
|
|
1170
|
-
|
|
1171
1008
|
case 19:
|
|
1172
1009
|
_treeData = treeData, _treeData$list = _treeData.list, list = _treeData$list === void 0 ? [] : _treeData$list, page = _treeData.page, size = _treeData.size, total = _treeData.total;
|
|
1173
1010
|
treeData = list;
|
|
@@ -1176,22 +1013,18 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1176
1013
|
size: size,
|
|
1177
1014
|
total: total
|
|
1178
1015
|
};
|
|
1179
|
-
|
|
1180
1016
|
case 22:
|
|
1181
1017
|
if (treeData === null || treeData === void 0 ? void 0 : treeData.length) {
|
|
1182
1018
|
treeData = formatTreeData(treeData);
|
|
1183
|
-
|
|
1184
1019
|
if (pagination) {
|
|
1185
1020
|
//是否分页
|
|
1186
1021
|
treeData = transformTreeData(treeData, pageInfo, tKey);
|
|
1187
1022
|
}
|
|
1188
1023
|
}
|
|
1189
|
-
|
|
1190
1024
|
if (Array.isArray(treeData)) setTreeData(function (origin) {
|
|
1191
1025
|
return updateTreeData(origin, tKey, treeData, moreFlag);
|
|
1192
1026
|
});
|
|
1193
1027
|
resolve();
|
|
1194
|
-
|
|
1195
1028
|
case 25:
|
|
1196
1029
|
case "end":
|
|
1197
1030
|
return _context2.stop();
|
|
@@ -1200,85 +1033,68 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1200
1033
|
}, _callee2);
|
|
1201
1034
|
}));
|
|
1202
1035
|
});
|
|
1203
|
-
};
|
|
1204
|
-
|
|
1205
|
-
|
|
1036
|
+
};
|
|
1037
|
+
//转化tree数据
|
|
1206
1038
|
var transformTreeData = function transformTreeData(treeData, pageInfo, parentId) {
|
|
1207
1039
|
var newTreeData = convert(treeData); //tree结构
|
|
1208
|
-
|
|
1209
1040
|
var page = pageInfo.page,
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1041
|
+
size = pageInfo.size,
|
|
1042
|
+
total = pageInfo.total;
|
|
1043
|
+
//计算分页,是否显示加载更多
|
|
1213
1044
|
if (page * size < total) {
|
|
1214
1045
|
var loadMoreData = getLoadMoreData();
|
|
1215
1046
|
loadMoreData.parentId = parentId || 'ROOT_KEY';
|
|
1216
1047
|
loadMoreData.title = renderLoadMoreNode(loadMoreData);
|
|
1217
1048
|
newTreeData.push(loadMoreData);
|
|
1218
1049
|
}
|
|
1219
|
-
|
|
1220
1050
|
treeMapRef.current = _toObject(newTreeData);
|
|
1221
|
-
|
|
1222
1051
|
function _toObject(data) {
|
|
1223
1052
|
var obj = treeMapRef.current;
|
|
1224
1053
|
if (!(data === null || data === void 0 ? void 0 : data.length)) return obj;
|
|
1225
1054
|
data.forEach(function (item) {
|
|
1226
1055
|
var tKey = item.moreFlag ? item.parentId : item.key;
|
|
1227
|
-
|
|
1228
1056
|
if (!obj[tKey]) {
|
|
1229
1057
|
obj[tKey] = Object.assign(Object.assign({}, item), nPageSize);
|
|
1230
1058
|
}
|
|
1231
1059
|
});
|
|
1232
1060
|
return obj;
|
|
1233
1061
|
}
|
|
1234
|
-
|
|
1235
1062
|
return newTreeData;
|
|
1236
|
-
};
|
|
1237
|
-
|
|
1238
|
-
|
|
1063
|
+
};
|
|
1064
|
+
//初始化树
|
|
1239
1065
|
var initTree = function initTree() {
|
|
1240
1066
|
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee3() {
|
|
1241
1067
|
var tParams, treeData, pageInfo, handledData, _treeData2, _treeData2$list, list, page, size, total;
|
|
1242
|
-
|
|
1243
1068
|
return regenerator.wrap(function _callee3$(_context3) {
|
|
1244
1069
|
while (1) {
|
|
1245
1070
|
switch (_context3.prev = _context3.next) {
|
|
1246
1071
|
case 0:
|
|
1247
1072
|
tParams = Object.assign({}, params);
|
|
1248
|
-
|
|
1249
1073
|
if (pagination) {
|
|
1250
1074
|
//分页参数
|
|
1251
1075
|
tParams.page = nPageSize.page;
|
|
1252
1076
|
tParams.size = nPageSize.size;
|
|
1253
1077
|
}
|
|
1254
|
-
|
|
1255
1078
|
_context3.next = 4;
|
|
1256
1079
|
return requestTreeData(tParams);
|
|
1257
|
-
|
|
1258
1080
|
case 4:
|
|
1259
1081
|
treeData = _context3.sent;
|
|
1260
1082
|
pageInfo = {}; //分页信息
|
|
1261
1083
|
//透传数据
|
|
1262
|
-
|
|
1263
1084
|
_context3.next = 8;
|
|
1264
1085
|
return requestCallback === null || requestCallback === void 0 ? void 0 : requestCallback(treeData);
|
|
1265
|
-
|
|
1266
1086
|
case 8:
|
|
1267
1087
|
handledData = _context3.sent;
|
|
1268
1088
|
if (handledData) treeData = handledData;
|
|
1269
|
-
|
|
1270
1089
|
if (!pagination) {
|
|
1271
1090
|
_context3.next = 17;
|
|
1272
1091
|
break;
|
|
1273
1092
|
}
|
|
1274
|
-
|
|
1275
1093
|
if (Object.keys(treeData).length) {
|
|
1276
1094
|
_context3.next = 13;
|
|
1277
1095
|
break;
|
|
1278
1096
|
}
|
|
1279
|
-
|
|
1280
1097
|
return _context3.abrupt("return", setTreeData([]));
|
|
1281
|
-
|
|
1282
1098
|
case 13:
|
|
1283
1099
|
_treeData2 = treeData, _treeData2$list = _treeData2.list, list = _treeData2$list === void 0 ? [] : _treeData2$list, page = _treeData2.page, size = _treeData2.size, total = _treeData2.total;
|
|
1284
1100
|
treeData = list;
|
|
@@ -1286,26 +1102,24 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1286
1102
|
page: page,
|
|
1287
1103
|
size: size,
|
|
1288
1104
|
total: total
|
|
1289
|
-
};
|
|
1290
|
-
|
|
1105
|
+
};
|
|
1106
|
+
//clean treeMapRef
|
|
1291
1107
|
treeMapRef.current = {};
|
|
1292
|
-
|
|
1293
1108
|
case 17:
|
|
1294
1109
|
if (treeData === null || treeData === void 0 ? void 0 : treeData.length) {
|
|
1295
1110
|
_context3.next = 19;
|
|
1296
1111
|
break;
|
|
1297
1112
|
}
|
|
1298
|
-
|
|
1299
1113
|
return _context3.abrupt("return", setTreeData([]));
|
|
1300
|
-
|
|
1301
1114
|
case 19:
|
|
1302
1115
|
treeData = formatTreeData(treeData);
|
|
1303
|
-
if (localFilter)
|
|
1116
|
+
if (localFilter)
|
|
1117
|
+
//本地过滤
|
|
1304
1118
|
treeOriDataRef.current = deepCopy(treeData);
|
|
1305
|
-
if (pagination)
|
|
1119
|
+
if (pagination)
|
|
1120
|
+
//是否分页
|
|
1306
1121
|
treeData = transformTreeData(treeData, pageInfo);
|
|
1307
1122
|
setTreeData(_toConsumableArray(treeData));
|
|
1308
|
-
|
|
1309
1123
|
case 23:
|
|
1310
1124
|
case "end":
|
|
1311
1125
|
return _context3.stop();
|
|
@@ -1313,24 +1127,22 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1313
1127
|
}
|
|
1314
1128
|
}, _callee3);
|
|
1315
1129
|
}));
|
|
1316
|
-
};
|
|
1317
|
-
|
|
1318
|
-
|
|
1130
|
+
};
|
|
1131
|
+
//额外的属性
|
|
1319
1132
|
var getAdditionProps = function getAdditionProps() {
|
|
1320
1133
|
var additionProps = {};
|
|
1321
|
-
if (asyncLoad)
|
|
1134
|
+
if (asyncLoad)
|
|
1135
|
+
//异步加载
|
|
1322
1136
|
additionProps.loadData = onLoadData;
|
|
1323
1137
|
if (loadData) additionProps.loadData = loadData;
|
|
1324
1138
|
additionProps.titleRender = internalTitleRender;
|
|
1325
1139
|
return additionProps;
|
|
1326
1140
|
};
|
|
1327
|
-
|
|
1328
1141
|
useEffect(function () {
|
|
1329
1142
|
if (defaultCheckedKeys) {
|
|
1330
1143
|
//默认值checked
|
|
1331
1144
|
setInCheckedKeys(_toConsumableArray(defaultCheckedKeys));
|
|
1332
1145
|
}
|
|
1333
|
-
|
|
1334
1146
|
if (defaultExpandedKeys) {
|
|
1335
1147
|
//默认值expanded
|
|
1336
1148
|
setInExpandedKeys(_toConsumableArray(defaultExpandedKeys));
|
|
@@ -1342,7 +1154,6 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1342
1154
|
setInCheckedKeys(_toConsumableArray(getCheckedKeys(checkedKeys)));
|
|
1343
1155
|
halfCheckedKeys.current = getHalfCheckedKeys(checkedKeys);
|
|
1344
1156
|
}
|
|
1345
|
-
|
|
1346
1157
|
if (expandedKeys) {
|
|
1347
1158
|
//展开keys
|
|
1348
1159
|
setInExpandedKeys(_toConsumableArray(expandedKeys));
|
|
@@ -1363,35 +1174,29 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1363
1174
|
//默认展开所有
|
|
1364
1175
|
function _expandAllNode(newTreeData) {
|
|
1365
1176
|
var keys = [];
|
|
1366
|
-
|
|
1367
1177
|
function recursive(dataList) {
|
|
1368
1178
|
dataList.forEach(function (item) {
|
|
1369
1179
|
var _a;
|
|
1370
|
-
|
|
1371
1180
|
if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
|
|
1372
1181
|
keys.push(item.key);
|
|
1373
1182
|
recursive(item.children);
|
|
1374
1183
|
}
|
|
1375
1184
|
});
|
|
1376
1185
|
}
|
|
1377
|
-
|
|
1378
1186
|
if (!expandedKeys && !defaultExpandedKeys) {
|
|
1379
1187
|
recursive(newTreeData);
|
|
1380
1188
|
if (keys.length) setInExpandedKeys(keys);
|
|
1381
1189
|
}
|
|
1382
|
-
}
|
|
1383
|
-
|
|
1384
|
-
|
|
1190
|
+
}
|
|
1191
|
+
//tree 初始化
|
|
1385
1192
|
if (Array.isArray(originTreeData)) {
|
|
1386
|
-
var newTreeData = formatTreeData(originTreeData);
|
|
1387
|
-
|
|
1193
|
+
var newTreeData = formatTreeData(originTreeData);
|
|
1194
|
+
//本地过滤
|
|
1388
1195
|
if (localFilter) treeOriDataRef.current = deepCopy(newTreeData);
|
|
1389
|
-
|
|
1390
1196
|
if (newProps.defaultExpandAll) {
|
|
1391
1197
|
//默认展开所有
|
|
1392
1198
|
_expandAllNode(newTreeData);
|
|
1393
1199
|
}
|
|
1394
|
-
|
|
1395
1200
|
setTreeData(_toConsumableArray(newTreeData));
|
|
1396
1201
|
} else {
|
|
1397
1202
|
initTree();
|
|
@@ -1401,18 +1206,16 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1401
1206
|
//过滤数据
|
|
1402
1207
|
function _filterData(_ref2) {
|
|
1403
1208
|
var searchKey = _ref2.searchKey,
|
|
1404
|
-
|
|
1209
|
+
searchValue = _ref2.searchValue;
|
|
1405
1210
|
if (!searchKey) return;
|
|
1406
|
-
|
|
1407
1211
|
if (searchValue === '') {
|
|
1408
1212
|
setTreeData(treeOriDataRef.current);
|
|
1409
1213
|
var tKeys = expandedKeys || defaultExpandedKeys;
|
|
1410
1214
|
setInExpandedKeys(_toConsumableArray(tKeys || []));
|
|
1411
1215
|
return;
|
|
1412
1216
|
}
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1217
|
+
var flatData = flatten(treeOriDataRef.current);
|
|
1218
|
+
//匹配数据
|
|
1416
1219
|
var filterTreeData = flatData.reduce(function (acc, curr) {
|
|
1417
1220
|
var title = String(curr[searchKey]).toLowerCase();
|
|
1418
1221
|
var isMatch = title.includes(searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase());
|
|
@@ -1421,15 +1224,13 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1421
1224
|
var newTreeData = convertByFilter(deepCopy(flatData), filterTreeData);
|
|
1422
1225
|
setTreeData(newTreeData);
|
|
1423
1226
|
setInExpandedKeys(_handleExpendKey(newTreeData));
|
|
1424
|
-
}
|
|
1425
|
-
|
|
1426
|
-
|
|
1227
|
+
}
|
|
1228
|
+
//处理展开key
|
|
1427
1229
|
function _handleExpendKey(list) {
|
|
1428
1230
|
return list.reduce(function (acc, curr) {
|
|
1429
1231
|
return acc.concat(curr.key, _handleExpendKey(curr.children || []));
|
|
1430
1232
|
}, []);
|
|
1431
1233
|
}
|
|
1432
|
-
|
|
1433
1234
|
if (localFilter) {
|
|
1434
1235
|
//开启本地过滤
|
|
1435
1236
|
if (onFilter) {
|
|
@@ -1438,11 +1239,10 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1438
1239
|
setTreeData(fData);
|
|
1439
1240
|
return;
|
|
1440
1241
|
}
|
|
1441
|
-
|
|
1442
1242
|
if (localParams) _filterData(localParams);
|
|
1443
1243
|
}
|
|
1444
|
-
}, [localFilter, localParams]);
|
|
1445
|
-
|
|
1244
|
+
}, [localFilter, localParams]);
|
|
1245
|
+
//渲染空状态
|
|
1446
1246
|
var renderEmpty = jsx("div", Object.assign({
|
|
1447
1247
|
className: clsx("".concat($prefixCls, "-tree ").concat($prefixCls, "-tree-empty"), className),
|
|
1448
1248
|
style: props.style
|
|
@@ -1450,9 +1250,8 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1450
1250
|
children: notFoundContent !== null && notFoundContent !== void 0 ? notFoundContent : jsx(Empty, Object.assign({
|
|
1451
1251
|
size: 'small'
|
|
1452
1252
|
}, emptyProps))
|
|
1453
|
-
}));
|
|
1454
|
-
|
|
1455
|
-
|
|
1253
|
+
}));
|
|
1254
|
+
//tree memo
|
|
1456
1255
|
var treeMemo = useMemo(function () {
|
|
1457
1256
|
if (!(treeData === null || treeData === void 0 ? void 0 : treeData.length) && firstRender.current) {
|
|
1458
1257
|
firstRender.current = false;
|
|
@@ -1460,16 +1259,13 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1460
1259
|
} else if (!(treeData === null || treeData === void 0 ? void 0 : treeData.length)) {
|
|
1461
1260
|
return renderEmpty;
|
|
1462
1261
|
}
|
|
1463
|
-
|
|
1464
1262
|
var tCheckedKeys = inCheckedKeys;
|
|
1465
|
-
|
|
1466
1263
|
if (checkStrictly) {
|
|
1467
1264
|
tCheckedKeys = {
|
|
1468
1265
|
checked: inCheckedKeys,
|
|
1469
1266
|
halfChecked: halfCheckedKeys.current
|
|
1470
1267
|
};
|
|
1471
1268
|
}
|
|
1472
|
-
|
|
1473
1269
|
return jsx(RcTree, Object.assign({
|
|
1474
1270
|
itemHeight: 20,
|
|
1475
1271
|
ref: ref
|
|
@@ -1494,14 +1290,13 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1494
1290
|
if (_icon) {
|
|
1495
1291
|
return typeof _icon === 'function' ? _icon(nodeProps) : _icon;
|
|
1496
1292
|
}
|
|
1497
|
-
|
|
1498
1293
|
if (nodeProps.checkable === false) return null;
|
|
1499
1294
|
if (!radioable) return null;else if (!showRadio) return null;
|
|
1500
1295
|
return renderTreeNodeIcon(nodeProps, radioable, inCheckedKeys[0], replaceFields);
|
|
1501
1296
|
}
|
|
1502
1297
|
}));
|
|
1503
|
-
}, [treeData, inCheckedKeys, inExpandedKeysKeys, newProps.selectedKeys, inLoadedKeys]);
|
|
1504
|
-
|
|
1298
|
+
}, [treeData, inCheckedKeys, inExpandedKeysKeys, newProps.selectedKeys, inLoadedKeys]);
|
|
1299
|
+
//OperateBar render
|
|
1505
1300
|
var renderOperateBar = function renderOperateBar() {
|
|
1506
1301
|
return !!showActions ? jsx(OperateBar, {
|
|
1507
1302
|
opRef: opRef,
|
|
@@ -1511,7 +1306,6 @@ var Tree = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
1511
1306
|
showActions: showActions
|
|
1512
1307
|
}) : null;
|
|
1513
1308
|
};
|
|
1514
|
-
|
|
1515
1309
|
return jsxs(Fragment, {
|
|
1516
1310
|
children: [jsxs("div", Object.assign({
|
|
1517
1311
|
className: clsx("".concat($prefixCls, "-tree-wrapper"), wrapperClassName),
|
|
@@ -1531,16 +1325,15 @@ Tree.defaultProps = {
|
|
|
1531
1325
|
blockNode: false
|
|
1532
1326
|
};
|
|
1533
1327
|
|
|
1328
|
+
// @ts-ignore
|
|
1534
1329
|
if (!Element.prototype.closest) {
|
|
1535
1330
|
Element.prototype.closest = function (s) {
|
|
1536
1331
|
var el = this;
|
|
1537
1332
|
if (!document.documentElement.contains(el)) return null;
|
|
1538
|
-
|
|
1539
1333
|
do {
|
|
1540
1334
|
if (el.matches(s)) return el;
|
|
1541
1335
|
el = el.parentElement;
|
|
1542
1336
|
} while (el !== null);
|
|
1543
|
-
|
|
1544
1337
|
return null;
|
|
1545
1338
|
};
|
|
1546
1339
|
}
|