@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
|
@@ -53,6 +53,7 @@ export interface ISelectProps<T extends SelectValue> extends AbstractSelectProps
|
|
|
53
53
|
defaultValue?: T;
|
|
54
54
|
mode?: Mode;
|
|
55
55
|
autoFocus?: boolean;
|
|
56
|
+
status?: 'error';
|
|
56
57
|
onChange?: (value?: T, option?: React.ReactElement<any> | React.ReactElement<any>[]) => void;
|
|
57
58
|
onSelect?: (value?: T extends (infer I)[] ? I : T, option?: React.ReactElement<any>) => void;
|
|
58
59
|
onDeselect?: (value?: T extends (infer I)[] ? I : T, option?: React.ReactElement<any>) => void;
|
package/lib/select/select.js
CHANGED
|
@@ -38,8 +38,12 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
38
38
|
var _useContext = (0, _react.useContext)(_ConfigContext.default),
|
|
39
39
|
getPrefixCls = _useContext.getPrefixCls,
|
|
40
40
|
prefixCls = _useContext.prefixCls,
|
|
41
|
-
userDefaultProps = _useContext.compDefaultProps
|
|
41
|
+
userDefaultProps = _useContext.compDefaultProps,
|
|
42
|
+
locale = _useContext.locale;
|
|
42
43
|
var selectProps = (0, _utils.getCompProps)('Select', userDefaultProps, props);
|
|
44
|
+
var selectLangMsg = locale.getCompLangMsg({
|
|
45
|
+
componentName: 'Select'
|
|
46
|
+
});
|
|
43
47
|
var size = selectProps.size,
|
|
44
48
|
value = selectProps.value,
|
|
45
49
|
autoFocus = selectProps.autoFocus,
|
|
@@ -75,7 +79,8 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
75
79
|
_selectProps$popperSt = selectProps.popperStyle,
|
|
76
80
|
popperStyle = _selectProps$popperSt === void 0 ? {} : _selectProps$popperSt,
|
|
77
81
|
tagRender = selectProps.tagRender,
|
|
78
|
-
virtualListProps = selectProps.virtualListProps
|
|
82
|
+
virtualListProps = selectProps.virtualListProps,
|
|
83
|
+
status = selectProps.status;
|
|
79
84
|
var isMultiple = mode === 'multiple'; // 是否多选
|
|
80
85
|
var _useMergedState = (0, _hooks.useMergedState)(undefined, {
|
|
81
86
|
value: value,
|
|
@@ -135,7 +140,7 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
135
140
|
// 多选底部样式
|
|
136
141
|
var multipleFooterCls = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-multiple-footer"), true));
|
|
137
142
|
// 多选,单选公共样式
|
|
138
|
-
var commCls = (0, _classnames.default)((_classNames6 = {}, (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), (0, _defineProperty2.default)(_classNames6, (0, _concat.default)(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-wrapper"), true), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-show-search"), isShowSearch && focusd), _classNames6));
|
|
143
|
+
var commCls = (0, _classnames.default)((_classNames6 = {}, (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), (0, _defineProperty2.default)(_classNames6, (0, _concat.default)(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-wrapper"), true), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-show-search"), isShowSearch && focusd), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-error"), status === 'error'), _classNames6));
|
|
139
144
|
(0, _react.useEffect)(function () {
|
|
140
145
|
if (typeof props.visible !== 'undefined') {
|
|
141
146
|
setOptionShow(props.visible);
|
|
@@ -580,16 +585,20 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
580
585
|
className: dropDownCls,
|
|
581
586
|
style: dropdownStyle,
|
|
582
587
|
ref: dropDownRef
|
|
583
|
-
}, !dropdownRender && childrenToRender.length > 0 ? dropRender(eleOptionList, heightStyle) : null, renderNotContent(), /*#__PURE__*/_react.default.createElement("div", null, dropdownRender ? dropdownRender(dropRender(
|
|
588
|
+
}, !dropdownRender && childrenToRender.length > 0 ? dropRender(eleOptionList, heightStyle) : null, renderNotContent(), /*#__PURE__*/_react.default.createElement("div", null, dropdownRender ? dropdownRender(dropRender(eleOptionList, heightStyle)) : null), isMultiple && realChildren.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
|
|
584
589
|
className: multipleFooterCls
|
|
585
590
|
}, /*#__PURE__*/_react.default.createElement(_index.Checkbox, {
|
|
586
591
|
style: checkboxStyle,
|
|
587
592
|
checked: checked,
|
|
588
593
|
indeterminate: indeterminate,
|
|
589
594
|
onChange: handleSelectAll
|
|
590
|
-
},
|
|
595
|
+
}, selectLangMsg === null || selectLangMsg === void 0 ? void 0 : selectLangMsg.selectAll), /*#__PURE__*/_react.default.createElement("span", {
|
|
591
596
|
className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected")
|
|
592
|
-
},
|
|
597
|
+
}, locale.getLangMsg('Select', 'seleted', {
|
|
598
|
+
size: /*#__PURE__*/_react.default.createElement("span", {
|
|
599
|
+
className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected-number")
|
|
600
|
+
}, selectedVal.length)
|
|
601
|
+
}))) : null));
|
|
593
602
|
};
|
|
594
603
|
// 处理多选tag
|
|
595
604
|
var handleMaxTagHolder = (0, _react.useCallback)(function () {
|
|
@@ -790,12 +799,6 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
790
799
|
(0, _splice.default)(selectMulOpts).call(selectMulOpts, -1, 1);
|
|
791
800
|
setMulOptions((0, _toConsumableArray2.default)(selectMulOpts));
|
|
792
801
|
onChange && onChange(labelInValue ? selectMulOpts : selectedVal, selectMulOpts);
|
|
793
|
-
// !isMultiple
|
|
794
|
-
} else if (which === _KeyCode.default.BACKSPACE && allowClear && !isMultiple) {
|
|
795
|
-
setInitValue('');
|
|
796
|
-
onClear && onClear('');
|
|
797
|
-
setSearchValue('');
|
|
798
|
-
onChange && onChange(undefined);
|
|
799
802
|
}
|
|
800
803
|
// optionsList: up、down、enter
|
|
801
804
|
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); // 下拉列表文字大小
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
@import "../cascader/style/index.less";
|
|
10
10
|
@import "../checkbox/style/index.less";
|
|
11
11
|
@import "../city-picker/style/index.less";
|
|
12
|
+
@import "../clipboard/style/index.less";
|
|
12
13
|
@import "../collapse/style/index.less";
|
|
13
14
|
@import "../color-picker/style/index.less";
|
|
14
15
|
@import "../date-picker/style/index.less";
|
package/lib/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);
|
|
@@ -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/lib/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/lib/tree/tree.js
CHANGED
|
@@ -16,6 +16,7 @@ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-core
|
|
|
16
16
|
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
17
17
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
18
18
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
|
19
|
+
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
19
20
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
20
21
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
22
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
@@ -38,6 +39,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
38
39
|
return t;
|
|
39
40
|
};
|
|
40
41
|
var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
42
|
+
var _classNames;
|
|
41
43
|
var _useContext = (0, _react.useContext)(_ConfigContext.default),
|
|
42
44
|
getPrefixCls = _useContext.getPrefixCls,
|
|
43
45
|
prefixCls = _useContext.prefixCls,
|
|
@@ -91,9 +93,10 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
91
93
|
onlyExpandOnClickIcon = _TreeProps$onlyExpand === void 0 ? false : _TreeProps$onlyExpand,
|
|
92
94
|
loadData = TreeProps.loadData,
|
|
93
95
|
notFoundContent = TreeProps.notFoundContent,
|
|
94
|
-
|
|
96
|
+
showLine = TreeProps.showLine,
|
|
97
|
+
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"]);
|
|
95
98
|
var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
|
|
96
|
-
var treeNodeClassName = (0, _classnames.default)(className, (0, _defineProperty2.default)(
|
|
99
|
+
var treeNodeClassName = (0, _classnames.default)(className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls), true), (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls, "-show-line"), showLine), _classNames));
|
|
97
100
|
var treeRootClassName = "".concat(treePrefixCls, "-root");
|
|
98
101
|
var estimatedItemSize = innerEstimatedItemSize; // 节点高度
|
|
99
102
|
var _React$useMemo = _react.default.useMemo(function () {
|
|
@@ -137,17 +140,21 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
137
140
|
_React$useState12 = (0, _slicedToArray2.default)(_React$useState11, 2),
|
|
138
141
|
loadingKeys = _React$useState12[0],
|
|
139
142
|
setLoadingKeys = _React$useState12[1];
|
|
140
|
-
var _React$useState13 = _react.default.useState(
|
|
143
|
+
var _React$useState13 = _react.default.useState('NONE'),
|
|
141
144
|
_React$useState14 = (0, _slicedToArray2.default)(_React$useState13, 2),
|
|
142
|
-
|
|
143
|
-
|
|
145
|
+
searchStatus = _React$useState14[0],
|
|
146
|
+
setSearchStatus = _React$useState14[1];
|
|
144
147
|
var isSearching = _react.default.useMemo(function () {
|
|
145
148
|
return typeof filterTreeNode === 'function' && !!filterValue;
|
|
146
149
|
}, [filterValue]);
|
|
147
150
|
(0, _react.useEffect)(function () {
|
|
148
|
-
|
|
151
|
+
if (isSearching) {
|
|
152
|
+
setSearchStatus('SEARCH_START');
|
|
153
|
+
} else {
|
|
154
|
+
setSearchStatus('NONE');
|
|
155
|
+
}
|
|
149
156
|
}, [filterValue]);
|
|
150
|
-
var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData,
|
|
157
|
+
var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus),
|
|
151
158
|
_useExpand2 = (0, _slicedToArray2.default)(_useExpand, 2),
|
|
152
159
|
expandedKeys = _useExpand2[0],
|
|
153
160
|
setExpandedKeys = _useExpand2[1];
|
|
@@ -232,12 +239,9 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
232
239
|
node: node,
|
|
233
240
|
expanded: expanded
|
|
234
241
|
});
|
|
235
|
-
if (isSearching) {
|
|
236
|
-
var newSearchExpandedKeys = expanded ? (0, _treeUtils.addKeys)(searchExpandedKeys, [key]) : (0, _treeUtils.delKey)(searchExpandedKeys, [key]);
|
|
237
|
-
setSearchExpandedKeys(newSearchExpandedKeys);
|
|
238
|
-
}
|
|
239
242
|
setScrollKey(undefined);
|
|
240
243
|
setIsInit(false);
|
|
244
|
+
setSearchStatus('SEARCH_DONE');
|
|
241
245
|
if (expanded && loadData) {
|
|
242
246
|
handleNodeLoad(loadedKeys, loadingKeys, node);
|
|
243
247
|
}
|
|
@@ -382,6 +386,16 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
382
386
|
(0, _react.useEffect)(function () {
|
|
383
387
|
setCheckedKeys(checkedKeys);
|
|
384
388
|
}, [checkedKeys, setCheckedKeys]);
|
|
389
|
+
var isSelectedNodeChildrenKey = function isSelectedNodeChildrenKey() {
|
|
390
|
+
var parentKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
391
|
+
var key = Array.isArray(selectedKeys) ? selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys[0] : selectedKeys;
|
|
392
|
+
return (0, _includes.default)(parentKeys).call(parentKeys, key);
|
|
393
|
+
};
|
|
394
|
+
var seletedKeyLevel = (0, _react.useMemo)(function () {
|
|
395
|
+
var _a;
|
|
396
|
+
var key = Array.isArray(selectedKeys) ? selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys[0] : selectedKeys;
|
|
397
|
+
return (_a = keysData === null || keysData === void 0 ? void 0 : keysData[key]) === null || _a === void 0 ? void 0 : _a.level;
|
|
398
|
+
}, [keysData, selectedKeys]);
|
|
385
399
|
var renderTreeNode = function renderTreeNode(item) {
|
|
386
400
|
var checked = (0, _treeUtils.getChecked)(checkedKeys, item.key);
|
|
387
401
|
var indeterminate = (0, _treeUtils.getHalfChecked)(halfCheckedKeys, item.key);
|
|
@@ -416,9 +430,11 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
416
430
|
item.onlyExpandOnClickIcon = onlyExpandOnClickIcon;
|
|
417
431
|
item.loading = loadingKeys.has(item.key) && !loadedKeys.has(item.key);
|
|
418
432
|
item.loadData = loadData;
|
|
433
|
+
item.isActiveLine = showLine && isSelectedNodeChildrenKey(item.pathParentKeys);
|
|
419
434
|
return /*#__PURE__*/_react.default.createElement(_treeNode.default, (0, _extends2.default)({}, item, {
|
|
420
435
|
key: item.key,
|
|
421
|
-
ref: treeNodeRef
|
|
436
|
+
ref: treeNodeRef,
|
|
437
|
+
activeLevel: seletedKeyLevel
|
|
422
438
|
}));
|
|
423
439
|
};
|
|
424
440
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
package/lib/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/lib/tree/treeHooks.js
CHANGED
|
@@ -75,22 +75,22 @@ var useChecked = function useChecked(checkStrictly, checkedKeysProps, defaultChe
|
|
|
75
75
|
return [checkedKeys, halfCheckedKeys, setCheckedKeys, setHalfCheckedKeys];
|
|
76
76
|
};
|
|
77
77
|
exports.useChecked = useChecked;
|
|
78
|
-
var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData,
|
|
78
|
+
var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus) {
|
|
79
79
|
var expandScrollkeys = [];
|
|
80
80
|
if (scrollKey) {
|
|
81
81
|
var pos = (0, _treeUtils.getPos)(flattenAllData, scrollKey);
|
|
82
82
|
expandScrollkeys = (0, _treeUtils.getAllParentKeys)(flattenAllData, pos);
|
|
83
83
|
}
|
|
84
84
|
var initialExpandedKeys = _react.default.useMemo(function () {
|
|
85
|
-
return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData,
|
|
86
|
-
}, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData,
|
|
85
|
+
return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, isInit, searchStatus);
|
|
86
|
+
}, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, isInit, searchStatus]);
|
|
87
87
|
var _React$useState7 = _react.default.useState(initialExpandedKeys),
|
|
88
88
|
_React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
|
|
89
89
|
expandedKeys = _React$useState8[0],
|
|
90
90
|
setExpandedKeys = _React$useState8[1];
|
|
91
91
|
_react.default.useEffect(function () {
|
|
92
92
|
setExpandedKeys(initialExpandedKeys);
|
|
93
|
-
}, [flattenAllData, expandedKeysProps,
|
|
93
|
+
}, [flattenAllData, expandedKeysProps, defaultExpandAll, defaultExpandedKeys, defaultExpandRoot, defaultExpandParent, scrollKey, searchStatus]);
|
|
94
94
|
return [expandedKeys, setExpandedKeys];
|
|
95
95
|
};
|
|
96
96
|
exports.useExpand = useExpand;
|
|
@@ -133,8 +133,13 @@ var useSelect = function useSelect(selectedKeysProps, defaultSelectedKeys) {
|
|
|
133
133
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
134
134
|
selectedKeys = _useState2[0],
|
|
135
135
|
setSelectedKeys = _useState2[1];
|
|
136
|
+
var mounting = (0, _react.useRef)(true);
|
|
136
137
|
(0, _react.useEffect)(function () {
|
|
137
|
-
|
|
138
|
+
if (mounting.current) {
|
|
139
|
+
mounting.current = false;
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
setSelectedKeys(selectedKeysProps);
|
|
138
143
|
}, [selectedKeysProps]);
|
|
139
144
|
return [selectedKeys, setSelectedKeys];
|
|
140
145
|
};
|
package/lib/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/lib/tree/treeNode.js
CHANGED
|
@@ -53,7 +53,8 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props) {
|
|
|
53
53
|
hasChildNode = TreeNodeProps.hasChildNode,
|
|
54
54
|
expand = TreeNodeProps.expand,
|
|
55
55
|
title = TreeNodeProps.title,
|
|
56
|
-
|
|
56
|
+
isActiveLine = TreeNodeProps.isActiveLine,
|
|
57
|
+
activeLevel = TreeNodeProps.activeLevel,
|
|
57
58
|
showIcon = TreeNodeProps.showIcon,
|
|
58
59
|
selected = TreeNodeProps.selected,
|
|
59
60
|
setDragNode = TreeNodeProps.setDragNode,
|
|
@@ -74,7 +75,7 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props) {
|
|
|
74
75
|
onDragEnd = TreeNodeProps.onDragEnd,
|
|
75
76
|
onDrop = TreeNodeProps.onDrop,
|
|
76
77
|
onSelect = TreeNodeProps.onSelect,
|
|
77
|
-
others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "
|
|
78
|
+
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"]);
|
|
78
79
|
var nodeData = _react.default.useMemo(function () {
|
|
79
80
|
return (0, _extends2.default)({
|
|
80
81
|
selectable: selectable,
|
|
@@ -145,12 +146,11 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props) {
|
|
|
145
146
|
return icon;
|
|
146
147
|
};
|
|
147
148
|
var indent = function indent() {
|
|
148
|
-
var _classNames;
|
|
149
149
|
var indentArr = [];
|
|
150
|
-
var className = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(treeNodePrefixCls, "-indent"), true), (0, _defineProperty2.default)(_classNames, "".concat(treeNodePrefixCls, "-indent-line"), !!showLine), _classNames));
|
|
151
150
|
for (var i = 0; i < level; i++) {
|
|
151
|
+
var _classNames;
|
|
152
152
|
indentArr.push( /*#__PURE__*/_react.default.createElement("span", {
|
|
153
|
-
className:
|
|
153
|
+
className: (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(treeNodePrefixCls, "-indent"), true), (0, _defineProperty2.default)(_classNames, "".concat(treeNodePrefixCls, "-indent-active"), !!isActiveLine && i === activeLevel), _classNames)),
|
|
154
154
|
key: i,
|
|
155
155
|
style: {
|
|
156
156
|
height: "".concat(estimatedItemSize)
|
|
@@ -256,6 +256,7 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props) {
|
|
|
256
256
|
}, [expandOnClickNode, handleExpandIconClick, handleSelect, onlyExpandOnClickIcon]);
|
|
257
257
|
var handleDragStart = _react.default.useCallback(function (e) {
|
|
258
258
|
if (!draggable) return;
|
|
259
|
+
e.target.classList.add("".concat(treeNodePrefixCls, "-dragging"));
|
|
259
260
|
setDragNode(nodeData);
|
|
260
261
|
onDragStart && onDragStart(e, props);
|
|
261
262
|
}, [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;
|
|
@@ -617,8 +617,8 @@ var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys, defau
|
|
|
617
617
|
var filterTreeNode = arguments.length > 7 ? arguments[7] : undefined;
|
|
618
618
|
var isSearching = arguments.length > 8 ? arguments[8] : undefined;
|
|
619
619
|
var keysData = arguments.length > 9 ? arguments[9] : undefined;
|
|
620
|
-
var
|
|
621
|
-
var
|
|
620
|
+
var isInit = arguments.length > 10 ? arguments[10] : undefined;
|
|
621
|
+
var searchStatus = arguments.length > 11 ? arguments[11] : undefined;
|
|
622
622
|
var keys = (expandedKeys === null || expandedKeys === void 0 ? void 0 : (0, _concat.default)(expandedKeys).call(expandedKeys, expandScrollkeys)) || (defaultExpandedKeys === null || defaultExpandedKeys === void 0 ? void 0 : (0, _concat.default)(defaultExpandedKeys).call(defaultExpandedKeys, expandScrollkeys)) || [];
|
|
623
623
|
if (isInit) {
|
|
624
624
|
if (defaultExpandAll) {
|
|
@@ -639,11 +639,10 @@ var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys, defau
|
|
|
639
639
|
}
|
|
640
640
|
}
|
|
641
641
|
}
|
|
642
|
-
if (isSearching) {
|
|
643
|
-
|
|
644
|
-
keys = (0, _concat.default)(_context6 = []).call(_context6, (0, _toConsumableArray2.default)(searchExpandedKeys), (0, _toConsumableArray2.default)(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys));
|
|
642
|
+
if (isSearching && searchStatus === 'SEARCH_START') {
|
|
643
|
+
keys = (0, _toConsumableArray2.default)(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys);
|
|
645
644
|
}
|
|
646
|
-
return
|
|
645
|
+
return keys;
|
|
647
646
|
};
|
|
648
647
|
exports.getInitExpandedKeys = getInitExpandedKeys;
|
|
649
648
|
var getExpandedKeys = function getExpandedKeys(expandedKeys) {
|