Procházet zdrojové kódy

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 před 12 roky
rodič
revize
eb0ee1cdc8
1 změnil soubory, kde provedl 6 přidání a 5 odebrání
  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
             // 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
             // so that the stacking happens in the proper order
             var required_times = [];
             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) {
               required_times = _.uniq(Array.prototype.concat.apply([], _.map(scope.data, function (query) {
                 return query.time_series.getOrderedTimes();
                 return query.time_series.getOrderedTimes();
               })).sort(), true);
               })).sort(), true);
@@ -458,7 +458,7 @@ angular.module('kibana.histogram', [])
   }
   }
 
 
   function getDatesTime(date) {
   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) {
   this.ZeroFilled.prototype.getFlotPairs = function (required_times) {
     var times = this.getOrderedTimes(required_times),
     var times = this.getOrderedTimes(required_times),
       strategy,
       strategy,
-      pairs;
+      pairs,
+      pairs_empty;
 
 
     if(this.opts.fill_style === 'all') {
     if(this.opts.fill_style === 'all') {
       strategy = this._getAllFlotPairs;
       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,
     // 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.
     // 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]);
       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]);
       pairs.push([this.end_time, null]);
     }
     }