This commit is contained in:
Chris
2026-05-27 10:00:16 +10:00
parent 78b4382bf2
commit 8504709352
3 changed files with 50 additions and 14 deletions
+22 -1
View File
@@ -4,6 +4,27 @@ import { node_can_broadcast, is_able_to_broadcast } from "./use_everywhere_utili
import { settingsCache } from "./use_everywhere_cache.js";
import { visible_graph } from "./use_everywhere_subgraph_utils.js";
import { shared } from "./shared.js";
import { Logger } from "./use_everywhere_utilities.js";
function nodeElement(node) {
return document.querySelector(`div[data-node-id='${node.id}']`)
}
export function addMouseEvents(node) {
const element = nodeElement(node)
if (!element) {
Logger.log_problem(`Could not find node element for node ${node.id}`)
return
}
element.addEventListener("mouseenter", () => {
node.mouseOver = true
shared.linkRenderController.node_over_changed()
})
element.addEventListener("mouseleave", () => {
node.mouseOver = false
shared.linkRenderController.node_over_changed()
})
}
export function nodes2_overlay(ctx) {
if (!shared.linkRenderController.ue_list) return;
@@ -98,7 +119,7 @@ function n2_titlebar_additions(node, ctx) {
}
function n2_widgets(node) {
const widgets = document.querySelector(`div[data-node-id='${node.id}']`)?.querySelector("div[data-testid='node-widgets']")
const widgets = nodeElement(node)?.querySelector("div[data-testid='node-widgets']")
if (!widgets) return;
const connected = shared.linkRenderController.ue_list.all_connected_inputs(node)
Array.from(widgets.children).forEach((widget_el, index) => {
+20 -12
View File
@@ -15,8 +15,8 @@ import { edit_restrictions } from "./ue_properties_editor.js";
import { language_changed } from "./i18n.js";
import { input_changed, fix_inputs } from "./connections.js";
import { comboclone_on_connection, is_combo_clone } from "./combo_clone.js";
import { ue_callbacks } from "./recursive_callbacks.js";
import { nodes2_overlay } from "./ue_nodes2.js";
import { ue_callbacks, for_all_nodes } from "./recursive_callbacks.js";
import { nodes2_overlay, addMouseEvents } from "./ue_nodes2.js";
/*
All nodes need the onDrawTitleBar method so they can show if they are broadcasting UE data.
@@ -26,17 +26,21 @@ function add_methods_to_all_nodes(node) {
try {
add_extra_menu_items(node) // right click menu additions
const original_onMouseEnter = node.onMouseEnter;
node.onMouseEnter = function(e) {
original_onMouseEnter?.apply(this, arguments)
shared.linkRenderController.node_over_changed()
}
const original_onMouseLeave = node.onMouseLeave;
node.onMouseLeave = function(e) {
original_onMouseLeave?.apply(this, arguments)
shared.linkRenderController.node_over_changed()
if (running_nodes2()) {
// nothing
} else {
const original_onMouseEnter = node.onMouseEnter;
node.onMouseEnter = function(e) {
original_onMouseEnter?.apply(this, arguments)
shared.linkRenderController.node_over_changed()
}
const original_onMouseLeave = node.onMouseLeave;
node.onMouseLeave = function(e) {
original_onMouseLeave?.apply(this, arguments)
shared.linkRenderController.node_over_changed()
}
}
node.ue_methods_added = true;
@@ -186,6 +190,10 @@ app.registerExtension({
}
}
ue_callbacks.register_allnode_callback('afterConfigureGraph', ()=>{
setTimeout(for_all_nodes, 1000, addMouseEvents)
})
},
init() {
+8 -1
View File
@@ -327,6 +327,12 @@ export class LinkRenderController extends Pausable {
}
}
mouse_over_connected_node(ue_connection) {
if (app.canvas.node_over && this.node_in_ueconnection(ue_connection, app.canvas.node_over.id)) return true;
if (ue_connection.control_node?.mouseOver) return true;
if (ue_connection.sending_to?.mouseOver) return true;
}
_render_all_ue_links(ctx) {
if (!this._list_ready()) return;
this.last_used_ue_list = this.ue_list;
@@ -349,6 +355,7 @@ export class LinkRenderController extends Pausable {
m.node.selected
|| app.canvas.graph.getNodeById(m.id)?.selected
|| app.canvas.node_over == m.node
|| m.node.mouseOver
|| ambiguity.id==-20 && ambiguity.graph.outputNode?.isPointerOver
) {
this._render_ue_link(
@@ -370,7 +377,7 @@ export class LinkRenderController extends Pausable {
any_links = true;
var show = false;
if ( mode==4 ) show = true;
if ( (mode==2 || mode==3) && app.canvas.node_over && this.node_in_ueconnection(ue_connection, app.canvas.node_over.id) ) show = true;
if ( (mode==2 || mode==3) && this.mouse_over_connected_node(ue_connection) ) show = true;
if ( (mode==1 || mode==3) && this.any_node_in_ueconnection(ue_connection, app.canvas.selected_nodes)) show = true;
show = show && in_visible_graph(ue_connection.control_node) && in_visible_graph(ue_connection.sending_to);