446
This commit is contained in:
+22
-1
@@ -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
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user