fix: sync save node ctas in subgraphs
This commit is contained in:
+26
-3
@@ -133,11 +133,34 @@ function syncMetaHubCTA(node) {
|
||||
}
|
||||
}
|
||||
|
||||
function syncAllMetaHubCTAs() {
|
||||
for (const node of app.graph?._nodes ?? []) {
|
||||
syncMetaHubCTA(node);
|
||||
function getGraphNodes(graph) {
|
||||
if (Array.isArray(graph?._nodes)) {
|
||||
return graph._nodes;
|
||||
}
|
||||
|
||||
if (Array.isArray(graph?.nodes)) {
|
||||
return graph.nodes;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
function walkGraphNodes(graph, visitor, visitedGraphs = new Set()) {
|
||||
if (!graph || visitedGraphs.has(graph)) {
|
||||
return;
|
||||
}
|
||||
|
||||
visitedGraphs.add(graph);
|
||||
|
||||
for (const node of getGraphNodes(graph)) {
|
||||
visitor(node);
|
||||
walkGraphNodes(node?.subgraph, visitor, visitedGraphs);
|
||||
}
|
||||
}
|
||||
|
||||
function syncAllMetaHubCTAs() {
|
||||
walkGraphNodes(app.graph, syncMetaHubCTA);
|
||||
|
||||
app.graph?.setDirtyCanvas?.(true, true);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user