From 612b139788e12ed086f437989a256729722d56ac Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Sun, 8 Oct 2023 15:37:31 +0900 Subject: [PATCH] feat: widgetFeedback from backend to frontend e.g. PromptServer.instance.send_sync("widget-feedback", {"node_id": unique_id, "widget_name": "block_info", "value": text}) --- web/extensions/core/widgetFeedback.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 web/extensions/core/widgetFeedback.js diff --git a/web/extensions/core/widgetFeedback.js b/web/extensions/core/widgetFeedback.js new file mode 100644 index 000000000..7535d37bd --- /dev/null +++ b/web/extensions/core/widgetFeedback.js @@ -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); \ No newline at end of file