diff --git a/public/app/features/dashboard/dashboardSrv.js b/public/app/features/dashboard/dashboardSrv.js index 21318ac8370..25abdd42a97 100644 --- a/public/app/features/dashboard/dashboardSrv.js +++ b/public/app/features/dashboard/dashboardSrv.js @@ -216,9 +216,8 @@ function (angular, $, kbn, _, moment) { }; p.formatDate = function(date, format) { - if (!moment.isMoment(date)) { - date = moment(date); - } + + date = this.checkDate(date); format = format || 'YYYY-MM-DD HH:mm:ss'; @@ -227,6 +226,22 @@ function (angular, $, kbn, _, moment) { moment.utc(date).format(format); }; + p.formatRelativeDate = function(date) { + + date = this.checkDate(date); + + return this.timezone === 'browser' ? + moment(date).fromNow() : + moment.utc(date).fromNow(); + }; + + p.checkDate = function(date) { + if (!moment.isMoment(date)) { + date = moment(date); + } + return date; + }; + p._updateSchema = function(old) { var i, j, k; var oldVersion = this.schemaVersion; diff --git a/public/app/panels/graph/graph.tooltip.js b/public/app/panels/graph/graph.tooltip.js index 7f3df2cbafa..eecacf4a04c 100644 --- a/public/app/panels/graph/graph.tooltip.js +++ b/public/app/panels/graph/graph.tooltip.js @@ -117,7 +117,11 @@ function ($) { var seriesHoverInfo = self.getMultiSeriesPlotHoverInfo(plotData, pos); seriesHtml = ''; - timestamp = dashboard.formatDate(seriesHoverInfo.time,scope.panel.tooltip.relativeTimestamp); + if(scope.panel.tooltip.relativeTimestamp) { + timestamp = dashboard.formatRelativeDate(seriesHoverInfo.time); + } else { + timestamp = dashboard.formatDate(seriesHoverInfo.time); + } for (i = 0; i < seriesHoverInfo.length; i++) { hoverInfo = seriesHoverInfo[i]; @@ -127,6 +131,7 @@ function ($) { } series = seriesList[i]; + value = series.formatValue(hoverInfo.value); seriesHtml += '
'; @@ -151,7 +156,13 @@ function ($) { } value = series.formatValue(value); - timestamp = dashboard.formatDate(item.datapoint[0]); + + if(scope.panel.tooltip.relativeTimestamp) { + timestamp = dashboard.formatRelativeDate(item.datapoint[0]); + } else { + timestamp = dashboard.formatDate(item.datapoint[0]); + } + group += '
' + value + '
'; self.showTooltip(timestamp, group, pos);