| | 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); |
| |
|