From 517763489c1173b3066fff533f7640e1b5ed8886 Mon Sep 17 00:00:00 2001 From: Lim Chee Aun Date: Wed, 4 Dec 2013 23:05:34 +0800 Subject: [PATCH] A more flexible year axis --- index.html | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index b23767f..1b2dc97 100644 --- a/index.html +++ b/index.html @@ -234,23 +234,35 @@ h1{ return '
' + d.time.title + ' ' + d.text + '  
'; return ''; }, - render: function(title, data){ - document.title = title; - life.$title.innerHTML = title; - - var firstYear = life.firstYear = data[0].time.startYear; - var nowYear = new Date().getFullYear(); + renderYears: function(firstYear, lastYear){ var dayLength = life.yearLength/12/30; - var html = ''; var days = 0; - - for (var y=firstYear, age = 0; y<=nowYear+1; y++, age++){ + for (var y=firstYear, age = 0; y<=lastYear+1; y++, age++){ html += '
' + y + ' (' + age + ')' + '
'; days += (y % 4 == 0) ? 366 : 365; } + return html; + }, + render: function(title, data){ + document.title = title; + life.$title.innerHTML = title; + + // Get the first and last year for the year axis + var firstYear = new Date().getFullYear(); + var lastYear = firstYear; + data.forEach(function(d){ + var time = d.time; + var startYear = time.startYear; + var endYear = time.endYear; + if (startYear && startYear < firstYear) firstYear = startYear; + if (endYear && endYear > lastYear) lastYear = endYear; + }); + life.firstYear = firstYear; + + html = life.renderYears(firstYear, lastYear); data.forEach(function(d){ html += life.renderEvent(d); });