From 18829ee4822f6f0f0cf1ff58f6859152379dd013 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Wed, 7 Aug 2013 11:42:11 -0700 Subject: [PATCH] Fix radial menu tooltip positioning --- js/id/modes/select.js | 2 +- js/id/ui/radial_menu.js | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/js/id/modes/select.js b/js/id/modes/select.js index 1368b0a5b..550a7bdf2 100644 --- a/js/id/modes/select.js +++ b/js/id/modes/select.js @@ -156,7 +156,7 @@ iD.modes.Select = function(context, selectedIDs) { context.map().on('drawn.select', selectElements); selectElements(); - radialMenu = iD.ui.RadialMenu(operations); + radialMenu = iD.ui.RadialMenu(context, operations); var show = d3.event && !suppressMenu; if (show) { diff --git a/js/id/ui/radial_menu.js b/js/id/ui/radial_menu.js index ca41fe590..f6277e872 100644 --- a/js/id/ui/radial_menu.js +++ b/js/id/ui/radial_menu.js @@ -1,4 +1,4 @@ -iD.ui.RadialMenu = function(operations) { +iD.ui.RadialMenu = function(context, operations) { var menu, center = [0, 0], tooltip; @@ -66,9 +66,10 @@ iD.ui.RadialMenu = function(operations) { .attr('class', 'tooltip-inner radial-menu-tooltip'); function mouseover(d, i) { - var angle = a0 + i * a, - dx = angle < 0 ? -200 : 0, - dy = 0; + var rect = context.surface().node().getBoundingClientRect(), + angle = a0 + i * a, + dx = rect.left - (angle < 0 ? 200 : 0), + dy = rect.top; tooltip .style('left', (r + 25) * Math.sin(angle) + dx + center[0] + 'px')