acud 1.0.21 → 1.0.23
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 +148 -0
- package/dist/acud.css +543 -246
- package/dist/acud.css.map +1 -1
- package/dist/acud.js +18653 -17994
- package/dist/acud.js.map +1 -1
- package/dist/acud.min.css +1 -1
- package/dist/acud.min.css.map +1 -1
- package/dist/acud.min.js +11 -11
- package/dist/acud.min.js.map +1 -1
- package/es/avatar/SizeContext.d.ts +10 -0
- package/es/avatar/SizeContext.js +12 -0
- package/es/avatar/avatar.d.ts +25 -0
- package/es/avatar/avatar.js +206 -0
- package/es/avatar/group.d.ts +15 -0
- package/es/avatar/group.js +64 -0
- package/es/avatar/index.d.ts +11 -0
- package/es/avatar/index.js +6 -0
- package/es/avatar/style/css.js +5 -0
- package/es/avatar/style/group.less +17 -0
- package/es/avatar/style/index.css +108 -0
- package/es/avatar/style/index.d.ts +3 -0
- package/es/avatar/style/index.js +5 -0
- package/es/avatar/style/index.less +68 -0
- package/es/avatar/style/rtl.less +15 -0
- package/es/divider/index.d.ts +14 -0
- package/es/divider/index.js +63 -0
- package/es/divider/style/css.js +2 -0
- package/es/divider/style/index.css +126 -0
- package/es/divider/style/index.d.ts +2 -0
- package/es/divider/style/index.js +2 -0
- package/es/divider/style/index.less +137 -0
- package/es/divider/style/rtl.less +38 -0
- package/es/dropdown/style/index.css +4 -4
- package/es/dropdown/style/index.less +5 -5
- package/es/grid/hooks/useBreakpoint.d.ts +1 -1
- package/es/grid/hooks/useBreakpoint.js +11 -9
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/es/menu/style/index.css +16 -12
- package/es/menu/style/index.less +5 -3
- package/es/menu/style/sider.less +2 -0
- package/es/modal/DialogBox.d.ts +2 -2
- package/es/modal/DialogBox.js +3 -2
- package/es/pagination/rc-pagination/Pagination.js +0 -1
- package/es/style/themes/default/components/avatar.less +13 -0
- package/es/style/themes/default/components/divider.less +6 -0
- package/es/style/themes/default/components/index.less +2 -0
- package/es/table/style/index.css +4 -3
- package/es/table/style/index.less +4 -0
- package/es/tag/style/index.css +46 -0
- package/es/tag/style/index.less +37 -0
- package/es/tree-select/index.d.ts +4 -4
- package/es/tree-select/index.js +1 -1
- package/es/tree-select/src/LegacyContext.d.ts +24 -0
- package/es/tree-select/src/LegacyContext.js +3 -0
- package/es/tree-select/src/OptionList.d.ts +8 -0
- package/es/tree-select/src/OptionList.js +338 -0
- package/es/tree-select/src/TreeNode.d.ts +9 -0
- package/es/tree-select/src/TreeNode.js +6 -0
- package/es/tree-select/src/TreeSelect.d.ts +122 -0
- package/es/tree-select/src/TreeSelect.js +534 -0
- package/es/tree-select/src/TreeSelectContext.d.ts +16 -0
- package/es/tree-select/src/TreeSelectContext.js +3 -0
- package/es/tree-select/src/hooks/useCache.d.ts +7 -0
- package/es/tree-select/src/hooks/useCache.js +29 -0
- package/es/tree-select/src/hooks/useCheckedKeys.d.ts +5 -0
- package/es/tree-select/src/hooks/useCheckedKeys.js +29 -0
- package/es/tree-select/src/hooks/useDataEntities.d.ts +7 -0
- package/es/tree-select/src/hooks/useDataEntities.js +30 -0
- package/es/tree-select/src/hooks/useFilterTreeData.d.ts +7 -0
- package/es/tree-select/src/hooks/useFilterTreeData.js +49 -0
- package/es/tree-select/src/hooks/useRefFunc.d.ts +5 -0
- package/es/tree-select/src/hooks/useRefFunc.js +14 -0
- package/es/tree-select/src/hooks/useTreeData.d.ts +8 -0
- package/es/tree-select/src/hooks/useTreeData.js +55 -0
- package/es/tree-select/src/index.d.ts +7 -0
- package/es/tree-select/src/index.js +9 -0
- package/es/tree-select/src/interface.d.ts +77 -0
- package/es/tree-select/src/interface.js +1 -0
- package/es/tree-select/src/utils/legacyUtil.d.ts +6 -0
- package/es/tree-select/src/utils/legacyUtil.js +144 -0
- package/es/tree-select/src/utils/strategyUtil.d.ts +9 -0
- package/es/tree-select/src/utils/strategyUtil.js +40 -0
- package/es/tree-select/src/utils/valueUtil.d.ts +14 -0
- package/es/tree-select/src/utils/valueUtil.js +46 -0
- package/es/tree-select/src/utils/warningPropsUtil.d.ts +5 -0
- package/es/tree-select/src/utils/warningPropsUtil.js +31 -0
- package/es/tree-select/style/index.css +10 -0
- package/es/tree-select/style/index.less +11 -0
- package/lib/avatar/SizeContext.d.ts +10 -0
- package/lib/avatar/SizeContext.js +26 -0
- package/lib/avatar/avatar.d.ts +25 -0
- package/lib/avatar/avatar.js +233 -0
- package/lib/avatar/group.d.ts +15 -0
- package/lib/avatar/group.js +88 -0
- package/lib/avatar/index.d.ts +11 -0
- package/lib/avatar/index.js +23 -0
- package/lib/avatar/style/css.js +7 -0
- package/lib/avatar/style/group.less +17 -0
- package/lib/avatar/style/index.css +108 -0
- package/lib/avatar/style/index.d.ts +3 -0
- package/lib/avatar/style/index.js +7 -0
- package/lib/avatar/style/index.less +68 -0
- package/lib/avatar/style/rtl.less +15 -0
- package/lib/divider/index.d.ts +14 -0
- package/lib/divider/index.js +74 -0
- package/lib/divider/style/css.js +5 -0
- package/lib/divider/style/index.css +126 -0
- package/lib/divider/style/index.d.ts +2 -0
- package/lib/divider/style/index.js +5 -0
- package/lib/divider/style/index.less +137 -0
- package/lib/divider/style/rtl.less +38 -0
- package/lib/dropdown/style/index.css +4 -4
- package/lib/dropdown/style/index.less +5 -5
- package/lib/grid/hooks/useBreakpoint.d.ts +1 -1
- package/lib/grid/hooks/useBreakpoint.js +11 -9
- package/lib/index.d.ts +2 -0
- package/lib/index.js +16 -0
- package/lib/menu/style/index.css +16 -12
- package/lib/menu/style/index.less +5 -3
- package/lib/menu/style/sider.less +2 -0
- package/lib/modal/DialogBox.d.ts +2 -2
- package/lib/modal/DialogBox.js +3 -2
- package/lib/pagination/rc-pagination/Pagination.js +0 -1
- package/lib/style/components.less +2 -0
- package/lib/style/themes/default/components/avatar.less +13 -0
- package/lib/style/themes/default/components/divider.less +6 -0
- package/lib/style/themes/default/components/index.less +2 -0
- package/lib/table/style/index.css +4 -3
- package/lib/table/style/index.less +4 -0
- package/lib/tag/style/index.css +46 -0
- package/lib/tag/style/index.less +37 -0
- package/lib/tree-select/index.d.ts +4 -4
- package/lib/tree-select/index.js +7 -7
- package/lib/tree-select/src/LegacyContext.d.ts +24 -0
- package/lib/tree-select/src/LegacyContext.js +18 -0
- package/lib/tree-select/src/OptionList.d.ts +8 -0
- package/lib/tree-select/src/OptionList.js +366 -0
- package/lib/tree-select/src/TreeNode.d.ts +9 -0
- package/lib/tree-select/src/TreeNode.js +14 -0
- package/lib/tree-select/src/TreeSelect.d.ts +122 -0
- package/lib/tree-select/src/TreeSelect.js +572 -0
- package/lib/tree-select/src/TreeSelectContext.d.ts +16 -0
- package/lib/tree-select/src/TreeSelectContext.js +18 -0
- package/lib/tree-select/src/hooks/useCache.d.ts +7 -0
- package/lib/tree-select/src/hooks/useCache.js +47 -0
- package/lib/tree-select/src/hooks/useCheckedKeys.d.ts +5 -0
- package/lib/tree-select/src/hooks/useCheckedKeys.js +49 -0
- package/lib/tree-select/src/hooks/useDataEntities.d.ts +7 -0
- package/lib/tree-select/src/hooks/useDataEntities.js +52 -0
- package/lib/tree-select/src/hooks/useFilterTreeData.d.ts +7 -0
- package/lib/tree-select/src/hooks/useFilterTreeData.js +70 -0
- package/lib/tree-select/src/hooks/useRefFunc.d.ts +5 -0
- package/lib/tree-select/src/hooks/useRefFunc.js +27 -0
- package/lib/tree-select/src/hooks/useTreeData.d.ts +8 -0
- package/lib/tree-select/src/hooks/useTreeData.js +71 -0
- package/lib/tree-select/src/index.d.ts +7 -0
- package/lib/tree-select/src/index.js +45 -0
- package/lib/tree-select/src/interface.d.ts +77 -0
- package/lib/tree-select/src/interface.js +5 -0
- package/lib/tree-select/src/utils/legacyUtil.d.ts +6 -0
- package/lib/tree-select/src/utils/legacyUtil.js +166 -0
- package/lib/tree-select/src/utils/strategyUtil.d.ts +9 -0
- package/lib/tree-select/src/utils/strategyUtil.js +53 -0
- package/lib/tree-select/src/utils/valueUtil.d.ts +14 -0
- package/lib/tree-select/src/utils/valueUtil.js +61 -0
- package/lib/tree-select/src/utils/warningPropsUtil.d.ts +5 -0
- package/lib/tree-select/src/utils/warningPropsUtil.js +43 -0
- package/lib/tree-select/style/index.css +10 -0
- package/lib/tree-select/style/index.less +11 -0
- package/package.json +1 -1
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var React = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
|
|
21
|
+
|
|
22
|
+
var _useMemo = _interopRequireDefault(require("rc-util/lib/hooks/useMemo"));
|
|
23
|
+
|
|
24
|
+
var _rcSelect = require("rc-select");
|
|
25
|
+
|
|
26
|
+
var _rcTree = _interopRequireDefault(require("rc-tree"));
|
|
27
|
+
|
|
28
|
+
var _checkbox = _interopRequireDefault(require("../../checkbox"));
|
|
29
|
+
|
|
30
|
+
var _LegacyContext = _interopRequireDefault(require("./LegacyContext"));
|
|
31
|
+
|
|
32
|
+
var _TreeSelectContext = _interopRequireDefault(require("./TreeSelectContext"));
|
|
33
|
+
|
|
34
|
+
var _valueUtil = require("./utils/valueUtil");
|
|
35
|
+
|
|
36
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
37
|
+
|
|
38
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
+
|
|
40
|
+
var HIDDEN_STYLE = {
|
|
41
|
+
width: 0,
|
|
42
|
+
height: 0,
|
|
43
|
+
display: 'flex',
|
|
44
|
+
overflow: 'hidden',
|
|
45
|
+
opacity: 0,
|
|
46
|
+
border: 0,
|
|
47
|
+
padding: 0,
|
|
48
|
+
margin: 0
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
var OptionList = function OptionList(_, ref) {
|
|
52
|
+
var _useBaseProps = (0, _rcSelect.useBaseProps)(),
|
|
53
|
+
prefixCls = _useBaseProps.prefixCls,
|
|
54
|
+
multiple = _useBaseProps.multiple,
|
|
55
|
+
searchValue = _useBaseProps.searchValue,
|
|
56
|
+
toggleOpen = _useBaseProps.toggleOpen,
|
|
57
|
+
open = _useBaseProps.open,
|
|
58
|
+
notFoundContent = _useBaseProps.notFoundContent;
|
|
59
|
+
|
|
60
|
+
var _React$useContext = React.useContext(_TreeSelectContext["default"]),
|
|
61
|
+
virtual = _React$useContext.virtual,
|
|
62
|
+
listHeight = _React$useContext.listHeight,
|
|
63
|
+
listItemHeight = _React$useContext.listItemHeight,
|
|
64
|
+
treeData = _React$useContext.treeData,
|
|
65
|
+
fieldNames = _React$useContext.fieldNames,
|
|
66
|
+
onSelect = _React$useContext.onSelect,
|
|
67
|
+
triggerChange = _React$useContext.triggerChange,
|
|
68
|
+
dropdownMatchSelectWidth = _React$useContext.dropdownMatchSelectWidth,
|
|
69
|
+
treeExpandAction = _React$useContext.treeExpandAction;
|
|
70
|
+
|
|
71
|
+
var _React$useContext2 = React.useContext(_LegacyContext["default"]),
|
|
72
|
+
checkable = _React$useContext2.checkable,
|
|
73
|
+
checkedKeys = _React$useContext2.checkedKeys,
|
|
74
|
+
halfCheckedKeys = _React$useContext2.halfCheckedKeys,
|
|
75
|
+
treeExpandedKeys = _React$useContext2.treeExpandedKeys,
|
|
76
|
+
treeDefaultExpandAll = _React$useContext2.treeDefaultExpandAll,
|
|
77
|
+
treeDefaultExpandedKeys = _React$useContext2.treeDefaultExpandedKeys,
|
|
78
|
+
onTreeExpand = _React$useContext2.onTreeExpand,
|
|
79
|
+
treeIcon = _React$useContext2.treeIcon,
|
|
80
|
+
showTreeIcon = _React$useContext2.showTreeIcon,
|
|
81
|
+
switcherIcon = _React$useContext2.switcherIcon,
|
|
82
|
+
treeLine = _React$useContext2.treeLine,
|
|
83
|
+
treeNodeFilterProp = _React$useContext2.treeNodeFilterProp,
|
|
84
|
+
loadData = _React$useContext2.loadData,
|
|
85
|
+
treeLoadedKeys = _React$useContext2.treeLoadedKeys,
|
|
86
|
+
treeMotion = _React$useContext2.treeMotion,
|
|
87
|
+
onTreeLoad = _React$useContext2.onTreeLoad,
|
|
88
|
+
keyEntities = _React$useContext2.keyEntities;
|
|
89
|
+
|
|
90
|
+
var treeRef = React.useRef();
|
|
91
|
+
var memoTreeData = (0, _useMemo["default"])(function () {
|
|
92
|
+
return treeData;
|
|
93
|
+
}, [open, treeData], function (prev, next) {
|
|
94
|
+
return next[0] && prev[1] !== next[1];
|
|
95
|
+
}); // ========================== Values ==========================
|
|
96
|
+
|
|
97
|
+
var mergedCheckedKeys = React.useMemo(function () {
|
|
98
|
+
if (!checkable) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return {
|
|
103
|
+
checked: checkedKeys,
|
|
104
|
+
halfChecked: halfCheckedKeys
|
|
105
|
+
};
|
|
106
|
+
}, [checkable, checkedKeys, halfCheckedKeys]); // ========================== Scroll ==========================
|
|
107
|
+
|
|
108
|
+
React.useEffect(function () {
|
|
109
|
+
var _a; // Single mode should scroll to current key
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
if (open && !multiple && checkedKeys.length) {
|
|
113
|
+
(_a = treeRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({
|
|
114
|
+
key: checkedKeys[0]
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}, [open]); // ========================== Search ==========================
|
|
118
|
+
|
|
119
|
+
var lowerSearchValue = String(searchValue).toLowerCase();
|
|
120
|
+
|
|
121
|
+
var filterTreeNode = function filterTreeNode(treeNode) {
|
|
122
|
+
if (!lowerSearchValue) {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return String(treeNode[treeNodeFilterProp]).toLowerCase().includes(lowerSearchValue);
|
|
127
|
+
}; // =========================== Keys ===========================
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
var _React$useState = React.useState(treeDefaultExpandedKeys),
|
|
131
|
+
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
|
|
132
|
+
expandedKeys = _React$useState2[0],
|
|
133
|
+
setExpandedKeys = _React$useState2[1];
|
|
134
|
+
|
|
135
|
+
var _React$useState3 = React.useState(null),
|
|
136
|
+
_React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
|
|
137
|
+
searchExpandedKeys = _React$useState4[0],
|
|
138
|
+
setSearchExpandedKeys = _React$useState4[1];
|
|
139
|
+
|
|
140
|
+
var mergedExpandedKeys = React.useMemo(function () {
|
|
141
|
+
if (treeExpandedKeys) {
|
|
142
|
+
return (0, _toConsumableArray2["default"])(treeExpandedKeys);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return searchValue ? searchExpandedKeys : expandedKeys;
|
|
146
|
+
}, [expandedKeys, searchExpandedKeys, treeExpandedKeys, searchValue]);
|
|
147
|
+
var allKeys = React.useMemo(function () {
|
|
148
|
+
return (0, _valueUtil.getAllKeys)(treeData, fieldNames);
|
|
149
|
+
}, [treeData, fieldNames]);
|
|
150
|
+
React.useEffect(function () {
|
|
151
|
+
if (searchValue) {
|
|
152
|
+
setSearchExpandedKeys(allKeys);
|
|
153
|
+
}
|
|
154
|
+
}, [searchValue]);
|
|
155
|
+
|
|
156
|
+
var onInternalExpand = function onInternalExpand(keys) {
|
|
157
|
+
setExpandedKeys(keys);
|
|
158
|
+
setSearchExpandedKeys(keys);
|
|
159
|
+
|
|
160
|
+
if (onTreeExpand) {
|
|
161
|
+
onTreeExpand(keys);
|
|
162
|
+
}
|
|
163
|
+
}; // ========================== Events ==========================
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
var onListMouseDown = function onListMouseDown(event) {
|
|
167
|
+
event.preventDefault();
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
var onInternalSelect = function onInternalSelect(__, info) {
|
|
171
|
+
var node = info.node;
|
|
172
|
+
|
|
173
|
+
if (checkable && (0, _valueUtil.isCheckDisabled)(node)) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
onSelect(node.key, {
|
|
178
|
+
selected: !checkedKeys.includes(node.key)
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
if (!multiple) {
|
|
182
|
+
toggleOpen(false);
|
|
183
|
+
}
|
|
184
|
+
}; // ========================= Keyboard =========================
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
var _React$useState5 = React.useState(null),
|
|
188
|
+
_React$useState6 = (0, _slicedToArray2["default"])(_React$useState5, 2),
|
|
189
|
+
activeKey = _React$useState6[0],
|
|
190
|
+
setActiveKey = _React$useState6[1];
|
|
191
|
+
|
|
192
|
+
var activeEntity = keyEntities[activeKey];
|
|
193
|
+
React.useImperativeHandle(ref, function () {
|
|
194
|
+
var _a;
|
|
195
|
+
|
|
196
|
+
return {
|
|
197
|
+
scrollTo: (_a = treeRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo,
|
|
198
|
+
onKeyDown: function onKeyDown(event) {
|
|
199
|
+
var _a;
|
|
200
|
+
|
|
201
|
+
var which = event.which;
|
|
202
|
+
|
|
203
|
+
switch (which) {
|
|
204
|
+
// >>> Arrow keys
|
|
205
|
+
case _KeyCode["default"].UP:
|
|
206
|
+
case _KeyCode["default"].DOWN:
|
|
207
|
+
case _KeyCode["default"].LEFT:
|
|
208
|
+
case _KeyCode["default"].RIGHT:
|
|
209
|
+
(_a = treeRef.current) === null || _a === void 0 ? void 0 : _a.onKeyDown(event);
|
|
210
|
+
break;
|
|
211
|
+
// >>> Select item
|
|
212
|
+
|
|
213
|
+
case _KeyCode["default"].ENTER:
|
|
214
|
+
{
|
|
215
|
+
if (activeEntity) {
|
|
216
|
+
var _ref = (activeEntity === null || activeEntity === void 0 ? void 0 : activeEntity.node) || {},
|
|
217
|
+
selectable = _ref.selectable,
|
|
218
|
+
value = _ref.value;
|
|
219
|
+
|
|
220
|
+
if (selectable !== false) {
|
|
221
|
+
onInternalSelect(null, {
|
|
222
|
+
node: {
|
|
223
|
+
key: activeKey
|
|
224
|
+
},
|
|
225
|
+
selected: !checkedKeys.includes(value)
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
// >>> Close
|
|
233
|
+
|
|
234
|
+
case _KeyCode["default"].ESC:
|
|
235
|
+
{
|
|
236
|
+
toggleOpen(false);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
onKeyUp: function onKeyUp() {}
|
|
241
|
+
};
|
|
242
|
+
});
|
|
243
|
+
var treeProps = {
|
|
244
|
+
fieldNames: fieldNames
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
if (treeLoadedKeys) {
|
|
248
|
+
treeProps.loadedKeys = treeLoadedKeys;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
if (mergedExpandedKeys) {
|
|
252
|
+
treeProps.expandedKeys = mergedExpandedKeys;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
var allDisabledCheckedKeys = React.useMemo(function () {
|
|
256
|
+
var adcKeys = [];
|
|
257
|
+
|
|
258
|
+
var loopTreeData = function loopTreeData(arr) {
|
|
259
|
+
arr.forEach(function (data) {
|
|
260
|
+
if (data.disabled && checkedKeys.includes(data.key)) {
|
|
261
|
+
adcKeys.push(data.key);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
if (data.children && Array.isArray(data.children)) {
|
|
265
|
+
loopTreeData(data.children);
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
loopTreeData(treeData);
|
|
271
|
+
return adcKeys;
|
|
272
|
+
}, [treeData, checkedKeys]);
|
|
273
|
+
var allAbleKeys = React.useMemo(function () {
|
|
274
|
+
var abKeys = [];
|
|
275
|
+
|
|
276
|
+
var loopTreeData = function loopTreeData(arr) {
|
|
277
|
+
arr.forEach(function (data) {
|
|
278
|
+
if (!data.disabled) {
|
|
279
|
+
abKeys.push(data.key);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
if (data.children && Array.isArray(data.children)) {
|
|
283
|
+
loopTreeData(data.children);
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
loopTreeData(treeData);
|
|
289
|
+
return abKeys;
|
|
290
|
+
}, [treeData]);
|
|
291
|
+
var allAbleCheckedKeys = React.useMemo(function () {
|
|
292
|
+
return checkedKeys.filter(function (key) {
|
|
293
|
+
return allAbleKeys.includes(key);
|
|
294
|
+
});
|
|
295
|
+
}, [allAbleKeys, checkedKeys]);
|
|
296
|
+
var selectAllStatus = React.useMemo(function () {
|
|
297
|
+
return {
|
|
298
|
+
all: allAbleKeys.length === allAbleCheckedKeys.length,
|
|
299
|
+
indeterminate: allAbleCheckedKeys.length > 0 && allAbleCheckedKeys.length !== allAbleKeys.length
|
|
300
|
+
};
|
|
301
|
+
}, [allAbleCheckedKeys, allAbleKeys]);
|
|
302
|
+
var hanldeCheckAll = React.useCallback(function () {
|
|
303
|
+
if (selectAllStatus.all) {
|
|
304
|
+
triggerChange((0, _toConsumableArray2["default"])(allDisabledCheckedKeys));
|
|
305
|
+
} else {
|
|
306
|
+
triggerChange([].concat((0, _toConsumableArray2["default"])(allDisabledCheckedKeys), (0, _toConsumableArray2["default"])(allAbleKeys)));
|
|
307
|
+
}
|
|
308
|
+
}, [selectAllStatus, allAbleKeys, allDisabledCheckedKeys]); // ========================== Render ==========================
|
|
309
|
+
|
|
310
|
+
if (memoTreeData.length === 0) {
|
|
311
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
312
|
+
role: "listbox",
|
|
313
|
+
className: "".concat(prefixCls, "-empty"),
|
|
314
|
+
onMouseDown: onListMouseDown
|
|
315
|
+
}, notFoundContent);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
319
|
+
onMouseDown: onListMouseDown
|
|
320
|
+
}, activeEntity && open && /*#__PURE__*/React.createElement("span", {
|
|
321
|
+
style: HIDDEN_STYLE,
|
|
322
|
+
"aria-live": "assertive"
|
|
323
|
+
}, activeEntity.node.value), multiple && /*#__PURE__*/React.createElement("div", {
|
|
324
|
+
className: "".concat(prefixCls, "-tree-select-all")
|
|
325
|
+
}, /*#__PURE__*/React.createElement(_checkbox["default"], {
|
|
326
|
+
checked: selectAllStatus.all,
|
|
327
|
+
indeterminate: selectAllStatus.indeterminate,
|
|
328
|
+
onClick: hanldeCheckAll
|
|
329
|
+
}, "\u5168\u9009")), /*#__PURE__*/React.createElement(_rcTree["default"], (0, _extends2["default"])({
|
|
330
|
+
ref: treeRef,
|
|
331
|
+
focusable: false,
|
|
332
|
+
prefixCls: "".concat(prefixCls, "-tree"),
|
|
333
|
+
treeData: memoTreeData,
|
|
334
|
+
height: listHeight,
|
|
335
|
+
itemHeight: listItemHeight,
|
|
336
|
+
virtual: virtual !== false && dropdownMatchSelectWidth !== false,
|
|
337
|
+
multiple: multiple,
|
|
338
|
+
icon: treeIcon,
|
|
339
|
+
showIcon: showTreeIcon,
|
|
340
|
+
switcherIcon: switcherIcon,
|
|
341
|
+
showLine: treeLine,
|
|
342
|
+
loadData: searchValue ? null : loadData,
|
|
343
|
+
motion: treeMotion,
|
|
344
|
+
activeKey: activeKey // We handle keys by out instead tree self
|
|
345
|
+
,
|
|
346
|
+
checkable: checkable,
|
|
347
|
+
checkStrictly: true,
|
|
348
|
+
checkedKeys: mergedCheckedKeys,
|
|
349
|
+
selectedKeys: !checkable ? checkedKeys : [],
|
|
350
|
+
defaultExpandAll: treeDefaultExpandAll
|
|
351
|
+
}, treeProps, {
|
|
352
|
+
// Proxy event out
|
|
353
|
+
onActiveChange: setActiveKey,
|
|
354
|
+
onSelect: onInternalSelect,
|
|
355
|
+
onCheck: onInternalSelect,
|
|
356
|
+
onExpand: onInternalExpand,
|
|
357
|
+
onLoad: onTreeLoad,
|
|
358
|
+
filterTreeNode: filterTreeNode,
|
|
359
|
+
expandAction: treeExpandAction
|
|
360
|
+
})));
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
var RefOptionList = /*#__PURE__*/React.forwardRef(OptionList);
|
|
364
|
+
RefOptionList.displayName = 'OptionList';
|
|
365
|
+
var _default = RefOptionList;
|
|
366
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import type { DataNode, Key } from './interface';
|
|
3
|
+
export interface TreeNodeProps extends Omit<DataNode, 'children'> {
|
|
4
|
+
value: Key;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/** This is a placeholder, not real render in dom */
|
|
8
|
+
declare const TreeNode: React.FC<TreeNodeProps>;
|
|
9
|
+
export default TreeNode;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
/** This is a placeholder, not real render in dom */
|
|
9
|
+
var TreeNode = function TreeNode() {
|
|
10
|
+
return null;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
var _default = TreeNode;
|
|
14
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { IconType } from 'rc-tree/lib/interface';
|
|
3
|
+
import type { ExpandAction } from 'rc-tree/lib/Tree';
|
|
4
|
+
import type { BaseSelectRef, BaseSelectPropsWithoutPrivate, SelectProps } from 'rc-select';
|
|
5
|
+
import TreeNode from './TreeNode';
|
|
6
|
+
import { SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './utils/strategyUtil';
|
|
7
|
+
import type { CheckedStrategy } from './utils/strategyUtil';
|
|
8
|
+
export declare type OnInternalSelect = (value: RawValueType, info: {
|
|
9
|
+
selected: boolean;
|
|
10
|
+
}) => void;
|
|
11
|
+
export declare type RawValueType = string | number;
|
|
12
|
+
export interface LabeledValueType {
|
|
13
|
+
key?: React.Key;
|
|
14
|
+
value?: RawValueType;
|
|
15
|
+
label?: React.ReactNode;
|
|
16
|
+
/** Only works on `treeCheckStrictly` */
|
|
17
|
+
halfChecked?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare type SelectSource = 'option' | 'selection' | 'input' | 'clear';
|
|
20
|
+
export declare type DraftValueType = RawValueType | LabeledValueType | (RawValueType | LabeledValueType)[];
|
|
21
|
+
/** @deprecated This is only used for legacy compatible. Not works on new code. */
|
|
22
|
+
export interface LegacyCheckedNode {
|
|
23
|
+
pos: string;
|
|
24
|
+
node: React.ReactElement;
|
|
25
|
+
children?: LegacyCheckedNode[];
|
|
26
|
+
}
|
|
27
|
+
export interface ChangeEventExtra {
|
|
28
|
+
/** @deprecated Please save prev value by control logic instead */
|
|
29
|
+
preValue: LabeledValueType[];
|
|
30
|
+
triggerValue: RawValueType;
|
|
31
|
+
/** @deprecated Use `onSelect` or `onDeselect` instead. */
|
|
32
|
+
selected?: boolean;
|
|
33
|
+
/** @deprecated Use `onSelect` or `onDeselect` instead. */
|
|
34
|
+
checked?: boolean;
|
|
35
|
+
/** @deprecated This prop not work as react node anymore. */
|
|
36
|
+
triggerNode: React.ReactElement;
|
|
37
|
+
/** @deprecated This prop not work as react node anymore. */
|
|
38
|
+
allCheckedNodes: LegacyCheckedNode[];
|
|
39
|
+
}
|
|
40
|
+
export interface FieldNames {
|
|
41
|
+
value?: string;
|
|
42
|
+
label?: string;
|
|
43
|
+
children?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface InternalFieldName extends Omit<FieldNames, 'label'> {
|
|
46
|
+
_title: string[];
|
|
47
|
+
}
|
|
48
|
+
export interface SimpleModeConfig {
|
|
49
|
+
id?: React.Key;
|
|
50
|
+
pId?: React.Key;
|
|
51
|
+
rootPId?: React.Key;
|
|
52
|
+
}
|
|
53
|
+
export interface BaseOptionType {
|
|
54
|
+
disabled?: boolean;
|
|
55
|
+
checkable?: boolean;
|
|
56
|
+
disableCheckbox?: boolean;
|
|
57
|
+
children?: BaseOptionType[];
|
|
58
|
+
[name: string]: any;
|
|
59
|
+
}
|
|
60
|
+
export interface DefaultOptionType extends BaseOptionType {
|
|
61
|
+
value?: RawValueType;
|
|
62
|
+
title?: React.ReactNode;
|
|
63
|
+
label?: React.ReactNode;
|
|
64
|
+
key?: React.Key;
|
|
65
|
+
children?: DefaultOptionType[];
|
|
66
|
+
}
|
|
67
|
+
export interface LegacyDataNode extends DefaultOptionType {
|
|
68
|
+
props: any;
|
|
69
|
+
}
|
|
70
|
+
export interface TreeSelectProps<ValueType = any, OptionType extends BaseOptionType = DefaultOptionType> extends Omit<BaseSelectPropsWithoutPrivate, 'mode'> {
|
|
71
|
+
prefixCls?: string;
|
|
72
|
+
id?: string;
|
|
73
|
+
value?: ValueType;
|
|
74
|
+
defaultValue?: ValueType;
|
|
75
|
+
onChange?: (value: ValueType, labelList: React.ReactNode[], extra: ChangeEventExtra) => void;
|
|
76
|
+
searchValue?: string;
|
|
77
|
+
/** @deprecated Use `searchValue` instead */
|
|
78
|
+
inputValue?: string;
|
|
79
|
+
onSearch?: (value: string) => void;
|
|
80
|
+
autoClearSearchValue?: boolean;
|
|
81
|
+
filterTreeNode?: boolean | ((inputValue: string, treeNode: DefaultOptionType) => boolean);
|
|
82
|
+
treeNodeFilterProp?: string;
|
|
83
|
+
onSelect?: SelectProps<ValueType, OptionType>['onSelect'];
|
|
84
|
+
onDeselect?: SelectProps<ValueType, OptionType>['onDeselect'];
|
|
85
|
+
showCheckedStrategy?: CheckedStrategy;
|
|
86
|
+
treeNodeLabelProp?: string;
|
|
87
|
+
fieldNames?: FieldNames;
|
|
88
|
+
multiple?: boolean;
|
|
89
|
+
treeCheckable?: boolean | React.ReactNode;
|
|
90
|
+
treeCheckStrictly?: boolean;
|
|
91
|
+
labelInValue?: boolean;
|
|
92
|
+
treeData?: OptionType[];
|
|
93
|
+
treeDataSimpleMode?: boolean | SimpleModeConfig;
|
|
94
|
+
loadData?: (dataNode: LegacyDataNode) => Promise<unknown>;
|
|
95
|
+
treeLoadedKeys?: React.Key[];
|
|
96
|
+
onTreeLoad?: (loadedKeys: React.Key[]) => void;
|
|
97
|
+
treeDefaultExpandAll?: boolean;
|
|
98
|
+
treeExpandedKeys?: React.Key[];
|
|
99
|
+
treeDefaultExpandedKeys?: React.Key[];
|
|
100
|
+
onTreeExpand?: (expandedKeys: React.Key[]) => void;
|
|
101
|
+
treeExpandAction?: ExpandAction;
|
|
102
|
+
virtual?: boolean;
|
|
103
|
+
listHeight?: number;
|
|
104
|
+
listItemHeight?: number;
|
|
105
|
+
onDropdownVisibleChange?: (open: boolean) => void;
|
|
106
|
+
treeLine?: boolean;
|
|
107
|
+
treeIcon?: IconType;
|
|
108
|
+
showTreeIcon?: boolean;
|
|
109
|
+
switcherIcon?: IconType;
|
|
110
|
+
treeMotion?: any;
|
|
111
|
+
}
|
|
112
|
+
declare const GenericTreeSelect: (<ValueType = any, OptionType extends DefaultOptionType | BaseOptionType = DefaultOptionType>(props: TreeSelectProps<ValueType, OptionType> & {
|
|
113
|
+
children?: React.ReactNode;
|
|
114
|
+
} & {
|
|
115
|
+
ref?: React.Ref<BaseSelectRef>;
|
|
116
|
+
}) => React.ReactElement) & {
|
|
117
|
+
TreeNode: typeof TreeNode;
|
|
118
|
+
SHOW_ALL: typeof SHOW_ALL;
|
|
119
|
+
SHOW_PARENT: typeof SHOW_PARENT;
|
|
120
|
+
SHOW_CHILD: typeof SHOW_CHILD;
|
|
121
|
+
};
|
|
122
|
+
export default GenericTreeSelect;
|