@hi-ui/check-cascader 4.2.2 → 4.2.4
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 +61 -0
- package/lib/cjs/CheckCascader.js +71 -111
- package/lib/cjs/CheckCascaderMenu.js +31 -56
- package/lib/cjs/CheckCascaderMenuList.js +42 -67
- package/lib/cjs/context.js +0 -6
- package/lib/cjs/hooks/use-async-switch.js +8 -38
- package/lib/cjs/hooks/use-cache/lib/esm/index.js +3 -7
- package/lib/cjs/hooks/use-check.js +9 -19
- package/lib/cjs/hooks/use-select.js +3 -7
- package/lib/cjs/icons/index.js +2 -9
- package/lib/cjs/index.js +0 -3
- package/lib/cjs/styles/index.scss.js +0 -3
- package/lib/cjs/utils/index.js +8 -46
- package/lib/esm/CheckCascader.js +69 -88
- package/lib/esm/CheckCascaderMenu.js +28 -41
- package/lib/esm/CheckCascaderMenuList.js +40 -49
- package/lib/esm/context.js +0 -4
- package/lib/esm/hooks/use-async-switch.js +6 -28
- package/lib/esm/hooks/use-cache/lib/esm/index.js +3 -5
- package/lib/esm/hooks/use-check.js +10 -16
- package/lib/esm/hooks/use-select.js +3 -5
- package/lib/esm/styles/index.scss.js +0 -2
- package/lib/esm/utils/index.js +8 -43
- package/package.json +26 -26
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,66 @@
|
|
1
1
|
# @hi-ui/check-cascader
|
2
2
|
|
3
|
+
## 4.2.4
|
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-latest@4.0.3
|
14
|
+
- @hi-ui/use-merge-refs@4.0.3
|
15
|
+
- @hi-ui/use-outside-click@4.0.3
|
16
|
+
- @hi-ui/use-search-mode@4.1.3
|
17
|
+
- @hi-ui/use-toggle@4.0.3
|
18
|
+
- @hi-ui/use-uncontrolled-state@4.0.3
|
19
|
+
- @hi-ui/icons@4.0.17
|
20
|
+
- @hi-ui/checkbox@4.0.7
|
21
|
+
- @hi-ui/input@4.0.12
|
22
|
+
- @hi-ui/picker@4.1.3
|
23
|
+
- @hi-ui/popper@4.1.2
|
24
|
+
- @hi-ui/spinner@4.0.7
|
25
|
+
- @hi-ui/tag-input@4.0.9
|
26
|
+
- @hi-ui/array-utils@4.0.3
|
27
|
+
- @hi-ui/classname@4.0.3
|
28
|
+
- @hi-ui/func-utils@4.0.3
|
29
|
+
- @hi-ui/times@4.0.3
|
30
|
+
- @hi-ui/tree-utils@4.1.3
|
31
|
+
- @hi-ui/type-assertion@4.0.3
|
32
|
+
|
33
|
+
## 4.2.3
|
34
|
+
|
35
|
+
### Patch Changes
|
36
|
+
|
37
|
+
- [#2672](https://github.com/XiaoMi/hiui/pull/2672) [`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e) Thanks [@zyprepare](https://github.com/zyprepare)! - build: 升级到 rollup3,重新构建发布组件
|
38
|
+
|
39
|
+
- Updated dependencies [[`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e)]:
|
40
|
+
- @hi-ui/core@4.0.6
|
41
|
+
- @hi-ui/use-check@4.0.3
|
42
|
+
- @hi-ui/use-data-source@4.0.2
|
43
|
+
- @hi-ui/use-latest@4.0.2
|
44
|
+
- @hi-ui/use-merge-refs@4.0.2
|
45
|
+
- @hi-ui/use-outside-click@4.0.2
|
46
|
+
- @hi-ui/use-search-mode@4.1.2
|
47
|
+
- @hi-ui/use-toggle@4.0.2
|
48
|
+
- @hi-ui/use-uncontrolled-state@4.0.2
|
49
|
+
- @hi-ui/icons@4.0.16
|
50
|
+
- @hi-ui/checkbox@4.0.6
|
51
|
+
- @hi-ui/input@4.0.11
|
52
|
+
- @hi-ui/picker@4.1.2
|
53
|
+
- @hi-ui/popper@4.1.1
|
54
|
+
- @hi-ui/spinner@4.0.6
|
55
|
+
- @hi-ui/tag-input@4.0.8
|
56
|
+
- @hi-ui/array-utils@4.0.2
|
57
|
+
- @hi-ui/classname@4.0.2
|
58
|
+
- @hi-ui/env@4.0.2
|
59
|
+
- @hi-ui/func-utils@4.0.2
|
60
|
+
- @hi-ui/times@4.0.2
|
61
|
+
- @hi-ui/tree-utils@4.1.2
|
62
|
+
- @hi-ui/type-assertion@4.0.2
|
63
|
+
|
3
64
|
## 4.2.2
|
4
65
|
|
5
66
|
### Patch Changes
|
package/lib/cjs/CheckCascader.js
CHANGED
@@ -10,157 +10,123 @@
|
|
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 useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
29
|
-
|
30
22
|
var icons = require('@hi-ui/icons');
|
31
|
-
|
32
23
|
var index = require('./hooks/use-cache/lib/esm/index.js');
|
33
|
-
|
34
24
|
var picker = require('@hi-ui/picker');
|
35
|
-
|
36
25
|
var tagInput = require('@hi-ui/tag-input');
|
37
|
-
|
38
26
|
var CheckCascaderMenuList = require('./CheckCascaderMenuList.js');
|
39
|
-
|
40
27
|
var useSearchMode = require('@hi-ui/use-search-mode');
|
41
|
-
|
42
28
|
var index$1 = require('./utils/index.js');
|
43
|
-
|
44
29
|
var treeUtils = require('@hi-ui/tree-utils');
|
45
|
-
|
46
30
|
var useLatest = require('@hi-ui/use-latest');
|
47
|
-
|
48
31
|
var typeAssertion = require('@hi-ui/type-assertion');
|
49
|
-
|
50
32
|
var core = require('@hi-ui/core');
|
51
|
-
|
52
33
|
var funcUtils = require('@hi-ui/func-utils');
|
53
|
-
|
54
|
-
function _interopDefaultLegacy(e) {
|
34
|
+
function _interopDefaultCompat(e) {
|
55
35
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
56
36
|
'default': e
|
57
37
|
};
|
58
38
|
}
|
59
|
-
|
60
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
61
|
-
|
39
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
62
40
|
var _prefix = classname.getPrefixCls('check-cascader');
|
63
|
-
|
64
41
|
var NOOP_ARRAY = [];
|
65
42
|
/**
|
66
43
|
* 多项级联选择器
|
67
44
|
*/
|
68
|
-
|
69
45
|
var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
70
46
|
var _a$prefixCls = _a.prefixCls,
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
47
|
+
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
48
|
+
className = _a.className,
|
49
|
+
_a$defaultValue = _a.defaultValue,
|
50
|
+
defaultValue = _a$defaultValue === void 0 ? NOOP_ARRAY : _a$defaultValue,
|
51
|
+
valueProp = _a.value,
|
52
|
+
onChange = _a.onChange,
|
53
|
+
_a$data = _a.data,
|
54
|
+
data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
|
55
|
+
placeholderProp = _a.placeholder,
|
56
|
+
clearable = _a.clearable,
|
57
|
+
onSelect = _a.onSelect,
|
58
|
+
expandTrigger = _a.expandTrigger,
|
59
|
+
_a$disabled = _a.disabled,
|
60
|
+
disabled = _a$disabled === void 0 ? false : _a$disabled,
|
61
|
+
changeOnSelect = _a.changeOnSelect,
|
62
|
+
titleRender = _a.render,
|
63
|
+
displayRender = _a.displayRender,
|
64
|
+
checkCascaded = _a.checkCascaded,
|
65
|
+
onLoadChildren = _a.onLoadChildren,
|
66
|
+
appearance = _a.appearance,
|
67
|
+
invalid = _a.invalid,
|
68
|
+
filterOption = _a.filterOption,
|
69
|
+
searchableProp = _a.searchable,
|
70
|
+
onSearchProp = _a.onSearch,
|
71
|
+
overlayClassName = _a.overlayClassName,
|
72
|
+
_a$type = _a.type,
|
73
|
+
type = _a$type === void 0 ? 'tree' : _a$type,
|
74
|
+
checkedMode = _a.checkedMode,
|
75
|
+
visible = _a.visible,
|
76
|
+
onOpen = _a.onOpen,
|
77
|
+
onClose = _a.onClose,
|
78
|
+
tagInputProps = _a.tagInputProps,
|
79
|
+
_a$size = _a.size,
|
80
|
+
size = _a$size === void 0 ? 'md' : _a$size,
|
81
|
+
renderExtraFooter = _a.renderExtraFooter,
|
82
|
+
dropdownColumnRender = _a.dropdownColumnRender,
|
83
|
+
rest = tslib.__rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "onSearch", "overlayClassName", "type", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "renderExtraFooter", "dropdownColumnRender"]);
|
109
84
|
var i18n = core.useLocaleContext();
|
110
85
|
var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
|
111
86
|
var flatted = type === 'flatted';
|
112
|
-
|
113
87
|
var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
88
|
+
visible: visible,
|
89
|
+
disabled: disabled,
|
90
|
+
onOpen: onOpen,
|
91
|
+
onClose: onClose
|
92
|
+
}),
|
93
|
+
menuVisible = _useUncontrolledToggl[0],
|
94
|
+
menuVisibleAction = _useUncontrolledToggl[1];
|
122
95
|
var _useCache = index.useCache(data),
|
123
|
-
|
124
|
-
|
125
|
-
|
96
|
+
cascaderData = _useCache[0],
|
97
|
+
setCascaderData = _useCache[1];
|
126
98
|
var flattedData = React.useMemo(function () {
|
127
99
|
return index$1.flattenTreeData(cascaderData);
|
128
100
|
}, [cascaderData]);
|
129
|
-
|
130
101
|
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
102
|
+
_value = _useUncontrolledState[0],
|
103
|
+
tryChangeValue = _useUncontrolledState[1];
|
104
|
+
// 内部实现使用尾部 id
|
135
105
|
var value = _value.map(function (path) {
|
136
106
|
return path[path.length - 1];
|
137
107
|
});
|
138
|
-
|
139
108
|
var proxyOnChange = useLatest.useLatestCallback(function (value, item, shouldChecked) {
|
140
109
|
var flattedItems = flattedData;
|
141
110
|
var itemsPaths = value.map(function (lastId) {
|
142
111
|
var item = flattedItems.find(function (item) {
|
143
112
|
return item.id === lastId;
|
144
113
|
});
|
145
|
-
|
146
114
|
if (item) {
|
147
115
|
return treeUtils.getTopDownAncestors(item).map(function (_ref) {
|
148
116
|
var id = _ref.id;
|
149
117
|
return id;
|
150
118
|
});
|
151
|
-
}
|
152
|
-
|
153
|
-
|
119
|
+
}
|
120
|
+
// 对于传入的数据未匹配到,保持不变吐出去
|
154
121
|
var idPaths = _value.find(function (item) {
|
155
122
|
return item[item.length - 1] === lastId;
|
156
123
|
});
|
157
|
-
|
158
124
|
return idPaths || [lastId];
|
159
125
|
});
|
160
126
|
tryChangeValue(itemsPaths);
|
161
|
-
});
|
127
|
+
});
|
128
|
+
// ************************** 搜索 ************************* //
|
162
129
|
// 无法做异步搜索,因为下拉菜单不能合并(因为树形数据,不知道是第几级)
|
163
|
-
|
164
130
|
var customSearchStrategy = useSearchMode.useTreeCustomSearch({
|
165
131
|
data: flattedData,
|
166
132
|
filterOption: filterOption
|
@@ -173,33 +139,29 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
173
139
|
return !node.checkable;
|
174
140
|
}
|
175
141
|
});
|
176
|
-
|
177
142
|
var _useSearchMode = useSearchMode.useSearchMode({
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
143
|
+
searchable: searchableProp,
|
144
|
+
strategies: [customSearchStrategy, upMatchSearchStrategy]
|
145
|
+
}),
|
146
|
+
stateInSearch = _useSearchMode.state,
|
147
|
+
searchable = _useSearchMode.searchable,
|
148
|
+
searchMode = _useSearchMode.searchMode,
|
149
|
+
onSearch = _useSearchMode.onSearch,
|
150
|
+
searchValue = _useSearchMode.keyword;
|
151
|
+
// 拦截 titleRender,自定义高亮展示
|
188
152
|
var proxyTitleRender = React.useCallback(function (node) {
|
189
153
|
if (titleRender) {
|
190
154
|
var _ret = titleRender(node);
|
191
|
-
|
192
155
|
if (_ret && _ret !== true) return _ret;
|
193
|
-
}
|
194
|
-
|
195
|
-
|
156
|
+
}
|
157
|
+
// 本地搜索执行默认高亮规则
|
196
158
|
var highlight = !!searchValue && searchMode === 'upMatch';
|
197
159
|
var found = false;
|
198
|
-
var ret = highlight ? /*#__PURE__*/React__default["default"].createElement("span", {
|
160
|
+
var ret = highlight ? ( /*#__PURE__*/React__default["default"].createElement("span", {
|
199
161
|
className: classname.cx("title__text", "title__text--cols")
|
200
162
|
}, treeUtils.getNodeAncestorsWithMe(node).map(function (item) {
|
201
163
|
var title = item.title,
|
202
|
-
|
164
|
+
id = item.id;
|
203
165
|
var raw = /*#__PURE__*/React__default["default"].createElement("span", {
|
204
166
|
className: "title__text--col",
|
205
167
|
key: id
|
@@ -219,7 +181,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
219
181
|
}, beforeStr, /*#__PURE__*/React__default["default"].createElement("span", {
|
220
182
|
className: "title__text--matched"
|
221
183
|
}, resultStr), afterStr);
|
222
|
-
}).reverse()) : true;
|
184
|
+
}).reverse())) : true;
|
223
185
|
return ret;
|
224
186
|
}, [titleRender, searchValue, searchMode]);
|
225
187
|
var shouldUseSearch = !!searchValue;
|
@@ -263,7 +225,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
263
225
|
data: flattedData,
|
264
226
|
invalid: invalid
|
265
227
|
}))
|
266
|
-
}), typeAssertion.isArrayNonEmpty(selectProps.data) ? /*#__PURE__*/React__default["default"].createElement(CheckCascaderMenuList.CheckCascaderMenuList, {
|
228
|
+
}), typeAssertion.isArrayNonEmpty(selectProps.data) ? ( /*#__PURE__*/React__default["default"].createElement(CheckCascaderMenuList.CheckCascaderMenuList, {
|
267
229
|
disabled: disabled,
|
268
230
|
value: value,
|
269
231
|
// @ts-ignore
|
@@ -281,11 +243,9 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
281
243
|
onChangeData: setCascaderData,
|
282
244
|
checkedMode: checkedMode,
|
283
245
|
dropdownColumnRender: dropdownColumnRender
|
284
|
-
}) : null);
|
246
|
+
})) : null);
|
285
247
|
});
|
286
|
-
|
287
248
|
if (env.__DEV__) {
|
288
249
|
CheckCascader.displayName = 'CheckCascader';
|
289
250
|
}
|
290
|
-
|
291
251
|
exports.CheckCascader = CheckCascader;
|
@@ -10,80 +10,62 @@
|
|
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 React = require('react');
|
19
|
-
|
20
17
|
var classname = require('@hi-ui/classname');
|
21
|
-
|
22
18
|
var index$1 = require('./icons/index.js');
|
23
|
-
|
24
19
|
var Checkbox = require('@hi-ui/checkbox');
|
25
|
-
|
26
20
|
var context = require('./context.js');
|
27
|
-
|
28
21
|
var index = require('./utils/index.js');
|
29
|
-
|
30
22
|
var treeUtils = require('@hi-ui/tree-utils');
|
31
|
-
|
32
|
-
function _interopDefaultLegacy(e) {
|
23
|
+
function _interopDefaultCompat(e) {
|
33
24
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
34
25
|
'default': e
|
35
26
|
};
|
36
27
|
}
|
37
|
-
|
38
|
-
var
|
39
|
-
|
40
|
-
var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
|
41
|
-
|
28
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
29
|
+
var Checkbox__default = /*#__PURE__*/_interopDefaultCompat(Checkbox);
|
42
30
|
var _role = 'check-cascader-menu';
|
43
|
-
|
44
31
|
var _prefix = classname.getPrefixCls(_role);
|
45
|
-
|
46
32
|
var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
47
33
|
var _ref$prefixCls = _ref.prefixCls,
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
34
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
35
|
+
_ref$role = _ref.role,
|
36
|
+
role = _ref$role === void 0 ? _role : _ref$role,
|
37
|
+
className = _ref.className,
|
38
|
+
style = _ref.style,
|
39
|
+
menu = _ref.data,
|
40
|
+
getCascaderItemRequiredProps = _ref.getCascaderItemRequiredProps;
|
56
41
|
var _useCheckCascaderCont = context.useCheckCascaderContext(),
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
42
|
+
_useCheckCascaderCont2 = _useCheckCascaderCont.flatted,
|
43
|
+
flatted = _useCheckCascaderCont2 === void 0 ? false : _useCheckCascaderCont2,
|
44
|
+
_useCheckCascaderCont3 = _useCheckCascaderCont.changeOnSelect,
|
45
|
+
changeOnSelect = _useCheckCascaderCont3 === void 0 ? false : _useCheckCascaderCont3,
|
46
|
+
_useCheckCascaderCont4 = _useCheckCascaderCont.disabled,
|
47
|
+
disabledContext = _useCheckCascaderCont4 === void 0 ? false : _useCheckCascaderCont4,
|
48
|
+
onLoadChildren = _useCheckCascaderCont.onLoadChildren,
|
49
|
+
expandTrigger = _useCheckCascaderCont.expandTrigger,
|
50
|
+
onCheck = _useCheckCascaderCont.onCheck,
|
51
|
+
onSelect = _useCheckCascaderCont.onSelect,
|
52
|
+
titleRender = _useCheckCascaderCont.titleRender;
|
69
53
|
var renderTitle = React.useCallback(function (option) {
|
70
54
|
// 如果 titleRender 返回 `true`,则使用默认 title
|
71
55
|
var title = titleRender ? titleRender(option) : true;
|
72
|
-
|
73
56
|
if (title !== true) {
|
74
57
|
return title;
|
75
58
|
}
|
76
|
-
|
77
|
-
return flatted ? /*#__PURE__*/React__default["default"].createElement("span", {
|
59
|
+
return flatted ? ( /*#__PURE__*/React__default["default"].createElement("span", {
|
78
60
|
className: classname.cx("title__text", "title__text--cols")
|
79
61
|
}, treeUtils.getNodeAncestorsWithMe(option).reverse().map(function (item, index) {
|
80
62
|
return /*#__PURE__*/React__default["default"].createElement("span", {
|
81
63
|
className: "title__text--col",
|
82
64
|
key: item.id
|
83
65
|
}, item.title);
|
84
|
-
})) : /*#__PURE__*/React__default["default"].createElement("span", {
|
66
|
+
}))) : ( /*#__PURE__*/React__default["default"].createElement("span", {
|
85
67
|
className: "title__text"
|
86
|
-
}, option.title);
|
68
|
+
}, option.title));
|
87
69
|
}, [titleRender, flatted]);
|
88
70
|
var isCheckableMenu = menu.some(function (_ref2) {
|
89
71
|
var checkable = _ref2.checkable;
|
@@ -96,14 +78,14 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
|
96
78
|
role: role
|
97
79
|
}, menu.map(function (option) {
|
98
80
|
var _a;
|
99
|
-
|
100
81
|
var eventOption = index.getCascaderItemEventData(option, getCascaderItemRequiredProps(option));
|
101
82
|
var selected = eventOption.selected,
|
102
|
-
|
103
|
-
|
104
|
-
|
83
|
+
checked = eventOption.checked,
|
84
|
+
loading = eventOption.loading,
|
85
|
+
semiChecked = eventOption.semiChecked;
|
105
86
|
var disabled = disabledContext || option.disabled;
|
106
|
-
var optionCls = classname.cx(prefixCls + "-option", option.checkable && checked && prefixCls + "-option--checked",
|
87
|
+
var optionCls = classname.cx(prefixCls + "-option", option.checkable && checked && prefixCls + "-option--checked",
|
88
|
+
// 此处 option.children?.length || !option.checkable 的含义是
|
107
89
|
// 如果存在子节点,则可以展现选择态
|
108
90
|
// 不存在子节点,如不是可勾选item,则可以展现勾选态
|
109
91
|
selected && (((_a = option.children) === null || _a === void 0 ? void 0 : _a.length) || !option.checkable) && prefixCls + "-option--selected", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled");
|
@@ -116,7 +98,6 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
|
116
98
|
onClick: function onClick(evt) {
|
117
99
|
if (disabled) return;
|
118
100
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
|
119
|
-
|
120
101
|
if (changeOnSelect) {
|
121
102
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck(eventOption, !checked);
|
122
103
|
}
|
@@ -126,7 +107,7 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
|
126
107
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
|
127
108
|
}
|
128
109
|
}
|
129
|
-
}, option.checkable ? /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
|
110
|
+
}, option.checkable ? ( /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
|
130
111
|
className: prefixCls + "-checkbox",
|
131
112
|
indeterminate: semiChecked,
|
132
113
|
checked: checked,
|
@@ -140,24 +121,20 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
|
140
121
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck(eventOption, !checked);
|
141
122
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
|
142
123
|
}
|
143
|
-
}) : null, renderTitle(eventOption), flatted ? null : renderSuffix(prefixCls, option, loading, onLoadChildren)));
|
124
|
+
})) : null, renderTitle(eventOption), flatted ? null : renderSuffix(prefixCls, option, loading, onLoadChildren)));
|
144
125
|
}));
|
145
126
|
};
|
146
127
|
/**
|
147
128
|
* 渲染菜单子项的展开提示图标
|
148
129
|
*/
|
149
|
-
|
150
|
-
|
151
130
|
var renderSuffix = function renderSuffix(prefixCls, node, loading, onLoadChildren) {
|
152
131
|
if (loading) {
|
153
132
|
return /*#__PURE__*/React__default["default"].createElement("span", {
|
154
133
|
className: classname.cx(prefixCls + "-switcher", prefixCls + "-switcher--loading")
|
155
134
|
}, index$1.defaultLoadingIcon);
|
156
135
|
}
|
157
|
-
|
158
136
|
var hasChildren = node.children && node.children.length > 0;
|
159
137
|
var canLoadChildren = onLoadChildren && !node.children && !node.isLeaf;
|
160
|
-
|
161
138
|
if (hasChildren || canLoadChildren) {
|
162
139
|
return /*#__PURE__*/React__default["default"].createElement("span", {
|
163
140
|
className: classname.cx(prefixCls + "-switcher"),
|
@@ -166,10 +143,8 @@ var renderSuffix = function renderSuffix(prefixCls, node, loading, onLoadChildre
|
|
166
143
|
}
|
167
144
|
}, index$1.defaultSuffixIcon);
|
168
145
|
}
|
169
|
-
|
170
146
|
return /*#__PURE__*/React__default["default"].createElement("span", {
|
171
147
|
className: classname.cx(prefixCls + "-switcher", prefixCls + "-switcher--noop")
|
172
148
|
}, index$1.defaultLeafIcon);
|
173
149
|
};
|
174
|
-
|
175
150
|
exports.CheckCascaderMenu = CheckCascaderMenu;
|