fix(network): context menu on groups + group/ungroup in properties panel
Context menu fix: - Group nodes pass pointer events through to children in React Flow, so right-clicking a group fires onPaneContextMenu instead of onNodeContextMenu - handlePaneContextMenu now checks for selected nodes and shows the node context menu (with align/group options) when any nodes are selected Properties panel multi-select: - Add Group section with type dropdown (Subnet, VLAN, Site, DMZ, Custom) - "Group into [Type]" button creates a group of the chosen type - Ungroup button appears when a group node is in the selection - useDiagramCommands.groupSelection now accepts a groupType param and uses it as the label and color key for the new group node Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -123,7 +123,7 @@ export function useDiagramCommands({
|
||||
const canDistribute = selectedNodes.length >= 3
|
||||
|
||||
// ── Grouping ───────────────────────────────────────────────────────────
|
||||
const groupSelection = useCallback(() => {
|
||||
const groupSelection = useCallback((groupType: string = 'custom') => {
|
||||
if (selectedNodes.length < 2) return
|
||||
pushHistory(nodes, edges)
|
||||
const PADDING = 24
|
||||
@@ -137,7 +137,7 @@ export function useDiagramCommands({
|
||||
type: 'group',
|
||||
position: { x: minX, y: minY },
|
||||
style: { width: maxX - minX, height: maxY - minY },
|
||||
data: { label: 'Group', groupType: 'custom' },
|
||||
data: { label: groupType.charAt(0).toUpperCase() + groupType.slice(1), groupType },
|
||||
selected: false,
|
||||
}
|
||||
setNodes(prev => [
|
||||
|
||||
Reference in New Issue
Block a user