Skip to content

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Sep 15, 2025

Summary

Added tooltip support for Vue node components using PrimeVue's v-tooltip directive with proper data integration and container scoping.

2025-09-14.22-57-04_processed_20250914_225745.mp4

Changes

  • What: Implemented tooltip functionality for Vue node headers, input/output slots, and widgets using PrimeVue v-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.

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
Loading

@christian-byrne christian-byrne requested a review from a team as a code owner September 15, 2025 05:05
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Sep 15, 2025
@github-actions
Copy link

github-actions bot commented Sep 15, 2025

🎭 Playwright Test Results

All tests passed!

⏰ Completed at: 09/19/2025, 08:06:37 AM UTC

📈 Summary

  • Total Tests: 450
  • Passed: 421 ✅
  • Failed: 0
  • Flaky: 0
  • Skipped: 29 ⏭️

📊 Test Reports by Browser

  • chromium: View Report • ✅ 414 / ❌ 0 / ⚠️ 0 / ⏭️ 29
  • chromium-2x: View Report • ✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • chromium-0.5x: View Report • ✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • mobile-chrome: View Report • ✅ 4 / ❌ 0 / ⚠️ 0 / ⏭️ 0

🎉 Click on the links above to view detailed test results for each browser configuration.

AustinMroz
AustinMroz previously approved these changes Sep 15, 2025
Copy link
Collaborator

@AustinMroz AustinMroz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@DrJKL DrJKL self-assigned this Sep 16, 2025
DrJKL
DrJKL previously approved these changes Sep 16, 2025
Copy link
Contributor

@DrJKL DrJKL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻

AustinMroz
AustinMroz previously approved these changes Sep 17, 2025
DrJKL
DrJKL previously approved these changes Sep 17, 2025
Copy link
Contributor

@DrJKL DrJKL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if the charcoal colors need to be flipped after #5609.

Nothing critical, looks good 👍🏻

@DrJKL DrJKL removed their assignment Sep 17, 2025
@christian-byrne christian-byrne dismissed stale reviews from DrJKL and AustinMroz via 4e50c3a September 18, 2025 23:14
@christian-byrne christian-byrne force-pushed the feat/vue-node-tooltips branch 2 times, most recently from 4e50c3a to aae097b Compare September 19, 2025 01:41
@github-actions
Copy link

🔧 Auto-fixes Applied

This PR has been automatically updated to fix linting and formatting issues.

⚠️ Important: Your local branch is now behind. Run git pull before making additional changes to avoid conflicts.

Changes made:

  • ESLint auto-fixes
  • Prettier formatting

christian-byrne and others added 5 commits September 18, 2025 23:20
Implements comprehensive tooltip functionality for all Vue node components:
- Node headers display node descriptions from definitions
- Input/output slots show slot-specific tooltip information
- Widgets display tooltip text from metadata and node definitions
- Uses PrimeVue's v-tooltip directive with container scoping
- Integrates with existing settings (Comfy.EnableTooltips, LiteGraph.Node.TooltipDelay)
- Provides fallback content when no tooltip data is available
- Full TypeScript support with proper interfaces
- Input slots and widgets: show tooltips on right (auto-fallback to left)
- Output slots: show tooltips on left (auto-fallback to right)
- Improves UX by not covering connection areas and using horizontal space better
- Use Tailwind classes via pt.text and pt.arrow for clean styling
- Match Figma specs: dark background (#171718), purple border (#5B5E7D)
- Fix tooltip positioning: inputs show left, outputs show right
- Proper arrow styling with before:border-[#171718] for chevron shape
@christian-byrne christian-byrne merged commit a975e50 into main Sep 19, 2025
21 checks passed
@christian-byrne christian-byrne deleted the feat/vue-node-tooltips branch September 19, 2025 08:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:tooltips area:vue-migration size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants