From d95545b5d307e8f48171f4b95f8e6819ba0e3d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 10 Aug 2016 08:31:53 +0200 Subject: [PATCH] feat(graph tooltip): refactoring PR #3063 --- .../app/plugins/panel/graph/graph_tooltip.js | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/public/app/plugins/panel/graph/graph_tooltip.js b/public/app/plugins/panel/graph/graph_tooltip.js index 477af138616..03c092fa4ac 100644 --- a/public/app/plugins/panel/graph/graph_tooltip.js +++ b/public/app/plugins/panel/graph/graph_tooltip.js @@ -41,9 +41,8 @@ function ($, _) { }; this.getMultiSeriesPlotHoverInfo = function(seriesList, pos) { - var value, i, series, hoverIndex, hoverDistance; + var value, i, series, hoverIndex, hoverDistance, pointTime; var results = []; - var seriesTimes = new Array(seriesList.length); //now we know the current X (j) position for X and Y values var last_value = 0; //needed for stacked values @@ -62,13 +61,8 @@ function ($, _) { } hoverIndex = this.findHoverIndexFromData(pos.x, series); - - // Store distance for each highlighted point hoverDistance = Math.abs(pos.x - series.data[hoverIndex][0]); - seriesTimes[i] = { - time: series.data[hoverIndex][0], - distance: hoverDistance - }; + pointTime = series.data[hoverIndex][0]; if (series.stack) { if (panel.tooltip.value_type === 'individual') { @@ -88,15 +82,22 @@ function ($, _) { // stacked and steppedLine plots can have series with different length. // Stacked series can increase its length on each new stacked serie if null points found, // to speed the index search we begin always on the last found hoverIndex. - var newhoverIndex = this.findHoverIndexFromDataPoints(pos.x, series, hoverIndex); - results.push({ value: value, hoverIndex: newhoverIndex, color: series.color, label: series.label }); - } else { - results.push({ value: value, hoverIndex: hoverIndex, color: series.color, label: series.label }); + hoverIndex = this.findHoverIndexFromDataPoints(pos.x, series, hoverIndex); + hoverDistance = Math.abs(pos.x - series.data[hoverIndex][0]); } + + results.push({ + value: value, + hoverIndex: hoverIndex, + color: series.color, + label: series.label, + time: pointTime, + distance: hoverDistance + }); } // Find point which closer to pointer - results.time = _.min(seriesTimes, 'distance').time; + results.time = _.min(results, 'distance').time; return results; };