@hi-ui/check-tree-select 5.0.0-experimental.2 → 5.0.0-rc.0
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 +40 -71
- package/lib/cjs/CheckTreeSelect.js +11 -10
- package/lib/cjs/hooks/use-check.js +3 -0
- package/lib/cjs/utils/index.js +22 -6
- package/lib/esm/CheckTreeSelect.js +11 -10
- package/lib/esm/hooks/use-check.js +3 -0
- package/lib/esm/utils/index.js +22 -6
- package/lib/types/CheckTreeSelect.d.ts +4 -4
- package/lib/types/hooks/use-check.d.ts +2 -2
- package/lib/types/types.d.ts +10 -1
- package/lib/types/utils/index.d.ts +1 -1
- package/package.json +23 -23
package/CHANGELOG.md
CHANGED
|
@@ -1,46 +1,6 @@
|
|
|
1
1
|
# @hi-ui/check-tree-select
|
|
2
2
|
|
|
3
|
-
## 5.0.0-
|
|
4
|
-
|
|
5
|
-
### Minor Changes
|
|
6
|
-
|
|
7
|
-
- 59cef699f: feat: 组件语义化样式改造,增加 styles 和 classNames 属性 (5.0)
|
|
8
|
-
|
|
9
|
-
### Patch Changes
|
|
10
|
-
|
|
11
|
-
- eb17c4697: style: 修复 UI/样式问题 (5.0)
|
|
12
|
-
- Updated dependencies [7f204c892]
|
|
13
|
-
- Updated dependencies [eb17c4697]
|
|
14
|
-
- Updated dependencies [eb17c4697]
|
|
15
|
-
- Updated dependencies [c407744fe]
|
|
16
|
-
- Updated dependencies [59cef699f]
|
|
17
|
-
- @hi-ui/icons@5.0.0-experimental.1
|
|
18
|
-
- @hi-ui/core@5.0.0-experimental.1
|
|
19
|
-
- @hi-ui/checkbox@5.0.0-experimental.1
|
|
20
|
-
- @hi-ui/highlighter@5.0.0-experimental.1
|
|
21
|
-
- @hi-ui/picker@5.0.0-experimental.2
|
|
22
|
-
- @hi-ui/popper@5.0.0-experimental.1
|
|
23
|
-
- @hi-ui/tag-input@5.0.0-experimental.2
|
|
24
|
-
- @hi-ui/tree@5.0.0-experimental.2
|
|
25
|
-
- @hi-ui/use-merge-semantic@5.0.0-experimental.0
|
|
26
|
-
|
|
27
|
-
## 5.0.0-experimental.1
|
|
28
|
-
|
|
29
|
-
### Patch Changes
|
|
30
|
-
|
|
31
|
-
- 8f23e9322: style: 表单类组件统一调整后缀颜色、placeholder 颜色 (5.0)
|
|
32
|
-
- 发布 hiui experimental 版本
|
|
33
|
-
- fe579e212: style(tree): update class names for tree node elements in SCSS (5.0)
|
|
34
|
-
- Updated dependencies [8f23e9322]
|
|
35
|
-
- Updated dependencies [b27483796]
|
|
36
|
-
- Updated dependencies [900c6c2f0]
|
|
37
|
-
- Updated dependencies
|
|
38
|
-
- Updated dependencies [fe579e212]
|
|
39
|
-
- @hi-ui/picker@5.0.0-experimental.1
|
|
40
|
-
- @hi-ui/tag-input@5.0.0-experimental.1
|
|
41
|
-
- @hi-ui/tree@5.0.0-experimental.1
|
|
42
|
-
|
|
43
|
-
## 5.0.0-experimental.0
|
|
3
|
+
## 5.0.0-rc.0
|
|
44
4
|
|
|
45
5
|
### Major Changes
|
|
46
6
|
|
|
@@ -53,18 +13,20 @@
|
|
|
53
13
|
- feat(picker): 下拉选择类组件增加 xs 尺寸 (5.0)
|
|
54
14
|
- feat(input): 输入框组件增加 xs 尺寸 (5.0)
|
|
55
15
|
- 6dca7795c: feat: 下拉选择组件增加 showIndicator 参数 & 修改 appearance 中的 unset 样式 (5.0)
|
|
16
|
+
- 07a57b9c1: feat(check-tree-select): 支持设置 checkable (5.0)
|
|
56
17
|
- 77d969c2e: feat: 下拉选择类组件 appearance 参数增加 contained 类型 (5.0)
|
|
57
18
|
- 58ad82e94: feat: 输入框和选择器组件增加 borderless 形态 (5.0)
|
|
19
|
+
- 59cef699f: feat: 组件语义化样式改造,增加 styles 和 classNames 属性 (5.0)
|
|
58
20
|
|
|
59
21
|
### Patch Changes
|
|
60
22
|
|
|
61
|
-
- 1662753e0: style: fix ui bug (5.0)
|
|
62
23
|
- cf89262c7: style(picker): 移除 picker 组件中的 \_\_text 样式定义 (5.0)
|
|
63
24
|
- cb9d8f6db: fix(tag-input): 修复 contained 模式下 displayRender 设置无效问题 (5.0)
|
|
64
|
-
- be5a59325: style: 修改样式问题 (5.0)
|
|
65
25
|
- 79ea480f3: feat(global-context): 增加 size api 全局配置 (5.0)
|
|
66
26
|
- 2e56529f7: styles: 主题定制功能完善&&样式变量化写法改造&&兼容 RTL (5.0)
|
|
67
27
|
- eb718e940: fix: 修改组件问题 (5.0)
|
|
28
|
+
- 8f23e9322: style: 表单类组件统一调整后缀颜色、placeholder 颜色 (5.0)
|
|
29
|
+
- eb17c4697: style: 修复 UI/样式问题 (5.0)
|
|
68
30
|
- de8d058dc: perf: 对下拉选择类组件的 customRender 的内容增加 memoization 以优化性能 (5.0)
|
|
69
31
|
- 5210770d9: feat(picker): add header api (5.0)
|
|
70
32
|
- 33da3144e: build: 将 package.json 中 exports 配置中的 types 配置放在最上面 (5.0)
|
|
@@ -73,77 +35,84 @@
|
|
|
73
35
|
- style(tag-input): 间距调整 (5.0)
|
|
74
36
|
- style(select): 选择类组件选项圆角改为 4px (5.0)
|
|
75
37
|
- style(picker): 搜索框样式调整 (5.0)
|
|
38
|
+
- fe579e212: style(tree): update class names for tree node elements in SCSS (5.0)
|
|
76
39
|
- 99801c2d1: fix: 修复 UI 问题 (5.0)
|
|
77
40
|
- Updated dependencies [0b34e1c15]
|
|
78
41
|
- Updated dependencies [4a31cea53]
|
|
79
42
|
- Updated dependencies [1e226cd66]
|
|
80
43
|
- Updated dependencies [cce71cdfa]
|
|
81
44
|
- Updated dependencies [b9989e482]
|
|
45
|
+
- Updated dependencies [7f204c892]
|
|
82
46
|
- Updated dependencies [9b34d99bc]
|
|
83
|
-
- Updated dependencies [1662753e0]
|
|
84
47
|
- Updated dependencies [122d1d859]
|
|
85
48
|
- Updated dependencies [f1ab51725]
|
|
86
49
|
- Updated dependencies [41552be0b]
|
|
50
|
+
- Updated dependencies [eb17c4697]
|
|
87
51
|
- Updated dependencies [8c0ee78f0]
|
|
88
52
|
- Updated dependencies [9b34d99bc]
|
|
89
53
|
- Updated dependencies [8f3aa85e4]
|
|
90
|
-
- Updated dependencies [f4fc0ef30]
|
|
91
54
|
- Updated dependencies [cb9d8f6db]
|
|
55
|
+
- Updated dependencies [e25399be4]
|
|
92
56
|
- Updated dependencies [29cae09ea]
|
|
93
57
|
- Updated dependencies [fd4c20bbd]
|
|
94
|
-
- Updated dependencies [be5a59325]
|
|
95
|
-
- Updated dependencies [71fc15e5c]
|
|
96
58
|
- Updated dependencies [f8acad4e1]
|
|
97
59
|
- Updated dependencies [79ea480f3]
|
|
98
60
|
- Updated dependencies [2e56529f7]
|
|
61
|
+
- Updated dependencies [3a7186e4b]
|
|
99
62
|
- Updated dependencies [277c5033a]
|
|
100
63
|
- Updated dependencies [4e0ed3a31]
|
|
101
64
|
- Updated dependencies [95abba983]
|
|
65
|
+
- Updated dependencies [8f23e9322]
|
|
102
66
|
- Updated dependencies [4a31cea53]
|
|
67
|
+
- Updated dependencies [b27483796]
|
|
68
|
+
- Updated dependencies [eb17c4697]
|
|
103
69
|
- Updated dependencies [98df634ac]
|
|
104
70
|
- Updated dependencies [976ec929d]
|
|
105
71
|
- Updated dependencies [223bd1397]
|
|
106
72
|
- Updated dependencies [f1ab51725]
|
|
107
73
|
- Updated dependencies [6dca7795c]
|
|
74
|
+
- Updated dependencies [900c6c2f0]
|
|
108
75
|
- Updated dependencies [7b956b1eb]
|
|
109
76
|
- Updated dependencies [5210770d9]
|
|
110
|
-
- Updated dependencies [
|
|
77
|
+
- Updated dependencies [c407744fe]
|
|
78
|
+
- Updated dependencies [d91a8bb0f]
|
|
79
|
+
- Updated dependencies [07a57b9c1]
|
|
111
80
|
- Updated dependencies [77d969c2e]
|
|
112
81
|
- Updated dependencies [9ecf354ba]
|
|
113
82
|
- Updated dependencies [e42e2badf]
|
|
114
83
|
- Updated dependencies [33da3144e]
|
|
115
84
|
- Updated dependencies [e7b64347e]
|
|
116
|
-
- Updated dependencies [7f3abee55]
|
|
117
85
|
- Updated dependencies [6fcda9bf2]
|
|
118
86
|
- Updated dependencies [0a4e90dbd]
|
|
87
|
+
- Updated dependencies [fe579e212]
|
|
119
88
|
- Updated dependencies [58ad82e94]
|
|
120
|
-
- Updated dependencies [a0f0c9d6b]
|
|
121
89
|
- Updated dependencies [4a31cea53]
|
|
90
|
+
- Updated dependencies [95d930354]
|
|
122
91
|
- Updated dependencies [f2be367e9]
|
|
123
|
-
- Updated dependencies [1fae66f2d]
|
|
124
92
|
- Updated dependencies [1972fd16a]
|
|
93
|
+
- Updated dependencies [59cef699f]
|
|
125
94
|
- Updated dependencies [99801c2d1]
|
|
126
|
-
- Updated dependencies [86910f5e2]
|
|
127
95
|
- Updated dependencies [cb7b794d0]
|
|
128
|
-
- @hi-ui/picker@5.0.0-
|
|
129
|
-
- @hi-ui/tree@5.0.0-
|
|
130
|
-
- @hi-ui/popper@5.0.0-
|
|
131
|
-
- @hi-ui/tag-input@5.0.0-
|
|
132
|
-
- @hi-ui/icons@5.0.0-
|
|
133
|
-
- @hi-ui/core@5.0.0-
|
|
134
|
-
- @hi-ui/use-check@5.0.0-
|
|
135
|
-
- @hi-ui/use-data-source@5.0.0-
|
|
136
|
-
- @hi-ui/use-search-mode@5.0.0-
|
|
137
|
-
- @hi-ui/use-toggle@5.0.0-
|
|
138
|
-
- @hi-ui/use-uncontrolled-state@5.0.0-
|
|
139
|
-
- @hi-ui/checkbox@5.0.0-
|
|
140
|
-
- @hi-ui/highlighter@5.0.0-
|
|
141
|
-
- @hi-ui/array-utils@5.0.0-
|
|
142
|
-
- @hi-ui/classname@5.0.0-
|
|
143
|
-
- @hi-ui/env@5.0.0-
|
|
144
|
-
- @hi-ui/func-utils@5.0.0-
|
|
145
|
-
- @hi-ui/tree-utils@5.0.0-
|
|
146
|
-
- @hi-ui/type-assertion@5.0.0-
|
|
96
|
+
- @hi-ui/picker@5.0.0-rc.0
|
|
97
|
+
- @hi-ui/tree@5.0.0-rc.0
|
|
98
|
+
- @hi-ui/popper@5.0.0-rc.0
|
|
99
|
+
- @hi-ui/tag-input@5.0.0-rc.0
|
|
100
|
+
- @hi-ui/icons@5.0.0-rc.0
|
|
101
|
+
- @hi-ui/core@5.0.0-rc.0
|
|
102
|
+
- @hi-ui/use-check@5.0.0-rc.0
|
|
103
|
+
- @hi-ui/use-data-source@5.0.0-rc.0
|
|
104
|
+
- @hi-ui/use-search-mode@5.0.0-rc.0
|
|
105
|
+
- @hi-ui/use-toggle@5.0.0-rc.0
|
|
106
|
+
- @hi-ui/use-uncontrolled-state@5.0.0-rc.0
|
|
107
|
+
- @hi-ui/checkbox@5.0.0-rc.0
|
|
108
|
+
- @hi-ui/highlighter@5.0.0-rc.0
|
|
109
|
+
- @hi-ui/array-utils@5.0.0-rc.0
|
|
110
|
+
- @hi-ui/classname@5.0.0-rc.0
|
|
111
|
+
- @hi-ui/env@5.0.0-rc.0
|
|
112
|
+
- @hi-ui/func-utils@5.0.0-rc.0
|
|
113
|
+
- @hi-ui/tree-utils@5.0.0-rc.0
|
|
114
|
+
- @hi-ui/type-assertion@5.0.0-rc.0
|
|
115
|
+
- @hi-ui/use-merge-semantic@5.0.0-rc.0
|
|
147
116
|
|
|
148
117
|
## 4.7.6
|
|
149
118
|
|
|
@@ -165,6 +165,7 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
165
165
|
flattedNode.title = getKeyFields(raw, 'title');
|
|
166
166
|
flattedNode.disabled = (_a = getKeyFields(raw, 'disabled')) !== null && _a !== void 0 ? _a : false;
|
|
167
167
|
flattedNode.isLeaf = (_b = getKeyFields(raw, 'isLeaf')) !== null && _b !== void 0 ? _b : false;
|
|
168
|
+
flattedNode.checkable = raw.checkable !== false;
|
|
168
169
|
return flattedNode;
|
|
169
170
|
}
|
|
170
171
|
});
|
|
@@ -283,17 +284,17 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
283
284
|
// 全选操作
|
|
284
285
|
if (!currentAllChecked && !hasCheckedAll) {
|
|
285
286
|
tryChangeValue(flattedData.filter(function (item) {
|
|
286
|
-
if (
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return
|
|
287
|
+
if (item.disabled || item.checkable === false) {
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
290
|
+
// 根据 checkedMode 类型过滤出已选项,保证全选操作下 onChange 回调的值是符合 checkedMode 的规则
|
|
291
|
+
if (checkedMode === 'CHILD') {
|
|
292
|
+
return !item.children;
|
|
293
|
+
}
|
|
294
|
+
if (checkedMode === 'PARENT') {
|
|
295
|
+
return item.depth === 0;
|
|
295
296
|
}
|
|
296
|
-
return
|
|
297
|
+
return true;
|
|
297
298
|
}).map(function (_ref) {
|
|
298
299
|
var id = _ref.id;
|
|
299
300
|
return id;
|
package/lib/cjs/utils/index.js
CHANGED
|
@@ -120,12 +120,21 @@ function fillCheck(checkedIds, depthEntities, nodeEntities, maxDepth, allowCheck
|
|
|
120
120
|
children = entity.children;
|
|
121
121
|
if (visitedIds.has(id)) return;
|
|
122
122
|
if (typeAssertion.isArrayNonEmpty(children)) {
|
|
123
|
-
|
|
123
|
+
// 可勾选子节点需在 checkedIds;disabled / checkable:false 但有子树时走 visitedIds;
|
|
124
|
+
// checkable:false 且无子节点(纯展示叶)不阻塞父级全选
|
|
125
|
+
var childFails = function childFails(child) {
|
|
126
|
+
if (!allowCheck(child)) {
|
|
127
|
+
if (typeAssertion.isArrayNonEmpty(child.children)) {
|
|
128
|
+
return visitedIds.has(child.id) ? !visitedIds.get(child.id) : true;
|
|
129
|
+
}
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
124
132
|
if (visitedIds.has(child.id)) {
|
|
125
133
|
return !visitedIds.get(child.id);
|
|
126
134
|
}
|
|
127
135
|
return !checkedIdsSet.has(child.id);
|
|
128
|
-
}
|
|
136
|
+
};
|
|
137
|
+
var shouldChecked = !children.some(childFails);
|
|
129
138
|
visitedIds.set(id, shouldChecked);
|
|
130
139
|
if (shouldChecked && allowCheck(entity)) {
|
|
131
140
|
checkedIdsSet.add(id);
|
|
@@ -148,12 +157,19 @@ var getAllCheckedStatus = function getAllCheckedStatus(flattedData, values) {
|
|
|
148
157
|
treeIdsSet["delete"](id);
|
|
149
158
|
}
|
|
150
159
|
});
|
|
151
|
-
|
|
160
|
+
var nonCheckableCount = flattedData.filter(function (item) {
|
|
161
|
+
return item.disabled || item.checkable === false;
|
|
162
|
+
}).length;
|
|
163
|
+
var onlyNonCheckableLeft = treeIdsSet.size > 0 && [].concat(treeIdsSet).every(function (id) {
|
|
164
|
+
var n = flattedData.find(function (item) {
|
|
165
|
+
return item.id === id;
|
|
166
|
+
});
|
|
167
|
+
return n && (n.disabled || n.checkable === false);
|
|
168
|
+
});
|
|
169
|
+
return [hasValue && (treeIdsSet.size === 0 || onlyNonCheckableLeft), hasValue && treeIdsSet.size > 0 && !onlyNonCheckableLeft,
|
|
152
170
|
// 该值用来判断剩余未选中的节点是否都是 disabled 的
|
|
153
171
|
// 如果为 true 则表示可选值都已选中
|
|
154
|
-
treeIdsSet.size ===
|
|
155
|
-
return item.disabled;
|
|
156
|
-
}).length];
|
|
172
|
+
treeIdsSet.size === nonCheckableCount];
|
|
157
173
|
};
|
|
158
174
|
exports.getAllCheckedStatus = getAllCheckedStatus;
|
|
159
175
|
exports.parseCheckDataDirty = parseCheckDataDirty;
|
|
@@ -152,6 +152,7 @@ var CheckTreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
152
152
|
flattedNode.title = getKeyFields(raw, 'title');
|
|
153
153
|
flattedNode.disabled = (_a = getKeyFields(raw, 'disabled')) !== null && _a !== void 0 ? _a : false;
|
|
154
154
|
flattedNode.isLeaf = (_b = getKeyFields(raw, 'isLeaf')) !== null && _b !== void 0 ? _b : false;
|
|
155
|
+
flattedNode.checkable = raw.checkable !== false;
|
|
155
156
|
return flattedNode;
|
|
156
157
|
}
|
|
157
158
|
});
|
|
@@ -270,17 +271,17 @@ var CheckTreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
270
271
|
// 全选操作
|
|
271
272
|
if (!currentAllChecked && !hasCheckedAll) {
|
|
272
273
|
tryChangeValue(flattedData.filter(function (item) {
|
|
273
|
-
if (
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
return
|
|
274
|
+
if (item.disabled || item.checkable === false) {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
// 根据 checkedMode 类型过滤出已选项,保证全选操作下 onChange 回调的值是符合 checkedMode 的规则
|
|
278
|
+
if (checkedMode === 'CHILD') {
|
|
279
|
+
return !item.children;
|
|
280
|
+
}
|
|
281
|
+
if (checkedMode === 'PARENT') {
|
|
282
|
+
return item.depth === 0;
|
|
282
283
|
}
|
|
283
|
-
return
|
|
284
|
+
return true;
|
|
284
285
|
}).map(function (_ref) {
|
|
285
286
|
var id = _ref.id;
|
|
286
287
|
return id;
|
package/lib/esm/utils/index.js
CHANGED
|
@@ -115,12 +115,21 @@ function fillCheck(checkedIds, depthEntities, nodeEntities, maxDepth, allowCheck
|
|
|
115
115
|
children = entity.children;
|
|
116
116
|
if (visitedIds.has(id)) return;
|
|
117
117
|
if (isArrayNonEmpty(children)) {
|
|
118
|
-
|
|
118
|
+
// 可勾选子节点需在 checkedIds;disabled / checkable:false 但有子树时走 visitedIds;
|
|
119
|
+
// checkable:false 且无子节点(纯展示叶)不阻塞父级全选
|
|
120
|
+
var childFails = function childFails(child) {
|
|
121
|
+
if (!allowCheck(child)) {
|
|
122
|
+
if (isArrayNonEmpty(child.children)) {
|
|
123
|
+
return visitedIds.has(child.id) ? !visitedIds.get(child.id) : true;
|
|
124
|
+
}
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
119
127
|
if (visitedIds.has(child.id)) {
|
|
120
128
|
return !visitedIds.get(child.id);
|
|
121
129
|
}
|
|
122
130
|
return !checkedIdsSet.has(child.id);
|
|
123
|
-
}
|
|
131
|
+
};
|
|
132
|
+
var shouldChecked = !children.some(childFails);
|
|
124
133
|
visitedIds.set(id, shouldChecked);
|
|
125
134
|
if (shouldChecked && allowCheck(entity)) {
|
|
126
135
|
checkedIdsSet.add(id);
|
|
@@ -143,11 +152,18 @@ var getAllCheckedStatus = function getAllCheckedStatus(flattedData, values) {
|
|
|
143
152
|
treeIdsSet["delete"](id);
|
|
144
153
|
}
|
|
145
154
|
});
|
|
146
|
-
|
|
155
|
+
var nonCheckableCount = flattedData.filter(function (item) {
|
|
156
|
+
return item.disabled || item.checkable === false;
|
|
157
|
+
}).length;
|
|
158
|
+
var onlyNonCheckableLeft = treeIdsSet.size > 0 && [].concat(treeIdsSet).every(function (id) {
|
|
159
|
+
var n = flattedData.find(function (item) {
|
|
160
|
+
return item.id === id;
|
|
161
|
+
});
|
|
162
|
+
return n && (n.disabled || n.checkable === false);
|
|
163
|
+
});
|
|
164
|
+
return [hasValue && (treeIdsSet.size === 0 || onlyNonCheckableLeft), hasValue && treeIdsSet.size > 0 && !onlyNonCheckableLeft,
|
|
147
165
|
// 该值用来判断剩余未选中的节点是否都是 disabled 的
|
|
148
166
|
// 如果为 true 则表示可选值都已选中
|
|
149
|
-
treeIdsSet.size ===
|
|
150
|
-
return item.disabled;
|
|
151
|
-
}).length];
|
|
167
|
+
treeIdsSet.size === nonCheckableCount];
|
|
152
168
|
};
|
|
153
169
|
export { getAllCheckedStatus, parseCheckDataDirty, processCheckedIds };
|
|
@@ -10,10 +10,10 @@ import { UseDataSource } from '@hi-ui/use-data-source';
|
|
|
10
10
|
* 多项树形选择器
|
|
11
11
|
*/
|
|
12
12
|
export declare const CheckTreeSelect: React.ForwardRefExoticComponent<CheckTreeSelectProps & React.RefAttributes<HTMLDivElement | null>>;
|
|
13
|
-
export type CheckTreeSelectSemanticName = PickerSemanticName | 'tree';
|
|
14
|
-
export type CheckTreeSelectSemanticClassNames = SemanticClassNamesType<CheckTreeSelectProps, CheckTreeSelectSemanticName>;
|
|
15
|
-
export type CheckTreeSelectSemanticStyles = SemanticStylesType<CheckTreeSelectProps, CheckTreeSelectSemanticName>;
|
|
16
|
-
export type CheckTreeSelectSemantic = ComponentSemantic<CheckTreeSelectSemanticClassNames, CheckTreeSelectSemanticStyles>;
|
|
13
|
+
export declare type CheckTreeSelectSemanticName = PickerSemanticName | 'tree';
|
|
14
|
+
export declare type CheckTreeSelectSemanticClassNames = SemanticClassNamesType<CheckTreeSelectProps, CheckTreeSelectSemanticName>;
|
|
15
|
+
export declare type CheckTreeSelectSemanticStyles = SemanticStylesType<CheckTreeSelectProps, CheckTreeSelectSemanticName>;
|
|
16
|
+
export declare type CheckTreeSelectSemantic = ComponentSemantic<CheckTreeSelectSemanticClassNames, CheckTreeSelectSemanticStyles>;
|
|
17
17
|
export interface CheckTreeSelectProps extends Omit<PickerProps, 'data' | 'onChange' | 'value' | 'trigger' | 'scrollable' | 'header' | 'footer' | 'classNames' | 'styles'>, CheckTreeSelectSemantic {
|
|
18
18
|
/**
|
|
19
19
|
* 展示数据
|
|
@@ -3,9 +3,9 @@ import { FlattedCheckTreeSelectDataItem, CheckTreeSelectItemEventData, CheckTree
|
|
|
3
3
|
/**
|
|
4
4
|
* 用于 tree 组件复选的 hook
|
|
5
5
|
*/
|
|
6
|
-
export declare const useCheck: (checkedMode: string, disabled: boolean, flattedData: FlattedCheckTreeSelectDataItem[], defaultCheckedIds: React.ReactText[], checkedIdsProp?: React.ReactText[], onCheck?: (checkedIds: React.ReactText[], options: {
|
|
6
|
+
export declare const useCheck: (checkedMode: string, disabled: boolean, flattedData: FlattedCheckTreeSelectDataItem[], defaultCheckedIds: React.ReactText[], checkedIdsProp?: React.ReactText[] | undefined, onCheck?: ((checkedIds: React.ReactText[], options: {
|
|
7
7
|
checkedNodes: CheckTreeSelectDataItem[];
|
|
8
8
|
semiCheckedIds: React.ReactText[];
|
|
9
9
|
targetNode: CheckTreeSelectItemEventData;
|
|
10
10
|
checked: boolean;
|
|
11
|
-
}) => void) => readonly [React.ReactText[], (stateOrFunction: React.SetStateAction<React.ReactText[]>, ...args: any[]) => void, (target: FlattedCheckTreeSelectDataItem, shouldChecked: boolean) => void, FlattedCheckTreeSelectDataItem[], React.ReactText[]];
|
|
11
|
+
}) => void) | undefined) => readonly [React.ReactText[], (stateOrFunction: React.SetStateAction<React.ReactText[]>, ...args: any[]) => void, (target: FlattedCheckTreeSelectDataItem, shouldChecked: boolean) => void, FlattedCheckTreeSelectDataItem[], React.ReactText[]];
|
package/lib/types/types.d.ts
CHANGED
|
@@ -22,6 +22,11 @@ export interface CheckTreeSelectDataItem extends HiBaseDataItem {
|
|
|
22
22
|
* 是否为叶子节点,当 children 为空数组也表示为叶子结点
|
|
23
23
|
*/
|
|
24
24
|
isLeaf?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* 节点是否展示复选框;为 `false` 时不展示复选框,且该节点不可被勾选(常用于仅作分组/展开的节点)
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
checkable?: boolean;
|
|
25
30
|
}
|
|
26
31
|
export interface FlattedCheckTreeSelectDataItem extends CheckTreeSelectDataItem {
|
|
27
32
|
/**
|
|
@@ -76,5 +81,9 @@ export interface CheckTreeSelectDataSource<T = any> {
|
|
|
76
81
|
transformResponse?: (response: object) => T;
|
|
77
82
|
}
|
|
78
83
|
export interface CheckTreeSelectItemEventData extends TreeNodeEventData {
|
|
84
|
+
/**
|
|
85
|
+
* 节点是否展示复选框(与数据项 `checkable` 一致,由 Tree 扁平化后透传)
|
|
86
|
+
*/
|
|
87
|
+
checkable?: boolean;
|
|
79
88
|
}
|
|
80
|
-
export type CheckTreeSelectAppearanceEnum = HiBaseAppearanceEnum | 'contained' | undefined;
|
|
89
|
+
export declare type CheckTreeSelectAppearanceEnum = HiBaseAppearanceEnum | 'contained' | undefined;
|
|
@@ -10,5 +10,5 @@ export declare const processCheckedIds: (type: string, checkedIds: React.ReactTe
|
|
|
10
10
|
/**
|
|
11
11
|
* 根据传入的 checkedIds 解析全选/半选数据
|
|
12
12
|
*/
|
|
13
|
-
export declare const parseCheckDataDirty: (type: string, checkedIds: React.ReactText[], flattenData: any, allowCheck?: (node: any) => boolean) => React.ReactText[];
|
|
13
|
+
export declare const parseCheckDataDirty: (type: string, checkedIds: React.ReactText[], flattenData: any, allowCheck?: ((node: any) => boolean) | undefined) => React.ReactText[];
|
|
14
14
|
export declare const getAllCheckedStatus: (flattedData: any[], values: React.ReactText[]) => boolean[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hi-ui/check-tree-select",
|
|
3
|
-
"version": "5.0.0-
|
|
3
|
+
"version": "5.0.0-rc.0",
|
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "HiUI <mi-hiui@xiaomi.com>",
|
|
@@ -44,34 +44,34 @@
|
|
|
44
44
|
"url": "https://github.com/XiaoMi/hiui/issues"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@hi-ui/array-utils": "^5.0.0-
|
|
48
|
-
"@hi-ui/checkbox": "^5.0.0-
|
|
49
|
-
"@hi-ui/classname": "^5.0.0-
|
|
50
|
-
"@hi-ui/env": "^5.0.0-
|
|
51
|
-
"@hi-ui/func-utils": "^5.0.0-
|
|
52
|
-
"@hi-ui/highlighter": "^5.0.0-
|
|
53
|
-
"@hi-ui/icons": "^5.0.0-
|
|
54
|
-
"@hi-ui/picker": "^5.0.0-
|
|
55
|
-
"@hi-ui/popper": "^5.0.0-
|
|
56
|
-
"@hi-ui/tag-input": "^5.0.0-
|
|
57
|
-
"@hi-ui/tree": "^5.0.0-
|
|
58
|
-
"@hi-ui/tree-utils": "^5.0.0-
|
|
59
|
-
"@hi-ui/type-assertion": "^5.0.0-
|
|
60
|
-
"@hi-ui/use-check": "^5.0.0-
|
|
61
|
-
"@hi-ui/use-data-source": "^5.0.0-
|
|
62
|
-
"@hi-ui/use-
|
|
63
|
-
"@hi-ui/use-
|
|
64
|
-
"@hi-ui/use-
|
|
65
|
-
"@hi-ui/use-
|
|
47
|
+
"@hi-ui/array-utils": "^5.0.0-rc.0",
|
|
48
|
+
"@hi-ui/checkbox": "^5.0.0-rc.0",
|
|
49
|
+
"@hi-ui/classname": "^5.0.0-rc.0",
|
|
50
|
+
"@hi-ui/env": "^5.0.0-rc.0",
|
|
51
|
+
"@hi-ui/func-utils": "^5.0.0-rc.0",
|
|
52
|
+
"@hi-ui/highlighter": "^5.0.0-rc.0",
|
|
53
|
+
"@hi-ui/icons": "^5.0.0-rc.0",
|
|
54
|
+
"@hi-ui/picker": "^5.0.0-rc.0",
|
|
55
|
+
"@hi-ui/popper": "^5.0.0-rc.0",
|
|
56
|
+
"@hi-ui/tag-input": "^5.0.0-rc.0",
|
|
57
|
+
"@hi-ui/tree": "^5.0.0-rc.0",
|
|
58
|
+
"@hi-ui/tree-utils": "^5.0.0-rc.0",
|
|
59
|
+
"@hi-ui/type-assertion": "^5.0.0-rc.0",
|
|
60
|
+
"@hi-ui/use-check": "^5.0.0-rc.0",
|
|
61
|
+
"@hi-ui/use-data-source": "^5.0.0-rc.0",
|
|
62
|
+
"@hi-ui/use-merge-semantic": "^5.0.0-rc.0",
|
|
63
|
+
"@hi-ui/use-search-mode": "^5.0.0-rc.0",
|
|
64
|
+
"@hi-ui/use-toggle": "^5.0.0-rc.0",
|
|
65
|
+
"@hi-ui/use-uncontrolled-state": "^5.0.0-rc.0"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
|
-
"@hi-ui/core": ">=5.0.0-
|
|
68
|
+
"@hi-ui/core": ">=5.0.0-rc.0",
|
|
69
69
|
"react": ">=16.8.6",
|
|
70
70
|
"react-dom": ">=16.8.6"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
|
-
"@hi-ui/core": "^5.0.0-
|
|
74
|
-
"@hi-ui/core-css": "^5.0.0-
|
|
73
|
+
"@hi-ui/core": "^5.0.0-rc.0",
|
|
74
|
+
"@hi-ui/core-css": "^5.0.0-rc.0",
|
|
75
75
|
"react": "^17.0.1",
|
|
76
76
|
"react-dom": "^17.0.1"
|
|
77
77
|
}
|