Ver Fonte

Zero-filling will now happen any time there is more than one query being plotted, even if that there is only one data point
in the series.

Spencer Alger há 12 anos atrás
pai
commit
eb0ee1cdc8
1 ficheiros alterados com 6 adições e 5 exclusões
  1. 6 5
      panels/histogram/module.js

+ 6 - 5
panels/histogram/module.js

@@ -391,7 +391,7 @@ angular.module('kibana.histogram', [])
             // when rendering stacked bars, we need to ensure each point that has data is zero-filled
             // so that the stacking happens in the proper order
             var required_times = [];
-            if (scope.panel.bars && stack) {
+            if (scope.data.length > 1) {
               required_times = _.uniq(Array.prototype.concat.apply([], _.map(scope.data, function (query) {
                 return query.time_series.getOrderedTimes();
               })).sort(), true);
@@ -458,7 +458,7 @@ angular.module('kibana.histogram', [])
   }
 
   function getDatesTime(date) {
-    return Math.floor(date.getTime() / 1000)*1000
+    return Math.floor(date.getTime() / 1000)*1000;
   }
 
   /**
@@ -536,7 +536,8 @@ angular.module('kibana.histogram', [])
   this.ZeroFilled.prototype.getFlotPairs = function (required_times) {
     var times = this.getOrderedTimes(required_times),
       strategy,
-      pairs;
+      pairs,
+      pairs_empty;
 
     if(this.opts.fill_style === 'all') {
       strategy = this._getAllFlotPairs;
@@ -553,10 +554,10 @@ angular.module('kibana.histogram', [])
 
     // if the start and end of the pairs are inside either the start or end time,
     // add those times to the series with null values so the graph will stretch to contain them.
-    if (this.start_time && pairs[0][0] > this.start_time) {
+    if (this.start_time && (pairs.length === 0 || pairs[0][0] > this.start_time)) {
       pairs.unshift([this.start_time, null]);
     }
-    if (this.end_time && pairs[pairs.length -1][0] < this.end_time) {
+    if (this.end_time && (pairs.length === 0 || pairs[pairs.length - 1][0] < this.end_time)) {
       pairs.push([this.end_time, null]);
     }