From f79bfac323ea743919fdb129d47c047f7a98651d Mon Sep 17 00:00:00 2001
From: Simula_r <18093452+simula-r@users.noreply.github.com>
Date: Thu, 25 Sep 2025 17:41:17 -0700
Subject: [PATCH] fix: tooltip hover
---
.../vueNodes/components/LGraphNode.vue | 1 +
.../vueNodes/components/NodeHeader.vue | 37 ++++++++++++++++++-
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/src/renderer/extensions/vueNodes/components/LGraphNode.vue b/src/renderer/extensions/vueNodes/components/LGraphNode.vue
index 828ee3c8c..531cbcaee 100644
--- a/src/renderer/extensions/vueNodes/components/LGraphNode.vue
+++ b/src/renderer/extensions/vueNodes/components/LGraphNode.vue
@@ -54,6 +54,7 @@
:node-data="nodeData"
:readonly="readonly"
:collapsed="isCollapsed"
+ :is-dragging="isDragging"
@collapse="handleCollapse"
@update:title="handleHeaderTitleUpdate"
@enter-subgraph="handleEnterSubgraph"
diff --git a/src/renderer/extensions/vueNodes/components/NodeHeader.vue b/src/renderer/extensions/vueNodes/components/NodeHeader.vue
index 67ab22b32..6e4b4f84d 100644
--- a/src/renderer/extensions/vueNodes/components/NodeHeader.vue
+++ b/src/renderer/extensions/vueNodes/components/NodeHeader.vue
@@ -25,9 +25,12 @@
()
+const { nodeData, readonly, collapsed, isDragging } =
+ defineProps()
const emit = defineEmits<{
collapse: []
@@ -100,6 +105,7 @@ onErrorCaptured((error) => {
// Editing state
const isEditing = ref(false)
+const titleRef = ref()
const tooltipContainer =
inject[>('tooltipContainer')
@@ -109,13 +115,40 @@ const { getNodeDescription, createTooltipConfig } = useNodeTooltips(
)
const tooltipConfig = computed(() => {
- if (readonly || isEditing.value) {
+ // Disable tooltip during editing or dragging
+ if (readonly || isEditing.value || isDragging) {
return { value: '', disabled: true }
}
+
const description = getNodeDescription.value
return createTooltipConfig(description)
})
+// Helper to hide tooltip immediately
+const hideTooltip = () => {
+ // Find and remove the tooltip element that PrimeVue creates
+ // PrimeVue tooltips have class 'p-tooltip'
+ const tooltip = document.querySelector('.p-tooltip')
+ if (tooltip) {
+ tooltip.remove()
+ }
+}
+
+// Watch isDragging to force tooltip hide
+watch(
+ () => isDragging,
+ (newVal) => {
+ if (newVal) {
+ hideTooltip()
+ }
+ }
+)
+
+const onTitlePointerDown = () => {
+ // Immediately hide tooltip on pointer down
+ hideTooltip()
+}
+
const resolveTitle = (info: VueNodeData | undefined) => {
const title = (info?.title ?? '').trim()
if (title.length > 0) return title
]