@hi-ui/check-tree-select 4.3.0 → 4.3.2

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 CHANGED
@@ -1,5 +1,58 @@
1
1
  # @hi-ui/check-tree-select
2
2
 
3
+ ## 4.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - fix: 修复 rollup3 打包 cjs 模块问题
8
+ - Updated dependencies
9
+ - @hi-ui/env@4.0.3
10
+ - @hi-ui/core@4.0.7
11
+ - @hi-ui/use-check@4.0.4
12
+ - @hi-ui/use-data-source@4.0.3
13
+ - @hi-ui/use-search-mode@4.1.3
14
+ - @hi-ui/use-toggle@4.0.3
15
+ - @hi-ui/use-uncontrolled-state@4.0.3
16
+ - @hi-ui/icons@4.0.17
17
+ - @hi-ui/checkbox@4.0.7
18
+ - @hi-ui/highlighter@4.0.7
19
+ - @hi-ui/picker@4.1.3
20
+ - @hi-ui/popper@4.1.2
21
+ - @hi-ui/tag-input@4.0.9
22
+ - @hi-ui/tree@4.5.7
23
+ - @hi-ui/array-utils@4.0.3
24
+ - @hi-ui/classname@4.0.3
25
+ - @hi-ui/func-utils@4.0.3
26
+ - @hi-ui/tree-utils@4.1.3
27
+ - @hi-ui/type-assertion@4.0.3
28
+
29
+ ## 4.3.1
30
+
31
+ ### Patch Changes
32
+
33
+ - [#2672](https://github.com/XiaoMi/hiui/pull/2672) [`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e) Thanks [@zyprepare](https://github.com/zyprepare)! - build: 升级到 rollup3,重新构建发布组件
34
+
35
+ - Updated dependencies [[`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e)]:
36
+ - @hi-ui/core@4.0.6
37
+ - @hi-ui/use-check@4.0.3
38
+ - @hi-ui/use-data-source@4.0.2
39
+ - @hi-ui/use-search-mode@4.1.2
40
+ - @hi-ui/use-toggle@4.0.2
41
+ - @hi-ui/use-uncontrolled-state@4.0.2
42
+ - @hi-ui/icons@4.0.16
43
+ - @hi-ui/checkbox@4.0.6
44
+ - @hi-ui/highlighter@4.0.6
45
+ - @hi-ui/picker@4.1.2
46
+ - @hi-ui/popper@4.1.1
47
+ - @hi-ui/tag-input@4.0.8
48
+ - @hi-ui/tree@4.5.6
49
+ - @hi-ui/array-utils@4.0.2
50
+ - @hi-ui/classname@4.0.2
51
+ - @hi-ui/env@4.0.2
52
+ - @hi-ui/func-utils@4.0.2
53
+ - @hi-ui/tree-utils@4.1.2
54
+ - @hi-ui/type-assertion@4.0.2
55
+
3
56
  ## 4.3.0
4
57
 
5
58
  ### Minor Changes
@@ -10,61 +10,36 @@
10
10
  'use strict';
11
11
 
12
12
  var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
13
  Object.defineProperty(exports, '__esModule', {
15
14
  value: true
16
15
  });
17
-
18
16
  var tslib = require('tslib');
19
-
20
17
  var React = require('react');
21
-
22
18
  var classname = require('@hi-ui/classname');
23
-
24
19
  var env = require('@hi-ui/env');
25
-
26
20
  var useToggle = require('@hi-ui/use-toggle');
27
-
28
21
  var tree = require('@hi-ui/tree');
29
-
30
22
  var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
31
-
32
23
  var picker = require('@hi-ui/picker');
33
-
34
24
  var treeUtils = require('@hi-ui/tree-utils');
35
-
36
25
  var typeAssertion = require('@hi-ui/type-assertion');
37
-
38
26
  var arrayUtils = require('@hi-ui/array-utils');
39
-
40
27
  var highlighter = require('@hi-ui/highlighter');
41
-
42
28
  var tagInput = require('@hi-ui/tag-input');
43
-
44
29
  var icons = require('@hi-ui/icons');
45
-
46
30
  var core = require('@hi-ui/core');
47
-
48
31
  var funcUtils = require('@hi-ui/func-utils');
49
-
50
32
  var Checkbox = require('@hi-ui/checkbox');
51
-
52
33
  var useSearchMode = require('@hi-ui/use-search-mode');
53
-
54
34
  var useCheck = require('./hooks/use-check.js');
55
-
56
35
  var index = require('./utils/index.js');
57
-
58
- function _interopDefaultLegacy(e) {
36
+ function _interopDefaultCompat(e) {
59
37
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
60
38
  'default': e
61
39
  };
62
40
  }
63
-
64
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
65
-
66
- var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
67
-
41
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
42
+ var Checkbox__default = /*#__PURE__*/_interopDefaultCompat(Checkbox);
68
43
  var TREE_SELECT_PREFIX = classname.getPrefixCls('check-tree-select');
69
44
  var DEFAULT_DATA = [];
70
45
  var DEFAULT_VALUE = [];
@@ -73,69 +48,64 @@ var DEFAULT_EXPANDED_IDS = [];
73
48
  /**
74
49
  * 多项树形选择器
75
50
  */
76
-
77
51
  var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
78
52
  var _a$prefixCls = _a.prefixCls,
79
- prefixCls = _a$prefixCls === void 0 ? TREE_SELECT_PREFIX : _a$prefixCls,
80
- className = _a.className,
81
- _a$data = _a.data,
82
- data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
83
- dataSource = _a.dataSource,
84
- _a$disabled = _a.disabled,
85
- disabled = _a$disabled === void 0 ? false : _a$disabled,
86
- visible = _a.visible,
87
- onOpen = _a.onOpen,
88
- onClose = _a.onClose,
89
- _a$fieldNames = _a.fieldNames,
90
- fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
91
- _a$checkedMode = _a.checkedMode,
92
- checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
93
- _a$defaultExpandAll = _a.defaultExpandAll,
94
- defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
95
- expandedIdsProp = _a.expandedIds,
96
- _a$defaultExpandedIds = _a.defaultExpandedIds,
97
- defaultExpandedIds = _a$defaultExpandedIds === void 0 ? DEFAULT_EXPANDED_IDS : _a$defaultExpandedIds,
98
- onExpand = _a.onExpand,
99
- _a$defaultValue = _a.defaultValue,
100
- defaultValue = _a$defaultValue === void 0 ? DEFAULT_VALUE : _a$defaultValue,
101
- valueProp = _a.value,
102
- onChange = _a.onChange,
103
- searchableProp = _a.searchable,
104
- searchModeProp = _a.searchMode,
105
- onLoadChildren = _a.onLoadChildren,
106
- titleRender = _a.render,
107
- filterOption = _a.filterOption,
108
- onSearchProp = _a.onSearch,
109
- clearable = _a.clearable,
110
- invalid = _a.invalid,
111
- displayRender = _a.displayRender,
112
- placeholderProp = _a.placeholder,
113
- appearance = _a.appearance,
114
- virtual = _a.virtual,
115
- itemHeight = _a.itemHeight,
116
- height = _a.height,
117
- showCheckAll = _a.showCheckAll,
118
- tagInputProps = _a.tagInputProps,
119
- _a$size = _a.size,
120
- size = _a$size === void 0 ? 'md' : _a$size,
121
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "visible", "onOpen", "onClose", "fieldNames", "checkedMode", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "onSearch", "clearable", "invalid", "displayRender", "placeholder", "appearance", "virtual", "itemHeight", "height", "showCheckAll", "tagInputProps", "size"]);
122
-
53
+ prefixCls = _a$prefixCls === void 0 ? TREE_SELECT_PREFIX : _a$prefixCls,
54
+ className = _a.className,
55
+ _a$data = _a.data,
56
+ data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
57
+ dataSource = _a.dataSource,
58
+ _a$disabled = _a.disabled,
59
+ disabled = _a$disabled === void 0 ? false : _a$disabled,
60
+ visible = _a.visible,
61
+ onOpen = _a.onOpen,
62
+ onClose = _a.onClose,
63
+ _a$fieldNames = _a.fieldNames,
64
+ fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
65
+ _a$checkedMode = _a.checkedMode,
66
+ checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
67
+ _a$defaultExpandAll = _a.defaultExpandAll,
68
+ defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
69
+ expandedIdsProp = _a.expandedIds,
70
+ _a$defaultExpandedIds = _a.defaultExpandedIds,
71
+ defaultExpandedIds = _a$defaultExpandedIds === void 0 ? DEFAULT_EXPANDED_IDS : _a$defaultExpandedIds,
72
+ onExpand = _a.onExpand,
73
+ _a$defaultValue = _a.defaultValue,
74
+ defaultValue = _a$defaultValue === void 0 ? DEFAULT_VALUE : _a$defaultValue,
75
+ valueProp = _a.value,
76
+ onChange = _a.onChange,
77
+ searchableProp = _a.searchable,
78
+ searchModeProp = _a.searchMode,
79
+ onLoadChildren = _a.onLoadChildren,
80
+ titleRender = _a.render,
81
+ filterOption = _a.filterOption,
82
+ onSearchProp = _a.onSearch,
83
+ clearable = _a.clearable,
84
+ invalid = _a.invalid,
85
+ displayRender = _a.displayRender,
86
+ placeholderProp = _a.placeholder,
87
+ appearance = _a.appearance,
88
+ virtual = _a.virtual,
89
+ itemHeight = _a.itemHeight,
90
+ height = _a.height,
91
+ showCheckAll = _a.showCheckAll,
92
+ tagInputProps = _a.tagInputProps,
93
+ _a$size = _a.size,
94
+ size = _a$size === void 0 ? 'md' : _a$size,
95
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "visible", "onOpen", "onClose", "fieldNames", "checkedMode", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "onSearch", "clearable", "invalid", "displayRender", "placeholder", "appearance", "virtual", "itemHeight", "height", "showCheckAll", "tagInputProps", "size"]);
123
96
  var i18n = core.useLocaleContext();
124
97
  var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('checkTreeSelect.placeholder') : placeholderProp;
125
-
126
98
  var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
127
- visible: visible,
128
- disabled: disabled,
129
- onOpen: onOpen,
130
- onClose: onClose
131
- }),
132
- menuVisible = _useUncontrolledToggl[0],
133
- menuVisibleAction = _useUncontrolledToggl[1];
99
+ visible: visible,
100
+ disabled: disabled,
101
+ onOpen: onOpen,
102
+ onClose: onClose
103
+ }),
104
+ menuVisible = _useUncontrolledToggl[0],
105
+ menuVisibleAction = _useUncontrolledToggl[1];
134
106
  /**
135
107
  * 转换对象
136
108
  */
137
-
138
-
139
109
  var getKeyFields = React.useCallback(function (node, key) {
140
110
  return node[fieldNames[key] || key];
141
111
  }, [fieldNames]);
@@ -147,7 +117,6 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
147
117
  },
148
118
  transform: function transform(node) {
149
119
  var _a, _b;
150
-
151
120
  var flattedNode = node;
152
121
  var raw = node.raw;
153
122
  flattedNode.id = getKeyFields(raw, 'id');
@@ -157,32 +126,29 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
157
126
  return flattedNode;
158
127
  }
159
128
  });
160
- }, [data, getKeyFields]); // TODO: 抽离展开hook
129
+ }, [data, getKeyFields]);
130
+ // TODO: 抽离展开hook
161
131
  // TODO: onLoadChildren 和 defaultExpandAll 共存时
162
-
163
132
  var _useUncontrolledState = useUncontrolledState.useUncontrolledState(function getDefaultExpandedIds() {
164
- // 开启默认展开全部
165
- if (defaultExpandAll) {
166
- return flattedData.map(function (node) {
167
- return node.id;
168
- });
169
- }
170
-
171
- return defaultExpandedIds;
172
- }, expandedIdsProp, onExpand),
173
- expandedIds = _useUncontrolledState[0],
174
- tryChangeExpandedIds = _useUncontrolledState[1];
175
-
133
+ // 开启默认展开全部
134
+ if (defaultExpandAll) {
135
+ return flattedData.map(function (node) {
136
+ return node.id;
137
+ });
138
+ }
139
+ return defaultExpandedIds;
140
+ }, expandedIdsProp, onExpand),
141
+ expandedIds = _useUncontrolledState[0],
142
+ tryChangeExpandedIds = _useUncontrolledState[1];
176
143
  var _useCheck = useCheck.useCheck(checkedMode, disabled, flattedData, defaultValue, valueProp, onChange),
177
- value = _useCheck[0],
178
- tryChangeValue = _useCheck[1],
179
- onNodeCheck = _useCheck[2],
180
- checkedNodes = _useCheck[3],
181
- parsedCheckedIds = _useCheck[4];
182
-
144
+ value = _useCheck[0],
145
+ tryChangeValue = _useCheck[1],
146
+ onNodeCheck = _useCheck[2],
147
+ checkedNodes = _useCheck[3],
148
+ parsedCheckedIds = _useCheck[4];
183
149
  var onCheck = React.useCallback(function (checkedIds, option) {
184
150
  var targetNode = option.targetNode,
185
- checked = option.checked;
151
+ checked = option.checked;
186
152
  onNodeCheck(targetNode, checked);
187
153
  }, [onNodeCheck]);
188
154
  var onValueChange = React.useCallback(function (values, targetItem, shouldChecked) {
@@ -193,16 +159,15 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
193
159
  // 操作单个
194
160
  onNodeCheck(targetItem[0], shouldChecked);
195
161
  }
196
- }, [tryChangeValue, onNodeCheck]); // ************************** 异步搜索 ************************* //
162
+ }, [tryChangeValue, onNodeCheck]);
163
+ // ************************** 异步搜索 ************************* //
197
164
  // const { loading, hasError, loadRemoteData } = useDataSource({ dataSource, validate: isArray })
198
-
199
165
  var _b = useSearchMode.useAsyncSearch({
200
- dataSource: dataSource
201
- }),
202
- loading = _b.loading,
203
- hasError = _b.hasError,
204
- dataSourceStrategy = tslib.__rest(_b, ["loading", "hasError"]);
205
-
166
+ dataSource: dataSource
167
+ }),
168
+ loading = _b.loading,
169
+ hasError = _b.hasError,
170
+ dataSourceStrategy = tslib.__rest(_b, ["loading", "hasError"]);
206
171
  var customSearchStrategy = useSearchMode.useTreeCustomSearch({
207
172
  data: data,
208
173
  filterOption: filterOption
@@ -218,27 +183,23 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
218
183
  flattedData: flattedData,
219
184
  searchMode: searchModeProp
220
185
  });
221
-
222
186
  var _useSearchMode = useSearchMode.useSearchMode({
223
- searchable: searchableProp,
224
- strategies: [dataSourceStrategy, customSearchStrategy, filterSearchStrategy, highlightSearchStrategy]
225
- }),
226
- stateInSearch = _useSearchMode.state,
227
- setStateInSearch = _useSearchMode.setStateInSearch,
228
- searchable = _useSearchMode.searchable,
229
- searchMode = _useSearchMode.searchMode,
230
- onSearch = _useSearchMode.onSearch,
231
- searchValue = _useSearchMode.keyword; // 拦截 titleRender,自定义高亮展示
232
-
233
-
187
+ searchable: searchableProp,
188
+ strategies: [dataSourceStrategy, customSearchStrategy, filterSearchStrategy, highlightSearchStrategy]
189
+ }),
190
+ stateInSearch = _useSearchMode.state,
191
+ setStateInSearch = _useSearchMode.setStateInSearch,
192
+ searchable = _useSearchMode.searchable,
193
+ searchMode = _useSearchMode.searchMode,
194
+ onSearch = _useSearchMode.onSearch,
195
+ searchValue = _useSearchMode.keyword;
196
+ // 拦截 titleRender,自定义高亮展示
234
197
  var proxyTitleRender = React.useCallback(function (node) {
235
198
  if (titleRender) {
236
199
  var _ret = titleRender(node);
237
-
238
200
  if (_ret && _ret !== true) return _ret;
239
- } // 本地搜索执行默认高亮规则
240
-
241
-
201
+ }
202
+ // 本地搜索执行默认高亮规则
242
203
  var highlight = !!searchValue && (searchMode === 'highlight' || searchMode === 'filter');
243
204
  var ret = highlight ? /*#__PURE__*/React__default["default"].createElement(highlighter.Highlighter, {
244
205
  keyword: searchValue
@@ -257,19 +218,18 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
257
218
  });
258
219
  } : tryChangeExpandedIds,
259
220
  render: proxyTitleRender
260
- }; // 下拉菜单不能合并(因为树形数据,不知道是第几级)
261
-
221
+ };
222
+ // 下拉菜单不能合并(因为树形数据,不知道是第几级)
262
223
  var mergedData = React.useMemo(function () {
263
224
  var nextData = checkedNodes.concat(flattedData);
264
225
  return arrayUtils.uniqBy(nextData, 'id');
265
226
  }, [checkedNodes, flattedData]);
266
227
  var toggleCheckAll = React.useCallback(function () {
267
228
  var _getAllCheckedStatus = index.getAllCheckedStatus(flattedData, parsedCheckedIds),
268
- currentAllChecked = _getAllCheckedStatus[0],
269
- hasCheckedAll = _getAllCheckedStatus[2];
270
-
271
- var shouldChecked = !currentAllChecked; // 全选操作
272
-
229
+ currentAllChecked = _getAllCheckedStatus[0],
230
+ hasCheckedAll = _getAllCheckedStatus[2];
231
+ var shouldChecked = !currentAllChecked;
232
+ // 全选操作
273
233
  if (!currentAllChecked && !hasCheckedAll) {
274
234
  tryChangeValue(flattedData.filter(function (item) {
275
235
  if (!item.disabled) {
@@ -277,14 +237,11 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
277
237
  if (checkedMode === 'CHILD') {
278
238
  return !item.children;
279
239
  }
280
-
281
240
  if (checkedMode === 'PARENT') {
282
241
  return item.depth === 0;
283
242
  }
284
-
285
243
  return true;
286
244
  }
287
-
288
245
  return false;
289
246
  }).map(function (_ref) {
290
247
  var id = _ref.id;
@@ -294,13 +251,11 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
294
251
  tryChangeValue([], null, shouldChecked, []);
295
252
  }
296
253
  }, [checkedMode, flattedData, parsedCheckedIds, tryChangeValue]);
297
-
298
254
  var _useMemo = React.useMemo(function () {
299
- return index.getAllCheckedStatus(flattedData, parsedCheckedIds);
300
- }, [flattedData, parsedCheckedIds]),
301
- showAllChecked = _useMemo[0],
302
- showIndeterminate = _useMemo[1];
303
-
255
+ return index.getAllCheckedStatus(flattedData, parsedCheckedIds);
256
+ }, [flattedData, parsedCheckedIds]),
257
+ showAllChecked = _useMemo[0],
258
+ showIndeterminate = _useMemo[1];
304
259
  var renderDefaultFooter = function renderDefaultFooter() {
305
260
  if (showCheckAll) {
306
261
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
@@ -310,15 +265,14 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
310
265
  }, i18n.get('checkSelect.checkAll')));
311
266
  }
312
267
  };
313
-
314
- var cls = classname.cx(prefixCls, className); // 过滤掉未选中的数据
268
+ var cls = classname.cx(prefixCls, className);
269
+ // 过滤掉未选中的数据
315
270
  // const tagList = useMemo(() => {
316
271
  // // @ts-ignore
317
272
  // const [semiCheckedIds] = getSemiCheckedIdsWithSet(flattedData, (id) => value.includes(id))
318
273
  // const ids = Array.from(new Set([...semiCheckedIds, ...value]))
319
274
  // return flattedData.filter((item) => ids.includes(item.id))
320
275
  // }, [value, flattedData])
321
-
322
276
  return /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
323
277
  ref: ref,
324
278
  className: cls
@@ -355,8 +309,7 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
355
309
  // @ts-ignore
356
310
  invalid: invalid
357
311
  }))
358
- }), typeAssertion.isArrayNonEmpty(treeProps.data) ?
359
- /*#__PURE__*/
312
+ }), typeAssertion.isArrayNonEmpty(treeProps.data) ? ( /*#__PURE__*/
360
313
  // 只做渲染,不做逻辑处理(比如搜索过滤后,check操作的是对过滤后的data操作,这是不符合预期的)
361
314
  React__default["default"].createElement(tree.Tree, Object.assign({
362
315
  size: 'md',
@@ -373,13 +326,11 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
373
326
  virtual: virtual,
374
327
  itemHeight: itemHeight,
375
328
  height: height
376
- }, treeProps)) : null);
329
+ }, treeProps))) : null);
377
330
  });
378
-
379
331
  if (env.__DEV__) {
380
332
  CheckTreeSelect.displayName = 'CheckTreeSelect';
381
333
  }
382
-
383
334
  var ALWAYS_ALLOW = function ALWAYS_ALLOW() {
384
335
  return true;
385
336
  };
@@ -390,39 +341,34 @@ var ALWAYS_ALLOW = function ALWAYS_ALLOW() {
390
341
  * @param flattedData
391
342
  * @returns
392
343
  */
393
-
394
-
395
344
  var getSemiCheckedIdsWithSet = function getSemiCheckedIdsWithSet(flattedData, isChecked, allowCheck) {
396
345
  if (allowCheck === void 0) {
397
346
  allowCheck = ALWAYS_ALLOW;
398
347
  }
399
-
400
348
  var semiCheckedNodes = [];
401
349
  var semiCheckedIdsSet = new Set();
402
350
  var parentId;
403
351
  var parent;
404
352
  flattedData.forEach(function (node) {
405
353
  parent = node.parent;
406
-
407
354
  if (parent && parent.id !== undefined) {
408
355
  if (!allowCheck(parent)) return;
409
356
  parentId = parent.id;
410
- if (semiCheckedIdsSet.has(parentId)) return; // 父节点没选中,但是当前节点被选中,则视为半选
411
-
357
+ if (semiCheckedIdsSet.has(parentId)) return;
358
+ // 父节点没选中,但是当前节点被选中,则视为半选
412
359
  if (!isChecked(parentId) && isChecked(node.id)) {
413
360
  semiCheckedIdsSet.add(parentId);
414
361
  semiCheckedNodes.push(parent);
415
362
  }
416
363
  }
417
- }); // 自下而上设置半选态
418
-
364
+ });
365
+ // 自下而上设置半选态
419
366
  semiCheckedNodes.forEach(function (node) {
420
367
  parent = node.parent;
421
-
422
368
  while (parent && parent.id !== undefined) {
423
369
  if (!allowCheck(parent)) return;
424
- parentId = parent.id; // 可能存在兄弟节点,共同祖先需要去重,避免重复计算
425
-
370
+ parentId = parent.id;
371
+ // 可能存在兄弟节点,共同祖先需要去重,避免重复计算
426
372
  if (semiCheckedIdsSet.has(parentId)) return;
427
373
  semiCheckedIdsSet.add(parentId);
428
374
  parent = parent.parent;
@@ -431,6 +377,5 @@ var getSemiCheckedIdsWithSet = function getSemiCheckedIdsWithSet(flattedData, is
431
377
  var semiCheckedIds = Array.from(semiCheckedIdsSet);
432
378
  return [semiCheckedIds, semiCheckedIdsSet];
433
379
  };
434
-
435
380
  exports.CheckTreeSelect = CheckTreeSelect;
436
381
  exports.getSemiCheckedIdsWithSet = getSemiCheckedIdsWithSet;
@@ -12,81 +12,68 @@
12
12
  Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
-
16
15
  var React = require('react');
17
-
18
16
  var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
19
-
20
17
  var useCheck$1 = require('@hi-ui/use-check');
21
-
22
18
  var index = require('../utils/index.js');
19
+
23
20
  /**
24
21
  * 用于 tree 组件复选的 hook
25
22
  */
26
-
27
-
28
23
  var useCheck = function useCheck(checkedMode, disabled, flattedData, defaultCheckedIds, checkedIdsProp, onCheck) {
29
24
  // 搜索时临时选中缓存数据
30
25
  var _useState = React.useState([]),
31
- checkedNodes = _useState[0],
32
- setCheckedNodes = _useState[1];
33
-
26
+ checkedNodes = _useState[0],
27
+ setCheckedNodes = _useState[1];
34
28
  var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultCheckedIds, checkedIdsProp, function (checkedIds, checkedNode, checked, semiCheckedIds) {
35
- var nextCheckedNodes = flattedData.filter(function (item) {
36
- return checkedIds.includes(item.id);
37
- });
38
- setCheckedNodes(nextCheckedNodes);
39
- onCheck === null || onCheck === void 0 ? void 0 : onCheck(checkedIds, {
40
- checkedNodes: nextCheckedNodes.map(function (item) {
41
- return item.raw;
42
- }),
43
- targetNode: checkedNode,
44
- semiCheckedIds: semiCheckedIds,
45
- checked: checked
46
- });
47
- }),
48
- checkedIds = _useUncontrolledState[0],
49
- trySetCheckedIds = _useUncontrolledState[1]; // 入口数据处理
50
-
51
-
29
+ var nextCheckedNodes = flattedData.filter(function (item) {
30
+ return checkedIds.includes(item.id);
31
+ });
32
+ setCheckedNodes(nextCheckedNodes);
33
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck(checkedIds, {
34
+ checkedNodes: nextCheckedNodes.map(function (item) {
35
+ return item.raw;
36
+ }),
37
+ targetNode: checkedNode,
38
+ semiCheckedIds: semiCheckedIds,
39
+ checked: checked
40
+ });
41
+ }),
42
+ checkedIds = _useUncontrolledState[0],
43
+ trySetCheckedIds = _useUncontrolledState[1];
44
+ // 入口数据处理
52
45
  var parsedCheckedIds = React.useMemo(function () {
53
46
  return index.parseCheckDataDirty(checkedMode, checkedIds, flattedData, allowCheck);
54
47
  }, [checkedMode, checkedIds, flattedData]);
55
48
  var cascaded = checkedMode !== 'SEPARATE';
56
-
57
49
  var _useCascadeCheck = useCheck$1.useCascadeCheck({
58
- cascaded: cascaded,
59
- disabled: disabled,
60
- flattedData: flattedData,
61
- checkedIds: parsedCheckedIds,
62
- onCheck: function onCheck(checkedIds, checkedNode, checked, semiCheckedIds) {
63
- // 出口数据处理
64
- var processedIds = index.processCheckedIds(checkedMode, checkedIds, flattedData, allowCheck);
65
- trySetCheckedIds(processedIds, checkedNode, checked, semiCheckedIds);
66
- },
67
- allowCheck: allowCheck
68
- }),
69
- onNodeCheck = _useCascadeCheck[0];
70
-
50
+ cascaded: cascaded,
51
+ disabled: disabled,
52
+ flattedData: flattedData,
53
+ checkedIds: parsedCheckedIds,
54
+ onCheck: function onCheck(checkedIds, checkedNode, checked, semiCheckedIds) {
55
+ // 出口数据处理
56
+ var processedIds = index.processCheckedIds(checkedMode, checkedIds, flattedData, allowCheck);
57
+ trySetCheckedIds(processedIds, checkedNode, checked, semiCheckedIds);
58
+ },
59
+ allowCheck: allowCheck
60
+ }),
61
+ onNodeCheck = _useCascadeCheck[0];
71
62
  var proxyOnNodeCheck = React.useCallback(function (target, shouldChecked) {
72
63
  // 保证 target 来源于原数据自身,而不是tree内部
73
64
  var targetNode = flattedData.find(function (item) {
74
65
  return item.id === target.id;
75
66
  });
76
-
77
67
  if (targetNode) {
78
68
  onNodeCheck(targetNode, shouldChecked);
79
69
  }
80
70
  }, [onNodeCheck, flattedData]);
81
71
  return [checkedIds, trySetCheckedIds, proxyOnNodeCheck, checkedNodes, parsedCheckedIds];
82
72
  };
83
-
84
73
  var allowCheck = function allowCheck(targetItem) {
85
74
  if (targetItem.disabled) {
86
75
  return false;
87
76
  }
88
-
89
77
  return true;
90
78
  };
91
-
92
79
  exports.useCheck = useCheck;
package/lib/cjs/index.js CHANGED
@@ -12,11 +12,8 @@
12
12
  Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
-
16
15
  require('./styles/index.scss.js');
17
-
18
16
  var CheckTreeSelect = require('./CheckTreeSelect.js');
19
-
20
17
  exports.CheckTreeSelect = CheckTreeSelect.CheckTreeSelect;
21
18
  exports["default"] = CheckTreeSelect.CheckTreeSelect;
22
19
  exports.getSemiCheckedIdsWithSet = CheckTreeSelect.getSemiCheckedIdsWithSet;
@@ -13,9 +13,6 @@ Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
15
  var css_248z = "";
16
-
17
16
  var __styleInject__ = require('style-inject')["default"];
18
-
19
17
  __styleInject__(css_248z);
20
-
21
18
  exports["default"] = css_248z;