Skip to content

Commit 71e87e6

Browse files
authored
Merge pull request #4537 from plotly/waterfall-closest-below-value-axis
Fix waterfall 'closest' hover when cursor is below the size axis
2 parents 4052a03 + ff71362 commit 71e87e6

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

src/traces/bar/hover.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,12 @@ function hoverOnBars(pointData, xval, yval, hovermode) {
9191
var s = di[sizeLetter];
9292

9393
if(isWaterfall) {
94-
s += Math.abs(di.rawS || 0);
94+
var rawS = Math.abs(di.rawS) || 0;
95+
if(v > 0) {
96+
s += rawS;
97+
} else if(v < 0) {
98+
s -= rawS;
99+
}
95100
}
96101

97102
// add a gradient so hovering near the end of a

test/image/compare_pixels_test.js

+1
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ if(allMock || argv.filter) {
101101
}
102102

103103
var FLAKY_LIST = [
104+
'treemap_coffee',
104105
'treemap_textposition',
105106
'treemap_with-without_values',
106107
'trace_metatext',

test/jasmine/tests/waterfall_test.js

+7
Original file line numberDiff line numberDiff line change
@@ -1357,6 +1357,13 @@ describe('waterfall hover', function() {
13571357
expect(out.style).toBeCloseToArray([1, '#FF4136', 1, -9.47]);
13581358
assertPos(out.pos, [137, 181, 266, 266]);
13591359
});
1360+
1361+
it('should return the correct hover point data (case closest - decreasing case, below y=0)', function() {
1362+
var out = _hover(gd, 1.8, -5, 'closest');
1363+
1364+
expect(out.style).toBeCloseToArray([2, '#3D9970', 2, 16.59]);
1365+
assertPos(out.pos, [260, 304, 21, 21]);
1366+
});
13601367
});
13611368

13621369
describe('text labels', function() {

0 commit comments

Comments
 (0)