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
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>
37 lines
922 B
JavaScript
37 lines
922 B
JavaScript
import { app } from "../../../scripts/app.js";
|
|
|
|
const id = "pysssss.UseNumberInputPrompt";
|
|
const ext = {
|
|
name: id,
|
|
async setup(app) {
|
|
const prompt = LGraphCanvas.prototype.prompt;
|
|
|
|
const setting = app.ui.settings.addSetting({
|
|
id,
|
|
name: "🐍 Use number input on value entry",
|
|
defaultValue: false,
|
|
type: "boolean",
|
|
});
|
|
|
|
LGraphCanvas.prototype.prompt = function () {
|
|
const dialog = prompt.apply(this, arguments);
|
|
if (setting.value && typeof arguments[1] === "number") {
|
|
// If this should be a number then update the imput
|
|
const input = dialog.querySelector("input");
|
|
input.type = "number";
|
|
|
|
// Add constraints
|
|
const widget = app.canvas.node_widget?.[1];
|
|
if (widget?.options) {
|
|
for (const prop of ["min", "max", "step"]) {
|
|
if (widget.options[prop]) input[prop] = widget.options[prop];
|
|
}
|
|
}
|
|
}
|
|
return dialog;
|
|
};
|
|
},
|
|
};
|
|
|
|
app.registerExtension(ext);
|