-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
plot hover popup remains if mouse is moved slowly out of the plot through the right side of a plot #3282
Labels
Comments
@santiontanon, |
Thanks for the report. The issue is reproducible on virtually all scalars plot. Did not do a debugging yet but we will address this promptly. |
stephanwlee
added a commit
to stephanwlee/tensorboard
that referenced
this issue
Mar 9, 2020
Fixes tensorflow#3282. Repro: when tooltip is shown, slowly move the mouse to an edge of a chart. We expect the tooltip the disappear when the cursor is on the edge of the chart. Cause: 1. For Polymer 2 and its Shadow DOM compatibility, TensorBoard opted out of the event delegation of Plottable. Plottable, by default, attaches a set of event listeners on document.body and invokes appropriate callbacks depending on the circumstances. However, with the Shadow DOM, the event re-targetting broke (harder to identify `event.target`), so TensorBoard, instead, attaches the event listeners on every Plottable container, SVGs. 2. When mouse leaves (mouseout) the container, Plottable remaps the event as mouse move and calculate whether the cursor is inside a component (Interaction.prototype._isInsideComponent, specifically) to trigger appropriate callback. The method, however is flawed since it returns, for a component that is, for instance, at <0, 0> with size of <100, 100>, true when pointer is at <100, 100>. It should only return true for [0, 100) for a given dimension, instead. As a result, the mouseout event occurred at <100, 100> was treated as an event inside the component but all the subsequent mouse movements are not captured since they are events that occurred outside of the event target. In vanilla Plottable, this bug do not manifest since event delegation on the entire document will eventually trigger mouse out when cursor is at, for instance, <101, 100>. Fix: Overwrote the method, _isInsideComponent, with the correct implementation.
stephanwlee
added a commit
that referenced
this issue
Mar 10, 2020
Fixes #3282. Repro: when tooltip is shown, slowly move the mouse to an edge of a chart. We expect the tooltip the disappear when the cursor is on the edge of the chart. Cause: 1. For Polymer 2 and its Shadow DOM compatibility, TensorBoard opted out of the event delegation of Plottable. Plottable, by default, attaches a set of event listeners on document.body and invokes appropriate callbacks depending on the circumstances. However, with the Shadow DOM, the event re-targetting broke (harder to identify `event.target`), so TensorBoard, instead, attaches the event listeners on every Plottable container, SVGs. 2. When mouse leaves (mouseout) the container, Plottable remaps the event as mouse move and calculate whether the cursor is inside a component (Interaction.prototype._isInsideComponent, specifically) to trigger appropriate callback. The method, however is flawed since it returns, for a component that is, for instance, at <0, 0> with size of <100, 100>, true when pointer is at <100, 100>. It should only return true for [0, 100) for a given dimension, instead. As a result, the mouseout event occurred at <100, 100> was treated as an event inside the component but all the subsequent mouse movements are not captured since they are events that occurred outside of the event target. In vanilla Plottable, this bug do not manifest since event delegation on the entire document will eventually trigger mouse out when cursor is at, for instance, <101, 100>. Fix: Overwrote the method, _isInsideComponent, with the correct implementation.
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Environment information (required)
Please run
diagnose_tensorboard.py
(link below) in the sameenvironment from which you normally run TensorFlow/TensorBoard, and
paste the output here:
Diagnostics
Diagnostics output
Suggestion: Avoid
tensorboard
packages without genfilesYour Python path contains a
tensorboard
package that does notinclude generated files. This can happen if your current directory
includes the TensorBoard source tree (e.g., you are in the TensorBoard
Git repository). The following directories from your Python path may
be problematic:
Next steps
Please try each suggestion enumerated above to determine whether it
solves your problem. If none of these suggestions works, please copy
ALL of the above output, including the lines containing only
backticks, into your GitHub issue or comment. Be sure to redact any
sensitive information.
Issue description
Please describe the bug as clearly as possible. How can we reproduce the
problem without additional resources (including external data files and
proprietary Python modules)?
When seeing scalar plots on Tensorboard, you can hover over plots to get a popup with specific values. If you move your mouse slowly out of a plot from the right-hand side of the plot, the popup stays there, instead of disappearing as is the expected behavior. This does not happen if you move the mouse out of the plot from the left/down/up, or if you move the mouse out of the plot fast.
The text was updated successfully, but these errors were encountered: