|
|
|
@ -1,7 +1,8 @@ |
|
|
|
|
define([ |
|
|
|
|
'jquery', |
|
|
|
|
'lodash' |
|
|
|
|
], |
|
|
|
|
function ($) { |
|
|
|
|
function ($, _) { |
|
|
|
|
'use strict'; |
|
|
|
|
|
|
|
|
|
function GraphTooltip(elem, dashboard, scope, getSeriesFn) { |
|
|
|
@ -40,8 +41,9 @@ function ($) { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
this.getMultiSeriesPlotHoverInfo = function(seriesList, pos) { |
|
|
|
|
var value, i, series, hoverIndex; |
|
|
|
|
var value, i, series, hoverIndex, hoverDistance; |
|
|
|
|
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
|
|
|
|
@ -60,7 +62,13 @@ function ($) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
hoverIndex = this.findHoverIndexFromData(pos.x, series); |
|
|
|
|
results.time = series.data[hoverIndex][0]; |
|
|
|
|
|
|
|
|
|
// Store distance for each highlighted point
|
|
|
|
|
hoverDistance = Math.abs(pos.x - series.data[hoverIndex][0]); |
|
|
|
|
seriesTimes[i] = { |
|
|
|
|
time: series.data[hoverIndex][0], |
|
|
|
|
distance: hoverDistance |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
if (series.stack) { |
|
|
|
|
if (panel.tooltip.value_type === 'individual') { |
|
|
|
@ -87,6 +95,9 @@ function ($) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Find point which closer to pointer
|
|
|
|
|
results.time = _.min(seriesTimes, 'distance').time; |
|
|
|
|
|
|
|
|
|
return results; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|