From 419aa088e33a865b87fb07cdb943528121072554 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Tue, 12 Feb 2013 14:10:17 -0800 Subject: [PATCH] RadialMenu#center --- js/id/modes/select.js | 8 ++++---- js/id/ui/radial_menu.js | 11 +++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/js/id/modes/select.js b/js/id/modes/select.js index db2b5f238..f1a35d225 100644 --- a/js/id/modes/select.js +++ b/js/id/modes/select.js @@ -169,14 +169,14 @@ iD.modes.Select = function(context, selection, initial) { radialMenu = iD.ui.RadialMenu(operations); if (d3.event && !initial) { - var loc = context.map().mouseCoordinates(); - if (entity && entity.type === 'node') { - loc = entity.loc; + radialMenu.center(context.projection(entity.loc)); + } else { + radialMenu.center(d3.mouse(context.surface().node())); } radialTime = window.setTimeout(function() { - context.surface().call(radialMenu, context.projection(loc)); + context.surface().call(radialMenu); }, 300); } }; diff --git a/js/id/ui/radial_menu.js b/js/id/ui/radial_menu.js index 106a48196..e718cfe51 100644 --- a/js/id/ui/radial_menu.js +++ b/js/id/ui/radial_menu.js @@ -1,7 +1,8 @@ iD.ui.RadialMenu = function(operations) { - var menu; + var menu, + center = [0, 0]; - var radialMenu = function(selection, center) { + var radialMenu = function(selection) { if (!operations.length) return; @@ -94,5 +95,11 @@ iD.ui.RadialMenu = function(operations) { } }; + radialMenu.center = function(_) { + if (!arguments.length) return center; + center = _; + return radialMenu; + }; + return radialMenu; };