Spaces:
Configuration error
Configuration error
import { app } from "../../../scripts/app.js"; | |
app.registerExtension({ | |
name: "comfy.easyUse.imageWidgets", | |
nodeCreated(node) { | |
if (["easy imageSize","easy imageSizeBySide","easy imageSizeByLongerSide","easy imageSizeShow", "easy imageRatio", "easy imagePixelPerfect"].includes(node.comfyClass)) { | |
const inputEl = document.createElement("textarea"); | |
inputEl.className = "comfy-multiline-input"; | |
inputEl.readOnly = true | |
const widget = node.addDOMWidget("info", "customtext", inputEl, { | |
getValue() { | |
return inputEl.value; | |
}, | |
setValue(v) { | |
inputEl.value = v; | |
}, | |
serialize: false | |
}); | |
widget.inputEl = inputEl; | |
inputEl.addEventListener("input", () => { | |
widget.callback?.(widget.value); | |
}); | |
} | |
}, | |
beforeRegisterNodeDef(nodeType, nodeData, app) { | |
if (["easy imageSize","easy imageSizeBySide","easy imageSizeByLongerSide", "easy imageSizeShow", "easy imageRatio", "easy imagePixelPerfect"].includes(nodeData.name)) { | |
function populate(arr_text) { | |
var text = ''; | |
for (let i = 0; i < arr_text.length; i++){ | |
text += arr_text[i]; | |
} | |
if (this.widgets) { | |
const pos = this.widgets.findIndex((w) => w.name === "info"); | |
if (pos !== -1 && this.widgets[pos]) { | |
const w = this.widgets[pos] | |
w.value = text; | |
} | |
} | |
requestAnimationFrame(() => { | |
const sz = this.computeSize(); | |
if (sz[0] < this.size[0]) { | |
sz[0] = this.size[0]; | |
} | |
if (sz[1] < this.size[1]) { | |
sz[1] = this.size[1]; | |
} | |
this.onResize?.(sz); | |
app.graph.setDirtyCanvas(true, false); | |
}); | |
} | |
// When the node is executed we will be sent the input text, display this in the widget | |
const onExecuted = nodeType.prototype.onExecuted; | |
nodeType.prototype.onExecuted = function (message) { | |
onExecuted?.apply(this, arguments); | |
populate.call(this, message.text); | |
}; | |
} | |
} | |
}) |