Skip to content

Commit

Permalink
Fix #1164: scatter mouseover wrong position.
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex--wu committed Jul 28, 2015
1 parent f54d2d6 commit 1c425f4
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
12 changes: 9 additions & 3 deletions src/models/scatter.js
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,7 @@ nv.models.scatter = function() {
point: point,
series: series,
pos: pos,
relativePos: [x(getX(point, d.point)) + margin.left, y(getY(point, d.point)) + margin.top],
seriesIndex: d.series,
pointIndex: d.point
});
Expand Down Expand Up @@ -297,7 +298,8 @@ nv.models.scatter = function() {
dispatch.elementClick({
point: point,
series: series,
pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],
pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top], //TODO: make this pos base on the page
relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],
seriesIndex: d.series,
pointIndex: i
});
Expand All @@ -310,7 +312,8 @@ nv.models.scatter = function() {
dispatch.elementDblClick({
point: point,
series: series,
pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],
pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],//TODO: make this pos base on the page
relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],
seriesIndex: d.series,
pointIndex: i
});
Expand All @@ -323,7 +326,8 @@ nv.models.scatter = function() {
dispatch.elementMouseover({
point: point,
series: series,
pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],
pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],//TODO: make this pos base on the page
relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],
seriesIndex: d.series,
pointIndex: i,
color: color(d, i)
Expand All @@ -337,6 +341,8 @@ nv.models.scatter = function() {
dispatch.elementMouseout({
point: point,
series: series,
pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],//TODO: make this pos base on the page
relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],
seriesIndex: d.series,
pointIndex: i,
color: color(d, i)
Expand Down
6 changes: 3 additions & 3 deletions src/models/scatterChart.js
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ nv.models.scatterChart = function() {
.call(yAxis);
}


// Setup Distribution
if (showDistX) {
distX
.getData(scatter.x())
Expand Down Expand Up @@ -314,9 +314,9 @@ nv.models.scatterChart = function() {

scatter.dispatch.on('elementMouseover.tooltip', function(evt) {
container.select('.nv-series-' + evt.seriesIndex + ' .nv-distx-' + evt.pointIndex)
.attr('y1', evt.pos.top - availableHeight - margin.top);
.attr('y1', evt.relativePos[1] - availableHeight);
container.select('.nv-series-' + evt.seriesIndex + ' .nv-disty-' + evt.pointIndex)
.attr('x2', evt.pos.left + distX.size() - margin.left);
.attr('x2', evt.relativePos[0] + distX.size());
tooltip.position(evt.pos).data(evt).hidden(false);
});

Expand Down
4 changes: 4 additions & 0 deletions test/mocha/scatter.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,10 @@ describe 'NVD3', ->
210
119
]
relativePos: [
210
119
]
series:
key: 'Series 1'
seriesIndex: 0
Expand Down

0 comments on commit 1c425f4

Please sign in to comment.