@hi-ui/cascader 4.0.0-alpha.25 → 4.0.0-alpha.29
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/README.md +21 -20
- package/lib/cjs/Cascader.js +86 -135
- package/lib/cjs/Cascader.js.map +1 -1
- package/lib/cjs/context.js.map +1 -1
- package/lib/cjs/hooks/use-async-switch.js +6 -33
- package/lib/cjs/hooks/use-async-switch.js.map +1 -1
- package/lib/cjs/hooks/use-select.js +3 -1
- package/lib/cjs/hooks/use-select.js.map +1 -1
- package/lib/cjs/index.js +0 -4
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/use-cascader.js +28 -70
- package/lib/cjs/use-cascader.js.map +1 -1
- package/lib/cjs/utils/index.js +5 -12
- package/lib/cjs/utils/index.js.map +1 -1
- package/lib/esm/Cascader.js +91 -135
- package/lib/esm/Cascader.js.map +1 -1
- package/lib/esm/context.js.map +1 -1
- package/lib/esm/hooks/use-async-switch.js +6 -34
- package/lib/esm/hooks/use-async-switch.js.map +1 -1
- package/lib/esm/hooks/use-select.js +2 -1
- package/lib/esm/hooks/use-select.js.map +1 -1
- package/lib/esm/index.js +1 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/use-cascader.js +24 -65
- package/lib/esm/use-cascader.js.map +1 -1
- package/lib/esm/utils/index.js +5 -12
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/types/Cascader.d.ts +8 -56
- package/lib/types/context.d.ts +25 -586
- package/lib/types/hooks/index.d.ts +0 -2
- package/lib/types/hooks/use-async-switch.d.ts +1 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/types/use-cascader.d.ts +47 -294
- package/lib/types/utils/index.d.ts +0 -4
- package/package.json +16 -15
- package/lib/cjs/CascaderPanel.js +0 -81
- package/lib/cjs/CascaderPanel.js.map +0 -1
- package/lib/cjs/hooks/use-cache.js +0 -37
- package/lib/cjs/hooks/use-cache.js.map +0 -1
- package/lib/cjs/hooks/use-search.js +0 -116
- package/lib/cjs/hooks/use-search.js.map +0 -1
- package/lib/esm/CascaderPanel.js +0 -58
- package/lib/esm/CascaderPanel.js.map +0 -1
- package/lib/esm/hooks/use-cache.js +0 -30
- package/lib/esm/hooks/use-cache.js.map +0 -1
- package/lib/esm/hooks/use-search.js +0 -107
- package/lib/esm/hooks/use-search.js.map +0 -1
- package/lib/types/CascaderPanel.d.ts +0 -142
- package/lib/types/hooks/use-cache.d.ts +0 -8
- package/lib/types/hooks/use-search.d.ts +0 -9
@@ -12,7 +12,7 @@
|
|
12
12
|
Object.defineProperty(exports, '__esModule', {
|
13
13
|
value: true
|
14
14
|
});
|
15
|
-
var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-cascader__popper .hi-v4-picker__body {\n padding-left: 0;\n padding-right: 0; }\n.hi-v4-cascader-panel {\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733); }\n.hi-v4-cascader-search {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 10px 10px;\n position: relative; }\n.hi-v4-cascader-search .hi-v4-input__prefix {\n font-size: 16px;\n padding-left: 0; }\n.hi-v4-cascader-search__empty {\n display: inline-block;\n margin-top: 20px;\n font-size: 14px;\n font-weight: 400;\n color: #999;\n line-height: 20px; }\n.hi-v4-cascader-menu-list {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow-x: auto; }\n.hi-v4-cascader-menu-list--flatted .hi-v4-cascader-menu {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%; }\n.hi-v4-cascader-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none;\n width: auto;\n box-sizing: border-box;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: inline-block;\n min-width: 140px;\n
|
15
|
+
var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-cascader__popper .hi-v4-picker__body {\n padding-left: 0;\n padding-right: 0; }\n.hi-v4-cascader-panel {\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733); }\n.hi-v4-cascader-search {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 10px 10px;\n position: relative; }\n.hi-v4-cascader-search .hi-v4-input__prefix {\n font-size: 16px;\n padding-left: 0; }\n.hi-v4-cascader-search__empty {\n display: inline-block;\n margin-top: 20px;\n font-size: 14px;\n font-weight: 400;\n color: #999;\n line-height: 20px; }\n.hi-v4-cascader-menu-list {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow-x: auto; }\n.hi-v4-cascader-menu-list--flatted .hi-v4-cascader-menu {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%; }\n.hi-v4-cascader-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none;\n width: auto;\n box-sizing: border-box;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: inline-block;\n min-width: 140px;\n max-height: 260px;\n overflow: auto;\n padding: 4px 8px;\n border-right: 1px solid #ebedf0;\n border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }\n.hi-v4-cascader-menu:last-of-type {\n border: none; }\n.hi-v4-cascader-menu-item {\n width: 100%;\n padding: 4px 0;\n padding: var(--hi-v4-spacing-2, 4px) 0;\n position: relative;\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex; }\n.hi-v4-cascader-menu-option {\n padding: 0 8px;\n padding: 0 var(--hi-v4-spacing-4, 8px);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n height: 32px;\n width: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n position: relative;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px); }\n.hi-v4-cascader-menu-option:hover {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--selected {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe);\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--selected .hi-v4-cascader-menu-switcher {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-option--focused {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-cascader-menu-option--checked {\n font-weight: 700; }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--disabled {\n cursor: not-allowed;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6);\n background: transparent; }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--disabled .hi-v4-cascader-menu-switcher {\n color: #c9ced6;\n color: var(--hi-v4-color-gray-400, #c9ced6); }\n.hi-v4-cascader-menu .title__text {\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1; }\n.hi-v4-cascader-menu .title__text--cols {\n display: block;\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none; }\n.hi-v4-cascader-menu .title__text--col {\n display: inline-block; }\n.hi-v4-cascader-menu .title__text--col::after {\n content: '\\00a0/\\00a0'; }\n.hi-v4-cascader-menu .title__text--col:last-child::after {\n content: none; }\n.hi-v4-cascader-menu .title__text--matched {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-switcher {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 16px;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-cascader-menu-switcher--loading {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-switcher--arrow {\n -webkit-transform: rotate(-90deg);\n transform: rotate(-90deg); }\n.hi-v4-cascader__icon--loading {\n display: inline-block;\n width: 1em;\n height: 1em;\n stroke: none;\n cursor: default;\n fill: currentColor; }\n.hi-v4-cascader__icon--loading svg {\n -webkit-animation-name: hi-rotate;\n animation-name: hi-rotate;\n -webkit-animation-duration: 2s;\n animation-duration: 2s;\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite; }\n@-webkit-keyframes rotate {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n@keyframes rotate {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n";
|
16
16
|
|
17
17
|
var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
|
18
18
|
|
package/lib/cjs/use-cascader.js
CHANGED
@@ -19,18 +19,16 @@ var React = require('react');
|
|
19
19
|
|
20
20
|
var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
21
21
|
|
22
|
-
var index = require('./
|
22
|
+
var index = require('./hooks/use-cache/lib/esm/index.js');
|
23
23
|
|
24
|
-
var
|
24
|
+
var index$1 = require('./utils/index.js');
|
25
25
|
|
26
26
|
var useSelect = require('./hooks/use-select.js');
|
27
27
|
|
28
|
-
var useCache = require('./hooks/use-cache.js');
|
29
|
-
|
30
28
|
var useAsyncSwitch = require('./hooks/use-async-switch.js');
|
31
29
|
|
32
30
|
var NOOP_ARRAY = [];
|
33
|
-
var NOOP_VALUE =
|
31
|
+
var NOOP_VALUE = [];
|
34
32
|
|
35
33
|
var useCascader = function useCascader(_a) {
|
36
34
|
var _a$defaultValue = _a.defaultValue,
|
@@ -44,54 +42,46 @@ var useCascader = function useCascader(_a) {
|
|
44
42
|
_a$changeOnSelect = _a.changeOnSelect,
|
45
43
|
changeOnSelect = _a$changeOnSelect === void 0 ? false : _a$changeOnSelect,
|
46
44
|
_a$flatted = _a.flatted,
|
47
|
-
|
48
|
-
|
49
|
-
upMatch = _a$upMatch === void 0 ? false : _a$upMatch,
|
50
|
-
_a$expandTrigger = _a.expandTrigger,
|
51
|
-
expandTrigger = _a$expandTrigger === void 0 ? 'click' : _a$expandTrigger,
|
52
|
-
_a$emptyContent = _a.emptyContent,
|
53
|
-
emptyContent = _a$emptyContent === void 0 ? '无匹配选项' : _a$emptyContent,
|
54
|
-
placeholder = _a.placeholder,
|
55
|
-
searchPlaceholder = _a.searchPlaceholder,
|
56
|
-
onSelect = _a.onSelect,
|
57
|
-
titleRender = _a.titleRender,
|
58
|
-
displayRender = _a.displayRender,
|
45
|
+
flatted = _a$flatted === void 0 ? false : _a$flatted,
|
46
|
+
onSelectProp = _a.onSelect,
|
59
47
|
onLoadChildren = _a.onLoadChildren,
|
60
48
|
cascaderDataProp = _a.cascaderData,
|
61
49
|
setCascaderDataProp = _a.setCascaderData,
|
62
50
|
flattedDataProp = _a.flattedData,
|
63
|
-
|
64
|
-
inSearchProp = _a.inSearch,
|
65
|
-
rest = tslib.__rest(_a, ["defaultValue", "value", "onChange", "data", "disabled", "changeOnSelect", "flatted", "upMatch", "expandTrigger", "emptyContent", "placeholder", "searchPlaceholder", "onSelect", "titleRender", "displayRender", "onLoadChildren", "cascaderData", "setCascaderData", "flattedData", "matchedItems", "inSearch"]);
|
51
|
+
rest = tslib.__rest(_a, ["defaultValue", "value", "onChange", "data", "disabled", "changeOnSelect", "flatted", "onSelect", "onLoadChildren", "cascaderData", "setCascaderData", "flattedData"]);
|
66
52
|
|
67
|
-
var _useCache =
|
53
|
+
var _useCache = index.useCache(data),
|
68
54
|
cacheData = _useCache[0],
|
69
55
|
setCacheData = _useCache[1];
|
70
56
|
|
71
57
|
var cascaderData = cascaderDataProp !== null && cascaderDataProp !== void 0 ? cascaderDataProp : cacheData;
|
72
58
|
var setCascaderData = setCascaderDataProp !== null && setCascaderDataProp !== void 0 ? setCascaderDataProp : setCacheData;
|
73
59
|
var flattedData = React.useMemo(function () {
|
74
|
-
return flattedDataProp !== null && flattedDataProp !== void 0 ? flattedDataProp : index.flattenTreeData(cascaderData);
|
60
|
+
return flattedDataProp !== null && flattedDataProp !== void 0 ? flattedDataProp : index$1.flattenTreeData(cascaderData);
|
75
61
|
}, [cascaderData, flattedDataProp]);
|
76
62
|
|
77
63
|
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChangeProp),
|
78
64
|
value = _useUncontrolledState[0],
|
79
65
|
tryChangeValue = _useUncontrolledState[1];
|
80
66
|
|
81
|
-
var
|
82
|
-
tryChangeValue(
|
83
|
-
|
84
|
-
|
67
|
+
var onSelect = function onSelect(value, item, itemPaths) {
|
68
|
+
tryChangeValue(itemPaths.map(function (_ref) {
|
69
|
+
var id = _ref.id;
|
70
|
+
return id;
|
71
|
+
}));
|
72
|
+
onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(value, item, itemPaths);
|
73
|
+
}; // 单击选中某项
|
74
|
+
|
85
75
|
|
86
|
-
var _useSelect = useSelect.useSelect(disabled,
|
76
|
+
var _useSelect = useSelect.useSelect(disabled, onSelect, changeOnSelect, onLoadChildren),
|
87
77
|
selectedId = _useSelect[0],
|
88
78
|
onOptionSelect = _useSelect[1],
|
89
79
|
setSelectedId = _useSelect[2]; // 选中 id 路径
|
90
80
|
|
91
81
|
|
92
82
|
var selectedIds = React.useMemo(function () {
|
93
|
-
return index.getActiveNodePaths(flattedData, selectedId).map(function (
|
94
|
-
var id =
|
83
|
+
return index$1.getActiveNodePaths(flattedData, selectedId).map(function (_ref2) {
|
84
|
+
var id = _ref2.id;
|
95
85
|
return id;
|
96
86
|
});
|
97
87
|
}, [flattedData, selectedId]); // 存在异步加载数据的情况时,单击选中时需要控制异步加载状态
|
@@ -105,30 +95,14 @@ var useCascader = function useCascader(_a) {
|
|
105
95
|
onItemExpand(option, true);
|
106
96
|
}, [onItemExpand]);
|
107
97
|
var isCanLoadChildren = React.useCallback(function (option) {
|
108
|
-
return index.checkCanLoadChildren(option, onLoadChildren);
|
98
|
+
return index$1.checkCanLoadChildren(option, onLoadChildren);
|
109
99
|
}, [onLoadChildren]);
|
110
|
-
|
111
|
-
var _useSearch = useSearch.useSearch(flattedData, upMatch, isCanLoadChildren),
|
112
|
-
inSearchInner = _useSearch[0],
|
113
|
-
matchedItemsInner = _useSearch[1],
|
114
|
-
inputProps = _useSearch[2],
|
115
|
-
isEmpty = _useSearch[3],
|
116
|
-
resetSearch = _useSearch[4];
|
117
|
-
|
118
|
-
var inSearch = inSearchProp !== null && inSearchProp !== void 0 ? inSearchProp : inSearchInner;
|
119
|
-
var matchedItems = matchedItemsProp !== null && matchedItemsProp !== void 0 ? matchedItemsProp : matchedItemsInner;
|
120
100
|
var menuList = React.useMemo(function () {
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
}, [inSearch, flattedProp, matchedItems, flattedData, selectedId, isCanLoadChildren]); // 搜索的结果列表也采用 flatted 模式进行展示
|
127
|
-
|
128
|
-
var flatted = flattedProp || inSearch;
|
129
|
-
var getCascaderItemRequiredProps = React.useCallback(function (_ref2) {
|
130
|
-
var id = _ref2.id,
|
131
|
-
depth = _ref2.depth;
|
101
|
+
return flatted ? index$1.getFlattedMenus(flattedData, isCanLoadChildren) : index$1.getActiveMenus(flattedData, selectedId);
|
102
|
+
}, [flatted, flattedData, selectedId, isCanLoadChildren]);
|
103
|
+
var getCascaderItemRequiredProps = React.useCallback(function (_ref3) {
|
104
|
+
var id = _ref3.id,
|
105
|
+
depth = _ref3.depth;
|
132
106
|
return {
|
133
107
|
selected: flatted ? selectedId === id : selectedIds[depth] === id,
|
134
108
|
loading: isLoadingId(id),
|
@@ -136,17 +110,9 @@ var useCascader = function useCascader(_a) {
|
|
136
110
|
focused: false
|
137
111
|
};
|
138
112
|
}, [flatted, selectedId, selectedIds, isLoadingId]);
|
139
|
-
var getSearchInputProps = React.useCallback(function () {
|
140
|
-
return {
|
141
|
-
placeholder: searchPlaceholder,
|
142
|
-
value: inputProps.value,
|
143
|
-
onChange: inputProps.onChange
|
144
|
-
};
|
145
|
-
}, [searchPlaceholder, inputProps]);
|
146
113
|
var reset = React.useCallback(function () {
|
147
|
-
|
148
|
-
|
149
|
-
}, [setSelectedId, value, resetSearch]);
|
114
|
+
setSelectedId(value[value.length - 1]);
|
115
|
+
}, [setSelectedId, value]);
|
150
116
|
return {
|
151
117
|
rootProps: rest,
|
152
118
|
reset: reset,
|
@@ -154,21 +120,13 @@ var useCascader = function useCascader(_a) {
|
|
154
120
|
value: value,
|
155
121
|
tryChangeValue: tryChangeValue,
|
156
122
|
getCascaderItemRequiredProps: getCascaderItemRequiredProps,
|
157
|
-
expandTrigger: expandTrigger,
|
158
123
|
flatted: flatted,
|
159
124
|
onItemClick: onItemExpand,
|
160
125
|
onItemHover: onItemHover,
|
161
126
|
changeOnSelect: changeOnSelect,
|
162
127
|
onLoadChildren: onLoadChildren,
|
163
|
-
keyword: inputProps.value,
|
164
128
|
disabled: disabled,
|
165
|
-
menuList: menuList
|
166
|
-
isEmpty: isEmpty,
|
167
|
-
placeholder: placeholder,
|
168
|
-
displayRender: displayRender,
|
169
|
-
titleRender: titleRender,
|
170
|
-
emptyContent: emptyContent,
|
171
|
-
getSearchInputProps: getSearchInputProps
|
129
|
+
menuList: menuList
|
172
130
|
};
|
173
131
|
};
|
174
132
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-cascader.js","sources":["../../src/use-cascader.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCascader","_a","defaultValue","valueProp","value","onChangeProp","onChange","data","disabled","changeOnSelect","flatted","
|
1
|
+
{"version":3,"file":"use-cascader.js","sources":["../../src/use-cascader.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCascader","_a","defaultValue","valueProp","value","onChangeProp","onChange","data","disabled","changeOnSelect","flatted","onSelectProp","onSelect","onLoadChildren","cascaderDataProp","cascaderData","setCascaderDataProp","setCascaderData","flattedDataProp","flattedData","rest","useCache","cacheData","setCacheData","useMemo","flattenTreeData","useUncontrolledState","tryChangeValue","item","itemPaths","map","id","useSelect","selectedId","onOptionSelect","setSelectedId","selectedIds","getActiveNodePaths","useAsyncSwitch","isLoadingId","onItemExpand","onItemHover","useCallback","option","isCanLoadChildren","checkCanLoadChildren","menuList","getFlattedMenus","getActiveMenus","getCascaderItemRequiredProps","depth","selected","loading","focused","reset","length","rootProps","onItemClick"],"mappings":"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"}
|
package/lib/cjs/utils/index.js
CHANGED
@@ -14,6 +14,8 @@ Object.defineProperty(exports, '__esModule', {
|
|
14
14
|
});
|
15
15
|
|
16
16
|
var treeUtils = require('@hi-ui/tree-utils');
|
17
|
+
|
18
|
+
var typeAssertion = require('@hi-ui/type-assertion');
|
17
19
|
/**
|
18
20
|
* 扁平化树数据结构,基于前序遍历
|
19
21
|
*/
|
@@ -34,14 +36,6 @@ var flattenTreeData = function flattenTreeData(treeData) {
|
|
34
36
|
return flattedNode;
|
35
37
|
});
|
36
38
|
};
|
37
|
-
/**
|
38
|
-
* 获取自顶向下的祖先节点,包括自己
|
39
|
-
*/
|
40
|
-
|
41
|
-
|
42
|
-
var getTopDownAncestors = function getTopDownAncestors(node) {
|
43
|
-
return treeUtils.getNodeAncestorsWithMe(node).reverse();
|
44
|
-
};
|
45
39
|
/**
|
46
40
|
* 获取选中节点的节点路径,包含选中节点
|
47
41
|
*/
|
@@ -54,7 +48,7 @@ var getActiveNodePaths = function getActiveNodePaths(flattedData, selectedId) {
|
|
54
48
|
return selectedId === id;
|
55
49
|
});
|
56
50
|
if (!selectedOption) return [];
|
57
|
-
return getTopDownAncestors(selectedOption);
|
51
|
+
return treeUtils.getTopDownAncestors(selectedOption);
|
58
52
|
};
|
59
53
|
/**
|
60
54
|
* 获取自顶向下的兄弟节点列表菜单
|
@@ -93,8 +87,8 @@ var getFlattedMenus = function getFlattedMenus(data, filter) {
|
|
93
87
|
};
|
94
88
|
|
95
89
|
var checkCanLoadChildren = function checkCanLoadChildren(node, onLoadChildren) {
|
96
|
-
var hasChildren =
|
97
|
-
return hasChildren || onLoadChildren && !node.
|
90
|
+
var hasChildren = typeAssertion.isArrayNonEmpty(node.children);
|
91
|
+
return hasChildren || onLoadChildren && !node.isLeaf && !node.children;
|
98
92
|
};
|
99
93
|
|
100
94
|
function getCascaderItemEventData(node, requiredProps) {
|
@@ -107,5 +101,4 @@ exports.getActiveMenus = getActiveMenus;
|
|
107
101
|
exports.getActiveNodePaths = getActiveNodePaths;
|
108
102
|
exports.getCascaderItemEventData = getCascaderItemEventData;
|
109
103
|
exports.getFlattedMenus = getFlattedMenus;
|
110
|
-
exports.getTopDownAncestors = getTopDownAncestors;
|
111
104
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","flattenTree","node","flattedNode","raw","title","isLeaf","disabled","
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","flattenTree","node","flattedNode","raw","title","isLeaf","disabled","getActiveNodePaths","flattedData","selectedId","length","selectedOption","find","id","getTopDownAncestors","getActiveMenus","root","parent","menu","children","push","reverse","getFlattedMenus","data","filter","item","checkCanLoadChildren","onLoadChildren","hasChildren","isArrayNonEmpty","getCascaderItemEventData","requiredProps"],"mappings":";;;;;;;;;;;;;;;;;;AAUA;;;;;IAGaA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD;SACtBC,qBAAAA,CAA0BD,QAA1BC,EAAoC,UAACC,IAAD;QACnCC,WAAW,GAAwBD;oBACWA,IAAI,CAACE;QAAjDC,KAAR,aAAQA;qCAAOC;QAAAA,MAAf,iCAAwB;uCAAOC;QAAAA,QAA/B,mCAA0C;AAC1CJ,IAAAA,WAAW,CAACE,KAAZF,GAAoBE,KAApBF;AACAA,IAAAA,WAAW,CAACG,MAAZH,GAAqBG,MAArBH;AACAA,IAAAA,WAAW,CAACI,QAAZJ,GAAuBI,QAAvBJ;WACOA;AANS,GAAXF;;AAUT;;;;;IAGaO,kBAAkB,GAAG,SAArBA,kBAAqB,CAChCC,WADgC,EAEhCC,UAFgC;MAI5BD,WAAW,CAACE,MAAZF,KAAuB,GAAG,OAAO,EAAP;MAExBG,cAAc,GAAGH,WAAW,CAACI,IAAZJ,CAAiB,cAAA;QAAGK,EAAH,QAAGA;WAASJ,UAAU,KAAKI;AAA5C,GAAAL;MACnB,CAACG,gBAAgB,OAAO,EAAP;SAEdG,6BAAAA,CAAoBH,cAApBG;;AAGT;;;;;IAGaC,cAAc,GAAG,SAAjBA,cAAiB,CAC5BP,WAD4B,EAE5BC,UAF4B;MAIxBD,WAAW,CAACE,MAAZF,KAAuB,GAAG,OAAO,EAAP;MAExBQ,IAAI,GAAGR,WAAW,CAAC,CAAD,CAAXA,CAAeS;MACxBC,IAAI,GAA4B,CAACF,IAAK,CAACG,QAAP;MAEhC,OAAOV,UAAP,KAAsB,aAAa,OAAOS,IAAP;MAEnCP,cAAc,GAAGH,WAAW,CAACI,IAAZJ,CAAiB,eAAA;QAAGK,EAAH,SAAGA;WAASJ,UAAU,KAAKI;AAA5C,GAAAL;MACjB,CAACG,gBAAgB,OAAOO,IAAP;;MAEjBP,cAAc,CAACQ,UAAU;AAC3BD,IAAAA,IAAI,GAAG,CAACP,cAAc,CAACQ,QAAhB,CAAPD;AADF,SAEO;AACLA,IAAAA,IAAI,GAAG,EAAPA;;;SAGKP,cAAc,CAACM,QAAQ;AAC5BC,IAAAA,IAAI,CAACE,IAALF,CAAUP,cAAc,CAACM,MAAfN,CAAsBQ,QAAhCD;AACAP,IAAAA,cAAc,GAAGA,cAAc,CAACM,MAAhCN;;;SAGKO,IAAI,CAACG,OAALH;;;IAGII,eAAe,GAAG,SAAlBA,eAAkB,CAC7BC,IAD6B,EAE7BC,MAF6B;SAItB,CAACD,IAAI,CAACC,MAALD,CAAY,UAACE,IAAD;WAAU,CAACD,MAAM,CAACC,IAAD;AAA7B,GAAAF,CAAD;;;IAGIG,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACzB,IAAD,EAA4B0B,cAA5B;MAC5BC,WAAW,GAAGC,6BAAAA,CAAgB5B,IAAI,CAACkB,QAArBU;SACbD,WAAW,IAAKD,cAAc,IAAI,CAAC1B,IAAI,CAACI,MAAxBsB,IAAkC,CAAC1B,IAAI,CAACkB;;;SAGjDW,yBACd7B,MACA8B;yCAGK9B,OACA8B;;;;;;;;"}
|