@kdcloudjs/kdesign 1.7.34 → 1.7.37
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 +11 -0
- package/dist/kdesign-complete.less +244 -77
- package/dist/kdesign.css +263 -42
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +614 -168
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +5 -5
- package/dist/kdesign.min.js.map +1 -1
- package/es/city-picker/city-picker.js +1 -1
- package/es/clipboard/clipboard.d.ts +21 -0
- package/es/clipboard/clipboard.js +106 -0
- package/es/clipboard/index.d.ts +4 -0
- package/es/clipboard/index.js +3 -0
- package/es/clipboard/style/css.js +2 -0
- package/es/clipboard/style/index.css +190 -0
- package/es/clipboard/style/index.d.ts +2 -0
- package/es/clipboard/style/index.js +2 -0
- package/es/clipboard/style/index.less +32 -0
- package/es/clipboard/style/mixin.less +39 -0
- package/es/clipboard/style/token.less +52 -0
- package/es/clipboard/util.d.ts +13 -0
- package/es/clipboard/util.js +197 -0
- package/es/color-picker/color-picker-panel.js +15 -6
- package/es/color-picker/color-picker.js +17 -3
- package/es/color-picker/interface.d.ts +5 -0
- package/es/color-picker/style/index.css +30 -13
- package/es/color-picker/style/index.less +49 -43
- package/es/config-provider/compDefaultProps.d.ts +5 -0
- package/es/config-provider/compDefaultProps.js +5 -0
- package/es/index.d.ts +1 -0
- package/es/index.js +2 -1
- package/es/locale/locale.d.ts +2 -0
- package/es/locale/zh-CN.d.ts +2 -0
- package/es/locale/zh-CN.js +3 -1
- package/es/message/content.js +1 -4
- package/es/select/interface.d.ts +1 -0
- package/es/select/select.js +15 -12
- package/es/select/style/index.css +12 -9
- package/es/select/style/index.less +22 -12
- package/es/select/style/token.less +1 -0
- package/es/tree/style/index.css +22 -15
- package/es/tree/style/index.less +33 -18
- package/es/tree/tree.d.ts +1 -0
- package/es/tree/tree.js +29 -13
- package/es/tree/treeHooks.d.ts +2 -2
- package/es/tree/treeHooks.js +11 -6
- package/es/tree/treeNode.d.ts +2 -3
- package/es/tree/treeNode.js +6 -5
- package/es/tree/utils/treeUtils.d.ts +2 -2
- package/es/tree/utils/treeUtils.js +5 -6
- package/es/tree-select/interface.d.ts +1 -0
- package/es/tree-select/style/index.css +7 -4
- package/es/tree-select/style/index.less +12 -4
- package/es/tree-select/style/token.less +1 -0
- package/es/tree-select/tree-select.js +6 -2
- package/lib/city-picker/city-picker.js +1 -1
- package/lib/clipboard/clipboard.d.ts +21 -0
- package/lib/clipboard/clipboard.js +121 -0
- package/lib/clipboard/index.d.ts +4 -0
- package/lib/clipboard/index.js +11 -0
- package/lib/clipboard/style/css.js +4 -0
- package/lib/clipboard/style/index.css +190 -0
- package/lib/clipboard/style/index.d.ts +2 -0
- package/lib/clipboard/style/index.js +4 -0
- package/lib/clipboard/style/index.less +32 -0
- package/lib/clipboard/style/mixin.less +39 -0
- package/lib/clipboard/style/token.less +52 -0
- package/lib/clipboard/util.d.ts +13 -0
- package/lib/clipboard/util.js +204 -0
- package/lib/color-picker/color-picker-panel.js +16 -7
- package/lib/color-picker/color-picker.js +17 -3
- package/lib/color-picker/interface.d.ts +5 -0
- package/lib/color-picker/style/index.css +30 -13
- package/lib/color-picker/style/index.less +49 -43
- package/lib/config-provider/compDefaultProps.d.ts +5 -0
- package/lib/config-provider/compDefaultProps.js +5 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +7 -0
- package/lib/locale/locale.d.ts +2 -0
- package/lib/locale/zh-CN.d.ts +2 -0
- package/lib/locale/zh-CN.js +3 -1
- package/lib/message/content.js +1 -4
- package/lib/select/interface.d.ts +1 -0
- package/lib/select/select.js +15 -12
- package/lib/select/style/index.css +12 -9
- package/lib/select/style/index.less +22 -12
- package/lib/select/style/token.less +1 -0
- package/lib/style/components.less +1 -0
- package/lib/tree/style/index.css +22 -15
- package/lib/tree/style/index.less +33 -18
- package/lib/tree/tree.d.ts +1 -0
- package/lib/tree/tree.js +28 -12
- package/lib/tree/treeHooks.d.ts +2 -2
- package/lib/tree/treeHooks.js +10 -5
- package/lib/tree/treeNode.d.ts +2 -3
- package/lib/tree/treeNode.js +6 -5
- package/lib/tree/utils/treeUtils.d.ts +2 -2
- package/lib/tree/utils/treeUtils.js +5 -6
- package/lib/tree-select/interface.d.ts +1 -0
- package/lib/tree-select/style/index.css +7 -4
- package/lib/tree-select/style/index.less +12 -4
- package/lib/tree-select/style/token.less +1 -0
- package/lib/tree-select/tree-select.js +6 -2
- package/package.json +1 -1
- package/es/color-picker/utils/hooks/useOnClickOutside.d.ts +0 -2
- package/es/color-picker/utils/hooks/useOnClickOutside.js +0 -16
- package/lib/color-picker/utils/hooks/useOnClickOutside.d.ts +0 -2
- package/lib/color-picker/utils/hooks/useOnClickOutside.js +0 -23
package/es/select/select.js
CHANGED
|
@@ -26,8 +26,12 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
26
26
|
var _useContext = useContext(ConfigContext),
|
|
27
27
|
getPrefixCls = _useContext.getPrefixCls,
|
|
28
28
|
prefixCls = _useContext.prefixCls,
|
|
29
|
-
userDefaultProps = _useContext.compDefaultProps
|
|
29
|
+
userDefaultProps = _useContext.compDefaultProps,
|
|
30
|
+
locale = _useContext.locale;
|
|
30
31
|
var selectProps = getCompProps('Select', userDefaultProps, props);
|
|
32
|
+
var selectLangMsg = locale.getCompLangMsg({
|
|
33
|
+
componentName: 'Select'
|
|
34
|
+
});
|
|
31
35
|
var size = selectProps.size,
|
|
32
36
|
value = selectProps.value,
|
|
33
37
|
autoFocus = selectProps.autoFocus,
|
|
@@ -63,7 +67,8 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
63
67
|
_selectProps$popperSt = selectProps.popperStyle,
|
|
64
68
|
popperStyle = _selectProps$popperSt === void 0 ? {} : _selectProps$popperSt,
|
|
65
69
|
tagRender = selectProps.tagRender,
|
|
66
|
-
virtualListProps = selectProps.virtualListProps
|
|
70
|
+
virtualListProps = selectProps.virtualListProps,
|
|
71
|
+
status = selectProps.status;
|
|
67
72
|
var isMultiple = mode === 'multiple'; // 是否多选
|
|
68
73
|
var _useMergedState = useMergedState(undefined, {
|
|
69
74
|
value: value,
|
|
@@ -123,7 +128,7 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
123
128
|
// 多选底部样式
|
|
124
129
|
var multipleFooterCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-multiple-footer"), true));
|
|
125
130
|
// 多选,单选公共样式
|
|
126
|
-
var commCls = classNames((_classNames6 = {}, _defineProperty(_classNames6, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), _defineProperty(_classNames6, _concatInstanceProperty(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-wrapper"), true), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-show-search"), isShowSearch && focusd), _classNames6));
|
|
131
|
+
var commCls = classNames((_classNames6 = {}, _defineProperty(_classNames6, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), _defineProperty(_classNames6, _concatInstanceProperty(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-wrapper"), true), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-show-search"), isShowSearch && focusd), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-error"), status === 'error'), _classNames6));
|
|
127
132
|
useEffect(function () {
|
|
128
133
|
if (typeof props.visible !== 'undefined') {
|
|
129
134
|
setOptionShow(props.visible);
|
|
@@ -568,16 +573,20 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
568
573
|
className: dropDownCls,
|
|
569
574
|
style: dropdownStyle,
|
|
570
575
|
ref: dropDownRef
|
|
571
|
-
}, !dropdownRender && childrenToRender.length > 0 ? dropRender(eleOptionList, heightStyle) : null, renderNotContent(), /*#__PURE__*/React.createElement("div", null, dropdownRender ? dropdownRender(dropRender(
|
|
576
|
+
}, !dropdownRender && childrenToRender.length > 0 ? dropRender(eleOptionList, heightStyle) : null, renderNotContent(), /*#__PURE__*/React.createElement("div", null, dropdownRender ? dropdownRender(dropRender(eleOptionList, heightStyle)) : null), isMultiple && realChildren.length > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
572
577
|
className: multipleFooterCls
|
|
573
578
|
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
574
579
|
style: checkboxStyle,
|
|
575
580
|
checked: checked,
|
|
576
581
|
indeterminate: indeterminate,
|
|
577
582
|
onChange: handleSelectAll
|
|
578
|
-
},
|
|
583
|
+
}, selectLangMsg === null || selectLangMsg === void 0 ? void 0 : selectLangMsg.selectAll), /*#__PURE__*/React.createElement("span", {
|
|
579
584
|
className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected")
|
|
580
|
-
},
|
|
585
|
+
}, locale.getLangMsg('Select', 'seleted', {
|
|
586
|
+
size: /*#__PURE__*/React.createElement("span", {
|
|
587
|
+
className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected-number")
|
|
588
|
+
}, selectedVal.length)
|
|
589
|
+
}))) : null));
|
|
581
590
|
};
|
|
582
591
|
// 处理多选tag
|
|
583
592
|
var handleMaxTagHolder = useCallback(function () {
|
|
@@ -778,12 +787,6 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
778
787
|
_spliceInstanceProperty(selectMulOpts).call(selectMulOpts, -1, 1);
|
|
779
788
|
setMulOptions(_toConsumableArray(selectMulOpts));
|
|
780
789
|
onChange && onChange(labelInValue ? selectMulOpts : selectedVal, selectMulOpts);
|
|
781
|
-
// !isMultiple
|
|
782
|
-
} else if (which === KeyCode.BACKSPACE && allowClear && !isMultiple) {
|
|
783
|
-
setInitValue('');
|
|
784
|
-
onClear && onClear('');
|
|
785
|
-
setSearchValue('');
|
|
786
|
-
onChange && onChange(undefined);
|
|
787
790
|
}
|
|
788
791
|
// optionsList: up、down、enter
|
|
789
792
|
if (optionShow) {
|
|
@@ -296,7 +296,7 @@
|
|
|
296
296
|
.kd-select-icon-clear:hover {
|
|
297
297
|
color: var(--kd-c-select-color-border-hover, var(--kd-g-color-theme, #5582f3));
|
|
298
298
|
}
|
|
299
|
-
.kd-select-focused {
|
|
299
|
+
.kd-select-focused:not(.kd-select-error) {
|
|
300
300
|
border-color: var(--kd-c-select-color-border-foucs, var(--kd-g-color-theme, #5582f3)) !important;
|
|
301
301
|
}
|
|
302
302
|
.kd-select-placeholder {
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
.kd-select-underline {
|
|
324
324
|
border-bottom: 1px solid var(--kd-c-select-color-border, var(--kd-g-color-input, #999));
|
|
325
325
|
}
|
|
326
|
-
.kd-select-underline:hover:not(.kd-select-multiple-disabled):not(.kd-select-single-disabled) {
|
|
326
|
+
.kd-select-underline:hover:not(.kd-select-multiple-disabled):not(.kd-select-single-disabled):not( .kd-select-error) {
|
|
327
327
|
border-bottom: 1px solid var(--kd-c-select-color-border-hover, var(--kd-g-color-theme, #5582f3));
|
|
328
328
|
}
|
|
329
329
|
.kd-select-bordered {
|
|
@@ -331,7 +331,7 @@
|
|
|
331
331
|
padding-left: var(--kd-c-select-bordered-spacing-padding-left, 8px) !important;
|
|
332
332
|
border-radius: var(--kd-c-select-bordered-radius-border, 2px);
|
|
333
333
|
}
|
|
334
|
-
.kd-select-bordered:hover:not(.kd-select-multiple-disabled):not(.kd-select-single-disabled) {
|
|
334
|
+
.kd-select-bordered:hover:not(.kd-select-multiple-disabled):not(.kd-select-single-disabled):not( .kd-select-error) {
|
|
335
335
|
border: 1px solid var(--kd-c-select-color-border-hover, var(--kd-g-color-theme, #5582f3));
|
|
336
336
|
}
|
|
337
337
|
.kd-select-bordered .kd-select-suffix {
|
|
@@ -522,7 +522,7 @@
|
|
|
522
522
|
white-space: nowrap;
|
|
523
523
|
text-overflow: ellipsis;
|
|
524
524
|
}
|
|
525
|
-
.kd-select .kd-select-single-focused {
|
|
525
|
+
.kd-select .kd-select-single-focused:not(.kd-select-error) {
|
|
526
526
|
border-color: var(--kd-c-select-color-border-foucs, var(--kd-g-color-theme, #5582f3)) !important;
|
|
527
527
|
}
|
|
528
528
|
.kd-select .kd-select-single-disabled {
|
|
@@ -698,14 +698,17 @@
|
|
|
698
698
|
color: #999999;
|
|
699
699
|
padding-left: 12px;
|
|
700
700
|
}
|
|
701
|
-
.kd-select-multiple-footer-hadSelected
|
|
701
|
+
.kd-select-multiple-footer-hadSelected-number {
|
|
702
702
|
color: var(--kd-c-select-footer-color-text-selected, #0e5fd8);
|
|
703
703
|
padding: 0 2px;
|
|
704
704
|
}
|
|
705
|
-
.kd-select.
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
.kd-select.
|
|
705
|
+
.kd-select-error:not(.kd-select-single-disabled):not(.kd-select-multiple-disabled) {
|
|
706
|
+
border-color: var(--kd-c-select-color-error, var(--kd-g-color-error, #fb2323));
|
|
707
|
+
}
|
|
708
|
+
.kd-select-dropdown-panel.topLeft.hidden,
|
|
709
|
+
.kd-select-dropdown-panel.bottomLeft.hidden,
|
|
710
|
+
.kd-select-dropdown-panel.topRight.hidden,
|
|
711
|
+
.kd-select-dropdown-panel.bottomRight.hidden {
|
|
709
712
|
opacity: 0;
|
|
710
713
|
visibility: hidden;
|
|
711
714
|
-webkit-transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
&-focused {
|
|
62
|
+
&-focused:not(.@{select-prefix-cls}-error) {
|
|
63
63
|
.focusColor();
|
|
64
64
|
}
|
|
65
65
|
&-placeholder {
|
|
@@ -83,7 +83,9 @@
|
|
|
83
83
|
|
|
84
84
|
&-underline {
|
|
85
85
|
border-bottom: 1px solid @select-g-color-border;
|
|
86
|
-
&:hover:not(.@{select-prefix-cls}-multiple-disabled):not(.@{select-prefix-cls}-single-disabled)
|
|
86
|
+
&:hover:not(.@{select-prefix-cls}-multiple-disabled):not(.@{select-prefix-cls}-single-disabled):not(
|
|
87
|
+
.@{select-prefix-cls}-error
|
|
88
|
+
) {
|
|
87
89
|
border-bottom: 1px solid @select-g-color-border-hover;
|
|
88
90
|
}
|
|
89
91
|
}
|
|
@@ -92,7 +94,9 @@
|
|
|
92
94
|
border: 1px solid @select-border-g-color-border;
|
|
93
95
|
padding-left: @select-bordered !important;
|
|
94
96
|
border-radius: @select-border-radius-border;
|
|
95
|
-
&:hover:not(.@{select-prefix-cls}-multiple-disabled):not(.@{select-prefix-cls}-single-disabled)
|
|
97
|
+
&:hover:not(.@{select-prefix-cls}-multiple-disabled):not(.@{select-prefix-cls}-single-disabled):not(
|
|
98
|
+
.@{select-prefix-cls}-error
|
|
99
|
+
) {
|
|
96
100
|
border: 1px solid @select-g-color-border-hover;
|
|
97
101
|
}
|
|
98
102
|
|
|
@@ -265,7 +269,7 @@
|
|
|
265
269
|
.over();
|
|
266
270
|
}
|
|
267
271
|
}
|
|
268
|
-
&-focused {
|
|
272
|
+
&-focused:not(.@{select-prefix-cls}-error) {
|
|
269
273
|
.focusColor();
|
|
270
274
|
}
|
|
271
275
|
&-disabled {
|
|
@@ -431,7 +435,7 @@
|
|
|
431
435
|
&-hadSelected {
|
|
432
436
|
color: #999999;
|
|
433
437
|
padding-left: 12px;
|
|
434
|
-
|
|
438
|
+
&-number {
|
|
435
439
|
color: @select-footer-g-text-color-selected;
|
|
436
440
|
padding: 0 2px;
|
|
437
441
|
}
|
|
@@ -439,12 +443,18 @@
|
|
|
439
443
|
}
|
|
440
444
|
}
|
|
441
445
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
446
|
+
&-error:not(.@{select-prefix-cls}-single-disabled):not(.@{select-prefix-cls}-multiple-disabled) {
|
|
447
|
+
border-color: @select-error-color;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
&-dropdown-panel {
|
|
451
|
+
&.topLeft.hidden,
|
|
452
|
+
&.bottomLeft.hidden,
|
|
453
|
+
&.topRight.hidden,
|
|
454
|
+
&.bottomRight.hidden {
|
|
455
|
+
opacity: 0;
|
|
456
|
+
visibility: hidden;
|
|
457
|
+
transition: all calc(@transition-duration - 0.1s) @ease;
|
|
458
|
+
}
|
|
449
459
|
}
|
|
450
460
|
}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
@select-single-color-text: var(~'@{select-custom-prefix}-single-color-text', @color-text-primary);
|
|
23
23
|
@select-clear-color: var(~'@{select-custom-prefix}-icon-clear-color-text', #d9d9d9);
|
|
24
24
|
@select-clear-color-hover: var(~'@{select-custom-prefix}-icon-clear-color-text-hover', #999);
|
|
25
|
+
@select-error-color: var(~'@{select-custom-prefix}-color-error', @color-error);
|
|
25
26
|
|
|
26
27
|
// font
|
|
27
28
|
@select-list-font-size: var(~'@{select-custom-prefix}-dropdown-font-size', 12px); // 下拉列表文字大小
|
package/es/tree/style/index.css
CHANGED
|
@@ -143,10 +143,24 @@
|
|
|
143
143
|
-ms-flex-negative: 0;
|
|
144
144
|
flex-shrink: 0;
|
|
145
145
|
}
|
|
146
|
-
.kd-tree-
|
|
146
|
+
.kd-tree-show-line .kd-tree-node-indent {
|
|
147
|
+
position: relative;
|
|
148
|
+
}
|
|
149
|
+
.kd-tree-show-line .kd-tree-node-indent::before {
|
|
147
150
|
position: absolute;
|
|
148
|
-
|
|
149
|
-
|
|
151
|
+
left: 50%;
|
|
152
|
+
-webkit-transform: translateX(-50%);
|
|
153
|
+
transform: translateX(-50%);
|
|
154
|
+
width: 1px;
|
|
155
|
+
border-left: 1px solid #d9d9d9;
|
|
156
|
+
content: '';
|
|
157
|
+
-webkit-box-sizing: border-box;
|
|
158
|
+
box-sizing: border-box;
|
|
159
|
+
top: 0;
|
|
160
|
+
bottom: 0;
|
|
161
|
+
}
|
|
162
|
+
.kd-tree-show-line .kd-tree-node-indent-active::before {
|
|
163
|
+
border-color: var(--kd-c-tree-color-theme, var(--kd-g-color-theme, #5582f3));
|
|
150
164
|
}
|
|
151
165
|
.kd-tree-node-root {
|
|
152
166
|
position: relative;
|
|
@@ -192,20 +206,10 @@
|
|
|
192
206
|
display: -webkit-box;
|
|
193
207
|
display: -ms-flexbox;
|
|
194
208
|
display: flex;
|
|
195
|
-
width:
|
|
196
|
-
|
|
197
|
-
border-left: 11px;
|
|
198
|
-
border-bottom: 0;
|
|
199
|
-
border-right: 10px;
|
|
200
|
-
border-color: white;
|
|
201
|
-
border-style: solid;
|
|
209
|
+
width: var(--kd-c-tree-expand-icon-sizing-width, 16px);
|
|
210
|
+
margin-right: 6px;
|
|
202
211
|
height: 100%;
|
|
203
212
|
cursor: default;
|
|
204
|
-
opacity: 0;
|
|
205
|
-
}
|
|
206
|
-
.kd-tree-node-indent-line {
|
|
207
|
-
background-color: black;
|
|
208
|
-
opacity: 1;
|
|
209
213
|
}
|
|
210
214
|
.kd-tree-node-icon {
|
|
211
215
|
cursor: pointer;
|
|
@@ -316,6 +320,9 @@
|
|
|
316
320
|
width: 100%;
|
|
317
321
|
height: 100%;
|
|
318
322
|
}
|
|
323
|
+
.kd-tree-node-draggabled.kd-tree-node-dragging .kd-tree-node-indent::before {
|
|
324
|
+
border-color: transparent;
|
|
325
|
+
}
|
|
319
326
|
.kd-tree-node-drag-over {
|
|
320
327
|
background-color: var(--kd-c-tree-node-drag-over-color-background, #E3EBFF);
|
|
321
328
|
-webkit-box-shadow: inset 0 0 0 2px var(--kd-c-tree-node-drag-over-color-border, #5582f3);
|
package/es/tree/style/index.less
CHANGED
|
@@ -19,10 +19,26 @@
|
|
|
19
19
|
min-width: 100%;
|
|
20
20
|
flex-shrink: 0;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
|
|
23
|
+
&-show-line {
|
|
24
|
+
.@{tree-node-prefix-cls}-indent {
|
|
25
|
+
position: relative;
|
|
26
|
+
&::before {
|
|
27
|
+
position: absolute;
|
|
28
|
+
left: 50%;
|
|
29
|
+
transform: translateX(-50%);
|
|
30
|
+
width: 1px;
|
|
31
|
+
border-left: 1px solid #d9d9d9;
|
|
32
|
+
content: '';
|
|
33
|
+
box-sizing: border-box;
|
|
34
|
+
top: 0;
|
|
35
|
+
bottom: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&-active::before {
|
|
39
|
+
border-color: @tree-color-theme;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
26
42
|
}
|
|
27
43
|
}
|
|
28
44
|
|
|
@@ -56,21 +72,13 @@
|
|
|
56
72
|
|
|
57
73
|
&-indent {
|
|
58
74
|
display: flex;
|
|
59
|
-
width:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
border-bottom: 0;
|
|
63
|
-
border-right: 10px;
|
|
64
|
-
border-color: white;
|
|
65
|
-
border-style: solid;
|
|
75
|
+
width: @tree-expand-icon-width;
|
|
76
|
+
margin-right: 6px;
|
|
77
|
+
|
|
66
78
|
height: 100%;
|
|
67
79
|
cursor: default;
|
|
68
|
-
opacity: 0;
|
|
69
|
-
}
|
|
70
|
-
&-indent-line {
|
|
71
|
-
background-color: black;
|
|
72
|
-
opacity: 1;
|
|
73
80
|
}
|
|
81
|
+
|
|
74
82
|
&-icon {
|
|
75
83
|
cursor: pointer;
|
|
76
84
|
height: @tree-expand-icon-height;
|
|
@@ -135,6 +143,12 @@
|
|
|
135
143
|
align-items: center;
|
|
136
144
|
width: 100%;
|
|
137
145
|
height: 100%;
|
|
146
|
+
|
|
147
|
+
&.@{tree-node-prefix-cls}-dragging {
|
|
148
|
+
.@{tree-node-prefix-cls}-indent::before {
|
|
149
|
+
border-color: transparent;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
138
152
|
}
|
|
139
153
|
|
|
140
154
|
&-drag-over {
|
|
@@ -143,13 +157,14 @@
|
|
|
143
157
|
}
|
|
144
158
|
|
|
145
159
|
&-drag-line {
|
|
146
|
-
&-top,
|
|
160
|
+
&-top,
|
|
161
|
+
&-bottom {
|
|
147
162
|
position: absolute;
|
|
148
163
|
left: 0;
|
|
149
164
|
top: 0;
|
|
150
165
|
width: 100%;
|
|
151
166
|
border-top: 2px solid @tree-node-drag-line-border-color;
|
|
152
|
-
|
|
167
|
+
|
|
153
168
|
&::before {
|
|
154
169
|
content: '';
|
|
155
170
|
width: 4px;
|
package/es/tree/tree.d.ts
CHANGED
|
@@ -70,5 +70,6 @@ export declare type KeysDataType = {
|
|
|
70
70
|
export declare type PosDataType = {
|
|
71
71
|
[key: string]: TreeNodeData;
|
|
72
72
|
};
|
|
73
|
+
export declare type SearchStatus = 'NONE' | 'SEARCH_START' | 'SEARCH_DONE';
|
|
73
74
|
declare const Tree: React.ForwardRefExoticComponent<TreeProps & React.RefAttributes<unknown>>;
|
|
74
75
|
export default Tree;
|
package/es/tree/tree.js
CHANGED
|
@@ -6,6 +6,7 @@ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable
|
|
|
6
6
|
import _Set from "@babel/runtime-corejs3/core-js-stable/set";
|
|
7
7
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
8
8
|
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
|
|
9
|
+
import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
|
|
9
10
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
10
11
|
var __rest = this && this.__rest || function (s, e) {
|
|
11
12
|
var t = {};
|
|
@@ -15,7 +16,7 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
15
16
|
}
|
|
16
17
|
return t;
|
|
17
18
|
};
|
|
18
|
-
import React, { useContext, useCallback, useEffect } from 'react';
|
|
19
|
+
import React, { useContext, useCallback, useEffect, useMemo } from 'react';
|
|
19
20
|
import classNames from 'classnames';
|
|
20
21
|
import cloneDeep from 'lodash/cloneDeep';
|
|
21
22
|
import ConfigContext from '../config-provider/ConfigContext';
|
|
@@ -26,6 +27,7 @@ import { getChecked, getHalfChecked, addKeys, flattenAll, delKey, getFilterData,
|
|
|
26
27
|
import { useChecked, useExpand, useSelect } from './treeHooks';
|
|
27
28
|
import isBoolean from 'lodash/isBoolean';
|
|
28
29
|
var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
30
|
+
var _classNames;
|
|
29
31
|
var _useContext = useContext(ConfigContext),
|
|
30
32
|
getPrefixCls = _useContext.getPrefixCls,
|
|
31
33
|
prefixCls = _useContext.prefixCls,
|
|
@@ -79,9 +81,10 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
79
81
|
onlyExpandOnClickIcon = _TreeProps$onlyExpand === void 0 ? false : _TreeProps$onlyExpand,
|
|
80
82
|
loadData = TreeProps.loadData,
|
|
81
83
|
notFoundContent = TreeProps.notFoundContent,
|
|
82
|
-
|
|
84
|
+
showLine = TreeProps.showLine,
|
|
85
|
+
others = __rest(TreeProps, ["prefixCls", "treeData", "virtual", "showIcon", "switcherIcon", "icon", "checkable", "checkStrictly", "disabled", "draggable", "scrollToKey", "expandedKeys", "checkedKeys", "defaultExpandRoot", "defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys", "defaultCheckedKeys", "defaultSelectedKeys", "height", "onCheck", "onExpand", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect", "selectedKeys", "setTreeNodeStyle", "setTreeNodeClassName", "estimatedItemSize", "style", "className", "filterTreeNode", "filterValue", "expandOnClickNode", "onlyExpandOnClickIcon", "loadData", "notFoundContent", "showLine"]);
|
|
83
86
|
var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
|
|
84
|
-
var treeNodeClassName = classNames(className,
|
|
87
|
+
var treeNodeClassName = classNames(className, (_classNames = {}, _defineProperty(_classNames, "".concat(treePrefixCls), true), _defineProperty(_classNames, "".concat(treePrefixCls, "-show-line"), showLine), _classNames));
|
|
85
88
|
var treeRootClassName = "".concat(treePrefixCls, "-root");
|
|
86
89
|
var estimatedItemSize = innerEstimatedItemSize; // 节点高度
|
|
87
90
|
var _React$useMemo = React.useMemo(function () {
|
|
@@ -125,17 +128,21 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
125
128
|
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
126
129
|
loadingKeys = _React$useState12[0],
|
|
127
130
|
setLoadingKeys = _React$useState12[1];
|
|
128
|
-
var _React$useState13 = React.useState(
|
|
131
|
+
var _React$useState13 = React.useState('NONE'),
|
|
129
132
|
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
searchStatus = _React$useState14[0],
|
|
134
|
+
setSearchStatus = _React$useState14[1];
|
|
132
135
|
var isSearching = React.useMemo(function () {
|
|
133
136
|
return typeof filterTreeNode === 'function' && !!filterValue;
|
|
134
137
|
}, [filterValue]);
|
|
135
138
|
useEffect(function () {
|
|
136
|
-
|
|
139
|
+
if (isSearching) {
|
|
140
|
+
setSearchStatus('SEARCH_START');
|
|
141
|
+
} else {
|
|
142
|
+
setSearchStatus('NONE');
|
|
143
|
+
}
|
|
137
144
|
}, [filterValue]);
|
|
138
|
-
var _useExpand = useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData,
|
|
145
|
+
var _useExpand = useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus),
|
|
139
146
|
_useExpand2 = _slicedToArray(_useExpand, 2),
|
|
140
147
|
expandedKeys = _useExpand2[0],
|
|
141
148
|
setExpandedKeys = _useExpand2[1];
|
|
@@ -220,12 +227,9 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
220
227
|
node: node,
|
|
221
228
|
expanded: expanded
|
|
222
229
|
});
|
|
223
|
-
if (isSearching) {
|
|
224
|
-
var newSearchExpandedKeys = expanded ? addKeys(searchExpandedKeys, [key]) : delKey(searchExpandedKeys, [key]);
|
|
225
|
-
setSearchExpandedKeys(newSearchExpandedKeys);
|
|
226
|
-
}
|
|
227
230
|
setScrollKey(undefined);
|
|
228
231
|
setIsInit(false);
|
|
232
|
+
setSearchStatus('SEARCH_DONE');
|
|
229
233
|
if (expanded && loadData) {
|
|
230
234
|
handleNodeLoad(loadedKeys, loadingKeys, node);
|
|
231
235
|
}
|
|
@@ -370,6 +374,16 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
370
374
|
useEffect(function () {
|
|
371
375
|
setCheckedKeys(checkedKeys);
|
|
372
376
|
}, [checkedKeys, setCheckedKeys]);
|
|
377
|
+
var isSelectedNodeChildrenKey = function isSelectedNodeChildrenKey() {
|
|
378
|
+
var parentKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
379
|
+
var key = Array.isArray(selectedKeys) ? selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys[0] : selectedKeys;
|
|
380
|
+
return _includesInstanceProperty(parentKeys).call(parentKeys, key);
|
|
381
|
+
};
|
|
382
|
+
var seletedKeyLevel = useMemo(function () {
|
|
383
|
+
var _a;
|
|
384
|
+
var key = Array.isArray(selectedKeys) ? selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys[0] : selectedKeys;
|
|
385
|
+
return (_a = keysData === null || keysData === void 0 ? void 0 : keysData[key]) === null || _a === void 0 ? void 0 : _a.level;
|
|
386
|
+
}, [keysData, selectedKeys]);
|
|
373
387
|
var renderTreeNode = function renderTreeNode(item) {
|
|
374
388
|
var checked = getChecked(checkedKeys, item.key);
|
|
375
389
|
var indeterminate = getHalfChecked(halfCheckedKeys, item.key);
|
|
@@ -404,9 +418,11 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
404
418
|
item.onlyExpandOnClickIcon = onlyExpandOnClickIcon;
|
|
405
419
|
item.loading = loadingKeys.has(item.key) && !loadedKeys.has(item.key);
|
|
406
420
|
item.loadData = loadData;
|
|
421
|
+
item.isActiveLine = showLine && isSelectedNodeChildrenKey(item.pathParentKeys);
|
|
407
422
|
return /*#__PURE__*/React.createElement(TreeNode, _extends({}, item, {
|
|
408
423
|
key: item.key,
|
|
409
|
-
ref: treeNodeRef
|
|
424
|
+
ref: treeNodeRef,
|
|
425
|
+
activeLevel: seletedKeyLevel
|
|
410
426
|
}));
|
|
411
427
|
};
|
|
412
428
|
return /*#__PURE__*/React.createElement("div", _extends({
|
package/es/tree/treeHooks.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { TreeNodeData, KeysDataType } from './tree';
|
|
1
|
+
import { TreeNodeData, KeysDataType, SearchStatus } from './tree';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
export declare const useViewportHeight: (height: number, listRef: React.RefObject<HTMLElement>) => number[];
|
|
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, keysData: KeysDataType) => 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, isSearching: boolean, keysData: KeysDataType,
|
|
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, keysData: KeysDataType, searchStatus: SearchStatus) => 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/es/tree/treeHooks.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
|
|
2
2
|
import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
|
|
3
3
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
4
|
-
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import React, { useEffect, useState, useRef } from 'react';
|
|
5
5
|
import { getInitCheckededKeys, getDataCheckededStateStrictly, getInitExpandedKeys, getPos, getAllParentKeys } from './utils/treeUtils';
|
|
6
6
|
export var useViewportHeight = function useViewportHeight(height, listRef) {
|
|
7
7
|
var _React$useState = React.useState(0),
|
|
@@ -59,22 +59,22 @@ export var useChecked = function useChecked(checkStrictly, checkedKeysProps, def
|
|
|
59
59
|
}, [nextHalfCheckedKeys]);
|
|
60
60
|
return [checkedKeys, halfCheckedKeys, setCheckedKeys, setHalfCheckedKeys];
|
|
61
61
|
};
|
|
62
|
-
export var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData,
|
|
62
|
+
export var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus) {
|
|
63
63
|
var expandScrollkeys = [];
|
|
64
64
|
if (scrollKey) {
|
|
65
65
|
var pos = getPos(flattenAllData, scrollKey);
|
|
66
66
|
expandScrollkeys = getAllParentKeys(flattenAllData, pos);
|
|
67
67
|
}
|
|
68
68
|
var initialExpandedKeys = React.useMemo(function () {
|
|
69
|
-
return getInitExpandedKeys(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData,
|
|
70
|
-
}, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData,
|
|
69
|
+
return getInitExpandedKeys(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, isInit, searchStatus);
|
|
70
|
+
}, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, isInit, searchStatus]);
|
|
71
71
|
var _React$useState7 = React.useState(initialExpandedKeys),
|
|
72
72
|
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
73
73
|
expandedKeys = _React$useState8[0],
|
|
74
74
|
setExpandedKeys = _React$useState8[1];
|
|
75
75
|
React.useEffect(function () {
|
|
76
76
|
setExpandedKeys(initialExpandedKeys);
|
|
77
|
-
}, [flattenAllData, expandedKeysProps,
|
|
77
|
+
}, [flattenAllData, expandedKeysProps, defaultExpandAll, defaultExpandedKeys, defaultExpandRoot, defaultExpandParent, scrollKey, searchStatus]);
|
|
78
78
|
return [expandedKeys, setExpandedKeys];
|
|
79
79
|
};
|
|
80
80
|
export var useScrollToKey = function useScrollToKey(scrollKey, index, estimatedItemSize, scrollRef, viewportHeight, treeNodePrefixCls) {
|
|
@@ -115,8 +115,13 @@ export var useSelect = function useSelect(selectedKeysProps, defaultSelectedKeys
|
|
|
115
115
|
_useState2 = _slicedToArray(_useState, 2),
|
|
116
116
|
selectedKeys = _useState2[0],
|
|
117
117
|
setSelectedKeys = _useState2[1];
|
|
118
|
+
var mounting = useRef(true);
|
|
118
119
|
useEffect(function () {
|
|
119
|
-
|
|
120
|
+
if (mounting.current) {
|
|
121
|
+
mounting.current = false;
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
setSelectedKeys(selectedKeysProps);
|
|
120
125
|
}, [selectedKeysProps]);
|
|
121
126
|
return [selectedKeys, setSelectedKeys];
|
|
122
127
|
};
|
package/es/tree/treeNode.d.ts
CHANGED
|
@@ -10,9 +10,8 @@ export interface TreeNodeProps {
|
|
|
10
10
|
draggable?: boolean;
|
|
11
11
|
disableCheckbox?: boolean;
|
|
12
12
|
icon?: React.ReactNode | ((props: any) => React.ReactNode);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
13
|
+
isActiveLine?: boolean;
|
|
14
|
+
activeLevel?: number;
|
|
16
15
|
showIcon?: boolean;
|
|
17
16
|
selected?: boolean;
|
|
18
17
|
style?: Map<string, string>;
|
package/es/tree/treeNode.js
CHANGED
|
@@ -41,7 +41,8 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props) {
|
|
|
41
41
|
hasChildNode = TreeNodeProps.hasChildNode,
|
|
42
42
|
expand = TreeNodeProps.expand,
|
|
43
43
|
title = TreeNodeProps.title,
|
|
44
|
-
|
|
44
|
+
isActiveLine = TreeNodeProps.isActiveLine,
|
|
45
|
+
activeLevel = TreeNodeProps.activeLevel,
|
|
45
46
|
showIcon = TreeNodeProps.showIcon,
|
|
46
47
|
selected = TreeNodeProps.selected,
|
|
47
48
|
setDragNode = TreeNodeProps.setDragNode,
|
|
@@ -62,7 +63,7 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props) {
|
|
|
62
63
|
onDragEnd = TreeNodeProps.onDragEnd,
|
|
63
64
|
onDrop = TreeNodeProps.onDrop,
|
|
64
65
|
onSelect = TreeNodeProps.onSelect,
|
|
65
|
-
others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "
|
|
66
|
+
others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "isActiveLine", "activeLevel", "showIcon", "selected", "setDragNode", "style", "indeterminate", "estimatedItemSize", "dragOver", "dropPosition", "expandOnClickNode", "onlyExpandOnClickIcon", "loading", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
|
|
66
67
|
var nodeData = React.useMemo(function () {
|
|
67
68
|
return _extends({
|
|
68
69
|
selectable: selectable,
|
|
@@ -133,12 +134,11 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props) {
|
|
|
133
134
|
return icon;
|
|
134
135
|
};
|
|
135
136
|
var indent = function indent() {
|
|
136
|
-
var _classNames;
|
|
137
137
|
var indentArr = [];
|
|
138
|
-
var className = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(treeNodePrefixCls, "-indent"), true), _defineProperty(_classNames, "".concat(treeNodePrefixCls, "-indent-line"), !!showLine), _classNames));
|
|
139
138
|
for (var i = 0; i < level; i++) {
|
|
139
|
+
var _classNames;
|
|
140
140
|
indentArr.push( /*#__PURE__*/React.createElement("span", {
|
|
141
|
-
className:
|
|
141
|
+
className: classNames((_classNames = {}, _defineProperty(_classNames, "".concat(treeNodePrefixCls, "-indent"), true), _defineProperty(_classNames, "".concat(treeNodePrefixCls, "-indent-active"), !!isActiveLine && i === activeLevel), _classNames)),
|
|
142
142
|
key: i,
|
|
143
143
|
style: {
|
|
144
144
|
height: "".concat(estimatedItemSize)
|
|
@@ -244,6 +244,7 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props) {
|
|
|
244
244
|
}, [expandOnClickNode, handleExpandIconClick, handleSelect, onlyExpandOnClickIcon]);
|
|
245
245
|
var handleDragStart = React.useCallback(function (e) {
|
|
246
246
|
if (!draggable) return;
|
|
247
|
+
e.target.classList.add("".concat(treeNodePrefixCls, "-dragging"));
|
|
247
248
|
setDragNode(nodeData);
|
|
248
249
|
onDragStart && onDragStart(e, props);
|
|
249
250
|
}, [draggable, setDragNode, nodeData, onDragStart, props]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TreeNodeData, KeysDataType } from '../tree';
|
|
1
|
+
import { TreeNodeData, KeysDataType, SearchStatus } from '../tree';
|
|
2
2
|
/**
|
|
3
3
|
* 打平所有数组,并添加pos位置信息,
|
|
4
4
|
* 方便根据expandKeys等计算节点的expand,checkedKeys计算节点checked状态
|
|
@@ -60,6 +60,6 @@ export declare const getDataCheckededStateStrictly: (checkedKeys: string[]) => {
|
|
|
60
60
|
};
|
|
61
61
|
export declare const delKey: (prevKeys: string[], delKeys: string[]) => never[] & string[];
|
|
62
62
|
export declare const getAllNodeKeys: (data: any[]) => string[];
|
|
63
|
-
export declare const getInitExpandedKeys: (data: any[], expandedKeys: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, expandScrollkeys: string[] | undefined, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType,
|
|
63
|
+
export declare const getInitExpandedKeys: (data: any[], expandedKeys: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, expandScrollkeys: string[] | undefined, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, isInit: boolean, searchStatus: SearchStatus) => string[];
|
|
64
64
|
export declare const getExpandedKeys: (expandedKeys: string[], expandScrollkeys?: string[]) => string[];
|
|
65
65
|
export declare const calcDropPosition: (event: React.MouseEvent, dropNode: HTMLElement) => 0 | 1 | -1;
|
|
@@ -583,8 +583,8 @@ export var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys
|
|
|
583
583
|
var filterTreeNode = arguments.length > 7 ? arguments[7] : undefined;
|
|
584
584
|
var isSearching = arguments.length > 8 ? arguments[8] : undefined;
|
|
585
585
|
var keysData = arguments.length > 9 ? arguments[9] : undefined;
|
|
586
|
-
var
|
|
587
|
-
var
|
|
586
|
+
var isInit = arguments.length > 10 ? arguments[10] : undefined;
|
|
587
|
+
var searchStatus = arguments.length > 11 ? arguments[11] : undefined;
|
|
588
588
|
var keys = (expandedKeys === null || expandedKeys === void 0 ? void 0 : _concatInstanceProperty(expandedKeys).call(expandedKeys, expandScrollkeys)) || (defaultExpandedKeys === null || defaultExpandedKeys === void 0 ? void 0 : _concatInstanceProperty(defaultExpandedKeys).call(defaultExpandedKeys, expandScrollkeys)) || [];
|
|
589
589
|
if (isInit) {
|
|
590
590
|
if (defaultExpandAll) {
|
|
@@ -605,11 +605,10 @@ export var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys
|
|
|
605
605
|
}
|
|
606
606
|
}
|
|
607
607
|
}
|
|
608
|
-
if (isSearching) {
|
|
609
|
-
|
|
610
|
-
keys = _concatInstanceProperty(_context6 = []).call(_context6, _toConsumableArray(searchExpandedKeys), _toConsumableArray(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys));
|
|
608
|
+
if (isSearching && searchStatus === 'SEARCH_START') {
|
|
609
|
+
keys = _toConsumableArray(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys);
|
|
611
610
|
}
|
|
612
|
-
return
|
|
611
|
+
return keys;
|
|
613
612
|
};
|
|
614
613
|
export var getExpandedKeys = function getExpandedKeys(expandedKeys) {
|
|
615
614
|
var expandScrollkeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
@@ -56,6 +56,7 @@ export interface ITreeSelectProps<T extends TreeSelectValue> extends AbstractSel
|
|
|
56
56
|
defaultValue?: T;
|
|
57
57
|
mode?: Mode;
|
|
58
58
|
autoFocus?: boolean;
|
|
59
|
+
status?: 'error';
|
|
59
60
|
onlyExpandOnClickIcon?: boolean;
|
|
60
61
|
onChange?: (value: T, treeNode: TreeNodeData) => void;
|
|
61
62
|
onSelect?: (value: T extends (infer I)[] ? I : T, { checked, node, event }: any) => void;
|