Commit 2846297d by Spencer Alger

moved the adition of the start and end time of the series after the reduce…

moved the adition of the start and end time of the series after the reduce function checks each data point from elastic search. This whould resolve #422
parent dfd5f1ba
......@@ -457,6 +457,10 @@ angular.module('kibana.histogram', [])
return parseInt(val, 10);
}
function getDatesTime(date) {
return Math.floor(date.getTime() / 1000)*1000
}
/**
* Certain graphs require 0 entries to be specified for them to render
* properly (like the line graph). So with this we will caluclate all of
......@@ -474,7 +478,7 @@ angular.module('kibana.histogram', [])
* the series.
*/
this.ZeroFilled = function (opts) {
this.opts = _.defaults(opts, {
opts = _.defaults(opts, {
interval: '10m',
start_date: null,
end_date: null,
......@@ -486,13 +490,9 @@ angular.module('kibana.histogram', [])
// will keep all values here, keyed by their time
this._data = {};
if (opts.start_date) {
this.addValue(opts.start_date, null);
}
if (opts.end_date) {
this.addValue(opts.end_date, null);
}
this.start_time = opts.start_date && getDatesTime(opts.start_date);
this.end_time = opts.end_date && getDatesTime(opts.end_date);
this.opts = opts;
};
/**
......@@ -502,7 +502,7 @@ angular.module('kibana.histogram', [])
*/
this.ZeroFilled.prototype.addValue = function (time, value) {
if (time instanceof Date) {
time = Math.floor(time.getTime() / 1000)*1000;
time = getDatesTime(time);
} else {
time = base10Int(time);
}
......@@ -544,12 +544,23 @@ angular.module('kibana.histogram', [])
strategy = this._getMinFlotPairs;
}
return _.reduce(
pairs = _.reduce(
times, // what
strategy, // how
[], // where
this // context
);
// 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) {
pairs.unshift([this.start_time, null]);
}
if (this.end_time && pairs[pairs.length -1][0] < this.end_time) {
pairs.push([this.end_time, null]);
}
return pairs;
};
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment