@kdcloudjs/kdesign 1.5.3 → 1.5.6
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 +164 -88
- package/dist/kdesign.css +160 -86
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +392 -253
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +4 -4
- package/dist/kdesign.min.js +6 -6
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/usePopper.js +79 -46
- 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/drawer/drawer.js +1 -0
- package/es/dropdown/dropdown.js +16 -6
- 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 +7 -1
- package/es/radio/style/index.less +9 -1
- package/es/search/style/index.css +3 -3
- package/es/select/select.js +1 -1
- 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/stepper/stepper.js +9 -4
- package/es/stepper/style/index.css +2 -0
- package/es/stepper/style/index.less +2 -0
- package/es/stepper/style/token.less +1 -2
- package/es/style/icon/kdicon.css +2 -1
- package/es/style/icon/kdicon.woff +0 -0
- package/es/style/themes/default.less +3 -4
- package/es/tabs/style/index.css +1 -0
- package/es/tabs/style/index.less +1 -0
- 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/tooltip/tooltip.js +1 -1
- 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 +77 -20
- package/es/tree/treeHooks.d.ts +1 -1
- package/es/tree/treeHooks.js +3 -4
- package/es/tree/treeNode.d.ts +1 -0
- package/es/tree/treeNode.js +45 -49
- package/es/tree/utils/treeUtils.d.ts +6 -3
- package/es/tree/utils/treeUtils.js +66 -42
- package/lib/_utils/usePopper.js +79 -46
- 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/drawer/drawer.js +1 -0
- package/lib/dropdown/dropdown.js +15 -6
- 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 +7 -1
- package/lib/radio/style/index.less +9 -1
- package/lib/search/style/index.css +3 -3
- package/lib/select/select.js +1 -1
- 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/stepper/stepper.js +9 -4
- package/lib/stepper/style/index.css +2 -0
- package/lib/stepper/style/index.less +2 -0
- package/lib/stepper/style/token.less +1 -2
- package/lib/style/icon/kdicon.css +2 -1
- package/lib/style/icon/kdicon.woff +0 -0
- package/lib/style/themes/default.less +3 -4
- package/lib/tabs/style/index.css +1 -0
- package/lib/tabs/style/index.less +1 -0
- 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/tooltip/tooltip.js +1 -1
- 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 +78 -20
- package/lib/tree/treeHooks.d.ts +1 -1
- package/lib/tree/treeHooks.js +3 -4
- package/lib/tree/treeNode.d.ts +1 -0
- package/lib/tree/treeNode.js +46 -48
- package/lib/tree/utils/treeUtils.d.ts +6 -3
- package/lib/tree/utils/treeUtils.js +64 -42
- package/package.json +1 -1
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); // 树节点样式前缀
|
|
@@ -105,13 +111,11 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
105
111
|
var treeRootClassName = "".concat(treePrefixCls, "-root");
|
|
106
112
|
var estimatedItemSize = innerEstimatedItemSize; // 节点高度
|
|
107
113
|
|
|
108
|
-
var
|
|
114
|
+
var _React$useMemo = _react.default.useMemo(function () {
|
|
109
115
|
return (0, _treeUtils.flattenAll)(treeData, []);
|
|
110
|
-
}, [treeData])
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return (0, _treeUtils.getMaxLevel)(flattenAllData);
|
|
114
|
-
}, [flattenAllData]);
|
|
116
|
+
}, [treeData]),
|
|
117
|
+
flattenAllData = _React$useMemo.flattenAllData,
|
|
118
|
+
maxLevel = _React$useMemo.maxLevel;
|
|
115
119
|
|
|
116
120
|
var _useChecked = (0, _treeHooks.useChecked)(checkStrictly, checkedKeysProps, defaultCheckedKeys, flattenAllData, maxLevel, checkable),
|
|
117
121
|
_useChecked2 = (0, _slicedToArray2.default)(_useChecked, 4),
|
|
@@ -164,7 +168,21 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
164
168
|
dragOverNodeKey = _React$useState10[0],
|
|
165
169
|
setDragOverNodeKey = _React$useState10[1];
|
|
166
170
|
|
|
167
|
-
var
|
|
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
|
+
|
|
181
|
+
var isSearching = _react.default.useMemo(function () {
|
|
182
|
+
return typeof filterTreeNode === 'function' && filterValue;
|
|
183
|
+
}, [filterValue]);
|
|
184
|
+
|
|
185
|
+
var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching),
|
|
168
186
|
_useExpand2 = (0, _slicedToArray2.default)(_useExpand, 2),
|
|
169
187
|
expandedKeys = _useExpand2[0],
|
|
170
188
|
setExpandedKeys = _useExpand2[1];
|
|
@@ -174,8 +192,8 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
174
192
|
}, [flattenAllData, expandedKeys]);
|
|
175
193
|
|
|
176
194
|
var filterData = _react.default.useMemo(function () {
|
|
177
|
-
return (0, _treeUtils.getFilterData)(spreadAttrData, filterTreeNode,
|
|
178
|
-
}, [spreadAttrData,
|
|
195
|
+
return (0, _treeUtils.getFilterData)(spreadAttrData, filterTreeNode, isSearching);
|
|
196
|
+
}, [spreadAttrData, isSearching]);
|
|
179
197
|
|
|
180
198
|
var _useViewportHeight = (0, _treeHooks.useViewportHeight)(height, listRef),
|
|
181
199
|
_useViewportHeight2 = (0, _slicedToArray2.default)(_useViewportHeight, 1),
|
|
@@ -210,16 +228,55 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
210
228
|
listRef.current.style.transform = "translate3d(0,".concat(tempStartOffset, "px,0)");
|
|
211
229
|
}
|
|
212
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;
|
|
213
240
|
|
|
214
|
-
|
|
215
|
-
|
|
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]);
|
|
266
|
+
|
|
267
|
+
var handleExpand = _react.default.useCallback(function (key, expanded, node) {
|
|
268
|
+
var newExpandedKeys = expanded ? (0, _treeUtils.addKeys)(expandedKeys, [key]) : (0, _treeUtils.delKey)(expandedKeys, [key]);
|
|
216
269
|
onExpand && onExpand(newExpandedKeys, {
|
|
217
270
|
node: node,
|
|
218
|
-
expanded:
|
|
271
|
+
expanded: expanded
|
|
219
272
|
});
|
|
220
273
|
setScrollKey('');
|
|
221
274
|
setIsInit(false);
|
|
222
|
-
|
|
275
|
+
|
|
276
|
+
if (expanded && loadData) {
|
|
277
|
+
handleNodeLoad(loadedKeys, loadingKeys, node);
|
|
278
|
+
}
|
|
279
|
+
}, [expandedKeys, onExpand, loadData, handleNodeLoad, loadedKeys, loadingKeys]);
|
|
223
280
|
|
|
224
281
|
var handleCheck = _react.default.useCallback(function (key, value, node, event, pos) {
|
|
225
282
|
var newCheckedKeys = value ? (0, _treeUtils.addKeys)(checkedKeys, [key]) : (0, _treeUtils.delKey)(checkedKeys, [key]);
|
|
@@ -315,10 +372,10 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
315
372
|
}, [onDragEnd]);
|
|
316
373
|
|
|
317
374
|
var handleDrop = _react.default.useCallback(function (event, node, dragNode, dragNodesKeys) {
|
|
318
|
-
var
|
|
375
|
+
var _context3;
|
|
319
376
|
|
|
320
377
|
var pos = (0, _treeUtils.getPos)(flattenAllData, dragNodesKeys);
|
|
321
|
-
var keys = (0, _concat.default)(
|
|
378
|
+
var keys = (0, _concat.default)(_context3 = (0, _treeUtils.getAllChildKeys)(flattenAllData, pos)).call(_context3, dragNodesKeys);
|
|
322
379
|
onDrop && onDrop({
|
|
323
380
|
event: event,
|
|
324
381
|
node: node,
|
|
@@ -384,7 +441,6 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
384
441
|
className: treeRootClassName,
|
|
385
442
|
ref: listRef
|
|
386
443
|
}, visibleData && (0, _map.default)(visibleData).call(visibleData, function (item) {
|
|
387
|
-
// const props: any = {}
|
|
388
444
|
var checked = (0, _treeUtils.getChecked)(checkedKeys, item.key);
|
|
389
445
|
var indeterminate = (0, _treeUtils.getHalfChecked)(halfCheckedKeys, item.key);
|
|
390
446
|
item.nodeKey = item.key;
|
|
@@ -399,8 +455,7 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
399
455
|
item.onSelect = handleSelect;
|
|
400
456
|
item.checked = checked;
|
|
401
457
|
item.selected = (0, _treeUtils.getSelected)(selectedKeys, item.key);
|
|
402
|
-
item.indeterminate = indeterminate;
|
|
403
|
-
|
|
458
|
+
item.indeterminate = indeterminate;
|
|
404
459
|
item.disabled = getDisabled(disabled, item.disabled);
|
|
405
460
|
item.showIcon = showIcon || false;
|
|
406
461
|
item.checkable = getCheckable(checkable, item.checkable); // 哪个优先
|
|
@@ -415,6 +470,9 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
415
470
|
item.getDragNode = getDragNode;
|
|
416
471
|
item.setDragNode = setDragNode;
|
|
417
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;
|
|
418
476
|
return /*#__PURE__*/_react.default.createElement(_treeNode.default, (0, _extends2.default)({}, item, {
|
|
419
477
|
key: item.key,
|
|
420
478
|
ref: treeNodeRef
|
package/lib/tree/treeHooks.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ export declare const useViewportHeight: (height: number, listRef: React.RefObjec
|
|
|
4
4
|
export declare const useVisibleDataMemo: (virtual: boolean, filterData: TreeNodeData[], viewportHeight: number, estimatedItemSize: number, start: number) => TreeNodeData[][];
|
|
5
5
|
export declare const usePlantomHeightEffect: (plantomRef: React.RefObject<HTMLElement>, filterData: TreeNodeData[], estimatedItemSize: number) => void;
|
|
6
6
|
export declare const useChecked: (checkStrictly: boolean, checkedKeysProps: string[], defaultCheckedKeys: string[], flattenAllData: any[], maxLevel: number, checkable: boolean) => readonly [string[], string[], React.Dispatch<React.SetStateAction<string[]>>, React.Dispatch<React.SetStateAction<string[]>>];
|
|
7
|
-
export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor,
|
|
7
|
+
export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
|
|
8
8
|
export declare const useScrollToKey: (scrollKey: string, index: number, estimatedItemSize: number, scrollRef: any, viewportHeight: number, treeNodePrefixCls: string) => void;
|
|
9
9
|
export declare const useSelect: (selectedKeysProps: string[], defaultSelectedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
|
package/lib/tree/treeHooks.js
CHANGED
|
@@ -104,7 +104,7 @@ var useChecked = function useChecked(checkStrictly, checkedKeysProps, defaultChe
|
|
|
104
104
|
|
|
105
105
|
exports.useChecked = useChecked;
|
|
106
106
|
|
|
107
|
-
var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode,
|
|
107
|
+
var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching) {
|
|
108
108
|
var expandScrollkeys = [];
|
|
109
109
|
|
|
110
110
|
if (scrollKey) {
|
|
@@ -113,8 +113,8 @@ var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExp
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
var initialExpandedKeys = _react.default.useMemo(function () {
|
|
116
|
-
return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode,
|
|
117
|
-
}, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode,
|
|
116
|
+
return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching);
|
|
117
|
+
}, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching]);
|
|
118
118
|
|
|
119
119
|
var newExpandedKeys = _react.default.useMemo(function () {
|
|
120
120
|
return (0, _treeUtils.getExpandedKeys)(expandedKeysProps, expandScrollkeys);
|
|
@@ -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
|
|