diff --git a/web/extensions/core/widgetInputs.js b/web/extensions/core/widgetInputs.js index 6d7867961..323bace6d 100644 --- a/web/extensions/core/widgetInputs.js +++ b/web/extensions/core/widgetInputs.js @@ -275,9 +275,7 @@ app.registerExtension({ } */ this.#createWidget(widget.config, theirNode, widget.name); - if (widget.name === "seed") { - addSeedControlWidget(this, this.widget, "randomize"); - } + } #createWidget(inputData, node, widgetName) { @@ -289,12 +287,25 @@ app.registerExtension({ let widget; - if (type in ComfyWidgets) { - widget = (ComfyWidgets[type](this, widgetName/*"value*"*/, inputData, app) || {}).widget; + // ComfyWidgets allows a subtype of widgets which is defined by ":" + // common example is "INT:seed" + // so let's check for those first + let combinedWidgetType = type + ":" + widgetName; + if (combinedWidgetType in ComfyWidgets) { + widget = (ComfyWidgets[combinedWidgetType](this, "value", inputData, app) || {}).widget; } else { - widget = this.addWidget(type, widgetName /*"value"*/, null, () => { }, {}); + // we did not find a subtype, so proceed with "" only + if (type in ComfyWidgets) { + widget = (ComfyWidgets[type](this, widgetName/*"value*"*/, inputData, app) || {}).widget; + } else { + widget = this.addWidget(type, widgetName /*"value"*/, null, () => { }, {}); + } + + + // if (widget.type === "number") { + // addSeedControlWidget(this, this.widget, "randomize"); + // } } - if (node?.widgets && widget) {