Strip tags from top-level nodes when inserting templates

This commit is contained in:
space-nuko
2023-05-26 16:06:54 -05:00
parent eb335e9be7
commit 60bd989915
4 changed files with 23 additions and 3 deletions

View File

@@ -285,6 +285,19 @@ function relocateNodes(nodes: SerializedLGraphNode[]): SerializedLGraphNode[] {
return nodes; return nodes;
} }
/*
* Strips tags from top-level nodes
*/
function stripTags(nodes: SerializedLGraphNode[]): SerializedLGraphNode[] {
for (const node of nodes) {
if (Array.isArray(node.properties.tags)) {
node.properties.tags = []
}
}
return nodes;
}
function pruneDetachedLinks(nodes: SerializedLGraphNode[], links: SerializedTemplateLink[]): [SerializedLGraphNode[], SerializedTemplateLink[]] { function pruneDetachedLinks(nodes: SerializedLGraphNode[], links: SerializedTemplateLink[]): [SerializedLGraphNode[], SerializedTemplateLink[]] {
const nodeIds = new Set(nodes.map(n => n.id)); const nodeIds = new Set(nodes.map(n => n.id));
@@ -338,6 +351,7 @@ export function serializeTemplate(canvas: ComfyGraphCanvas, template: ComfyBoxTe
uiState.update(s => { s.forceSaveUserState = null; return s; }); uiState.update(s => { s.forceSaveUserState = null; return s; });
nodes = relocateNodes(nodes); nodes = relocateNodes(nodes);
nodes = stripTags(nodes);
[nodes, links] = pruneDetachedLinks(nodes, links); [nodes, links] = pruneDetachedLinks(nodes, links);
const svg = renderSvg(canvas, graph, TEMPLATE_SVG_PADDING); const svg = renderSvg(canvas, graph, TEMPLATE_SVG_PADDING);

View File

@@ -249,6 +249,11 @@ export default class ComfyGraph extends LGraph {
node_data.id = uuidv4(); node_data.id = uuidv4();
templateNodeIDToNewNode[prevNodeId] = node templateNodeIDToNewNode[prevNodeId] = node
// Strip tags from top-level nodes
if (Array.isArray(node_data.properties.tags)) {
node_data.properties.tags = []
}
node.configure(node_data); node.configure(node_data);
if (mapping) { if (mapping) {

View File

@@ -144,8 +144,9 @@
if (entry.extraData?.workflowTitle != null) { if (entry.extraData?.workflowTitle != null) {
message = `${entry.extraData.workflowTitle}` message = `${entry.extraData.workflowTitle}`
} }
if (subgraphs?.length > 0) const subgraphsString = subgraphs.join(', ')
message += ` (${subgraphs.join(', ')})` if (subgraphsString.length > 0)
message += ` (${subgraphsString})`
let submessage = `Nodes: ${Object.keys(entry.prompt).length}` let submessage = `Nodes: ${Object.keys(entry.prompt).length}`