feat(node-toolbar): allow multiple nodeIds as property to enable multi selection

This commit is contained in:
Christopher Möller
2022-11-24 12:51:17 +01:00
parent 6bbc004315
commit d4b00452a0
4 changed files with 40 additions and 10 deletions
@@ -0,0 +1,13 @@
import { NodeToolbar, useNodes } from 'reactflow';
export default function SelectedNodesToolbar() {
const nodes = useNodes();
const selectedNodeIds = nodes.filter((node) => node.selected).map((node) => node.id);
const isVisible = selectedNodeIds.length > 1;
return (
<NodeToolbar nodeId={selectedNodeIds} isVisible={isVisible}>
<button>Group selected nodes</button>
</NodeToolbar>
);
}
@@ -11,6 +11,7 @@ import ReactFlow, {
} from 'reactflow';
import CustomNode from './CustomNode';
import SelectedNodesToolbar from './SelectedNodesToolbar';
const nodeTypes: NodeTypes = {
custom: CustomNode,
@@ -79,6 +80,7 @@ export default function NodeToolbarExample() {
<Background variant={BackgroundVariant.Dots} />
<MiniMap />
<Controls />
<SelectedNodesToolbar />
</ReactFlow>
);
}