Files
ComfyUI/custom_nodes/comfyui-custom-scripts/web/js/middleClickAddDefaultNode.js
jaidaken f09734b0ee
Some checks failed
Python Linting / Run Ruff (push) Has been cancelled
Python Linting / Run Pylint (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.10, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.11, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.12, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-unix-nightly (12.1, , linux, 3.11, [self-hosted Linux], nightly) (push) Has been cancelled
Execution Tests / test (macos-latest) (push) Has been cancelled
Execution Tests / test (ubuntu-latest) (push) Has been cancelled
Execution Tests / test (windows-latest) (push) Has been cancelled
Test server launches without errors / test (push) Has been cancelled
Unit Tests / test (macos-latest) (push) Has been cancelled
Unit Tests / test (ubuntu-latest) (push) Has been cancelled
Unit Tests / test (windows-2022) (push) Has been cancelled
Add custom nodes, Civitai loras (LFS), and vast.ai setup script
Includes 30 custom nodes committed directly, 7 Civitai-exclusive
loras stored via Git LFS, and a setup script that installs all
dependencies and downloads HuggingFace-hosted models on vast.ai.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:56:42 +00:00

50 lines
1.2 KiB
JavaScript

import { app } from "../../../scripts/app.js";
const id = "pysssss.MiddleClickAddDefaultNode";
const ext = {
name: id,
async setup(app) {
app.ui.settings.addSetting({
id,
name: "🐍 Middle click slot to add",
defaultValue: "Reroute",
type: "combo",
options: (value) =>
[
...Object.keys(LiteGraph.registered_node_types)
.filter((k) => k.includes("Reroute"))
.sort((a, b) => {
if (a === "Reroute") return -1;
if (b === "Reroute") return 1;
return a.localeCompare(b);
}),
"[None]",
].map((m) => ({
value: m,
text: m,
selected: !value ? m === "[None]" : m === value,
})),
onChange(value) {
const enable = value && value !== "[None]";
if (value === true) {
value = "Reroute";
}
LiteGraph.middle_click_slot_add_default_node = enable;
if (enable) {
for (const arr of Object.values(LiteGraph.slot_types_default_in).concat(
Object.values(LiteGraph.slot_types_default_out)
)) {
const idx = arr.indexOf(value);
if (idx !== 0) {
arr.splice(idx, 1);
}
arr.unshift(value);
}
}
},
});
},
};
app.registerExtension(ext);