will auto check if there are any missing output slots, will auto create

This commit is contained in:
BennyKok
2023-09-27 13:19:47 +08:00
parent 6133c6c9fb
commit 2f0a6f688f
+25 -12
View File
@@ -24,21 +24,34 @@ const {
} = 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)
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));
const diff = outputNames.filter((x) => !record.includes(x));
const missingDiff = record.filter((x) => !outputNames.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();
if (diff.length > 0) {
console.log("Cleaning up missing output slots", diff);
diff.forEach((x) => {
targetNode.val.removeOutput(targetNode.val.findOutputSlot(x));
});
targetNode.val.graph.change();
} else if (missingDiff.length > 0) {
missingDiff.forEach((x) => {
targetNode.val.addOutput(
x,
targetNode.val.type === "SAM" ? "IMAGE" : "SAM_PROMPT"
);
});
targetNode.val.graph.change();
}
}
})
});
export function SideBar() {
const layer_to_delete = van.state("");