@kdcloudjs/kdesign 1.5.4 → 1.5.7
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/CHANGELOG.md +61 -0
- package/dist/default-theme.js +4 -4
- package/dist/kdesign-complete.less +159 -85
- package/dist/kdesign.css +153 -83
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +220 -151
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +6 -6
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/usePopper.js +17 -8
- package/es/alert/alert.js +2 -2
- package/es/alert/style/index.css +27 -11
- package/es/alert/style/index.less +24 -10
- package/es/alert/style/mixin.less +8 -2
- package/es/alert/style/token.less +16 -8
- package/es/config-provider/compDefaultProps.d.ts +1 -0
- package/es/config-provider/compDefaultProps.js +2 -1
- package/es/dropdown/style/index.css +13 -14
- package/es/dropdown/style/index.less +4 -5
- package/es/dropdown/style/token.less +6 -5
- package/es/radio/style/index.css +6 -0
- package/es/radio/style/index.less +8 -0
- package/es/search/style/index.css +3 -3
- package/es/spin/style/index.css +25 -26
- package/es/spin/style/index.less +18 -19
- package/es/spin/style/token.less +9 -3
- package/es/style/themes/default.less +3 -4
- package/es/timeline/style/index.css +22 -21
- package/es/timeline/style/index.less +2 -2
- package/es/timeline/style/token.less +4 -7
- package/es/tree/style/index.css +56 -7
- package/es/tree/style/index.less +26 -18
- package/es/tree/style/mixin.less +25 -1
- package/es/tree/style/token.less +6 -4
- package/es/tree/tree.d.ts +2 -0
- package/es/tree/tree.js +65 -11
- package/es/tree/treeHooks.js +0 -1
- package/es/tree/treeNode.d.ts +1 -0
- package/es/tree/treeNode.js +45 -49
- package/es/tree/utils/treeUtils.js +2 -2
- package/lib/_utils/usePopper.js +17 -8
- package/lib/alert/alert.js +2 -2
- package/lib/alert/style/index.css +27 -11
- package/lib/alert/style/index.less +24 -10
- package/lib/alert/style/mixin.less +8 -2
- package/lib/alert/style/token.less +16 -8
- package/lib/config-provider/compDefaultProps.d.ts +1 -0
- package/lib/config-provider/compDefaultProps.js +2 -1
- package/lib/dropdown/style/index.css +13 -14
- package/lib/dropdown/style/index.less +4 -5
- package/lib/dropdown/style/token.less +6 -5
- package/lib/radio/style/index.css +6 -0
- package/lib/radio/style/index.less +8 -0
- package/lib/search/style/index.css +3 -3
- package/lib/spin/style/index.css +25 -26
- package/lib/spin/style/index.less +18 -19
- package/lib/spin/style/token.less +9 -3
- package/lib/style/themes/default.less +3 -4
- package/lib/timeline/style/index.css +22 -21
- package/lib/timeline/style/index.less +2 -2
- package/lib/timeline/style/token.less +4 -7
- package/lib/tree/style/index.css +56 -7
- package/lib/tree/style/index.less +26 -18
- package/lib/tree/style/mixin.less +25 -1
- package/lib/tree/style/token.less +6 -4
- package/lib/tree/tree.d.ts +2 -0
- package/lib/tree/tree.js +67 -11
- package/lib/tree/treeHooks.js +0 -1
- package/lib/tree/treeNode.d.ts +1 -0
- package/lib/tree/treeNode.js +46 -48
- package/lib/tree/utils/treeUtils.js +2 -2
- package/package.json +1 -1
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
@import '../../style/themes/token.less';
|
|
2
2
|
|
|
3
3
|
@timeline-prefix: '--@{kd-prefix}-c-timeline';
|
|
4
|
-
@timeline-gap:
|
|
5
|
-
|
|
6
|
-
// @timeline-dot-size: var(~'@{timeline-prefix}-dot-sizing',9px);
|
|
7
|
-
@timeline-dot-size: 9px;
|
|
8
|
-
|
|
4
|
+
@timeline-gap: 8px;
|
|
9
5
|
|
|
6
|
+
@timeline-dot-size: var(~'@{timeline-prefix}-dot-sizing',9px);
|
|
7
|
+
// @timeline-dot-size: 9px;
|
|
10
8
|
|
|
11
9
|
// color
|
|
12
10
|
@timeline-finished-color: var(~'@{timeline-prefix}-finished-color',@color-theme);
|
|
@@ -17,7 +15,6 @@
|
|
|
17
15
|
@timeline-label-color-text: var(~'@{timeline-prefix}-label-color-text',#666666);
|
|
18
16
|
@timeline-content-color-text: var(~'@{timeline-prefix}-content-color-text',@color-text-primary);
|
|
19
17
|
|
|
20
|
-
|
|
21
18
|
// font
|
|
22
19
|
@timeline-content-font-size-small: var(~'@{timeline-prefix}-content-font-size',@font-size-small);
|
|
23
20
|
|
|
@@ -26,7 +23,7 @@
|
|
|
26
23
|
@timeline-width: var(~'@{timeline-prefix}-sizing-width',1px);
|
|
27
24
|
|
|
28
25
|
// spacing
|
|
29
|
-
@timeline-item-padding-bottom: var(~'@{timeline-prefix}-spacing-padding-bottom',
|
|
26
|
+
@timeline-item-padding-bottom: var(~'@{timeline-prefix}-spacing-padding-bottom',24px);
|
|
30
27
|
|
|
31
28
|
|
|
32
29
|
|
package/lib/tree/style/index.css
CHANGED
|
@@ -101,6 +101,24 @@
|
|
|
101
101
|
普通组件内部自身层级应设置在0-100间
|
|
102
102
|
*/
|
|
103
103
|
/* ----------- zIndex ——————---- end */
|
|
104
|
+
.node-hover-hover {
|
|
105
|
+
-webkit-transition: background-color var(--kd-c-tree-motion-duration, var(--kd-g-duration, 0.3s)), color var(--kd-c-tree-motion-duration, var(--kd-g-duration, 0.3s));
|
|
106
|
+
transition: background-color var(--kd-c-tree-motion-duration, var(--kd-g-duration, 0.3s)), color var(--kd-c-tree-motion-duration, var(--kd-g-duration, 0.3s));
|
|
107
|
+
}
|
|
108
|
+
.node-hover-hover:hover {
|
|
109
|
+
background-color: var(--kd-c-tree-node-color-backgroung-hover, var(--kd-g-color-hover, #f5f5f5));
|
|
110
|
+
cursor: pointer;
|
|
111
|
+
}
|
|
112
|
+
.node-selected {
|
|
113
|
+
background-color: var(--kd-c-tree-node-color-backgroung-checked, var(--kd-g-color-theme-3, #e3eeff)) !important;
|
|
114
|
+
color: var(--kd-c-tree-node-color-text-checked, var(--kd-g-color-theme, #5582f3));
|
|
115
|
+
}
|
|
116
|
+
.node-selected .kd-tree-node-title {
|
|
117
|
+
color: var(--kd-c-tree-node-color-text-checked, var(--kd-g-color-theme, #5582f3));
|
|
118
|
+
}
|
|
119
|
+
.node-selected .kd-tree-node-icon {
|
|
120
|
+
color: var(--kd-c-tree-node-color-text-checked, var(--kd-g-color-theme, #5582f3));
|
|
121
|
+
}
|
|
104
122
|
.kd-tree {
|
|
105
123
|
position: relative;
|
|
106
124
|
overflow: auto;
|
|
@@ -136,6 +154,15 @@
|
|
|
136
154
|
-ms-flex-align: center;
|
|
137
155
|
align-items: center;
|
|
138
156
|
}
|
|
157
|
+
.kd-tree-node-root .kd-spin-dot-spin {
|
|
158
|
+
border: none;
|
|
159
|
+
width: var(--kd-c-tree-expand-icon-loading-sizing-width, 16px);
|
|
160
|
+
height: var(--kd-c-tree-expand-icon-loading-sizing-height, 16px);
|
|
161
|
+
}
|
|
162
|
+
.kd-tree-node-root .kd-spin-dot-spin .kd-spin-dot-item {
|
|
163
|
+
width: var(--kd-c-tree-expand-icon-loading-sizing-width, 16px);
|
|
164
|
+
height: var(--kd-c-tree-expand-icon-loading-sizing-height, 16px);
|
|
165
|
+
}
|
|
139
166
|
.kd-tree-node-fb-children-pointerEvents * {
|
|
140
167
|
pointer-events: none;
|
|
141
168
|
}
|
|
@@ -176,8 +203,8 @@
|
|
|
176
203
|
}
|
|
177
204
|
.kd-tree-node-icon {
|
|
178
205
|
cursor: pointer;
|
|
179
|
-
height: var(--kd-c-tree-expand-icon-sizing-height,
|
|
180
|
-
width: var(--kd-c-tree-expand-icon-sizing-width,
|
|
206
|
+
height: var(--kd-c-tree-expand-icon-sizing-height, 16px);
|
|
207
|
+
width: var(--kd-c-tree-expand-icon-sizing-width, 16px);
|
|
181
208
|
display: -webkit-box;
|
|
182
209
|
display: -ms-flexbox;
|
|
183
210
|
display: flex;
|
|
@@ -190,9 +217,13 @@
|
|
|
190
217
|
font-size: var(--kd-c-tree-node-icon-font-size, 16px);
|
|
191
218
|
color: var(--kd-c-tree-node-icon-color-text, #666666);
|
|
192
219
|
}
|
|
220
|
+
.kd-tree-node-icon-hover:hover {
|
|
221
|
+
background-color: var(--kd-c-tree-node-color-backgroung-hover, var(--kd-g-color-hover, #f5f5f5));
|
|
222
|
+
cursor: pointer;
|
|
223
|
+
}
|
|
193
224
|
.kd-tree-node-icon-hidden {
|
|
194
|
-
height: var(--kd-c-tree-node-icon-sizing-height,
|
|
195
|
-
width: var(--kd-c-tree-node-icon-sizing-width,
|
|
225
|
+
height: var(--kd-c-tree-node-icon-sizing-height, 16px);
|
|
226
|
+
width: var(--kd-c-tree-node-icon-sizing-width, 16px);
|
|
196
227
|
-ms-flex-negative: 0;
|
|
197
228
|
flex-shrink: 0;
|
|
198
229
|
opacity: 0;
|
|
@@ -233,10 +264,28 @@
|
|
|
233
264
|
-ms-flex-align: center;
|
|
234
265
|
align-items: center;
|
|
235
266
|
height: 100%;
|
|
267
|
+
padding-left: 4px;
|
|
268
|
+
}
|
|
269
|
+
.kd-tree-node-title-wrap-hover {
|
|
270
|
+
-webkit-transition: background-color var(--kd-c-tree-motion-duration, var(--kd-g-duration, 0.3s)), color var(--kd-c-tree-motion-duration, var(--kd-g-duration, 0.3s));
|
|
271
|
+
transition: background-color var(--kd-c-tree-motion-duration, var(--kd-g-duration, 0.3s)), color var(--kd-c-tree-motion-duration, var(--kd-g-duration, 0.3s));
|
|
272
|
+
}
|
|
273
|
+
.kd-tree-node-title-wrap-hover:hover {
|
|
274
|
+
background-color: var(--kd-c-tree-node-color-backgroung-hover, var(--kd-g-color-hover, #f5f5f5));
|
|
275
|
+
cursor: pointer;
|
|
276
|
+
}
|
|
277
|
+
.kd-tree-node-title-wrap-selected {
|
|
278
|
+
background-color: var(--kd-c-tree-node-color-backgroung-checked, var(--kd-g-color-theme-3, #e3eeff)) !important;
|
|
279
|
+
color: var(--kd-c-tree-node-color-text-checked, var(--kd-g-color-theme, #5582f3));
|
|
280
|
+
}
|
|
281
|
+
.kd-tree-node-title-wrap-selected .kd-tree-node-title {
|
|
282
|
+
color: var(--kd-c-tree-node-color-text-checked, var(--kd-g-color-theme, #5582f3));
|
|
283
|
+
}
|
|
284
|
+
.kd-tree-node-title-wrap-selected .kd-tree-node-icon {
|
|
285
|
+
color: var(--kd-c-tree-node-color-text-checked, var(--kd-g-color-theme, #5582f3));
|
|
236
286
|
}
|
|
237
287
|
.kd-tree-node-title {
|
|
238
288
|
white-space: nowrap;
|
|
239
|
-
margin-left: 6px;
|
|
240
289
|
}
|
|
241
290
|
.kd-tree-node-selected {
|
|
242
291
|
background-color: var(--kd-c-tree-node-color-backgroung-checked, var(--kd-g-color-theme-3, #e3eeff)) !important;
|
|
@@ -285,8 +334,8 @@
|
|
|
285
334
|
transform: translateY(-50%);
|
|
286
335
|
}
|
|
287
336
|
.kd-tree-node-leaf-icon {
|
|
288
|
-
height: var(--kd-c-tree-node-icon-sizing-height,
|
|
289
|
-
width: var(--kd-c-tree-node-icon-sizing-width,
|
|
337
|
+
height: var(--kd-c-tree-node-icon-sizing-height, 16px);
|
|
338
|
+
width: var(--kd-c-tree-node-icon-sizing-width, 16px);
|
|
290
339
|
display: -webkit-box;
|
|
291
340
|
display: -ms-flexbox;
|
|
292
341
|
display: flex;
|
|
@@ -28,6 +28,17 @@
|
|
|
28
28
|
display: flex;
|
|
29
29
|
justify-content: flex-start;
|
|
30
30
|
align-items: center;
|
|
31
|
+
|
|
32
|
+
.@{kd-prefix}-spin-dot-spin {
|
|
33
|
+
border: none;
|
|
34
|
+
width: @tree-expand-icon-loading-width;
|
|
35
|
+
height: @tree-expand-icon-loading-height;
|
|
36
|
+
|
|
37
|
+
.@{kd-prefix}-spin-dot-item {
|
|
38
|
+
width: @tree-expand-icon-loading-width;
|
|
39
|
+
height: @tree-expand-icon-loading-height;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
31
42
|
}
|
|
32
43
|
&-fb-children-pointerEvents * {
|
|
33
44
|
pointer-events: none;
|
|
@@ -35,13 +46,8 @@
|
|
|
35
46
|
&-item {
|
|
36
47
|
display: flex;
|
|
37
48
|
align-items: center;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
transition: background-color @tree-transition-duration, color @tree-transition-duration;
|
|
41
|
-
}
|
|
42
|
-
&-item-hover:hover {
|
|
43
|
-
background-color: @tree-node-hover-bg-color;
|
|
44
|
-
cursor: pointer;
|
|
49
|
+
|
|
50
|
+
.node-hover()
|
|
45
51
|
}
|
|
46
52
|
|
|
47
53
|
&-indent {
|
|
@@ -70,6 +76,11 @@
|
|
|
70
76
|
align-items: center;
|
|
71
77
|
font-size: @tree-node-icon-size;
|
|
72
78
|
color: @tree-node-icon-color-text;
|
|
79
|
+
|
|
80
|
+
&-hover:hover {
|
|
81
|
+
background-color: @tree-node-hover-bg-color;
|
|
82
|
+
cursor: pointer;
|
|
83
|
+
}
|
|
73
84
|
}
|
|
74
85
|
&-icon-hidden {
|
|
75
86
|
height: @tree-node-icon-height;
|
|
@@ -99,22 +110,19 @@
|
|
|
99
110
|
display: flex;
|
|
100
111
|
align-items: center;
|
|
101
112
|
height: 100%;
|
|
113
|
+
padding-left: 4px;
|
|
114
|
+
|
|
115
|
+
.node-hover();
|
|
116
|
+
|
|
117
|
+
&-selected {
|
|
118
|
+
.node-selected()
|
|
119
|
+
}
|
|
102
120
|
}
|
|
103
121
|
&-title {
|
|
104
122
|
white-space: nowrap;
|
|
105
|
-
margin-left: 6px;
|
|
106
123
|
}
|
|
107
124
|
&-selected {
|
|
108
|
-
|
|
109
|
-
color: @tree-node-checked-text-color;
|
|
110
|
-
|
|
111
|
-
.@{tree-node-prefix-cls}-title {
|
|
112
|
-
color: @tree-node-checked-text-color;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.@{tree-node-prefix-cls}-icon {
|
|
116
|
-
color: @tree-node-checked-text-color;
|
|
117
|
-
}
|
|
125
|
+
.node-selected()
|
|
118
126
|
}
|
|
119
127
|
|
|
120
128
|
&-draggabled {
|
|
@@ -1 +1,25 @@
|
|
|
1
|
-
@import './token.less';
|
|
1
|
+
@import './token.less';
|
|
2
|
+
|
|
3
|
+
.node-hover {
|
|
4
|
+
&-hover {
|
|
5
|
+
transition: background-color @tree-transition-duration, color @tree-transition-duration;
|
|
6
|
+
|
|
7
|
+
&:hover {
|
|
8
|
+
background-color: @tree-node-hover-bg-color;
|
|
9
|
+
cursor: pointer;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.node-selected {
|
|
15
|
+
background-color: @tree-node-checked-bg-color !important;
|
|
16
|
+
color: @tree-node-checked-text-color;
|
|
17
|
+
|
|
18
|
+
.@{tree-node-prefix-cls}-title {
|
|
19
|
+
color: @tree-node-checked-text-color;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.@{tree-node-prefix-cls}-icon {
|
|
23
|
+
color: @tree-node-checked-text-color;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -16,10 +16,12 @@
|
|
|
16
16
|
@tree-node-drag-line-border-color: var(~'@{tree-prefix}-node-drag-line-color-background', #276FF5);
|
|
17
17
|
|
|
18
18
|
// sizing
|
|
19
|
-
@tree-expand-icon-height: var(~'@{tree-prefix}-expand-icon-sizing-height',
|
|
20
|
-
@tree-expand-icon-width: var(~'@{tree-prefix}-expand-icon-sizing-width',
|
|
21
|
-
@tree-
|
|
22
|
-
@tree-
|
|
19
|
+
@tree-expand-icon-height: var(~'@{tree-prefix}-expand-icon-sizing-height', 16px);
|
|
20
|
+
@tree-expand-icon-width: var(~'@{tree-prefix}-expand-icon-sizing-width', 16px);
|
|
21
|
+
@tree-expand-icon-loading-height: var(~'@{tree-prefix}-expand-icon-loading-sizing-height', 16px);
|
|
22
|
+
@tree-expand-icon-loading-width: var(~'@{tree-prefix}-expand-icon-loading-sizing-width', 16px);
|
|
23
|
+
@tree-node-icon-height: var(~'@{tree-prefix}-node-icon-sizing-height', 16px);
|
|
24
|
+
@tree-node-icon-width: var(~'@{tree-prefix}-node-icon-sizing-width', 16px);
|
|
23
25
|
|
|
24
26
|
// font
|
|
25
27
|
@tree-font-size: var(~'@{tree-prefix}-font-size', @font-size-small);
|
package/lib/tree/tree.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export interface TreeProps {
|
|
|
24
24
|
virtual?: boolean;
|
|
25
25
|
scrollToKey?: string;
|
|
26
26
|
selectedKeys?: string[];
|
|
27
|
+
loadData?: () => void;
|
|
27
28
|
onCheck?: (checkedKeys: string[], { checked, node, event, halfCheckedKeys }: any) => void;
|
|
28
29
|
onExpand?: (expandedKeys: string[], { expanded, node }: any) => void;
|
|
29
30
|
onSelect?: ({ checked, node, event }: any) => void;
|
|
@@ -36,6 +37,7 @@ export interface TreeProps {
|
|
|
36
37
|
setTreeNodeClassName?: (node: any) => string;
|
|
37
38
|
setTreeNodeStyle?: (node: any) => Map<string, string>;
|
|
38
39
|
estimatedItemSize?: number;
|
|
40
|
+
expandOnClickNode?: boolean;
|
|
39
41
|
}
|
|
40
42
|
export declare type TreeNodeData = {
|
|
41
43
|
checkable?: boolean;
|
package/lib/tree/tree.js
CHANGED
|
@@ -13,10 +13,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
13
13
|
});
|
|
14
14
|
exports.default = void 0;
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
17
17
|
|
|
18
18
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
19
19
|
|
|
20
|
+
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
|
21
|
+
|
|
20
22
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
21
23
|
|
|
22
24
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
@@ -31,6 +33,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
31
33
|
|
|
32
34
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
35
|
|
|
36
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
37
|
+
|
|
34
38
|
var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
|
|
35
39
|
|
|
36
40
|
var _utils = require("../_utils");
|
|
@@ -96,7 +100,9 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
96
100
|
innerEstimatedItemSize = TreeProps.estimatedItemSize,
|
|
97
101
|
style = TreeProps.style,
|
|
98
102
|
filterTreeNode = TreeProps.filterTreeNode,
|
|
99
|
-
filterValue = TreeProps.filterValue
|
|
103
|
+
filterValue = TreeProps.filterValue,
|
|
104
|
+
expandOnClickNode = TreeProps.expandOnClickNode,
|
|
105
|
+
loadData = TreeProps.loadData;
|
|
100
106
|
var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
|
|
101
107
|
|
|
102
108
|
var treeNodePrefixCls = getPrefixCls(prefixCls, 'tree-node', customPrefixcls); // 树节点样式前缀
|
|
@@ -162,6 +168,16 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
162
168
|
dragOverNodeKey = _React$useState10[0],
|
|
163
169
|
setDragOverNodeKey = _React$useState10[1];
|
|
164
170
|
|
|
171
|
+
var _React$useState11 = _react.default.useState(new _set.default()),
|
|
172
|
+
_React$useState12 = (0, _slicedToArray2.default)(_React$useState11, 2),
|
|
173
|
+
loadedKeys = _React$useState12[0],
|
|
174
|
+
setLoadedKeys = _React$useState12[1];
|
|
175
|
+
|
|
176
|
+
var _React$useState13 = _react.default.useState(new _set.default()),
|
|
177
|
+
_React$useState14 = (0, _slicedToArray2.default)(_React$useState13, 2),
|
|
178
|
+
loadingKeys = _React$useState14[0],
|
|
179
|
+
setLoadingKeys = _React$useState14[1];
|
|
180
|
+
|
|
165
181
|
var isSearching = _react.default.useMemo(function () {
|
|
166
182
|
return typeof filterTreeNode === 'function' && filterValue;
|
|
167
183
|
}, [filterValue]);
|
|
@@ -212,16 +228,55 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
212
228
|
listRef.current.style.transform = "translate3d(0,".concat(tempStartOffset, "px,0)");
|
|
213
229
|
}
|
|
214
230
|
}, [listRef, scrollRef, virtual, estimatedItemSize]);
|
|
231
|
+
var handleNodeLoad = (0, _react.useCallback)(function (loadedKeys, loadingKeys, data) {
|
|
232
|
+
var key = data.key;
|
|
233
|
+
|
|
234
|
+
if (!loadData || loadedKeys.has(key) || loadingKeys.has(key)) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
setLoadingKeys(function (prevLoadingKeys) {
|
|
239
|
+
var _context;
|
|
240
|
+
|
|
241
|
+
return new _set.default((0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)(prevLoadingKeys), [key]));
|
|
242
|
+
});
|
|
243
|
+
loadData(data).then(function () {
|
|
244
|
+
setLoadedKeys(function (prevState) {
|
|
245
|
+
var _context2;
|
|
246
|
+
|
|
247
|
+
return new _set.default((0, _concat.default)(_context2 = []).call(_context2, (0, _toConsumableArray2.default)(prevState), [key]));
|
|
248
|
+
});
|
|
249
|
+
setLoadingKeys(function (prevState) {
|
|
250
|
+
var prevLoadingKeys = (0, _cloneDeep.default)(prevState);
|
|
251
|
+
prevLoadingKeys.delete(key);
|
|
252
|
+
return prevLoadingKeys;
|
|
253
|
+
});
|
|
254
|
+
}).catch(function (e) {
|
|
255
|
+
setLoadingKeys(function (prevState) {
|
|
256
|
+
var prevLoadingKeys = (0, _cloneDeep.default)(prevState);
|
|
257
|
+
prevLoadingKeys.delete(key);
|
|
258
|
+
return prevLoadingKeys;
|
|
259
|
+
});
|
|
260
|
+
setExpandedKeys(function (preExpandedKeys) {
|
|
261
|
+
return (0, _treeUtils.delKey)((0, _toConsumableArray2.default)(preExpandedKeys), [key]);
|
|
262
|
+
});
|
|
263
|
+
throw e;
|
|
264
|
+
});
|
|
265
|
+
}, [loadData, setExpandedKeys]);
|
|
215
266
|
|
|
216
|
-
var handleExpand = _react.default.useCallback(function (key,
|
|
217
|
-
var newExpandedKeys =
|
|
267
|
+
var handleExpand = _react.default.useCallback(function (key, expanded, node) {
|
|
268
|
+
var newExpandedKeys = expanded ? (0, _treeUtils.addKeys)(expandedKeys, [key]) : (0, _treeUtils.delKey)(expandedKeys, [key]);
|
|
218
269
|
onExpand && onExpand(newExpandedKeys, {
|
|
219
270
|
node: node,
|
|
220
|
-
expanded:
|
|
271
|
+
expanded: expanded
|
|
221
272
|
});
|
|
222
273
|
setScrollKey('');
|
|
223
274
|
setIsInit(false);
|
|
224
|
-
|
|
275
|
+
|
|
276
|
+
if (expanded && loadData) {
|
|
277
|
+
handleNodeLoad(loadedKeys, loadingKeys, node);
|
|
278
|
+
}
|
|
279
|
+
}, [expandedKeys, onExpand, loadData, handleNodeLoad, loadedKeys, loadingKeys]);
|
|
225
280
|
|
|
226
281
|
var handleCheck = _react.default.useCallback(function (key, value, node, event, pos) {
|
|
227
282
|
var newCheckedKeys = value ? (0, _treeUtils.addKeys)(checkedKeys, [key]) : (0, _treeUtils.delKey)(checkedKeys, [key]);
|
|
@@ -317,10 +372,10 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
317
372
|
}, [onDragEnd]);
|
|
318
373
|
|
|
319
374
|
var handleDrop = _react.default.useCallback(function (event, node, dragNode, dragNodesKeys) {
|
|
320
|
-
var
|
|
375
|
+
var _context3;
|
|
321
376
|
|
|
322
377
|
var pos = (0, _treeUtils.getPos)(flattenAllData, dragNodesKeys);
|
|
323
|
-
var keys = (0, _concat.default)(
|
|
378
|
+
var keys = (0, _concat.default)(_context3 = (0, _treeUtils.getAllChildKeys)(flattenAllData, pos)).call(_context3, dragNodesKeys);
|
|
324
379
|
onDrop && onDrop({
|
|
325
380
|
event: event,
|
|
326
381
|
node: node,
|
|
@@ -386,7 +441,6 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
386
441
|
className: treeRootClassName,
|
|
387
442
|
ref: listRef
|
|
388
443
|
}, visibleData && (0, _map.default)(visibleData).call(visibleData, function (item) {
|
|
389
|
-
// const props: any = {}
|
|
390
444
|
var checked = (0, _treeUtils.getChecked)(checkedKeys, item.key);
|
|
391
445
|
var indeterminate = (0, _treeUtils.getHalfChecked)(halfCheckedKeys, item.key);
|
|
392
446
|
item.nodeKey = item.key;
|
|
@@ -401,8 +455,7 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
401
455
|
item.onSelect = handleSelect;
|
|
402
456
|
item.checked = checked;
|
|
403
457
|
item.selected = (0, _treeUtils.getSelected)(selectedKeys, item.key);
|
|
404
|
-
item.indeterminate = indeterminate;
|
|
405
|
-
|
|
458
|
+
item.indeterminate = indeterminate;
|
|
406
459
|
item.disabled = getDisabled(disabled, item.disabled);
|
|
407
460
|
item.showIcon = showIcon || false;
|
|
408
461
|
item.checkable = getCheckable(checkable, item.checkable); // 哪个优先
|
|
@@ -417,6 +470,9 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
417
470
|
item.getDragNode = getDragNode;
|
|
418
471
|
item.setDragNode = setDragNode;
|
|
419
472
|
item.dragOver = dragOverNodeKey === item.key && dropPosition === 0;
|
|
473
|
+
item.expandOnClickNode = expandOnClickNode;
|
|
474
|
+
item.loading = loadingKeys.has(item.key) && !loadedKeys.has(item.key);
|
|
475
|
+
item.loadData = loadData;
|
|
420
476
|
return /*#__PURE__*/_react.default.createElement(_treeNode.default, (0, _extends2.default)({}, item, {
|
|
421
477
|
key: item.key,
|
|
422
478
|
ref: treeNodeRef
|
package/lib/tree/treeHooks.js
CHANGED
|
@@ -157,7 +157,6 @@ var useScrollToKey = function useScrollToKey(scrollKey, index, estimatedItemSize
|
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
if (treeRoot && treeNode) {
|
|
160
|
-
// const treeRootScrollTop = treeRoot.scrollTop
|
|
161
160
|
var treeRootRect = treeRoot.getBoundingClientRect();
|
|
162
161
|
var treeNodeRect = treeNode.getBoundingClientRect();
|
|
163
162
|
|
package/lib/tree/treeNode.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export interface TreeNodeProps {
|
|
|
25
25
|
pos?: string;
|
|
26
26
|
estimatedItemSize?: number;
|
|
27
27
|
dragOver?: boolean;
|
|
28
|
+
isLeaf?: boolean;
|
|
28
29
|
onCheck?: (key: string, value: boolean, node: React.ReactNode, event: React.MouseEvent<MouseEvent>, pos: string) => void;
|
|
29
30
|
onSelect?: (event: React.MouseEvent<MouseEvent>, node: React.ReactNode, key: string) => void;
|
|
30
31
|
onExpand?: (value: boolean, node: React.ReactNode) => void;
|
package/lib/tree/treeNode.js
CHANGED
|
@@ -35,6 +35,8 @@ var _checkbox = _interopRequireDefault(require("./../checkbox"));
|
|
|
35
35
|
|
|
36
36
|
var _icon = _interopRequireDefault(require("../icon"));
|
|
37
37
|
|
|
38
|
+
var _spin = _interopRequireDefault(require("../spin"));
|
|
39
|
+
|
|
38
40
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
41
|
|
|
40
42
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -86,6 +88,8 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
86
88
|
indeterminate = TreeNodeProps.indeterminate,
|
|
87
89
|
estimatedItemSize = TreeNodeProps.estimatedItemSize,
|
|
88
90
|
dragOver = TreeNodeProps.dragOver,
|
|
91
|
+
expandOnClickNode = TreeNodeProps.expandOnClickNode,
|
|
92
|
+
loading = TreeNodeProps.loading,
|
|
89
93
|
onExpand = TreeNodeProps.onExpand,
|
|
90
94
|
onCheck = TreeNodeProps.onCheck,
|
|
91
95
|
onDragStart = TreeNodeProps.onDragStart,
|
|
@@ -95,7 +99,7 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
95
99
|
onDragEnd = TreeNodeProps.onDragEnd,
|
|
96
100
|
onDrop = TreeNodeProps.onDrop,
|
|
97
101
|
onSelect = TreeNodeProps.onSelect,
|
|
98
|
-
others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "showLine", "showIcon", "selected", "setDragNode", "style", "indeterminate", "estimatedItemSize", "dragOver", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
|
|
102
|
+
others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "showLine", "showIcon", "selected", "setDragNode", "style", "indeterminate", "estimatedItemSize", "dragOver", "expandOnClickNode", "loading", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
|
|
99
103
|
|
|
100
104
|
var nodeData = _react.default.useMemo(function () {
|
|
101
105
|
return (0, _extends2.default)({
|
|
@@ -113,7 +117,6 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
113
117
|
indeterminate: indeterminate,
|
|
114
118
|
icon: icon,
|
|
115
119
|
switcherIcon: switcherIcon,
|
|
116
|
-
// showLine,
|
|
117
120
|
showIcon: showIcon,
|
|
118
121
|
selected: selected
|
|
119
122
|
}, others);
|
|
@@ -195,57 +198,46 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
195
198
|
}
|
|
196
199
|
|
|
197
200
|
return indentArr;
|
|
198
|
-
};
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
var isLeaf = (0, _react.useCallback)(function () {
|
|
204
|
+
var isLeaf = TreeNodeProps.isLeaf,
|
|
205
|
+
loadData = TreeNodeProps.loadData,
|
|
206
|
+
hasChildNode = TreeNodeProps.hasChildNode;
|
|
207
|
+
|
|
208
|
+
if (isLeaf === false) {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
199
211
|
|
|
212
|
+
return isLeaf || !loadData && !hasChildNode;
|
|
213
|
+
}, [TreeNodeProps]); // line的两种模式, 图标被替换和图标不被替换
|
|
200
214
|
|
|
201
215
|
var renderExpandIcon = function renderExpandIcon() {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
// className={classNames(`${treeNodePrefixCls}-icon`)}
|
|
214
|
-
// >
|
|
215
|
-
// {expand ? <Icon type='search' /> : <Icon type='add' />}
|
|
216
|
-
// </span>
|
|
217
|
-
// )
|
|
218
|
-
// }
|
|
216
|
+
if (loading) {
|
|
217
|
+
return /*#__PURE__*/_react.default.createElement(_spin.default, {
|
|
218
|
+
type: "component"
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
var showExpandIcon = !isLeaf();
|
|
223
|
+
|
|
224
|
+
if (showExpandIcon) {
|
|
225
|
+
var _classNames3;
|
|
226
|
+
|
|
219
227
|
if (Array.isArray(switcherIcon) && switcherIcon.length === 2) {
|
|
220
228
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
221
|
-
className: (0, _classnames.default)("".concat(treeNodePrefixCls, "-icon"))
|
|
229
|
+
className: (0, _classnames.default)("".concat(treeNodePrefixCls, "-icon"), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-icon-hover"), !expandOnClickNode)),
|
|
230
|
+
onClick: expandOnClickNode ? undefined : handleExpandIconClick
|
|
222
231
|
}, expandState ? renderIcon(switcherIcon[1]) : renderIcon(switcherIcon[0]));
|
|
223
232
|
}
|
|
224
233
|
|
|
225
234
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
226
|
-
className: (0, _classnames.default)("".concat(treeNodePrefixCls, "-icon"), (
|
|
235
|
+
className: (0, _classnames.default)("".concat(treeNodePrefixCls, "-icon"), (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, "".concat(treeNodePrefixCls, "-animation-expand"), expandState), (0, _defineProperty2.default)(_classNames3, "".concat(treeNodePrefixCls, "-animation-collapse"), !expandState), (0, _defineProperty2.default)(_classNames3, "".concat(treeNodePrefixCls, "-icon-hover"), !expandOnClickNode), _classNames3)),
|
|
236
|
+
onClick: expandOnClickNode ? undefined : handleExpandIconClick
|
|
227
237
|
}, renderIcon(switcherIcon || /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
228
238
|
type: "arrow-right-solid"
|
|
229
239
|
})));
|
|
230
240
|
} else {
|
|
231
|
-
// if(typeof showLine === 'object' && !showLine.showLeafIcon){
|
|
232
|
-
// return (
|
|
233
|
-
// <span
|
|
234
|
-
// className={classNames(`${treeNodePrefixCls}-icon-hidden`)}
|
|
235
|
-
// >
|
|
236
|
-
// {/* todo renderLeafLine() */}
|
|
237
|
-
// {renderIcon(leafIcon)}
|
|
238
|
-
// </span>
|
|
239
|
-
// )
|
|
240
|
-
// }else if(typeof showLine === 'object' && showLine.showLeafIcon || showLine === true){
|
|
241
|
-
// return (
|
|
242
|
-
// <span
|
|
243
|
-
// className={classNames(`${treeNodePrefixCls}-leaf-icon`)}
|
|
244
|
-
// >
|
|
245
|
-
// {renderIcon(leafIcon)}
|
|
246
|
-
// </span>
|
|
247
|
-
// )
|
|
248
|
-
// }
|
|
249
241
|
// 叶子结点 隐藏展开按钮
|
|
250
242
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
251
243
|
className: "".concat(treeNodePrefixCls, "-icon-hidden")
|
|
@@ -260,11 +252,11 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
260
252
|
};
|
|
261
253
|
|
|
262
254
|
var renderNode = function renderNode() {
|
|
263
|
-
var
|
|
255
|
+
var _classNames4, _classNames5;
|
|
264
256
|
|
|
265
257
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
266
258
|
draggable: draggable && !disabled,
|
|
267
|
-
className: (0, _classnames.default)((
|
|
259
|
+
className: (0, _classnames.default)((_classNames4 = {}, (0, _defineProperty2.default)(_classNames4, "".concat(treeNodePrefixCls, "-draggabled"), true), (0, _defineProperty2.default)(_classNames4, "".concat(treeNodePrefixCls, "-root"), true), (0, _defineProperty2.default)(_classNames4, "".concat(treeNodePrefixCls, "-fb-children-pointerEvents"), forbiddenChildrenPointerEvents), (0, _defineProperty2.default)(_classNames4, "".concat(treeNodePrefixCls, "-drag-over"), dragOver), _classNames4)),
|
|
268
260
|
onDragStart: handleDragStart,
|
|
269
261
|
onDragEnd: handleDragEnd,
|
|
270
262
|
onDragOver: handleDragOver,
|
|
@@ -273,7 +265,8 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
273
265
|
onDrop: handleDrop,
|
|
274
266
|
ref: dragRef
|
|
275
267
|
}, indent(), renderExpandIcon(), showIcon && renderNodeIcon(), /*#__PURE__*/_react.default.createElement("div", {
|
|
276
|
-
className: "".concat(treeNodePrefixCls, "-title-wrap")
|
|
268
|
+
className: (0, _classnames.default)((_classNames5 = {}, (0, _defineProperty2.default)(_classNames5, "".concat(treeNodePrefixCls, "-title-wrap"), true), (0, _defineProperty2.default)(_classNames5, "".concat(treeNodePrefixCls, "-title-wrap-hover"), !expandOnClickNode && !disabled), (0, _defineProperty2.default)(_classNames5, "".concat(treeNodePrefixCls, "-title-wrap-selected"), selected && selectable && !disabled && !expandOnClickNode), _classNames5)),
|
|
269
|
+
onClick: expandOnClickNode ? undefined : handleClick
|
|
277
270
|
}, checkable ? /*#__PURE__*/_react.default.createElement(_checkbox.default, {
|
|
278
271
|
onChange: handleOnchange,
|
|
279
272
|
checked: checked,
|
|
@@ -303,12 +296,17 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
303
296
|
};
|
|
304
297
|
});
|
|
305
298
|
|
|
306
|
-
var
|
|
307
|
-
e.stopPropagation();
|
|
299
|
+
var handleExpandIconClick = (0, _react.useCallback)(function (e) {
|
|
300
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
308
301
|
setExpandState(!expandState);
|
|
309
302
|
onExpand && onExpand(nodeKey, !expandState, nodeData);
|
|
303
|
+
}, [expandState, nodeData, nodeKey, onExpand, setExpandState]);
|
|
304
|
+
|
|
305
|
+
var handleClick = _react.default.useCallback(function (e) {
|
|
306
|
+
e.stopPropagation();
|
|
307
|
+
expandOnClickNode && handleExpandIconClick();
|
|
310
308
|
handleSelect(e);
|
|
311
|
-
}, [
|
|
309
|
+
}, [expandOnClickNode, handleExpandIconClick, handleSelect]);
|
|
312
310
|
|
|
313
311
|
var handleDragStart = _react.default.useCallback(function (e) {
|
|
314
312
|
if (!draggable) return;
|
|
@@ -364,11 +362,11 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
364
362
|
}, [onDrop, nodeData, nodeKey]);
|
|
365
363
|
|
|
366
364
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
367
|
-
className: (0, _classnames.default)("".concat(treeNodePrefixCls, "-item"), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-item-hover"), !disabled && selectable), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-selected"), selected && selectable && !disabled), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-disabled"), disabled), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-opened"), expandState), (0, _concat.default)(_context = "".concat(treeNodePrefixCls, "-item-")).call(_context, nodeKey), className),
|
|
365
|
+
className: (0, _classnames.default)("".concat(treeNodePrefixCls, "-item"), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-item-hover"), !disabled && selectable && expandOnClickNode), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-selected"), selected && selectable && !disabled && expandOnClickNode), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-disabled"), disabled), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-opened"), expandState), (0, _concat.default)(_context = "".concat(treeNodePrefixCls, "-item-")).call(_context, nodeKey), className),
|
|
368
366
|
style: (0, _extends2.default)({
|
|
369
367
|
height: "".concat(estimatedItemSize, "px")
|
|
370
368
|
}, style),
|
|
371
|
-
onClick: handleClick
|
|
369
|
+
onClick: expandOnClickNode ? handleClick : undefined
|
|
372
370
|
}, renderNode());
|
|
373
371
|
});
|
|
374
372
|
|
|
@@ -75,7 +75,7 @@ var flattenAll = function flattenAll(treeData) {
|
|
|
75
75
|
|
|
76
76
|
var _pos = pos ? (0, _concat.default)(_context = "".concat(pos, "-")).call(_context, index) : "".concat(index);
|
|
77
77
|
|
|
78
|
-
var hasChildNode = children && children instanceof Array && children.length > 0;
|
|
78
|
+
var hasChildNode = item.isLeaf ? false : children && children instanceof Array && children.length > 0;
|
|
79
79
|
var flattenNode = (0, _extends2.default)({
|
|
80
80
|
title: title,
|
|
81
81
|
key: key,
|
|
@@ -92,7 +92,7 @@ var flattenAll = function flattenAll(treeData) {
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
_level++;
|
|
95
|
-
fn(children, newTreeData, _level, _pos, flattenNode);
|
|
95
|
+
hasChildNode && fn(children, newTreeData, _level, _pos, flattenNode);
|
|
96
96
|
});
|
|
97
97
|
return newTreeData;
|
|
98
98
|
};
|