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