From: Dan Vanderkam Date: Thu, 29 Sep 2016 13:34:54 +0000 (-0400) Subject: Set x appropriately for series but not point selection X-Git-Url: https://adrianiainlam.tk/git/?a=commitdiff_plain;h=2df65a6eab403b70470c76ad5786189b03e9bf62;p=dygraphs.git Set x appropriately for series but not point selection --- diff --git a/auto_tests/tests/plugins_legend.js b/auto_tests/tests/plugins_legend.js index 5f67591..e2ee4f1 100644 --- a/auto_tests/tests/plugins_legend.js +++ b/auto_tests/tests/plugins_legend.js @@ -113,6 +113,18 @@ it('should use a legendFormatter', function() { assert.equal(calls[2].series[0].y, undefined); }); +it('should work with highlight series', () => { + var calls = []; + var g = new Dygraph(graph, 'X,y1,y2\n1,2,3\n', { + highlightSeriesOpts: { + strokeWidth: 3, + } + }); + + g.setSelection(false, 'y2'); + assert.equal(Util.getLegend(graph), ''); +}); + it('should include point drawn where canvas-y is 0', function () { var graph = document.getElementById("graph"); var calls = [] diff --git a/src/dygraph.js b/src/dygraph.js index 3ffc2e6..461d0ee 100644 --- a/src/dygraph.js +++ b/src/dygraph.js @@ -1714,8 +1714,8 @@ Dygraph.prototype.animateSelection_ = function(direction) { Dygraph.prototype.updateSelection_ = function(opt_animFraction) { /*var defaultPrevented = */ this.cascadeEvents_('select', { - selectedRow: this.lastRow_, - selectedX: this.lastx_, + selectedRow: this.lastRow_ === -1 ? undefined : this.lastRow_, + selectedX: this.lastx_ === -1 ? undefined : this.lastx_, selectedPoints: this.selPoints_ }); // TODO(danvk): use defaultPrevented here? @@ -1791,6 +1791,10 @@ Dygraph.prototype.updateSelection_ = function(opt_animFraction) { * Manually set the selected points and display information about them in the * legend. The selection can be cleared using clearSelection() and queried * using getSelection(). + * + * To set a selected series but not a selected point, call setSelection with + * row=false and the selected series name. + * * @param {number} row Row number that should be highlighted (i.e. appear with * hover dots on the chart). * @param {seriesName} optional series name to highlight that series with the