UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

80 lines (78 loc) 2.87 kB
/** * DevExtreme (cjs/__internal/scheduler/workspaces/timeline_month.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.default = void 0; var _component_registrator = _interopRequireDefault(require("../../../core/component_registrator")); var _date = _interopRequireDefault(require("../../../core/utils/date")); var _index = require("../../scheduler/r1/components/index"); var _index2 = require("../../scheduler/r1/utils/index"); var _constants_view = require("../utils/options/constants_view"); var _timeline = _interopRequireDefault(require("./timeline")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } const TIMELINE_CLASS = "dx-scheduler-timeline-month"; class SchedulerTimelineMonth extends _timeline.default { constructor() { super(...arguments); this.viewDirection = "horizontal" } get type() { return _constants_view.VIEWS.TIMELINE_MONTH } get renovatedHeaderPanelComponent() { return _index.HeaderPanelComponent } renderView() { super.renderView(); this.updateScrollable() } getElementClass() { return TIMELINE_CLASS } getDateHeaderTemplate() { return this.option("dateCellTemplate") } calculateDurationInCells(timeDiff) { return timeDiff / this.getCellDuration() } isIndicatorVisible() { return true } getFormat() { return _index2.formatWeekdayAndDay } getIntervalBetween(currentDate) { const firstViewDate = this.getStartViewDate(); const timeZoneOffset = _date.default.getTimezonesDifference(firstViewDate, currentDate); const startDayHour = this.option("startDayHour"); return currentDate.getTime() - (firstViewDate.getTime() - 36e5 * startDayHour) - timeZoneOffset } getViewStartByOptions() { const currentDate = this.option("currentDate") ?? new Date; const startDate = this.option("startDate") ?? currentDate; const firstMonthDate = _date.default.getFirstMonthDate(startDate) ?? startDate; return _index2.monthUtils.getViewStartByOptions(startDate, currentDate, this.option("intervalCount"), firstMonthDate) } generateRenderOptions() { const options = super.generateRenderOptions(true); return Object.assign({}, options, { getDateForHeaderText: (_, date) => date }) } keepOriginalHours() { return true } }(0, _component_registrator.default)("dxSchedulerTimelineMonth", SchedulerTimelineMonth); var _default = exports.default = SchedulerTimelineMonth;