/* Generate dates of month for calendar */ export default function(year, month) { var rows = [], day, weeks = generateWeekTemplate(); var days = daysInGregorianMonth(year, month); var pastYear, pastMonth; if (month === 1) { pastYear = year - 1; pastMonth = 12; } else { pastYear = year; pastMonth = month - 1; } var pastMonthDays = daysInGregorianMonth(pastYear, pastMonth); var nextYear, nextMonth; if (month === 12) { nextYear = year + 1; nextMonth = 1; } else { nextYear = year; nextMonth = month + 1; } for (var i = 1; i <= days; i++) { day = dayOfWeek(year, month, i); if (i === 1) { pastMonthDays = pastMonthDays - day + 2; for (var j = 1; j < day; j++, pastMonthDays++) { weeks[j - 1] = Calendar.generate(pastYear, pastMonth, pastMonthDays); } } weeks[day - 1] = Calendar.generate(year, month, i); if (day === 7 || i === days) { if (i === days) { for (var z = day, d = 1; z < 7; z++, d++) { weeks[z] = Calendar.generate(nextYear, nextMonth, d); } } rows.push(weeks); weeks = generateWeekTemplate(); } } return rows; }
cnCalendar: Ember.computed('year', 'month', 'date', function () { return Calendar.generate(this.get('year'), this.get('month'), this.get('date')); }),