Reroute insert and splice

This commit is contained in:
space-nuko
2023-05-23 21:17:13 -05:00
parent fcd1737b98
commit 47b0dabd80
6 changed files with 77 additions and 11 deletions

View File

@@ -76,6 +76,31 @@ export default class ComfyReroute extends ComfyGraphNode {
};
override getExtraMenuOptions(_, options: ContextMenuItem[]): ContextMenuItem[] | null {
const canSplice = this.getInputLink(0) != null && this.getOutputLinks(0).length > 0;
options.push({
content: "Splice & Remove",
disabled: !canSplice,
callback: () => {
const inputLink = this.getInputLink(0);
const outputLinks = this.getOutputLinks(0);
if (!inputLink || !outputLinks)
return;
const inputNode = this.graph.getNodeById(inputLink.origin_id)
this.graph.removeLink(inputLink.id);
for (const outputLink of outputLinks) {
const outputNode = this.graph.getNodeById(outputLink.target_id)
this.graph.removeLink(outputLink.id);
inputNode.connect(inputLink.origin_slot, outputNode, outputLink.target_slot);
}
this.graph.remove(this);
}
})
options.unshift(
{
content: (this.properties.showOutputText ? "Hide" : "Show") + " Type",