feat: maximize minimized groups on double-click

Add double-click handler for minimized groups to quickly maximize them,
providing a faster alternative to using the context menu.

Implementation:
- Add handleNodeDoubleClick callback in GraphEditor
- Check if double-clicked node is a minimized group
- Call toggleGroupMinimized to maximize the group
- Wire handler to ReactFlow's onNodeDoubleClick prop

This improves UX by allowing users to quickly expand minimized groups
to see and edit individual relations within them.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jan-Henrik Bruhn 2025-10-21 11:47:58 +02:00
parent ace816f2a5
commit 59096a5644

View file

@ -822,6 +822,21 @@ const GraphEditor = ({ onNodeSelect, onEdgeSelect, onGroupSelect, onMultiSelect,
setContextMenu(null); // Close context menu if open
}, []);
// Handle node double-click - maximize minimized groups
const handleNodeDoubleClick = useCallback(
(_event: React.MouseEvent, node: Node) => {
// Check if this is a minimized group
if (node.type === 'group') {
const groupData = node.data as Group['data'];
if (groupData.minimized) {
// Toggle to maximize the group
toggleGroupMinimized(node.id);
}
}
},
[toggleGroupMinimized],
);
// Handle edge click - ReactFlow handles selection automatically
const handleEdgeClick = useCallback(() => {
setContextMenu(null); // Close context menu if open
@ -1058,6 +1073,7 @@ const GraphEditor = ({ onNodeSelect, onEdgeSelect, onGroupSelect, onMultiSelect,
onNodesDelete={handleNodesDelete}
onEdgesDelete={handleEdgesDelete}
onNodeClick={handleNodeClick}
onNodeDoubleClick={handleNodeDoubleClick}
onEdgeClick={handleEdgeClick}
onNodeContextMenu={handleNodeContextMenu}
onEdgeContextMenu={handleEdgeContextMenu}