From 2af11c71db423390e684ecd7df7568ec00ef3d54 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Thu, 7 Mar 2013 15:19:32 -0500 Subject: [PATCH] disable hideOnMouseover while dragging --- js/id/svg/labels.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/js/id/svg/labels.js b/js/id/svg/labels.js index 6e8bd6149..1544dc152 100644 --- a/js/id/svg/labels.js +++ b/js/id/svg/labels.js @@ -243,7 +243,7 @@ iD.svg.Labels = function(projection) { var rtree = new RTree(), rectangles = {}, lang = 'name:' + iD.detect().locale.toLowerCase().split('-')[0], - mousePosition, cacheDimensions; + supersurface, mousePosition, cacheDimensions; return function drawLabels(surface, graph, entities, filter, dimensions, fullRedraw) { @@ -252,8 +252,16 @@ iD.svg.Labels = function(projection) { cacheDimensions = dimensions.join(','); } - d3.select(surface.node().parentNode) - .on('mousemove.hidelabels', hideOnMouseover); + if (!supersurface) { + supersurface = d3.select(surface.node().parentNode) + .on('mousemove.hidelabels', hideOnMouseover) + .on('mousedown.hidelabels', function() { + supersurface.on('mousemove.hidelabels', null); + }) + .on('mouseup.hidelabels', function() { + supersurface.on('mousemove.hidelabels', hideOnMouseover); + }); + } var hidePoints = !surface.select('.node.point').node();