UNPKG

angular-mat-datepicker

Version:

[![Version](http://img.shields.io/npm/v/angular2-material-datepicker.svg)](https://www.npmjs.org/package/angular2-material-datepicker) [![BuildStatus](https://travis-ci.org/koleary94/Angular-2-Datepicker.svg?branch=master)](https://travis-ci.org/koleary9

67 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Calendar = (function () { function Calendar(firstWeekDay) { if (firstWeekDay === void 0) { firstWeekDay = 0; } this.firstWeekDay = firstWeekDay; } Calendar.prototype.weekStartDate = function (date) { var startDate = new Date(date.getTime()); while (startDate.getDay() !== this.firstWeekDay) { startDate.setDate(startDate.getDate() - 1); } return startDate; }; Calendar.prototype.monthDates = function (year, month, dayFormatter, weekFormatter) { if (dayFormatter === void 0) { dayFormatter = null; } if (weekFormatter === void 0) { weekFormatter = null; } if ((typeof year !== "number") || (year < 1970)) { throw ('year must be a number >= 1970'); } ; if ((typeof month !== "number") || (month < 0) || (month > 11)) { throw ('month must be a number (Jan is 0)'); } ; var weeks = [], week = [], i = 0, date = this.weekStartDate(new Date(year, month, 1)); do { for (i = 0; i < 7; i++) { week.push(dayFormatter ? dayFormatter(date) : date); date = new Date(date.getTime()); date.setDate(date.getDate() + 1); } weeks.push(weekFormatter ? weekFormatter(week) : week); week = []; } while ((date.getMonth() <= month) && (date.getFullYear() === year)); return weeks; }; Calendar.prototype.monthDays = function (year, month) { var getDayOrZero = function getDayOrZero(date) { return date.getMonth() === month ? date : 0; }; return this.monthDates(year, month, getDayOrZero); }; Calendar.prototype.monthText = function (year, month) { if (typeof year === "undefined") { var now = new Date(); year = now.getFullYear(); month = now.getMonth(); } ; var getDayOrBlank = function getDayOrBlank(date) { var s = date.getMonth() === month ? date.getDate().toString() : " "; while (s.length < 2) s = " " + s; return s; }; var weeks = this.monthDates(year, month, getDayOrBlank, function (week) { return week.join(" "); }); return weeks.join("\n"); }; return Calendar; }()); exports.Calendar = Calendar; var months = "JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC".split(" "); for (var i = 0; i < months.length; i++) { Calendar[months[i]] = i; } //# sourceMappingURL=calendar.js.map