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