Add interactive graph editor connections: port-based edges, drag-connect, and detach

- Add visible typed ports on graph nodes (colored dots for each edge type)
- Route edges to specific port positions instead of node center
- Drag from output port to compatible input port to create/change connections
- Right-click edge context menu with Disconnect option
- Delete key detaches selected edge
- Mark nested edges (composite layers, zones) as non-editable with dotted style
- Add resolve_ref helper for empty-string sentinel to clear reference fields
- Apply resolve_ref across all storage stores for consistent detach support
- Add connection mapping module (graph-connections.js) with API field resolution
- Add i18n keys for connection operations (en/ru/zh)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 17:15:33 +03:00
parent ff24ec95e6
commit b370bb7d75
17 changed files with 661 additions and 60 deletions

View File

@@ -1397,5 +1397,10 @@
"graph.minimap": "小地图",
"graph.relayout": "重新布局",
"graph.empty": "暂无实体",
"graph.empty.hint": "创建设备、源和目标后即可在此查看。"
"graph.empty.hint": "创建设备、源和目标后即可在此查看。",
"graph.disconnect": "断开连接",
"graph.connection_updated": "连接已更新",
"graph.connection_failed": "更新连接失败",
"graph.connection_removed": "连接已移除",
"graph.disconnect_failed": "断开连接失败"
}