| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- /**
- * DevExtreme (ui/calendar/ui.calendar.views.js)
- * Version: 19.1.16
- * Build date: Tue Oct 18 2022
- *
- * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
- * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
- */
- "use strict";
- var _renderer = require("../../core/renderer");
- var _renderer2 = _interopRequireDefault(_renderer);
- var _uiCalendar = require("./ui.calendar.base_view");
- var _uiCalendar2 = _interopRequireDefault(_uiCalendar);
- var _common = require("../../core/utils/common");
- var _date = require("../../core/utils/date");
- var _extend = require("../../core/utils/extend");
- var _date2 = require("../../localization/date");
- var _date_serialization = require("../../core/utils/date_serialization");
- var _type = require("../../core/utils/type");
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- "default": obj
- }
- }
- var CALENDAR_OTHER_MONTH_CLASS = "dx-calendar-other-month";
- var CALENDAR_OTHER_VIEW_CLASS = "dx-calendar-other-view";
- var Views = {
- month: _uiCalendar2.default.inherit({
- _getViewName: function() {
- return "month"
- },
- _getDefaultOptions: function() {
- return (0, _extend.extend)(this.callBase(), {
- firstDayOfWeek: void 0,
- rowCount: 6,
- colCount: 7
- })
- },
- _renderImpl: function() {
- this.callBase();
- this._renderHeader()
- },
- _renderBody: function() {
- this.callBase();
- this._$table.find(".".concat(CALENDAR_OTHER_VIEW_CLASS)).addClass(CALENDAR_OTHER_MONTH_CLASS)
- },
- _renderFocusTarget: _common.noop,
- getCellAriaLabel: function(date) {
- return (0, _date2.format)(date, "longdate")
- },
- _renderHeader: function() {
- var $headerRow = (0, _renderer2.default)("<tr>");
- var $header = (0, _renderer2.default)("<thead>").append($headerRow);
- this._$table.prepend($header);
- for (var colIndex = 0, colCount = this.option("colCount"); colIndex < colCount; colIndex++) {
- this._renderHeaderCell(colIndex, $headerRow)
- }
- },
- _renderHeaderCell: function(cellIndex, $headerRow) {
- var _this$_getDayCaption = this._getDayCaption(this._getFirstDayOfWeek() + cellIndex),
- fullCaption = _this$_getDayCaption.full,
- abbrCaption = _this$_getDayCaption.abbreviated;
- var $cell = (0, _renderer2.default)("<th>").attr({
- scope: "col",
- abbr: fullCaption
- }).text(abbrCaption);
- this._appendCell($headerRow, $cell)
- },
- getNavigatorCaption: function() {
- return (0, _date2.format)(this.option("date"), "monthandyear")
- },
- _isTodayCell: function(cellDate) {
- var today = new Date;
- return (0, _date.sameDate)(cellDate, today)
- },
- _isDateOutOfRange: function(cellDate) {
- var minDate = this.option("min");
- var maxDate = this.option("max");
- return !(0, _date.dateInRange)(cellDate, minDate, maxDate, "date")
- },
- _isOtherView: function(cellDate) {
- return cellDate.getMonth() !== this.option("date").getMonth()
- },
- _getCellText: function(cellDate) {
- return (0, _date2.format)(cellDate, "d")
- },
- _getDayCaption: function(day) {
- var daysInWeek = this.option("colCount");
- var dayIndex = day % daysInWeek;
- return {
- full: (0, _date2.getDayNames)()[dayIndex],
- abbreviated: (0, _date2.getDayNames)("abbreviated")[dayIndex]
- }
- },
- _getFirstCellData: function() {
- var firstDay = (0, _date.getFirstMonthDate)(this.option("date"));
- var firstMonthDayOffset = this._getFirstDayOfWeek() - firstDay.getDay();
- var daysInWeek = this.option("colCount");
- if (firstMonthDayOffset >= 0) {
- firstMonthDayOffset -= daysInWeek
- }
- firstDay.setDate(firstDay.getDate() + firstMonthDayOffset);
- return firstDay
- },
- _getNextCellData: function(date) {
- date = new Date(date);
- date.setDate(date.getDate() + 1);
- return date
- },
- _getFirstDayOfWeek: function() {
- return (0, _type.isDefined)(this.option("firstDayOfWeek")) ? this.option("firstDayOfWeek") : (0, _date2.firstDayOfWeekIndex)()
- },
- _getCellByDate: function(date) {
- return this._$table.find("td[data-value='".concat((0, _date_serialization.serializeDate)(date, (0, _date.getShortDateFormat)()), "']"))
- },
- isBoundary: function(date) {
- return (0, _date.sameMonthAndYear)(date, this.option("min")) || (0, _date.sameMonthAndYear)(date, this.option("max"))
- },
- _getDefaultDisabledDatesHandler: function(disabledDates) {
- return function(args) {
- var isDisabledDate = disabledDates.some(function(item) {
- return (0, _date.sameDate)(item, args.date)
- });
- if (isDisabledDate) {
- return true
- }
- }
- }
- }),
- year: _uiCalendar2.default.inherit({
- _getViewName: function() {
- return "year"
- },
- _isTodayCell: function(cellDate) {
- return (0, _date.sameMonthAndYear)(cellDate, new Date)
- },
- _isDateOutOfRange: function(cellDate) {
- return !(0, _date.dateInRange)(cellDate, (0, _date.getFirstMonthDate)(this.option("min")), (0, _date.getLastMonthDate)(this.option("max")))
- },
- _isOtherView: function() {
- return false
- },
- _getCellText: function(cellDate) {
- return (0, _date2.getMonthNames)("abbreviated")[cellDate.getMonth()]
- },
- _getFirstCellData: function() {
- var data = new Date(this.option("date"));
- data.setDate(1);
- data.setMonth(0);
- return data
- },
- _getNextCellData: function(date) {
- date = new Date(date);
- date.setMonth(date.getMonth() + 1);
- return date
- },
- _getCellByDate: function(date) {
- var foundDate = new Date(date);
- foundDate.setDate(1);
- return this._$table.find("td[data-value='".concat((0, _date_serialization.serializeDate)(foundDate, (0, _date.getShortDateFormat)()), "']"))
- },
- getCellAriaLabel: function(date) {
- return (0, _date2.format)(date, "monthandyear")
- },
- getNavigatorCaption: function() {
- return (0, _date2.format)(this.option("date"), "yyyy")
- },
- isBoundary: function(date) {
- return (0, _date.sameYear)(date, this.option("min")) || (0, _date.sameYear)(date, this.option("max"))
- }
- }),
- decade: _uiCalendar2.default.inherit({
- _getViewName: function() {
- return "decade"
- },
- _isTodayCell: function(cellDate) {
- return (0, _date.sameYear)(cellDate, new Date)
- },
- _isDateOutOfRange: function(cellDate) {
- var min = this.option("min");
- var max = this.option("max");
- return !(0, _date.dateInRange)(cellDate.getFullYear(), min && min.getFullYear(), max && max.getFullYear())
- },
- _isOtherView: function(cellDate) {
- var date = new Date(cellDate);
- date.setMonth(1);
- return !(0, _date.sameDecade)(date, this.option("date"))
- },
- _getCellText: function(cellDate) {
- return (0, _date2.format)(cellDate, "yyyy")
- },
- _getFirstCellData: function() {
- var year = (0, _date.getFirstYearInDecade)(this.option("date")) - 1;
- return new Date(year, 0, 1)
- },
- _getNextCellData: function(date) {
- date = new Date(date);
- date.setFullYear(date.getFullYear() + 1);
- return date
- },
- getNavigatorCaption: function() {
- var currentDate = this.option("date");
- var firstYearInDecade = (0, _date.getFirstYearInDecade)(currentDate);
- var startDate = new Date(currentDate);
- var endDate = new Date(currentDate);
- startDate.setFullYear(firstYearInDecade);
- endDate.setFullYear(firstYearInDecade + 9);
- return (0, _date2.format)(startDate, "yyyy") + "-" + (0, _date2.format)(endDate, "yyyy")
- },
- _isValueOnCurrentView: function(currentDate, value) {
- return (0, _date.sameDecade)(currentDate, value)
- },
- _getCellByDate: function(date) {
- var foundDate = new Date(date);
- foundDate.setDate(1);
- foundDate.setMonth(0);
- return this._$table.find("td[data-value='".concat((0, _date_serialization.serializeDate)(foundDate, (0, _date.getShortDateFormat)()), "']"))
- },
- isBoundary: function(date) {
- return (0, _date.sameDecade)(date, this.option("min")) || (0, _date.sameDecade)(date, this.option("max"))
- }
- }),
- century: _uiCalendar2.default.inherit({
- _getViewName: function() {
- return "century"
- },
- _isTodayCell: function(cellDate) {
- return (0, _date.sameDecade)(cellDate, new Date)
- },
- _isDateOutOfRange: function(cellDate) {
- var decade = (0, _date.getFirstYearInDecade)(cellDate);
- var minDecade = (0, _date.getFirstYearInDecade)(this.option("min"));
- var maxDecade = (0, _date.getFirstYearInDecade)(this.option("max"));
- return !(0, _date.dateInRange)(decade, minDecade, maxDecade)
- },
- _isOtherView: function(cellDate) {
- var date = new Date(cellDate);
- date.setMonth(1);
- return !(0, _date.sameCentury)(date, this.option("date"))
- },
- _getCellText: function(cellDate) {
- var startDate = (0, _date2.format)(cellDate, "yyyy");
- var endDate = new Date(cellDate);
- endDate.setFullYear(endDate.getFullYear() + 9);
- return startDate + " - " + (0, _date2.format)(endDate, "yyyy")
- },
- _getFirstCellData: function() {
- var decade = (0, _date.getFirstDecadeInCentury)(this.option("date")) - 10;
- return new Date(decade, 0, 1)
- },
- _getNextCellData: function(date) {
- date = new Date(date);
- date.setFullYear(date.getFullYear() + 10);
- return date
- },
- _getCellByDate: function(date) {
- var foundDate = new Date(date);
- foundDate.setDate(1);
- foundDate.setMonth(0);
- foundDate.setFullYear((0, _date.getFirstYearInDecade)(foundDate));
- return this._$table.find("td[data-value='".concat((0, _date_serialization.serializeDate)(foundDate, (0, _date.getShortDateFormat)()), "']"))
- },
- getNavigatorCaption: function() {
- var currentDate = this.option("date");
- var firstDecadeInCentury = (0, _date.getFirstDecadeInCentury)(currentDate);
- var startDate = new Date(currentDate);
- var endDate = new Date(currentDate);
- startDate.setFullYear(firstDecadeInCentury);
- endDate.setFullYear(firstDecadeInCentury + 99);
- return (0, _date2.format)(startDate, "yyyy") + "-" + (0, _date2.format)(endDate, "yyyy")
- },
- isBoundary: function(date) {
- return (0, _date.sameCentury)(date, this.option("min")) || (0, _date.sameCentury)(date, this.option("max"))
- }
- })
- };
- module.exports = Views;
|