Ver código fonte

Added relative time func and code refactoring

ubhatnagar 10 anos atrás
pai
commit
03e2f25adb

+ 18 - 3
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;

+ 13 - 2
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 += '<div class="graph-tooltip-list-item"><div class="graph-tooltip-series-name">';
@@ -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 += '<div class="graph-tooltip-value">' + value + '</div>';
 
         self.showTooltip(timestamp, group, pos);