@hi-ui/check-cascader 4.3.0 → 4.3.1-alpha.1
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/lib/cjs/CheckCascader.js +1 -0
- package/lib/cjs/CheckCascaderMenuList.js +3 -2
- package/lib/cjs/utils/index.js +5 -2
- package/lib/esm/CheckCascader.js +1 -0
- package/lib/esm/CheckCascaderMenuList.js +3 -2
- package/lib/esm/utils/index.js +6 -3
- package/lib/types/CheckCascaderMenuList.d.ts +5 -0
- package/package.json +1 -1
package/lib/cjs/CheckCascader.js
CHANGED
@@ -251,6 +251,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
251
251
|
flatted: flatted || !!searchValue,
|
252
252
|
// @ts-ignore
|
253
253
|
flattedData: selectProps.data,
|
254
|
+
originalFlattedData: flattedData,
|
254
255
|
data: cascaderData,
|
255
256
|
onChangeData: setCascaderData,
|
256
257
|
checkedMode: checkedMode,
|
@@ -41,6 +41,7 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
41
41
|
role = _a$role === void 0 ? _role : _a$role,
|
42
42
|
className = _a.className,
|
43
43
|
flattedData = _a.flattedData,
|
44
|
+
originalFlattedData = _a.originalFlattedData,
|
44
45
|
onChangeData = _a.onChangeData,
|
45
46
|
valueProp = _a.value,
|
46
47
|
_a$defaultValue = _a.defaultValue,
|
@@ -60,7 +61,7 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
60
61
|
flatted = _a.flatted,
|
61
62
|
_a$checkedMode = _a.checkedMode,
|
62
63
|
checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
|
63
|
-
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode"]);
|
64
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "originalFlattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode"]);
|
64
65
|
if (checkCascaded === false) {
|
65
66
|
checkedMode = 'SEPARATE';
|
66
67
|
}
|
@@ -71,7 +72,7 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
71
72
|
var _useAsyncSwitch = useAsyncSwitch.useAsyncSwitch(onChangeData, onOptionSelect, onLoadChildren),
|
72
73
|
isLoadingId = _useAsyncSwitch[0],
|
73
74
|
onItemExpand = _useAsyncSwitch[1];
|
74
|
-
var _useCheck = useCheck.useCheck(checkedMode, disabled,
|
75
|
+
var _useCheck = useCheck.useCheck(checkedMode, disabled, originalFlattedData, defaultValue, valueProp, function (_ref, target, shouldChecked) {
|
75
76
|
var checkedIds = _ref.checkedIds;
|
76
77
|
// @ts-ignore
|
77
78
|
onChange === null || onChange === void 0 ? void 0 : onChange(checkedIds, target, shouldChecked);
|
package/lib/cjs/utils/index.js
CHANGED
@@ -101,10 +101,13 @@ function getCascaderItemEventData(node, requiredProps) {
|
|
101
101
|
*/
|
102
102
|
var processCheckedIds = function processCheckedIds(type, checkedIds, flattenData, allowCheck) {
|
103
103
|
var keySet = new Set(checkedIds);
|
104
|
+
var flattenDataMap = new Map(flattenData.map(function (node) {
|
105
|
+
return [node.id, node];
|
106
|
+
}));
|
104
107
|
switch (type) {
|
105
108
|
case 'CHILD':
|
106
109
|
return checkedIds.filter(function (id) {
|
107
|
-
var node =
|
110
|
+
var node = flattenDataMap.get(id);
|
108
111
|
if (node) {
|
109
112
|
var children = node.children;
|
110
113
|
if (typeAssertion.isArrayNonEmpty(children)) {
|
@@ -120,7 +123,7 @@ var processCheckedIds = function processCheckedIds(type, checkedIds, flattenData
|
|
120
123
|
});
|
121
124
|
case 'PARENT':
|
122
125
|
return checkedIds.filter(function (id) {
|
123
|
-
var node =
|
126
|
+
var node = flattenDataMap.get(id);
|
124
127
|
if (node) {
|
125
128
|
// 向上递归遍历是否被勾选
|
126
129
|
var ancestors = treeUtils.getNodeAncestors(node);
|
package/lib/esm/CheckCascader.js
CHANGED
@@ -239,6 +239,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
239
239
|
flatted: flatted || !!searchValue,
|
240
240
|
// @ts-ignore
|
241
241
|
flattedData: selectProps.data,
|
242
|
+
originalFlattedData: flattedData,
|
242
243
|
data: cascaderData,
|
243
244
|
onChangeData: setCascaderData,
|
244
245
|
checkedMode: checkedMode,
|
@@ -29,6 +29,7 @@ var CheckCascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
29
29
|
role = _a$role === void 0 ? _role : _a$role,
|
30
30
|
className = _a.className,
|
31
31
|
flattedData = _a.flattedData,
|
32
|
+
originalFlattedData = _a.originalFlattedData,
|
32
33
|
onChangeData = _a.onChangeData,
|
33
34
|
valueProp = _a.value,
|
34
35
|
_a$defaultValue = _a.defaultValue,
|
@@ -48,7 +49,7 @@ var CheckCascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
48
49
|
flatted = _a.flatted,
|
49
50
|
_a$checkedMode = _a.checkedMode,
|
50
51
|
checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
|
51
|
-
rest = __rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode"]);
|
52
|
+
rest = __rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "originalFlattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode"]);
|
52
53
|
if (checkCascaded === false) {
|
53
54
|
checkedMode = 'SEPARATE';
|
54
55
|
}
|
@@ -59,7 +60,7 @@ var CheckCascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
59
60
|
var _useAsyncSwitch = useAsyncSwitch(onChangeData, onOptionSelect, onLoadChildren),
|
60
61
|
isLoadingId = _useAsyncSwitch[0],
|
61
62
|
onItemExpand = _useAsyncSwitch[1];
|
62
|
-
var _useCheck = useCheck(checkedMode, disabled,
|
63
|
+
var _useCheck = useCheck(checkedMode, disabled, originalFlattedData, defaultValue, valueProp, function (_ref, target, shouldChecked) {
|
63
64
|
var checkedIds = _ref.checkedIds;
|
64
65
|
// @ts-ignore
|
65
66
|
onChange === null || onChange === void 0 ? void 0 : onChange(checkedIds, target, shouldChecked);
|
package/lib/esm/utils/index.js
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
9
|
*/
|
10
|
-
import { baseFlattenTree, getTopDownAncestors,
|
10
|
+
import { baseFlattenTree, getTopDownAncestors, getNodeAncestors, findNestedChildren } from '@hi-ui/tree-utils';
|
11
11
|
import { isArrayNonEmpty } from '@hi-ui/type-assertion';
|
12
12
|
|
13
13
|
/**
|
@@ -96,10 +96,13 @@ function getCascaderItemEventData(node, requiredProps) {
|
|
96
96
|
*/
|
97
97
|
var processCheckedIds = function processCheckedIds(type, checkedIds, flattenData, allowCheck) {
|
98
98
|
var keySet = new Set(checkedIds);
|
99
|
+
var flattenDataMap = new Map(flattenData.map(function (node) {
|
100
|
+
return [node.id, node];
|
101
|
+
}));
|
99
102
|
switch (type) {
|
100
103
|
case 'CHILD':
|
101
104
|
return checkedIds.filter(function (id) {
|
102
|
-
var node =
|
105
|
+
var node = flattenDataMap.get(id);
|
103
106
|
if (node) {
|
104
107
|
var children = node.children;
|
105
108
|
if (isArrayNonEmpty(children)) {
|
@@ -115,7 +118,7 @@ var processCheckedIds = function processCheckedIds(type, checkedIds, flattenData
|
|
115
118
|
});
|
116
119
|
case 'PARENT':
|
117
120
|
return checkedIds.filter(function (id) {
|
118
|
-
var node =
|
121
|
+
var node = flattenDataMap.get(id);
|
119
122
|
if (node) {
|
120
123
|
// 向上递归遍历是否被勾选
|
121
124
|
var ancestors = getNodeAncestors(node);
|
@@ -30,6 +30,11 @@ export interface CascaderMenusProps {
|
|
30
30
|
* 设置选择项数据源
|
31
31
|
*/
|
32
32
|
flattedData: FlattedCheckCascaderDataItem[];
|
33
|
+
/**
|
34
|
+
* 未被过滤的选择项数据源,Hotfix:https://github.com/XiaoMi/hiui/issues/2992
|
35
|
+
* @private
|
36
|
+
*/
|
37
|
+
originalFlattedData: FlattedCheckCascaderDataItem[];
|
33
38
|
/**
|
34
39
|
* 设置当前多选值
|
35
40
|
*/
|