fix: LXC/VM parent-child UX bugs with Proxmox container mode
- Don't create virtual edge when parent Proxmox is in container mode (containment is shown visually — edge was redundant and confusing) - updateNode now syncs React Flow parentId/extent/position when data.parent_id changes, so nesting/un-nesting is immediate without requiring a save+reload - Attaching to container: converts position to parent-relative coords - Detaching from container: converts position back to absolute coords so the node escapes the container box immediately - Ensure parent nodes precede children in array on attachment (React Flow rendering requirement)
This commit is contained in:
@@ -258,10 +258,13 @@ export default function App() {
|
||||
)
|
||||
if (oldEdge) deleteEdge(oldEdge.id)
|
||||
}
|
||||
// Create new virtual edge: LXC top → Proxmox bottom
|
||||
// Create virtual edge only when parent is NOT in container mode
|
||||
// (container mode shows containment visually — no edge needed)
|
||||
if (newParentId) {
|
||||
// Pass type as extra field — canvasStore.onConnect casts to Connection & Partial<EdgeData>
|
||||
onConnect({ source: editNodeId, sourceHandle: 'top', target: newParentId, targetHandle: 'bottom', type: 'virtual' } as unknown as Connection)
|
||||
const parentNode = nodes.find((n) => n.id === newParentId)
|
||||
if (!parentNode?.data.container_mode) {
|
||||
onConnect({ source: editNodeId, sourceHandle: 'top', target: newParentId, targetHandle: 'bottom', type: 'virtual' } as unknown as Connection)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user