diff options
author | Richard Wall <richard@aziz> | 2010-06-12 12:11:20 +0100 |
---|---|---|
committer | Richard Wall <richard@aziz> | 2010-06-12 12:11:20 +0100 |
commit | 26e8a32604a78e82da23e8d2262fd2bcc54288fa (patch) | |
tree | ae81a9022fb218f6eb598b4b003c8a968d986500 /jrrd.js | |
parent | 4f21af2a0882ca460a53ad485d96fdd8a4ba1c4d (diff) |
Dynamically extend the range preview beyond the chosen range
Diffstat (limited to 'jrrd.js')
-rw-r--r-- | jrrd.js | 45 |
1 files changed, 30 insertions, 15 deletions
@@ -502,7 +502,7 @@ jrrd.ChartCoordinator = function(ui) { }); // Style and configuration of the range timeline - var rangePreviewOptions = { + this.rangePreviewOptions = { grid: { borderWidth: 1 }, @@ -516,20 +516,6 @@ jrrd.ChartCoordinator = function(ui) { ticks: [] } }; - var now = new Date().getTime(); - var HOUR = 1000 * 60 * 60; - var DAY = HOUR * 24; - var WEEK = DAY * 7; - var MONTH = DAY * 31; - var YEAR = DAY * 365; - - // Dummy data for the range timeline - var data = [ - [now - WEEK, null], - [now, null]]; - - this.rangePreview = $.plot(this.ui.find('.range-preview'), [data], - rangePreviewOptions); // When a selection is made on the range timeline, redraw all the charts. this.ui.bind("plotselected", function(event, ranges) { @@ -551,6 +537,35 @@ jrrd.ChartCoordinator.prototype.update = function() { to: endTime.getTime() } }; + + // 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<periods.length; i++) { + console.log('Period[' + i + ']'); + if(range <= periods[i]) { + console.log('Period[' + i + ']'); + break; + } + } + + // Dummy data for the range timeline + var data = [ + [ranges.xaxis.from - periods[i], null], + [ranges.xaxis.to + periods[i], null]]; + + this.rangePreview = $.plot(this.ui.find('.range-preview'), [data], + this.rangePreviewOptions); + this.rangePreview.setSelection(ranges, true); for(var i=0; i<this.charts.length; i++){ this.charts[i].setTimeRange(startTime, endTime); |