react-asc 18.5.0 → 18.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/TreeView/TreeNode.d.ts +1 -1
- package/components/TreeView/TreeView.d.ts +9 -2
- package/index.es.js +7 -5
- package/index.es.js.map +1 -1
- package/index.js +7 -5
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -2448,16 +2448,16 @@ const TimeSelect = (props) => {
|
|
|
2448
2448
|
};
|
|
2449
2449
|
|
|
2450
2450
|
const TreeNode = (props) => {
|
|
2451
|
-
const { id, label, level, hasChildren, isExpanded, isSelected,
|
|
2451
|
+
const { id, label, level, hasChildren, isExpanded, isSelected, onToggleExpand, onClickSelect } = props;
|
|
2452
2452
|
return (React__default['default'].createElement("li", { className: "tree-node", style: { paddingLeft: `${(48 * level) + (hasChildren ? 0 : 1) * 48}px` } },
|
|
2453
2453
|
hasChildren &&
|
|
2454
|
-
React__default['default'].createElement(IconButton, { onClick: () =>
|
|
2454
|
+
React__default['default'].createElement(IconButton, { onClick: () => onToggleExpand(id), icon: !isExpanded ? React__default['default'].createElement(ChevronRightSolidIcon, null) : React__default['default'].createElement(ChevronDownSolidIcon, null) }),
|
|
2455
2455
|
React__default['default'].createElement(Checkbox, { checked: isSelected, onChange: () => onClickSelect(id) }),
|
|
2456
2456
|
label));
|
|
2457
2457
|
};
|
|
2458
2458
|
|
|
2459
2459
|
const TreeView = (props) => {
|
|
2460
|
-
const { data, onSelect } = props;
|
|
2460
|
+
const { data, onSelect, onExpand, onCollapse } = props;
|
|
2461
2461
|
const [flattenData, setFlattenData] = React.useState([]);
|
|
2462
2462
|
const [expandedItems, setExpandedItems] = React.useState([]);
|
|
2463
2463
|
const [selectedItemIds, setSelectedItemIds] = React.useState([]);
|
|
@@ -2476,14 +2476,16 @@ const TreeView = (props) => {
|
|
|
2476
2476
|
React.useEffect(() => {
|
|
2477
2477
|
setFlattenData(flattenDeep(data));
|
|
2478
2478
|
}, [data]);
|
|
2479
|
-
const
|
|
2479
|
+
const handleOnToggleExpand = (item) => {
|
|
2480
2480
|
if (item.hasChildren) {
|
|
2481
2481
|
let newExpandedItems = [...expandedItems];
|
|
2482
2482
|
if (isExpanded(item.id)) {
|
|
2483
2483
|
newExpandedItems = collapseRecursive(item, [...expandedItems]);
|
|
2484
|
+
onCollapse && onCollapse(item.id);
|
|
2484
2485
|
}
|
|
2485
2486
|
else {
|
|
2486
2487
|
newExpandedItems.push(item);
|
|
2488
|
+
onExpand && onExpand(item.id);
|
|
2487
2489
|
}
|
|
2488
2490
|
setExpandedItems(newExpandedItems);
|
|
2489
2491
|
}
|
|
@@ -2524,7 +2526,7 @@ const TreeView = (props) => {
|
|
|
2524
2526
|
};
|
|
2525
2527
|
return (React__default['default'].createElement("ul", { className: "treeview" }, flattenData.map(item => {
|
|
2526
2528
|
return isItemVisible(item) &&
|
|
2527
|
-
React__default['default'].createElement(TreeNode, { key: item.id, id: item.id, label: item.label, level: item.level, parentId: item.parentId, isExpanded: isExpanded(item.id), isSelected: isSelected(item.id), hasChildren: item.hasChildren,
|
|
2529
|
+
React__default['default'].createElement(TreeNode, { key: item.id, id: item.id, label: item.label, level: item.level, parentId: item.parentId, isExpanded: isExpanded(item.id), isSelected: isSelected(item.id), hasChildren: item.hasChildren, onToggleExpand: () => handleOnToggleExpand(item), onClickSelect: () => handleNodeClickSelect(item) });
|
|
2528
2530
|
})));
|
|
2529
2531
|
};
|
|
2530
2532
|
|