From 88784b808b8cc1394379b596ae0753753f8078f0 Mon Sep 17 00:00:00 2001 From: Richard Wall Date: Sat, 12 Jun 2010 15:48:31 +0100 Subject: Constrain the range preview to the limits of the chart data. --- jrrd.js | 106 ++++++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 67 insertions(+), 39 deletions(-) (limited to 'jrrd.js') diff --git a/jrrd.js b/jrrd.js index 2dfe28a..85f5ebc 100644 --- a/jrrd.js +++ b/jrrd.js @@ -116,10 +116,11 @@ jrrd.RrdQuery.prototype.getData = function(startTime, endTime, dsId, cfName) { } var rra, step, rraRowCount, firstUpdated; + for(var i=0; i lastUpdate) { + lastUpdate = chartData[i][j].lastUpdated; + } + } + } + + var ranges = { + xaxis: { + from: Math.max(startTime.getTime(), firstUpdate), + to: Math.min(endTime.getTime(), lastUpdate) + } + }; + + // Add a suitable extended head and tail to preview graph time axis + var HOUR = 1000 * 60 * 60; + var DAY = HOUR * 24; + var WEEK = DAY * 7; + var MONTH = DAY * 31; + var YEAR = DAY * 365; + var periods = [HOUR, HOUR*6, HOUR*12, + DAY, DAY*3, + WEEK, WEEK*2, + MONTH, MONTH*3, MONTH*6, YEAR]; + + var range = ranges.xaxis.to - ranges.xaxis.from; + for(var i=0; i