Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disabling tooltip without disabling interactivity #2040

Closed
ilyabo opened this issue Jun 13, 2022 · 10 comments
Closed

Disabling tooltip without disabling interactivity #2040

ilyabo opened this issue Jun 13, 2022 · 10 comments
Labels

Comments

@ilyabo
Copy link

ilyabo commented Jun 13, 2022

Is your feature request related to a problem? Please describe.
I would like to have more control over how exactly the tooltips are rendered. For instance, I would like to render them in a portal so that they are not cut by the container or use custom positioning logic. Right now it doesn't seem to be possible without redefining item components e.g. barItemComponent which is quite a limitation. It is possible to disable interactivity but that also disables other interactive features e.g. the crosshair and the onMouse… event handlers are not called at all.

Describe the solution you'd like
There should be a property isTooltipEnabled which would disable the tooltip when passed false without disabling the onMouse… event handlers. Alternatively, passing null to the tooltip prop could also disable tooltip.

Additional context
Large tooltip in a small chart is cut because it's not rendered in a portal in a container which needs to use overflow: hidden or overflow: scroll

@tkonopka
Copy link
Contributor

Hi @ilyabo. You mentioned passing null to the tooltip to disable it. A similar approach could be to render an empty tooltip with tooltip={() => (<></>)}

@ilyabo
Copy link
Author

ilyabo commented Jun 13, 2022

Yes, thanks! I've actually discovered this approach too now and it works for me at least as a workaround. Does it still mean though that some resources are spent on rendering/positioning or can this be neglected? In any case, I think accepting null or false and documenting it would be more straightforward and helpful for the users of the API.

@ilyabo
Copy link
Author

ilyabo commented Jun 13, 2022

Also, offering an option to render the tooltip in a portal would be very helpful I think. Something like tooltipUsePortal which could take a DOM node to render to and default to document.body if just true is passed

@ilyabo
Copy link
Author

ilyabo commented Jun 13, 2022

Noticed that onMouse… events in the Line chart only work when enableSlices is false. That's unfortunate, because we need to use the slices mode and customize the tooltip. Is there a way to circumvent this limitation?

@tkonopka
Copy link
Contributor

The line chart is due an update in #1932. This could be a topic to keep an eye on.

@ilyabo
Copy link
Author

ilyabo commented Jun 14, 2022

I started a related discussion here: #2044

@vikrantsingh47
Copy link

@tkonopka not related to this topic, but there are no responses to opened issues recently, is this project actively maintained.

@plouc
Copy link
Owner

plouc commented Jul 21, 2022

@vikrantsingh47, actively, not really lately, it depends on my other constraints (job, family, ...)

@stale
Copy link

stale bot commented Oct 19, 2022

This issue has been automatically marked as stale. If this issue is still affecting you, please leave any comment (for example, "bump"), and we'll keep it open. We are sorry that we haven't been able to prioritize it yet. If you have any new additional information, please include it with your comment!

@stale stale bot added the stale label Oct 19, 2022
@stale
Copy link

stale bot commented Nov 7, 2022

Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please create a new issue with up-to-date information. Thank you!

@stale stale bot closed this as completed Nov 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants