devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
41 lines (40 loc) • 2.02 kB
JavaScript
/**
* DevExtreme (esm/__internal/scheduler/r1/utils/week.js)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 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 {
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 dateLocalization.format(validTimeDate, "shorttime")
};
export const getIntervalDuration = intervalCount => 7 * dateUtils.dateToMilliseconds("day") * intervalCount;
export const getValidStartDate = (startDate, firstDayOfWeek) => startDate ? dateUtils.getFirstWeekDate(startDate, firstDayOfWeek) : void 0;
export const calculateStartViewDate = (currentDate, startDayHour, startDate, intervalDuration, firstDayOfWeekOption) => {
const firstDayOfWeek = getCalculatedFirstDayOfWeek(firstDayOfWeekOption);
const viewStart = getViewStartByOptions(startDate, currentDate, intervalDuration, getValidStartDate(startDate, firstDayOfWeek));
const firstViewDate = dateUtils.getFirstWeekDate(viewStart, firstDayOfWeek);
return setOptionHour(firstViewDate, startDayHour)
};
export const calculateViewStartDate = (startDateOption, firstDayOfWeek) => {
const validFirstDayOfWeek = firstDayOfWeek ?? dateLocalization.firstDayOfWeekIndex();
return dateUtils.getFirstWeekDate(startDateOption, validFirstDayOfWeek)
};