From eb0ee1cdc88139fe865677ce26d0098a3dc8d9b3 Mon Sep 17 00:00:00 2001 From: Spencer Alger Date: Wed, 28 Aug 2013 14:06:32 -0700 Subject: [PATCH] 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. --- panels/histogram/module.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/panels/histogram/module.js b/panels/histogram/module.js index 5a6000b616e..5bea7af6190 100644 --- a/panels/histogram/module.js +++ b/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]); }