feat(topology): persist complete diagram semantics
This commit is contained in:
@@ -247,10 +247,22 @@ def fetch_layout():
|
||||
dn.component_id,
|
||||
c.component_key,
|
||||
dn.x, dn.y, dn.width, dn.height,
|
||||
dn.style_key, dn.label_override, dn.z_index
|
||||
dn.style_key, dn.label_override, dn.z_index,
|
||||
dn.display_meta, dn.display_hint, dn.decorations,
|
||||
members.member_keys
|
||||
FROM diagram_layouts dl
|
||||
JOIN diagram_nodes dn ON dn.layout_id = dl.id
|
||||
LEFT JOIN components c ON c.id = dn.component_id
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT ARRAY_AGG(
|
||||
member_component.component_key
|
||||
ORDER BY member.display_order
|
||||
) AS member_keys
|
||||
FROM diagram_node_members member
|
||||
JOIN components member_component
|
||||
ON member_component.id = member.component_id
|
||||
WHERE member.diagram_node_id = dn.id
|
||||
) members ON true
|
||||
WHERE dl.base_id = (SELECT id FROM bases WHERE code = 'guanghan')
|
||||
AND dl.is_default = true
|
||||
ORDER BY dn.z_index, dn.node_key
|
||||
@@ -275,5 +287,9 @@ def fetch_layout():
|
||||
"styleKey": row["style_key"],
|
||||
"labelOverride": row["label_override"],
|
||||
"zIndex": row["z_index"],
|
||||
"displayMeta": row["display_meta"],
|
||||
"displayHint": row["display_hint"],
|
||||
"decorations": row["decorations"] or {},
|
||||
"memberKeys": row["member_keys"] or [],
|
||||
})
|
||||
return {"layout": layout_info, "nodes": nodes} if layout_info else None
|
||||
|
||||
Reference in New Issue
Block a user