From 3d9fcf2807ac106dc161c35d464b8a97152ad0d9 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 10 May 2017 19:40:11 +0200 Subject: [PATCH 1/2] fix hover tooltip position with non-original div position --- src/traces/sankey/plot.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/traces/sankey/plot.js b/src/traces/sankey/plot.js index 1810603a8ab..3b0ed1e1336 100644 --- a/src/traces/sankey/plot.js +++ b/src/traces/sankey/plot.js @@ -125,13 +125,14 @@ module.exports = function plot(gd, calcData) { var linkHoverFollow = function(element, d) { + var rootBBox = gd.getBoundingClientRect(); var boundingBox = element.getBoundingClientRect(); var hoverCenterX = boundingBox.left + boundingBox.width / 2; var hoverCenterY = boundingBox.top + boundingBox.height / 2; var tooltip = Fx.loneHover({ - x: hoverCenterX + window.scrollX, - y: hoverCenterY + window.scrollY, + x: hoverCenterX - rootBBox.left + window.scrollX, + y: hoverCenterY - rootBBox.top + window.scrollY, name: d3.format(d.valueFormat)(d.link.value) + d.valueSuffix, text: [ d.link.label, @@ -173,10 +174,11 @@ module.exports = function plot(gd, calcData) { var nodeHoverFollow = function(element, d) { var nodeRect = d3.select(element).select('.nodeRect'); + var rootBBox = gd.getBoundingClientRect(); var boundingBox = nodeRect.node().getBoundingClientRect(); - var hoverCenterX0 = boundingBox.left - 2; - var hoverCenterX1 = boundingBox.right + 2; - var hoverCenterY = boundingBox.top + boundingBox.height / 4; + var hoverCenterX0 = boundingBox.left - 2 - rootBBox.left; + var hoverCenterX1 = boundingBox.right + 2 - rootBBox.left; + var hoverCenterY = boundingBox.top + boundingBox.height / 4 - rootBBox.top; var tooltip = Fx.loneHover({ x0: hoverCenterX0 + window.scrollX, From 0c53c82e20a7e536a035ab1e0ab3824aa49c2856 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 10 May 2017 20:12:14 +0200 Subject: [PATCH 2/2] remove obsolete scroll check --- src/traces/sankey/plot.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/traces/sankey/plot.js b/src/traces/sankey/plot.js index 3b0ed1e1336..7b0ce67e60e 100644 --- a/src/traces/sankey/plot.js +++ b/src/traces/sankey/plot.js @@ -131,8 +131,8 @@ module.exports = function plot(gd, calcData) { var hoverCenterY = boundingBox.top + boundingBox.height / 2; var tooltip = Fx.loneHover({ - x: hoverCenterX - rootBBox.left + window.scrollX, - y: hoverCenterY - rootBBox.top + window.scrollY, + x: hoverCenterX - rootBBox.left, + y: hoverCenterY - rootBBox.top, name: d3.format(d.valueFormat)(d.link.value) + d.valueSuffix, text: [ d.link.label, @@ -181,9 +181,9 @@ module.exports = function plot(gd, calcData) { var hoverCenterY = boundingBox.top + boundingBox.height / 4 - rootBBox.top; var tooltip = Fx.loneHover({ - x0: hoverCenterX0 + window.scrollX, - x1: hoverCenterX1 + window.scrollX, - y: hoverCenterY + window.scrollY, + x0: hoverCenterX0, + x1: hoverCenterX1, + y: hoverCenterY, name: d3.format(d.valueFormat)(d.node.value) + d.valueSuffix, text: [ d.node.label,