fix: edges appear immediately + sync virtual link with LXC parent_id
- Normalize stub handle IDs (top-t/bottom-t → top/bottom) in canvasStore.onConnect so React Flow can locate the handle and render edges without save+reload - Also normalize on save in App.tsx as a safety net for persisted handle IDs - Auto-create virtual edge (LXC top → Proxmox bottom) when parent_id is set via the node edit modal, and remove it when parent_id is cleared/changed - Auto-set LXC/VM parent_id when a virtual edge is drawn to/from a Proxmox node
This commit is contained in:
@@ -56,9 +56,15 @@ export const useCanvasStore = create<CanvasState>((set) => ({
|
||||
set((state) => {
|
||||
const extra = connection as Connection & Partial<EdgeData>
|
||||
const edgeType = extra.type ?? 'ethernet'
|
||||
// Normalize invisible stub handle IDs so React Flow can locate the handle
|
||||
// and render the edge immediately (top-t / bottom-t are opacity:0 helpers).
|
||||
const normalizeHandle = (h: string | null | undefined) =>
|
||||
h === 'top-t' ? 'top' : h === 'bottom-t' ? 'bottom' : (h ?? null)
|
||||
return {
|
||||
edges: addEdge({
|
||||
...connection,
|
||||
sourceHandle: normalizeHandle(extra.sourceHandle),
|
||||
targetHandle: normalizeHandle(extra.targetHandle),
|
||||
type: edgeType,
|
||||
data: { type: edgeType, label: extra.label, vlan_id: extra.vlan_id, custom_color: extra.custom_color, path_style: extra.path_style },
|
||||
}, state.edges),
|
||||
|
||||
Reference in New Issue
Block a user