[Mapguide-trac] [mapguide-trac] #2390: Ajax Viewer: fixed pad values in isMouseInsideHyperlink() interferes with Ctrl-click
MapGuide Open Source
trac_mapguide at osgeo.org
Mon Dec 16 09:17:25 PST 2013
#2390: Ajax Viewer: fixed pad values in isMouseInsideHyperlink() interferes with
Ctrl-click
---------------------------+------------------------------------------------
Reporter: gabrimonfa | Owner:
Type: defect | Status: new
Priority: medium | Milestone:
Component: AJAX Viewer | Version: 2.5.0
Severity: major | Keywords:
External_id: |
---------------------------+------------------------------------------------
== Step to reproduce the bug ==
1. Point cursor to a symbol that has tooltip and URL.
2. Wait for tooltip to appear
3. Now move slightly the mouse
4. The tooltip is yet there but Ctrl-click does not go to the URL
(Tested in Firefox 25/26, Chrome 29-31)
== Expected ==
* While tooltip is shown, ctrl-click should work.
Movement in 3. may be have been done inadvertently, while searching ctrl
key in the keyboard and this is very confusing for the users
== Looking at the code ==
1. in function `OnMouseMove()`, hlData.url is cleared and
`HideHyperlinkTip()` is called
2. function `HideHyperlinkTip()` hides the tooltip, except when the
mouse is inside the tooltip (probably to let the user interact with
tooltip content, f.i. to click on a link). The check is done in
`IsMouseInsideHyperlink()` function
3. function `IsMouseInsideHyperlink()` considers a fixed amount of
pixels to the left and to the top of tooltip element, probably to account
for cursor icon.
Those padding values are fixed to 20 and 30 pixels respectively in x and y
axis.
Thus cursor appears to be inside tooltip, while it is not and the bug
shows up.
== Possible solutions ==
1. In my setup users does not need to interact with tooltip content, so
there is no need to prevent tooltip hiding when cursor is inside it.
Thus I simply commented out the check in function `HideHyperlinkTip()`.
IMHO is also better not to show a tooltip that invite to Ctrl-click to
have more info, when in fact it does not works if the mouse has been moved
from its original position.
Tooltip hiding also let the viewer call again `RequestHyperLinkData()`
with the new position, presenting the user a new tooltip and a new URL,
that are correct w.r.t. to current cursor position.
2. If users need to interact with the tooltip it would be better to
remove excessive padding (and obviously also to remove the text that
invite to Ctrl-click, since users open the url by clicking the link)
--
Ticket URL: <http://trac.osgeo.org/mapguide/ticket/2390>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals
More information about the mapguide-trac
mailing list