feat: Treat visualization tooltips more like overlay panels #598
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request implements several improvements to the histogram and heatmap components, focusing on selection synchronization, user interaction enhancements, and code maintainability. The most significant changes include adding selection synchronization between multiple histograms, introducing a lockable selection mode, and enhancing the heatmap tooltip experience with persistent, dismissible tooltips. Additionally, new event APIs and utility methods were added to support these features.
Histogram Selection Synchronization and Locking:
lockSelectionprop and logic toScoreSetHistogram.vueto allow locking the selection, preventing user changes when set. This is used inVariantMeasurementView.vueto keep the focus on a specific variant. [1] [2] [3] [4]selection-changedevent inScoreSetHistogram.vueand corresponding handler logic inScoreSetView.vueto synchronize bin selections across multiple histogram instances. The newsyncSelectBinmethod enables programmatic selection of bins by range. [1] [2] [3] [4] [5]Heatmap Tooltip and Interaction Enhancements:
heatmap.tsto be persistent, dismissible with a close button, and to prevent accidental closure from inside clicks. Tooltip content is now managed inside a persistent container, and outside-click handling is instance-scoped for better reliability. [1] [2] [3] [4] [5]API and Type Improvements:
histogram.tsto include aselectionChangedevent accessor and abinsgetter, facilitating better external control and synchronization. [1] [2] [3]These changes collectively improve the usability and maintainability of histogram and heatmap visualizations, especially in workflows requiring coordinated selection or persistent focus.