@kdcloudjs/kdesign 1.7.44 → 1.7.46
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 +0 -1704
- package/dist/kdesign-complete.less +2 -1
- package/dist/kdesign.css +3 -2
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +418 -269
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +10 -10
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/usePopper.js +1 -1
- package/es/city-picker/city-picker.js +13 -10
- package/es/config-provider/compDefaultProps.d.ts +1 -0
- package/es/config-provider/compDefaultProps.js +2 -1
- package/es/form/style/index.css +1 -0
- package/es/form/style/index.less +1 -0
- package/es/image-cropper/image-cropper.js +1 -1
- package/es/select/select.js +83 -17
- package/es/select/style/index.css +1 -1
- package/es/select/style/index.less +1 -1
- package/es/table/table.js +2 -2
- package/es/tree/tree.d.ts +1 -0
- package/es/tree/tree.js +5 -4
- package/es/tree/treeHooks.d.ts +1 -1
- package/es/tree/treeHooks.js +3 -3
- package/es/tree/utils/treeUtils.d.ts +3 -3
- package/es/tree/utils/treeUtils.js +12 -4
- package/lib/_utils/usePopper.js +1 -1
- package/lib/city-picker/city-picker.js +13 -10
- package/lib/config-provider/compDefaultProps.d.ts +1 -0
- package/lib/config-provider/compDefaultProps.js +2 -1
- package/lib/form/style/index.css +1 -0
- package/lib/form/style/index.less +1 -0
- package/lib/image-cropper/image-cropper.js +1 -1
- package/lib/select/select.js +83 -17
- package/lib/select/style/index.css +1 -1
- package/lib/select/style/index.less +1 -1
- package/lib/table/table.js +2 -2
- package/lib/tree/tree.d.ts +1 -0
- package/lib/tree/tree.js +5 -4
- package/lib/tree/treeHooks.d.ts +1 -1
- package/lib/tree/treeHooks.js +3 -3
- package/lib/tree/utils/treeUtils.d.ts +3 -3
- package/lib/tree/utils/treeUtils.js +12 -4
- package/package.json +2 -2
package/lib/select/select.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
+
var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
|
|
5
|
+
var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
|
|
6
|
+
var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
|
|
7
|
+
var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
|
|
4
8
|
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
5
9
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
6
10
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
@@ -13,6 +17,7 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
|
|
|
13
17
|
var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
|
|
14
18
|
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
15
19
|
var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
|
|
20
|
+
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
16
21
|
var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
|
|
17
22
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
18
23
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
@@ -32,9 +37,12 @@ var _virtualList = _interopRequireDefault(require("../virtual-list"));
|
|
|
32
37
|
var _KeyCode = _interopRequireDefault(require("../_utils/KeyCode"));
|
|
33
38
|
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); }
|
|
34
39
|
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; }
|
|
40
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
41
|
+
function _unsupportedIterableToArray(o, minLen) { var _context6; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context6 = Object.prototype.toString.call(o)).call(_context6, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
42
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
35
43
|
var INPUT_MIN_WIDTH = 4; // 输入框最小宽度
|
|
36
44
|
var InternalSelect = function InternalSelect(props, ref) {
|
|
37
|
-
var _context, _classNames6, _classNames12, _context5;
|
|
45
|
+
var _context, _classNames5, _classNames6, _classNames12, _context5;
|
|
38
46
|
var _useContext = (0, _react.useContext)(_ConfigContext.default),
|
|
39
47
|
getPrefixCls = _useContext.getPrefixCls,
|
|
40
48
|
prefixCls = _useContext.prefixCls,
|
|
@@ -133,14 +141,12 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
133
141
|
// 选择器样式
|
|
134
142
|
var selectCls = (0, _classnames.default)(selectPrefixCls, className, (0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-visible"), optionShow));
|
|
135
143
|
var selectionCls = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-selector"), true));
|
|
136
|
-
// 下拉列表框样式
|
|
137
|
-
var dropDownCls = (0, _classnames.default)(dropdownClassName, (0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-dropdown"), true));
|
|
138
144
|
// 下拉子项列表样式
|
|
139
145
|
var dropContentCls = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-dropdown-scroll"), (isMultiple ? (realChildren === null || realChildren === void 0 ? void 0 : realChildren.length) > 8 : (realChildren === null || realChildren === void 0 ? void 0 : realChildren.length) > 10) || selectProps.dropdownRender));
|
|
140
146
|
// 多选底部样式
|
|
141
147
|
var multipleFooterCls = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-multiple-footer"), true));
|
|
142
148
|
// 多选,单选公共样式
|
|
143
|
-
var commCls = (0, _classnames.default)((
|
|
149
|
+
var commCls = (0, _classnames.default)((_classNames5 = {}, (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), (0, _defineProperty2.default)(_classNames5, (0, _concat.default)(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-wrapper"), true), (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-show-search"), isShowSearch && focusd), (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-error"), status === 'error'), _classNames5));
|
|
144
150
|
(0, _react.useEffect)(function () {
|
|
145
151
|
if (typeof props.visible !== 'undefined') {
|
|
146
152
|
setOptionShow(props.visible);
|
|
@@ -279,6 +285,8 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
279
285
|
});
|
|
280
286
|
return childrenList;
|
|
281
287
|
}, [searchValue, realChildren, filterOption, optionFilterProp]);
|
|
288
|
+
// 下拉列表框样式
|
|
289
|
+
var dropDownCls = (0, _classnames.default)(dropdownClassName, (_classNames6 = {}, (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-dropdown"), true), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-dropdown-no-data"), filledOptions.length === 0), _classNames6));
|
|
282
290
|
var getOptionLabel = (0, _react.useCallback)(function (obj) {
|
|
283
291
|
var _a;
|
|
284
292
|
var text = Object.prototype.hasOwnProperty.call(selectProps, 'options') && !Object.prototype.hasOwnProperty.call(props, 'optionLabelProp') ? 'label' : optionLabelProp;
|
|
@@ -388,14 +396,39 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
388
396
|
setSearchValue('');
|
|
389
397
|
onSelect && onSelect(key); // 下拉项被选中时调用,参数为选中项value或key
|
|
390
398
|
};
|
|
399
|
+
|
|
400
|
+
var removeIntersection = function removeIntersection(selectedItems, filteredItems) {
|
|
401
|
+
var filteredValues = new _set.default((0, _map.default)(filteredItems).call(filteredItems, function (item) {
|
|
402
|
+
var _a;
|
|
403
|
+
return item.value || ((_a = item.props) === null || _a === void 0 ? void 0 : _a.value);
|
|
404
|
+
}));
|
|
405
|
+
var filteredSelectedItems = [];
|
|
406
|
+
var filteredSelectedValues = [];
|
|
407
|
+
var _iterator = _createForOfIteratorHelper(selectedItems),
|
|
408
|
+
_step;
|
|
409
|
+
try {
|
|
410
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
411
|
+
var item = _step.value;
|
|
412
|
+
if (!filteredValues.has(item.value)) {
|
|
413
|
+
filteredSelectedItems.push(item);
|
|
414
|
+
filteredSelectedValues.push(item.value);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
} catch (err) {
|
|
418
|
+
_iterator.e(err);
|
|
419
|
+
} finally {
|
|
420
|
+
_iterator.f();
|
|
421
|
+
}
|
|
422
|
+
return [filteredSelectedValues, filteredSelectedItems];
|
|
423
|
+
};
|
|
391
424
|
// 多选模式下选中所有 与清除所有 (可以优化)
|
|
392
|
-
var handleSelectAll = function handleSelectAll() {
|
|
425
|
+
var handleSelectAll = function handleSelectAll(checked) {
|
|
393
426
|
var _multipleRef$current3 = multipleRef.current,
|
|
394
427
|
selectedVal = _multipleRef$current3.selectedVal,
|
|
395
428
|
selectMulOpts = _multipleRef$current3.selectMulOpts;
|
|
396
429
|
var newSelectedVal = (0, _toConsumableArray2.default)(selectedVal);
|
|
397
430
|
var newSelectMulOpts = (0, _toConsumableArray2.default)(selectMulOpts);
|
|
398
|
-
if (
|
|
431
|
+
if (!checked) {
|
|
399
432
|
(0, _map.default)(filledOptions).call(filledOptions, function (child) {
|
|
400
433
|
var _ref = child.props || child,
|
|
401
434
|
value = _ref.value;
|
|
@@ -414,12 +447,15 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
414
447
|
setSearchValue('');
|
|
415
448
|
}
|
|
416
449
|
} else {
|
|
417
|
-
|
|
418
|
-
|
|
450
|
+
;
|
|
451
|
+
var _removeIntersection = removeIntersection(newSelectMulOpts, filledOptions);
|
|
452
|
+
var _removeIntersection2 = (0, _slicedToArray2.default)(_removeIntersection, 2);
|
|
453
|
+
newSelectedVal = _removeIntersection2[0];
|
|
454
|
+
newSelectMulOpts = _removeIntersection2[1];
|
|
419
455
|
if (typeof value === 'undefined') {
|
|
420
|
-
multipleRef.current.selectedVal =
|
|
421
|
-
multipleRef.current.selectMulOpts =
|
|
422
|
-
setMulOptions(
|
|
456
|
+
multipleRef.current.selectedVal = newSelectedVal;
|
|
457
|
+
multipleRef.current.selectMulOpts = newSelectMulOpts;
|
|
458
|
+
setMulOptions((0, _toConsumableArray2.default)(newSelectMulOpts));
|
|
423
459
|
}
|
|
424
460
|
}
|
|
425
461
|
onChange && onChange(labelInValue ? newSelectMulOpts : newSelectedVal, newSelectMulOpts);
|
|
@@ -540,6 +576,33 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
540
576
|
}
|
|
541
577
|
}, [isShowSearch, autoFocus, disabled]);
|
|
542
578
|
var optionsListRef = _react.default.useRef(null);
|
|
579
|
+
var getCheckedState = function getCheckedState(selectedItems, filteredItems) {
|
|
580
|
+
var _a;
|
|
581
|
+
var valuesSet = new _set.default((0, _map.default)(selectedItems).call(selectedItems, function (item) {
|
|
582
|
+
return item.value;
|
|
583
|
+
}));
|
|
584
|
+
var number = 0;
|
|
585
|
+
var _iterator2 = _createForOfIteratorHelper(filteredItems),
|
|
586
|
+
_step2;
|
|
587
|
+
try {
|
|
588
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
589
|
+
var item = _step2.value;
|
|
590
|
+
if (valuesSet.has(item.value || ((_a = item.props) === null || _a === void 0 ? void 0 : _a.value))) {
|
|
591
|
+
number += 1;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
} catch (err) {
|
|
595
|
+
_iterator2.e(err);
|
|
596
|
+
} finally {
|
|
597
|
+
_iterator2.f();
|
|
598
|
+
}
|
|
599
|
+
var checked = number > 0 && number === filteredItems.length;
|
|
600
|
+
var indeterminate = number > 0 && number < filteredItems.length;
|
|
601
|
+
return {
|
|
602
|
+
checked: checked,
|
|
603
|
+
indeterminate: indeterminate
|
|
604
|
+
};
|
|
605
|
+
};
|
|
543
606
|
// 渲染下拉列表框
|
|
544
607
|
var renderContent = function renderContent() {
|
|
545
608
|
var dropdownRender = selectProps.dropdownRender,
|
|
@@ -579,25 +642,28 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
579
642
|
height: '30px',
|
|
580
643
|
background: 'none'
|
|
581
644
|
};
|
|
582
|
-
var
|
|
583
|
-
|
|
645
|
+
var _getCheckedState = getCheckedState(mulOptions, filledOptions),
|
|
646
|
+
checked = _getCheckedState.checked,
|
|
647
|
+
indeterminate = _getCheckedState.indeterminate;
|
|
584
648
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
585
649
|
className: dropDownCls,
|
|
586
650
|
style: dropdownStyle,
|
|
587
651
|
ref: dropDownRef
|
|
588
|
-
}, !dropdownRender && childrenToRender.length > 0 ? dropRender(eleOptionList, heightStyle) : null, renderNotContent(), /*#__PURE__*/_react.default.createElement("div", null, dropdownRender ? dropdownRender(dropRender(eleOptionList, heightStyle)) : null), isMultiple &&
|
|
652
|
+
}, !dropdownRender && childrenToRender.length > 0 ? dropRender(eleOptionList, heightStyle) : null, renderNotContent(), /*#__PURE__*/_react.default.createElement("div", null, dropdownRender ? dropdownRender(dropRender(eleOptionList, heightStyle)) : null), isMultiple && filledOptions.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
|
|
589
653
|
className: multipleFooterCls
|
|
590
654
|
}, /*#__PURE__*/_react.default.createElement(_index.Checkbox, {
|
|
591
655
|
style: checkboxStyle,
|
|
592
656
|
checked: checked,
|
|
593
657
|
indeterminate: indeterminate,
|
|
594
|
-
onChange:
|
|
658
|
+
onChange: function onChange() {
|
|
659
|
+
return handleSelectAll(checked);
|
|
660
|
+
}
|
|
595
661
|
}, selectLangMsg === null || selectLangMsg === void 0 ? void 0 : selectLangMsg.selectAll), /*#__PURE__*/_react.default.createElement("span", {
|
|
596
662
|
className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected")
|
|
597
663
|
}, locale.getLangMsg('Select', 'seleted', {
|
|
598
664
|
size: /*#__PURE__*/_react.default.createElement("span", {
|
|
599
665
|
className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected-number")
|
|
600
|
-
}, selectedVal.length)
|
|
666
|
+
}, selectedVal === null || selectedVal === void 0 ? void 0 : selectedVal.length)
|
|
601
667
|
}))) : null));
|
|
602
668
|
};
|
|
603
669
|
// 处理多选tag
|
|
@@ -794,7 +860,7 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
794
860
|
selectedVal = _multipleRef$current5.selectedVal,
|
|
795
861
|
selectMulOpts = _multipleRef$current5.selectMulOpts;
|
|
796
862
|
// isMultiple
|
|
797
|
-
if (which === _KeyCode.default.BACKSPACE && !searchValue && isMultiple && selectedVal.length && selectMulOpts.length) {
|
|
863
|
+
if (which === _KeyCode.default.BACKSPACE && !searchValue && isMultiple && (selectedVal === null || selectedVal === void 0 ? void 0 : selectedVal.length) && selectMulOpts.length) {
|
|
798
864
|
(0, _splice.default)(selectedVal).call(selectedVal, -1, 1);
|
|
799
865
|
(0, _splice.default)(selectMulOpts).call(selectMulOpts, -1, 1);
|
|
800
866
|
setMulOptions((0, _toConsumableArray2.default)(selectMulOpts));
|
|
@@ -399,7 +399,7 @@
|
|
|
399
399
|
.kd-select-dropdown-search-hidden {
|
|
400
400
|
display: none;
|
|
401
401
|
}
|
|
402
|
-
.kd-select-multiple-dropdown-panel .kd-select-dropdown {
|
|
402
|
+
.kd-select-multiple-dropdown-panel .kd-select-dropdown:not(.kd-select-dropdown-no-data) {
|
|
403
403
|
padding-bottom: 0;
|
|
404
404
|
}
|
|
405
405
|
.kd-select-item {
|
package/lib/table/table.js
CHANGED
|
@@ -125,13 +125,13 @@ var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
125
125
|
if (typeof getRowProps === 'function') {
|
|
126
126
|
pipeline.appendRowPropsGetter(getRowProps);
|
|
127
127
|
} else {
|
|
128
|
-
(0, _devwarning.default)(
|
|
128
|
+
(0, _devwarning.default)(getRowProps !== undefined, 'table', "parameter 'getRowProps' should be a function but here it is ".concat(getRowProps));
|
|
129
129
|
}
|
|
130
130
|
if (typeof getTableProps === 'function') {
|
|
131
131
|
var tableProps = getTableProps();
|
|
132
132
|
pipeline.addTableProps(tableProps);
|
|
133
133
|
} else {
|
|
134
|
-
(0, _devwarning.default)(
|
|
134
|
+
(0, _devwarning.default)(getTableProps !== undefined, 'table', "parameter 'getTableProps' should be a function but here it is ".concat(getTableProps));
|
|
135
135
|
}
|
|
136
136
|
return /*#__PURE__*/_react.default.createElement(_table.Table, (0, _extends2.default)({}, pipeline.getProps(), {
|
|
137
137
|
className: tableCls,
|
package/lib/tree/tree.d.ts
CHANGED
package/lib/tree/tree.js
CHANGED
|
@@ -94,7 +94,8 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
94
94
|
loadData = TreeProps.loadData,
|
|
95
95
|
notFoundContent = TreeProps.notFoundContent,
|
|
96
96
|
showLine = TreeProps.showLine,
|
|
97
|
-
|
|
97
|
+
expandOnFilterNode = TreeProps.expandOnFilterNode,
|
|
98
|
+
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", "expandOnFilterNode"]);
|
|
98
99
|
var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
|
|
99
100
|
var treeNodeClassName = (0, _classnames.default)(className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls), true), (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls, "-show-line"), showLine), _classNames));
|
|
100
101
|
var treeRootClassName = "".concat(treePrefixCls, "-root");
|
|
@@ -154,7 +155,7 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
154
155
|
setSearchStatus('NONE');
|
|
155
156
|
}
|
|
156
157
|
}, [filterValue]);
|
|
157
|
-
var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue),
|
|
158
|
+
var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue, expandOnFilterNode),
|
|
158
159
|
_useExpand2 = (0, _slicedToArray2.default)(_useExpand, 2),
|
|
159
160
|
expandedKeys = _useExpand2[0],
|
|
160
161
|
setExpandedKeys = _useExpand2[1];
|
|
@@ -170,8 +171,8 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
170
171
|
setCheckedKeys = _useChecked2[2],
|
|
171
172
|
setHalfCheckedKeys = _useChecked2[3];
|
|
172
173
|
var filterData = _react.default.useMemo(function () {
|
|
173
|
-
return (0, _treeUtils.getFilterData)(spreadAttrData, filterTreeNode, isSearching, posData, keysData);
|
|
174
|
-
}, [spreadAttrData, isSearching, posData, keysData, filterValue]);
|
|
174
|
+
return (0, _treeUtils.getFilterData)(spreadAttrData, filterTreeNode, isSearching, posData, keysData, expandOnFilterNode);
|
|
175
|
+
}, [spreadAttrData, isSearching, posData, keysData, filterValue, expandOnFilterNode]);
|
|
175
176
|
(0, _react.useEffect)(function () {
|
|
176
177
|
var _a, _b;
|
|
177
178
|
if (typeof scrollKey === 'undefined') {
|
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, 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, searchStatus: SearchStatus, filterValue: string) => readonly [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, searchStatus: SearchStatus, filterValue: string, expandOnFilterNode: 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
|
@@ -75,15 +75,15 @@ 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, searchStatus, filterValue) {
|
|
78
|
+
var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus, filterValue, expandOnFilterNode) {
|
|
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, isInit, searchStatus);
|
|
86
|
-
}, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, isInit, searchStatus, filterValue]);
|
|
85
|
+
return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, isInit, searchStatus, expandOnFilterNode);
|
|
86
|
+
}, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, isInit, searchStatus, filterValue, expandOnFilterNode]);
|
|
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],
|
|
@@ -17,8 +17,8 @@ export declare const getChecked: (checkedKeys: string[], key: string) => boolean
|
|
|
17
17
|
export declare const getSelected: (selectedKeys: string[], key: string) => boolean;
|
|
18
18
|
export declare const getHalfChecked: (halfCheckedKeys: string[], key: string) => boolean;
|
|
19
19
|
export declare function findfilterChildrenKeys(node: any, allFilterKeys: Set<any>): Set<string>;
|
|
20
|
-
export declare const getAllFilterKeys: (data: any[], filterTreeNode: FunctionConstructor, keysData: KeysDataType) => any;
|
|
21
|
-
export declare const getFilterData: (data: any[], filterTreeNode: FunctionConstructor, isSearching: boolean, posData
|
|
20
|
+
export declare const getAllFilterKeys: (data: any[], filterTreeNode: FunctionConstructor, keysData: KeysDataType, expandOnFilterNode: boolean) => any;
|
|
21
|
+
export declare const getFilterData: (data: any[], filterTreeNode: FunctionConstructor, isSearching: boolean, posData: {} | undefined, keysData: {} | undefined, expandOnFilterNode: boolean) => any[];
|
|
22
22
|
export declare const getMaxLevel: (data: any[]) => number;
|
|
23
23
|
/**
|
|
24
24
|
*计算node的属性后返回新的 treedata
|
|
@@ -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, isInit: boolean, searchStatus: SearchStatus) => 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, isInit: boolean, searchStatus: SearchStatus, expandOnFilterNode: boolean) => 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;
|
|
@@ -136,7 +136,7 @@ function findfilterChildrenKeys(node, allFilterKeys) {
|
|
|
136
136
|
}
|
|
137
137
|
return nodes;
|
|
138
138
|
}
|
|
139
|
-
var getAllFilterKeys = function getAllFilterKeys(data, filterTreeNode, keysData) {
|
|
139
|
+
var getAllFilterKeys = function getAllFilterKeys(data, filterTreeNode, keysData, expandOnFilterNode) {
|
|
140
140
|
var allFilterKeys = new _set.default();
|
|
141
141
|
var filterExpandKeys = new _set.default();
|
|
142
142
|
var filterKeys = (0, _filter.default)(data).call(data, function (item) {
|
|
@@ -146,10 +146,15 @@ var getAllFilterKeys = function getAllFilterKeys(data, filterTreeNode, keysData)
|
|
|
146
146
|
findfilterChildrenKeys(item, allFilterKeys);
|
|
147
147
|
});
|
|
148
148
|
filterKeys.forEach(function (item) {
|
|
149
|
+
var firstIteration = true;
|
|
149
150
|
var node = (0, _extends2.default)({}, item);
|
|
150
151
|
while (node) {
|
|
151
152
|
allFilterKeys.add(node.key);
|
|
152
|
-
filterExpandKeys
|
|
153
|
+
// expandOnFilterNode为true时,不将filterKeys中的节点添加到filterExpandKeys中
|
|
154
|
+
if (!expandOnFilterNode || !firstIteration) {
|
|
155
|
+
filterExpandKeys.add(node.key);
|
|
156
|
+
}
|
|
157
|
+
firstIteration = false;
|
|
153
158
|
node = (keysData === null || keysData === void 0 ? void 0 : keysData[node === null || node === void 0 ? void 0 : node.parentKey]) || null;
|
|
154
159
|
}
|
|
155
160
|
});
|
|
@@ -162,10 +167,11 @@ exports.getAllFilterKeys = getAllFilterKeys;
|
|
|
162
167
|
var getFilterData = function getFilterData(data, filterTreeNode, isSearching) {
|
|
163
168
|
var posData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
164
169
|
var keysData = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
170
|
+
var expandOnFilterNode = arguments.length > 5 ? arguments[5] : undefined;
|
|
165
171
|
var filterData = data;
|
|
166
172
|
var allFilterKeys = null;
|
|
167
173
|
if (isSearching) {
|
|
168
|
-
allFilterKeys = getAllFilterKeys(filterData, filterTreeNode, keysData).allFilterKeys;
|
|
174
|
+
allFilterKeys = getAllFilterKeys(filterData, filterTreeNode, keysData, expandOnFilterNode).allFilterKeys;
|
|
169
175
|
filterData = (0, _filter.default)(filterData).call(filterData, function (item) {
|
|
170
176
|
return (0, _includes.default)(allFilterKeys).call(allFilterKeys, item.key);
|
|
171
177
|
});
|
|
@@ -494,6 +500,7 @@ function getAllCheckedKeys(key, checked, checkedKeys, keysNodeProps, halfChecked
|
|
|
494
500
|
halfCheckedKeysSet.delete(key);
|
|
495
501
|
childKeys.forEach(function (v) {
|
|
496
502
|
allKeys.add(v);
|
|
503
|
+
halfCheckedKeysSet.delete(v);
|
|
497
504
|
});
|
|
498
505
|
} else {
|
|
499
506
|
halfCheckedKeysSet.delete(key);
|
|
@@ -619,6 +626,7 @@ var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys, defau
|
|
|
619
626
|
var keysData = arguments.length > 9 ? arguments[9] : undefined;
|
|
620
627
|
var isInit = arguments.length > 10 ? arguments[10] : undefined;
|
|
621
628
|
var searchStatus = arguments.length > 11 ? arguments[11] : undefined;
|
|
629
|
+
var expandOnFilterNode = arguments.length > 12 ? arguments[12] : undefined;
|
|
622
630
|
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
631
|
if (isInit) {
|
|
624
632
|
if (defaultExpandAll) {
|
|
@@ -640,7 +648,7 @@ var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys, defau
|
|
|
640
648
|
}
|
|
641
649
|
}
|
|
642
650
|
if (isSearching && searchStatus === 'SEARCH_START') {
|
|
643
|
-
keys = (0, _toConsumableArray2.default)(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys);
|
|
651
|
+
keys = (0, _toConsumableArray2.default)(getAllFilterKeys(data, filterTreeNode, keysData, expandOnFilterNode).filterExpandKeys);
|
|
644
652
|
}
|
|
645
653
|
return keys;
|
|
646
654
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kdcloudjs/kdesign",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.46",
|
|
4
4
|
"description": "KDesign 金蝶前端react 组件库",
|
|
5
5
|
"title": "kdesign",
|
|
6
6
|
"keywords": [
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"@babel/runtime-corejs3": "^7.11.2",
|
|
79
79
|
"@babel/standalone": "^7.14.3",
|
|
80
80
|
"@kdcloudjs/kdesign-icons": "^1.0.0",
|
|
81
|
-
"@kdcloudjs/table": "1.2.0-canary.
|
|
81
|
+
"@kdcloudjs/table": "1.2.0-canary.12",
|
|
82
82
|
"@popperjs/core": "^2.5.4",
|
|
83
83
|
"@types/js-cookie": "^3.0.3",
|
|
84
84
|
"async-validator": "^3.5.1",
|