diff --git a/js/id/behavior/draw_way.js b/js/id/behavior/draw_way.js index 76467d887..8452763c3 100644 --- a/js/id/behavior/draw_way.js +++ b/js/id/behavior/draw_way.js @@ -174,7 +174,10 @@ iD.behavior.DrawWay = function(context, wayId, index, mode, baseGraph) { }, 1000); if (context.hasEntity(wayId)) { - context.enter(iD.modes.Select(context, [wayId]).newFeature(true)); + context.enter( + iD.modes.Select(context, [wayId]) + .suppressMenu(true) + .newFeature(true)); } else { context.enter(iD.modes.Browse(context)); } diff --git a/js/id/modes/add_point.js b/js/id/modes/add_point.js index 8e83fe7f0..93c03ccb4 100644 --- a/js/id/modes/add_point.js +++ b/js/id/modes/add_point.js @@ -20,7 +20,10 @@ iD.modes.AddPoint = function(context) { iD.actions.AddEntity(node), t('operations.add.annotation.point')); - context.enter(iD.modes.Select(context, [node.id]).newFeature(true)); + context.enter( + iD.modes.Select(context, [node.id]) + .suppressMenu(true) + .newFeature(true)); } function addWay(loc, edge) { diff --git a/js/id/modes/drag_node.js b/js/id/modes/drag_node.js index b41a05a70..d0c016801 100644 --- a/js/id/modes/drag_node.js +++ b/js/id/modes/drag_node.js @@ -138,7 +138,9 @@ iD.modes.DragNode = function(context) { var parentWays = _.pluck(context.graph().parentWays(entity), 'id'); - context.enter(iD.modes.Select(context, parentWays)); + context.enter( + iD.modes.Select(context, parentWays) + .suppressMenu(true)); } function cancel() { diff --git a/js/id/modes/select.js b/js/id/modes/select.js index 4544a75b7..a110fd034 100644 --- a/js/id/modes/select.js +++ b/js/id/modes/select.js @@ -13,7 +13,8 @@ iD.modes.Select = function(context, selection) { iD.modes.DragNode(context).behavior], inspector, radialMenu, - newFeature = false; + newFeature = false, + suppressMenu = false; var wrap = context.container() .select('.inspector-wrap'); @@ -60,6 +61,12 @@ iD.modes.Select = function(context, selection) { return mode; }; + mode.suppressMenu = function(_) { + if (!arguments.length) return suppressMenu; + suppressMenu = _; + return mode; + }; + mode.enter = function() { behaviors.forEach(function(behavior) { context.install(behavior); @@ -162,7 +169,7 @@ iD.modes.Select = function(context, selection) { selectElements(); radialMenu = iD.ui.RadialMenu(operations); - var show = d3.event && !newFeature; + var show = d3.event && !suppressMenu; if (show) { positionMenu();