devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
122 lines (121 loc) • 6.33 kB
JavaScript
/**
* DevExtreme (cjs/__internal/scheduler/r1/components/base/date_table_body.js)
* Version: 26.1.4
* Build date: Fri Jul 24 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.DateTableBodyDefaultProps = exports.DateTableBody = void 0;
var _inferno = require("inferno");
var _index = require("../../../../core/r1/runtime/inferno/index");
var _index2 = require("../../../../scheduler/r1/components/templates/index");
var _render_utils = require("../../../../core/r1/utils/render_utils");
var _index3 = require("../../utils/index");
var _const = require("../const");
var _all_day_panel_table_body = require("./all_day_panel_table_body");
var _date_table_cell_base = require("./date_table_cell_base");
var _layout_props = require("./layout_props");
var _row = require("./row");
const DateTableBodyDefaultProps = exports.DateTableBodyDefaultProps = Object.assign({}, _layout_props.LayoutDefaultProps, {
cellTemplate: _date_table_cell_base.DateTableCellBase
});
class DateTableBody extends _index.BaseInfernoComponent {
render() {
const {
viewData: viewData,
viewContext: viewContext,
addVerticalSizesClassToRows: addVerticalSizesClassToRows,
cellTemplate: cellTemplate,
dataCellTemplate: dataCellTemplate,
rowHeights: rowHeights
} = this.props;
const rowClasses = (0, _render_utils.combineClasses)({
[_const.DATE_TABLE_ROW_CLASS]: true,
"dx-scheduler-cell-sizes-vertical": addVerticalSizesClassToRows
});
return (0, _inferno.createFragment)(viewData.groupedData.map((_ref2, groupIndex) => {
let {
allDayPanel: allDayPanel,
dateTable: dateTable,
isGroupedAllDayPanel: isGroupedAllDayPanel,
key: fragmentKey
} = _ref2;
return (0, _inferno.createFragment)([isGroupedAllDayPanel && (0, _inferno.createComponentVNode)(2, _all_day_panel_table_body.AllDayPanelTableBody, {
viewData: allDayPanel ?? _all_day_panel_table_body.AllDayPanelTableBodyDefaultProps.viewData,
viewContext: viewContext,
dataCellTemplate: dataCellTemplate,
isVerticalGroupOrientation: true,
leftVirtualCellWidth: viewData.leftVirtualCellWidth ?? _all_day_panel_table_body.AllDayPanelTableBodyDefaultProps.leftVirtualCellWidth,
rightVirtualCellWidth: viewData.rightVirtualCellWidth ?? _all_day_panel_table_body.AllDayPanelTableBodyDefaultProps.rightVirtualCellWidth,
leftVirtualCellCount: viewData.leftVirtualCellCount,
rightVirtualCellCount: viewData.rightVirtualCellCount
}), dateTable.map((_ref3, rowIndex) => {
let {
cells: cells,
key: rowKey
} = _ref3;
const rowHeight = null === rowHeights || void 0 === rowHeights ? void 0 : rowHeights[(groupIndex => viewData.groupedData.slice(0, groupIndex).reduce((offset, _ref) => {
let {
dateTable: dateTable
} = _ref;
return offset + dateTable.length
}, 0))(groupIndex) + rowIndex];
const rowStyles = void 0 === rowHeight ? void 0 : _index3.renderUtils.addHeightToStyle(rowHeight);
return (0, _inferno.createComponentVNode)(2, _row.Row, {
className: rowClasses,
styles: rowStyles,
leftVirtualCellWidth: viewData.leftVirtualCellWidth ?? _row.RowDefaultProps.leftVirtualCellWidth,
rightVirtualCellWidth: viewData.rightVirtualCellWidth ?? _row.RowDefaultProps.rightVirtualCellWidth,
leftVirtualCellCount: viewData.leftVirtualCellCount,
rightVirtualCellCount: viewData.rightVirtualCellCount,
children: cells.map(_ref4 => {
let {
key: cellKey,
endDate: endDate,
isFirstDayMonthHighlighting: isFirstDayMonthHighlighting,
groupIndex: cellGroupIndex,
groups: groups,
index: cellIndex,
isFirstGroupCell: isFirstGroupCell,
isFocused: isFocused,
isLastGroupCell: isLastGroupCell,
isSelected: isSelected,
otherMonth: otherMonth,
startDate: startDate,
text: text,
today: today
} = _ref4;
return (0, _inferno.createComponentVNode)(2, _index2.PublicTemplate, {
template: cellTemplate,
templateProps: {
key: cellKey,
viewContext: viewContext,
isFirstGroupCell: isFirstGroupCell,
isLastGroupCell: isLastGroupCell,
startDate: startDate,
endDate: endDate,
groups: groups,
groupIndex: cellGroupIndex,
index: cellIndex,
dataCellTemplate: dataCellTemplate,
text: text,
today: today,
otherMonth: otherMonth,
isFirstDayMonthHighlighting: isFirstDayMonthHighlighting,
isSelected: isSelected,
isFocused: isFocused
}
})
})
}, rowKey)
})], 0, fragmentKey)
}), 0)
}
}
exports.DateTableBody = DateTableBody;
DateTableBody.defaultProps = DateTableBodyDefaultProps;