| 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") {
|
|
|
| const input = dialog.querySelector("input");
|
| input.type = "number";
|
|
|
|
|
| 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);
|
|
|