UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

56 lines (54 loc) 2.94 kB
/** * DevExtreme (cjs/__internal/scheduler/r1/utils/week.js) * Version: 26.1.3 * Build date: Wed Jun 10 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getValidStartDate = exports.getTimePanelCellText = exports.getIntervalDuration = exports.calculateViewStartDate = exports.calculateStartViewDate = void 0; var _date = _interopRequireDefault(require("../../../../common/core/localization/date")); var _date2 = _interopRequireDefault(require("../../../../core/utils/date")); var _global_formats = require("../../utils/global_formats"); var _skipped_days = require("../../utils/skipped_days"); var _base = require("./base"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } const getTimePanelCellText = (rowIndex, date, startViewDate, cellDuration, startDayHour, viewOffset) => { if (rowIndex % 2 !== 0) { return "" } const validTimeDate = (0, _base.getValidCellDateForLocalTimeFormat)(date, { startViewDate: startViewDate, startDayHour: startDayHour, cellIndexShift: Math.round(cellDuration) * rowIndex, viewOffset: viewOffset }); return (0, _global_formats.formatImplicitSchedulerTime)(validTimeDate) }; exports.getTimePanelCellText = getTimePanelCellText; const getIntervalDuration = intervalCount => 7 * _date2.default.dateToMilliseconds("day") * intervalCount; exports.getIntervalDuration = getIntervalDuration; const getValidStartDate = (startDate, firstDayOfWeek) => startDate ? _date2.default.getFirstWeekDate(startDate, firstDayOfWeek) : void 0; exports.getValidStartDate = getValidStartDate; const calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalDuration, firstDayOfWeekOption) { let skippedDays = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : []; const firstDayOfWeek = (0, _base.getCalculatedFirstDayOfWeek)(firstDayOfWeekOption); const viewStart = (0, _base.getViewStartByOptions)(startDate, currentDate, intervalDuration, getValidStartDate(startDate, firstDayOfWeek)); const weekStartDate = _date2.default.getFirstWeekDate(viewStart, firstDayOfWeek); const firstViewDate = (0, _skipped_days.getFirstVisibleDate)(weekStartDate, skippedDays, date => new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1)); return (0, _base.setOptionHour)(firstViewDate, startDayHour) }; exports.calculateStartViewDate = calculateStartViewDate; const calculateViewStartDate = (startDateOption, firstDayOfWeek) => { const validFirstDayOfWeek = firstDayOfWeek ?? _date.default.firstDayOfWeekIndex(); return _date2.default.getFirstWeekDate(startDateOption, validFirstDayOfWeek) }; exports.calculateViewStartDate = calculateViewStartDate;