diff --git a/draftlogs/6121_add.md b/draftlogs/6121_add.md new file mode 100644 index 00000000000..364bb3ff4a9 --- /dev/null +++ b/draftlogs/6121_add.md @@ -0,0 +1 @@ +- Add support for hovertemplate when mode=lines on scatter traces [[#6121](https://github.com/plotly/plotly.js/pull/6121)] diff --git a/src/traces/scatter/defaults.js b/src/traces/scatter/defaults.js index de63b81e49e..e2483098506 100644 --- a/src/traces/scatter/defaults.js +++ b/src/traces/scatter/defaults.js @@ -88,7 +88,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout dfltHoverOn.push('fills'); } coerce('hoveron', dfltHoverOn.join('+') || 'points'); - if(traceOut.hoveron !== 'fills') coerce('hovertemplate'); + if(traceOut.hoveron !== 'fills' || traceOut.mode === 'lines') coerce('hovertemplate'); var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults'); errorBarsSupplyDefaults(traceIn, traceOut, lineColor || markerColor || defaultColor, {axis: 'y'}); errorBarsSupplyDefaults(traceIn, traceOut, lineColor || markerColor || defaultColor, {axis: 'x', inherit: 'y'}); diff --git a/src/traces/scatter/hover.js b/src/traces/scatter/hover.js index 04b0de04e17..0b34fc5b73c 100644 --- a/src/traces/scatter/hover.js +++ b/src/traces/scatter/hover.js @@ -238,7 +238,10 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) { else if(Color.opacity((trace.line || {}).color)) { color = trace.line.color; } - + var hovertemplate = false; + if(trace.mode === 'lines') { + hovertemplate = trace.hovertemplate; + } Lib.extendFlat(pointData, { // never let a 2D override 1D type as closest point // also: no spikeDistance, it's not allowed for fills @@ -248,7 +251,7 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) { y0: hoverLabelCoords.y0, y1: hoverLabelCoords.y1, color: color, - hovertemplate: false + hovertemplate: hovertemplate, }); delete pointData.index; diff --git a/test/jasmine/tests/hover_label_test.js b/test/jasmine/tests/hover_label_test.js index a9af59100c0..c90d85a0372 100644 --- a/test/jasmine/tests/hover_label_test.js +++ b/test/jasmine/tests/hover_label_test.js @@ -2164,6 +2164,30 @@ describe('hover info', function() { }) .then(done, done.fail); }); + + it('should work when hoveron: fills and mode: lines', function(done) { + var gd = document.getElementById('graph'); + Plotly.newPlot(gd, [{ + 'x': ['0', '390', '390', '0', '0'], + 'y': ['0', '0', '390', '390', '0'], + 'hovertemplate': 'Test', + 'markers': 'lines', + 'type': 'scatter', + 'mode': 'lines', + 'fill': 'toself', + 'hoveron': 'fills' + }], mockCopy.layout + ) + .then(function() { + Fx.hover('graph', evt, 'xy'); + + assertHoverLabelContent({ + nums: 'Test', + name: '' + }); + }) + .then(done, done.fail); + }); }); it('should work with trace.name linked to layout.meta', function(done) {