UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

49 lines (48 loc) 2.37 kB
/** * DevExtreme (esm/__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/ */ import dateLocalization from "../../../../common/core/localization/date"; import dateUtils from "../../../../core/utils/date"; import { formatImplicitSchedulerTime } from "../../utils/global_formats"; import { getFirstVisibleDate } from "../../utils/skipped_days"; import { getCalculatedFirstDayOfWeek, getValidCellDateForLocalTimeFormat, getViewStartByOptions, setOptionHour } from "./base"; export const getTimePanelCellText = (rowIndex, date, startViewDate, cellDuration, startDayHour, viewOffset) => { if (rowIndex % 2 !== 0) { return "" } const validTimeDate = getValidCellDateForLocalTimeFormat(date, { startViewDate: startViewDate, startDayHour: startDayHour, cellIndexShift: Math.round(cellDuration) * rowIndex, viewOffset: viewOffset }); return formatImplicitSchedulerTime(validTimeDate) }; export const getIntervalDuration = intervalCount => 7 * dateUtils.dateToMilliseconds("day") * intervalCount; export const getValidStartDate = (startDate, firstDayOfWeek) => startDate ? dateUtils.getFirstWeekDate(startDate, firstDayOfWeek) : void 0; export const calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalDuration, firstDayOfWeekOption) { let skippedDays = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : []; const firstDayOfWeek = getCalculatedFirstDayOfWeek(firstDayOfWeekOption); const viewStart = getViewStartByOptions(startDate, currentDate, intervalDuration, getValidStartDate(startDate, firstDayOfWeek)); const weekStartDate = dateUtils.getFirstWeekDate(viewStart, firstDayOfWeek); const firstViewDate = getFirstVisibleDate(weekStartDate, skippedDays, date => new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1)); return setOptionHour(firstViewDate, startDayHour) }; export const calculateViewStartDate = (startDateOption, firstDayOfWeek) => { const validFirstDayOfWeek = firstDayOfWeek ?? dateLocalization.firstDayOfWeekIndex(); return dateUtils.getFirstWeekDate(startDateOption, validFirstDayOfWeek) };