From a975e50f1bea49cd42a1a911487365b7535c769b Mon Sep 17 00:00:00 2001 From: Christian Byrne Date: Fri, 19 Sep 2025 01:07:50 -0700 Subject: [PATCH] [feat] Add tooltip support for Vue nodes (#5577) ## Summary Added tooltip support for Vue node components using PrimeVue's v-tooltip directive with proper data integration and container scoping. https://github.com/user-attachments/assets/d1af31e6-ef6a-4df8-8de4-5098aa4490a1 ## Changes - **What**: Implemented tooltip functionality for Vue node headers, input/output slots, and widgets using [PrimeVue v-tooltip](https://primevue.org/tooltip/) directive - **Dependencies**: Leverages existing PrimeVue tooltip system, no new dependencies ## Review Focus Container scoping implementation via provide/inject pattern for tooltip positioning, proper TypeScript interfaces eliminating `as any` casts, and integration with existing settings store for tooltip delays and enable/disable functionality. ```mermaid graph TD A[LGraphNode Container] --> B[provide tooltipContainer] B --> C[NodeHeader inject] B --> D[InputSlot inject] B --> E[OutputSlot inject] B --> F[NodeWidgets inject] G[useNodeTooltips composable] --> H[NodeDefStore lookup] G --> I[Settings integration] G --> J[i18n fallback] C --> G D --> G E --> G F --> G style A fill:#f9f9f9,stroke:#333,color:#000 style G fill:#e8f4fd,stroke:#0066cc,color:#000 ``` --------- Co-authored-by: DrJKL Co-authored-by: GitHub Action --- .../vueNodes/components/InputSlot.vue | 23 ++- .../vueNodes/components/LGraphNode.vue | 7 +- .../vueNodes/components/NodeHeader.spec.ts | 161 +++++++++++++++++- .../vueNodes/components/NodeHeader.vue | 42 +++-- .../vueNodes/components/NodeSlots.vue | 25 ++- .../vueNodes/components/NodeWidgets.vue | 33 ++-- .../vueNodes/components/OutputSlot.vue | 23 ++- .../vueNodes/composables/useNodeTooltips.ts | 120 +++++++++++++ 8 files changed, 380 insertions(+), 54 deletions(-) create mode 100644 src/renderer/extensions/vueNodes/composables/useNodeTooltips.ts diff --git a/src/renderer/extensions/vueNodes/components/InputSlot.vue b/src/renderer/extensions/vueNodes/components/InputSlot.vue index b97fd30cc..ef38c0754 100644 --- a/src/renderer/extensions/vueNodes/components/InputSlot.vue +++ b/src/renderer/extensions/vueNodes/components/InputSlot.vue @@ -1,6 +1,6 @@