diff --git a/js/use_everywhere.js b/js/use_everywhere.js index 4ed0d40..57782c4 100644 --- a/js/use_everywhere.js +++ b/js/use_everywhere.js @@ -1,4 +1,21 @@ import { app } from "../../../scripts/app.js"; +import { ComfyWidgets } from "../../../scripts/widgets.js"; + +function add_ue(ue, type, title, input, output) { + ue.splice(0,0,{type:type, title:title, input:input, output:output}) +} + +function set_label(node, label, value) { + const the_node = app.graph._nodes_by_id[node.id.toString()]; + var detected = the_node?.widgets?.find((w)=>w.name===label); + if (detected===undefined) { + detected = ComfyWidgets["STRING"](the_node, label, ["STRING", { multiline: false }], app).widget; + //detected.inputEl.readOnly = true; + //detected.inputEl.style.opacity = 0.6; + //detected.inputEl.style.fontSize = "9pt"; + } + detected.value = value; +} app.registerExtension({ name: "cg.customnodes.use_everywhere", @@ -14,51 +31,26 @@ app.registerExtension({ if (node.inputs) { for (var i=0; iw.name==='detected_type'); - if(detected) detected.value = output.type; + add_ue(use_everywheres, output.type, new RegExp(node.widgets_values[0]), new RegExp(node.widgets_values[1]), + [link.origin_id.toString(), link.origin_slot]) + set_label(node, 'detected_type', output.type); } } if (node.type === "Anything Everywhere") { @@ -82,14 +69,8 @@ app.registerExtension({ const link = app.graph.links[in_link]; const origin_node = app.graph._nodes_by_id[link.origin_id.toString()]; const output = origin_node.outputs[link.origin_slot]; - use_everywheres.splice(0,0,{ - type : output.type, - title : always, - input : always, - output : [link.origin_id.toString(), link.origin_slot], - }) - const detected = app.graph._nodes_by_id[node.id.toString()]?.widgets?.find((w)=>w.name==='detected_type'); - if(detected) detected.value = output.type; + add_ue(use_everywheres, output.type, always, always, [link.origin_id.toString(), link.origin_slot]) + set_label(node, 'detected_type', output.type); } } }) diff --git a/use_everywhere.py b/use_everywhere.py index 0e988e5..d059e4b 100644 --- a/use_everywhere.py +++ b/use_everywhere.py @@ -49,13 +49,12 @@ try: return {"required":{}, "optional": { "anything" : ("*", {}), - "detected_type" : ("STRING", {"default":""}), } } - RETURN_TYPES = ("*",) + RETURN_TYPES = () def func(self, anything=None, **kwargs): - return (anything, str(anything),) + return (str(anything),) @ui_signal('display_text') class AnythingSomewhere(UseEverywhere): @@ -66,12 +65,11 @@ try: "anything" : ("*", {}), "title" : ("STRING", {"default":".*"}), "input" : ("STRING", {"default":".*"}), - "detected_type" : ("STRING", {"default":""}), } } - RETURN_TYPES = ("*",) + RETURN_TYPES = () def func(self, anything=None, **kwargs): - return (anything, str(anything),) + return (str(anything),) except: pass \ No newline at end of file