diff --git a/examples/calendar/calendar.css b/examples/calendar/calendar.css new file mode 100644 index 0000000000000..38d5c83b68cde --- /dev/null +++ b/examples/calendar/calendar.css @@ -0,0 +1,16 @@ +#chart { + font: 10px sans-serif; +} + +.day { + fill: none; + stroke: #ccc; + shape-rendering: crispEdges; +} + +.month { + fill: none; + stroke: #000; + stroke-width: 2px; + shape-rendering: crispEdges; +} diff --git a/examples/calendar/calendar.js b/examples/calendar/calendar.js new file mode 100644 index 0000000000000..23f0f65e3dcff --- /dev/null +++ b/examples/calendar/calendar.js @@ -0,0 +1,50 @@ +var calendar = { + + format: d3.time.format("%Y-%m-%d"), + + dates: function(year) { + var dates = [], + date = new Date(year, 0, 1), + week = 0, + day; + do { + dates.push({ + day: day = date.getDay(), + week: week, + month: date.getMonth(), + Date: calendar.format(date) + }); + date.setDate(date.getDate() + 1); + if (day == 6) week++; + } while (date.getFullYear() == year); + return dates; + }, + + months: function(year) { + var months = [], + date = new Date(year, 0, 1), + month, + firstDay, + firstWeek, + day, + week = 0; + do { + firstDay = date.getDay(); + firstWeek = week; + month = date.getMonth(); + do { + day = date.getDay(); + if (day == 6) week++; + date.setDate(date.getDate() + 1); + } while (date.getMonth() == month); + months.push({ + firstDay: firstDay, + firstWeek: firstWeek, + lastDay: day, + lastWeek: day == 6 ? week - 1 : week + }); + } while (date.getFullYear() == year); + return months; + } + +}; diff --git a/examples/calendar/dji.html b/examples/calendar/dji.html index e071724638b4d..2e37b849ba5e8 100644 --- a/examples/calendar/dji.html +++ b/examples/calendar/dji.html @@ -3,146 +3,13 @@