feat: widgetFeedback from backend to frontend

e.g.
PromptServer.instance.send_sync("widget-feedback", {"node_id": unique_id, "widget_name": "block_info", "value": text})
This commit is contained in:
Dr.Lt.Data 2023-10-08 15:37:31 +09:00
parent 1c5d6663fa
commit 612b139788

View File

@ -0,0 +1,26 @@
import { api } from "../../scripts/api.js";
function widgetFeedbackHandler(event) {
try {
let nodes = app.graph._nodes_by_id;
let node = nodes[event.detail.node_id];
if(!node) {
console.log(`[widgetFeedback] invalid node id '${event.detail.node_id}'`);
return;
}
const w = node.widgets?.find((w) => event.detail.widget_name === w.name);
if(w) {
w.value = event.detail.value;
}
else {
console.log(`[widgetFeedback] invalid widget name '${event.detail.widget_name}'`);
}
}
catch(e) {
console.log(`[widgetFeedback] exception occurs\n${e}`);
}
}
api.addEventListener("widget-feedback", widgetFeedbackHandler);