Skip to content

Show tooltips on Packages pane list and detail buttons - #17165

Open
bricestacey wants to merge 2 commits into
mainfrom
15879-tooltips
Open

bricestacey wants to merge 2 commits into
mainfrom
15879-tooltips

Conversation

@bricestacey

Copy link
Copy Markdown
Contributor

Button only shows its tooltip when given a hover manager, and the Packages pane never created one, so the website, help, and Update buttons had a tooltip prop that did nothing. Add a usePackagesHoverManager hook and pass its manager to every button with a tooltip.

I also noticed that the Clear and Filter buttons on the ActionBarFilter weren't working, so I fixed that as well.

See #15879

Release Notes

New Features

  • N/A

Bug Fixes

  • Add tooltips to the Packages Pane buttons

Validation Steps

The buttons can be found on the List and the main Detail pages. I can't get a screenshot with them showing

Screenshot 2026-11-05 at 5 09 57 PM Screenshot 2026-11-05 at 5 10 04 PM

@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

E2E Tests 🚀
This PR will run tests tagged with: @:critical @:packages-pane

Why these tags?
Tag Source
@:critical Always runs (required)
@:packages-pane Changed files

More on automatic tags from changed files.

Test count: Linux: 76 tests.

readme  valid tags

Button only shows its tooltip when given a hover manager, and the Packages
pane never created one, so the website, help, and Update buttons had a
tooltip prop that did nothing. Add a usePackagesHoverManager hook and pass
its manager to every button with a tooltip.

See #15879
ActionBarFilter now creates its own hover manager so its clear and filter
buttons show the styled tooltip instead of nothing (clear) or a native
title (filter). This applies everywhere the component is used: Packages,
Variables, History, the Data Explorer summary bar, and the Object Explorer
search.

Move the hover manager hook into the platform layer as
usePositronActionBarHoverManager and use it from the Packages pane, which
replaces usePackagesHoverManager.

See #15879
Comment on lines +67 to +68
// Hover manager hooks.
const hoverManager = usePositronActionBarHoverManager();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We might want to consider accepting a hoverManager as a prop. I could see a scenario where the parent component for this could already have a hover manager which we could reuse here instead of creating one for every actionBarFilter. That is probably the preferred pattern for reusable components like this.

Comment on lines +22 to +35
export const usePositronActionBarHoverManager = (): IHoverManager | undefined => {
const services = usePositronReactServicesContext();
const [hoverManager, setHoverManager] = useState<IHoverManager>();
useEffect(() => {
const disposableStore = new DisposableStore();
setHoverManager(disposableStore.add(new PositronActionBarHoverManager(
true,
services.configurationService,
services.hoverService
)));
return () => disposableStore.dispose();
}, [services.configurationService, services.hoverService]);
return hoverManager;
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for adding this! We can use this in a few components which currently inline this logic. Opened a follow-up PR to do that: #17232

@testlabauto testlabauto reopened this Nov 10, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants