UNPKG

angular-calendar-scheduler

Version:

This project provide a scheduler view component for [mattlewis92/angular-calendar](https://github.com/mattlewis92/angular-calendar).

70 lines 12 kB
import * as tslib_1 from "tslib"; import { CalendarDateFormatter } from 'angular-calendar'; var SchedulerDateFormatter = /** @class */ (function (_super) { tslib_1.__extends(SchedulerDateFormatter, _super); function SchedulerDateFormatter() { return _super !== null && _super.apply(this, arguments) || this; } /** * The time formatting down the left hand side of the day view */ SchedulerDateFormatter.prototype.dayViewHour = function (_a) { var date = _a.date, locale = _a.locale; return new Intl.DateTimeFormat(locale, { hour: 'numeric', minute: 'numeric' }).format(date); }; SchedulerDateFormatter.prototype.weekViewTitle = function (_a) { var date = _a.date, locale = _a.locale; // http://generatedcontent.org/post/59403168016/esintlapi var year = new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(date); var month = new Intl.DateTimeFormat(locale, { month: 'short' }).format(date); // var firstDay: number = date.getDate() - date.getDay() + 1; // First day is the day of the month - the day of the week var firstDay = date.getDate(); if (date.getDay() === 0) { firstDay += 1; } var lastDay = firstDay + 6; // last day is the first day + 6 var firstDayMonth = month; var lastDayMonth = month; var firstDayYear = year; var lastDayYear = year; if (firstDay < 1) { var prevMonthDate = new Date(date.getFullYear(), date.getMonth() - 1); firstDayMonth = new Intl.DateTimeFormat(locale, { month: 'short' }).format(prevMonthDate); var daysInPrevMonth = this.daysInMonth(prevMonthDate); var i = 0; var prevMonthDay = daysInPrevMonth; for (i = 0; i < Math.abs(firstDay); i++) { prevMonthDay--; } firstDay = prevMonthDay; var prevMonthYear = new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(prevMonthDate); if (Number(prevMonthYear) < Number(year)) { firstDayYear = prevMonthYear; } } var daysInMonth = this.daysInMonth(date); if (lastDay > daysInMonth) { var nextMonthDate = new Date(date.getFullYear(), date.getMonth() + 1); lastDayMonth = new Intl.DateTimeFormat(locale, { month: 'short' }).format(nextMonthDate); var i = 0; var nextMonthDay = 0; for (i = 0; i < (lastDay - daysInMonth); i++) { nextMonthDay++; } lastDay = nextMonthDay; var nextMonthYear = new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(nextMonthDate); if (Number(nextMonthYear) > Number(year)) { lastDayYear = nextMonthYear; } } return "" + firstDay + (firstDayMonth !== lastDayMonth ? ' ' + firstDayMonth : '') + (firstDayYear !== lastDayYear ? ' ' + firstDayYear : '') + (" - " + lastDay + " " + lastDayMonth + " " + lastDayYear); }; SchedulerDateFormatter.prototype.daysInMonth = function (anyDateInMonth) { return new Date(anyDateInMonth.getFullYear(), anyDateInMonth.getMonth() + 1, 0).getDate(); }; return SchedulerDateFormatter; }(CalendarDateFormatter)); export { SchedulerDateFormatter }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLWRhdGUtZm9ybWF0dGVyLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1jYWxlbmRhci1zY2hlZHVsZXIvIiwic291cmNlcyI6WyJtb2R1bGVzL3NjaGVkdWxlci9mb3JtYXR0ZXJzL3NjaGVkdWxlci1kYXRlLWZvcm1hdHRlci5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLGtCQUFrQixDQUFDO0FBRTlFO0lBQTRDLGtEQUFxQjtJQUFqRTs7SUF3RUEsQ0FBQztJQXRFRzs7T0FFRztJQUNJLDRDQUFXLEdBQWxCLFVBQW1CLEVBQXFDO1lBQW5DLGNBQUksRUFBRSxrQkFBTTtRQUM3QixPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0sOENBQWEsR0FBcEIsVUFBcUIsRUFBcUM7WUFBbkMsY0FBSSxFQUFFLGtCQUFNO1FBQy9CLHlEQUF5RDtRQUN6RCxJQUFNLElBQUksR0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZGLElBQU0sS0FBSyxHQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkYsd0hBQXdIO1FBQ3hILElBQUksUUFBUSxHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDckIs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LENBQUMsRUFBRSxDQUFDO2FBQ3hELFFBQU0sT0FBTyxTQUFJLFlBQVksU0FBSSxXQUFhLENBQUEsQ0FBQztJQUN2RCxDQUFDO0lBRU8sNENBQVcsR0FBbkIsVUFBb0IsY0FBb0I7UUFDcEMsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5RixDQUFDO0lBQ0wsNkJBQUM7QUFBRCxDQUFDLEFBeEVELENBQTRDLHFCQUFxQixHQXdFaEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxlbmRhckRhdGVGb3JtYXR0ZXIsIERhdGVGb3JtYXR0ZXJQYXJhbXMgfSBmcm9tICdhbmd1bGFyLWNhbGVuZGFyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBTY2hlZHVsZXJEYXRlRm9ybWF0dGVyIGV4dGVuZHMgQ2FsZW5kYXJEYXRlRm9ybWF0dGVyIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSB0aW1lIGZvcm1hdHRpbmcgZG93biB0aGUgbGVmdCBoYW5kIHNpZGUgb2YgdGhlIGRheSB2aWV3XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkYXlWaWV3SG91cih7IGRhdGUsIGxvY2FsZSB9OiBEYXRlRm9ybWF0dGVyUGFyYW1zKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCB7IGhvdXI6ICdudW1lcmljJywgbWludXRlOiAnbnVtZXJpYycgfSkuZm9ybWF0KGRhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB3ZWVrVmlld1RpdGxlKHsgZGF0ZSwgbG9jYWxlIH06IERhdGVGb3JtYXR0ZXJQYXJhbXMpOiBzdHJpbmcge1xyXG4gICAgICAgIC8vIGh0dHA6Ly9nZW5lcmF0ZWRjb250ZW50Lm9yZy9wb3N0LzU5NDAzMTY4MDE2L2VzaW50bGFwaVxyXG4gICAgICAgIGNvbnN0IHllYXI6IHN0cmluZyA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSkuZm9ybWF0KGRhdGUpO1xyXG4gICAgICAgIGNvbnN0IG1vbnRoOiBzdHJpbmcgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGUsIHsgbW9udGg6ICdzaG9ydCcgfSkuZm9ybWF0KGRhdGUpO1xyXG5cclxuICAgICAgICAvLyB2YXIgZmlyc3REYXk6IG51bWJlciA9IGRhdGUuZ2V0RGF0ZSgpIC0gZGF0ZS5nZXREYXkoKSArIDE7IC8vIEZpcnN0IGRheSBpcyB0aGUgZGF5IG9mIHRoZSBtb250aCAtIHRoZSBkYXkgb2YgdGhlIHdlZWtcclxuICAgICAgICBsZXQgZmlyc3REYXk6IG51bWJlciA9IGRhdGUuZ2V0RGF0ZSgpO1xyXG4gICAgICAgIGlmIChkYXRlLmdldERheSgpID09PSAwKSB7XHJcbiAgICAgICAgICAgIGZpcnN0RGF5ICs9IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgbGFzdERheTogbnVtYmVyID0gZmlyc3REYXkgKyA2OyAvLyBsYXN0IGRheSBpcyB0aGUgZmlyc3QgZGF5ICsgNlxyXG5cclxuICAgICAgICBsZXQgZmlyc3REYXlNb250aDogc3RyaW5nID0gbW9udGg7XHJcbiAgICAgICAgbGV0IGxhc3REYXlNb250aDogc3RyaW5nID0gbW9udGg7XHJcblxyXG4gICAgICAgIGxldCBmaXJzdERheVllYXI6IHN0cmluZyA9IHllYXI7XHJcbiAgICAgICAgbGV0IGxhc3REYXlZZWFyOiBzdHJpbmcgPSB5ZWFyO1xyXG5cclxuICAgICAgICBpZiAoZmlyc3REYXkgPCAxKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByZXZNb250aERhdGU6IERhdGUgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSAtIDEpO1xyXG4gICAgICAgICAgICBmaXJzdERheU1vbnRoID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCB7IG1vbnRoOiAnc2hvcnQnIH0pLmZvcm1hdChwcmV2TW9udGhEYXRlKTtcclxuICAgICAgICAgICAgY29uc3QgZGF5c0luUHJldk1vbnRoOiBudW1iZXIgPSB0aGlzLmRheXNJbk1vbnRoKHByZXZNb250aERhdGUpO1xyXG5cclxuICAgICAgICAgICAgbGV0IGk6IG51bWJlciA9IDA7XHJcbiAgICAgICAgICAgIGxldCBwcmV2TW9udGhEYXk6IG51bWJlciA9IGRheXNJblByZXZNb250aDtcclxuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IE1hdGguYWJzKGZpcnN0RGF5KTsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBwcmV2TW9udGhEYXktLTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmaXJzdERheSA9IHByZXZNb250aERheTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHByZXZNb250aFllYXI6IHN0cmluZyA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSkuZm9ybWF0KHByZXZNb250aERhdGUpO1xyXG4gICAgICAgICAgICBpZiAoTnVtYmVyKHByZXZNb250aFllYXIpIDwgTnVtYmVyKHllYXIpKSB7XHJcbiAgICAgICAgICAgICAgICBmaXJzdERheVllYXIgPSBwcmV2TW9udGhZZWFyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkYXlzSW5Nb250aDogbnVtYmVyID0gdGhpcy5kYXlzSW5Nb250aChkYXRlKTtcclxuICAgICAgICBpZiAobGFzdERheSA+IGRheXNJbk1vbnRoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5leHRNb250aERhdGU6IERhdGUgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSArIDEpO1xyXG4gICAgICAgICAgICBsYXN0RGF5TW9udGggPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGUsIHsgbW9udGg6ICdzaG9ydCcgfSkuZm9ybWF0KG5leHRNb250aERhdGUpO1xyXG5cclxuICAgICAgICAgICAgbGV0IGk6IG51bWJlciA9IDA7XHJcbiAgICAgICAgICAgIGxldCBuZXh0TW9udGhEYXk6IG51bWJlciA9IDA7XHJcbiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAobGFzdERheSAtIGRheXNJbk1vbnRoKTsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBuZXh0TW9udGhEYXkrKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYXN0RGF5ID0gbmV4dE1vbnRoRGF5O1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbmV4dE1vbnRoWWVhcjogc3RyaW5nID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCB7IHllYXI6ICdudW1lcmljJyB9KS5mb3JtYXQobmV4dE1vbnRoRGF0ZSk7XHJcbiAgICAgICAgICAgIGlmIChOdW1iZXIobmV4dE1vbnRoWWVhcikgPiBOdW1iZXIoeWVhcikpIHtcclxuICAgICAgICAgICAgICAgIGxhc3REYXlZZWFyID0gbmV4dE1vbnRoWWVhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGAke2ZpcnN0RGF5fWAgKyAoZmlyc3REYXlNb250aCAhPT0gbGFzdERheU1vbnRoID8gJyAnICsgZmlyc3REYXlNb250aCA6ICcnKSArXHJcbiAgICAgICAgICAgIChmaXJzdERheVllYXIgIT09IGxhc3REYXlZZWFyID8gJyAnICsgZmlyc3REYXlZZWFyIDogJycpICtcclxuICAgICAgICAgICAgYCAtICR7bGFzdERheX0gJHtsYXN0RGF5TW9udGh9ICR7bGFzdERheVllYXJ9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRheXNJbk1vbnRoKGFueURhdGVJbk1vbnRoOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gbmV3IERhdGUoYW55RGF0ZUluTW9udGguZ2V0RnVsbFllYXIoKSwgYW55RGF0ZUluTW9udGguZ2V0TW9udGgoKSArIDEsIDApLmdldERhdGUoKTtcclxuICAgIH1cclxufVxyXG4iXX0=