From 584da94d044f67de9fccea38e826446fe314cf6d Mon Sep 17 00:00:00 2001 From: BennyKok Date: Wed, 27 Sep 2023 13:02:13 +0800 Subject: [PATCH] auto clean up output slot for sam node --- js/SideBar.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/js/SideBar.js b/js/SideBar.js index 5403969..cae7c5c 100644 --- a/js/SideBar.js +++ b/js/SideBar.js @@ -4,6 +4,7 @@ import { selectedLayer, imagePromptsMulti, targetNode, + showImageEditor, } from "./state.js"; import { van } from "./van.js"; const { @@ -22,6 +23,23 @@ const { span, } = van.tags; +van.derive(() => { + if (showImageEditor.val && targetNode.val != undefined && targetNode.val.outputs) { + const outputNames = targetNode.val.outputs.map(x => x.name).slice(1) + const record = Object.keys(imagePromptsMulti.val) + + const diff = outputNames.filter(x => !record.includes(x)); + + if (diff.length === 0) return; + + console.log("Cleaning up missing output slots", diff); + diff.forEach((x) => { + targetNode.val.removeOutput(targetNode.val.findOutputSlot(x)) + }) + targetNode.val.graph.change(); + } +}) + export function SideBar() { const layer_to_delete = van.state("");