UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

131 lines (130 loc) 5.54 kB
/** * DevExtreme (esm/__internal/scheduler/r1/components/base/date_table_body.js) * Version: 24.2.7 * Build date: Mon Apr 28 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import _extends from "@babel/runtime/helpers/esm/extends"; import { createFragment, createComponentVNode } from "inferno"; import { BaseInfernoComponent } from "@devextreme/runtime/inferno"; import { PublicTemplate } from "../../../../scheduler/r1/components/templates/index"; import { Fragment } from "inferno"; import { combineClasses } from "../../../../core/r1/utils/render_utils"; import { DATE_TABLE_ROW_CLASS } from "../const"; import { AllDayPanelTableBody, AllDayPanelTableBodyDefaultProps } from "./all_day_panel_table_body"; import { DateTableCellBase } from "./date_table_cell_base"; import { LayoutDefaultProps } from "./layout_props"; import { Row, RowDefaultProps } from "./row"; export const DateTableBodyDefaultProps = _extends({}, LayoutDefaultProps, { cellTemplate: DateTableCellBase }); export class DateTableBody extends BaseInfernoComponent { render() { const { viewData: viewData, viewContext: viewContext, addVerticalSizesClassToRows: addVerticalSizesClassToRows, cellTemplate: cellTemplate, dataCellTemplate: dataCellTemplate } = this.props; const rowClasses = combineClasses({ [DATE_TABLE_ROW_CLASS]: true, "dx-scheduler-cell-sizes-vertical": addVerticalSizesClassToRows }); return createFragment(viewData.groupedData.map((_ref => { let { allDayPanel: allDayPanel, dateTable: dateTable, isGroupedAllDayPanel: isGroupedAllDayPanel, key: fragmentKey } = _ref; return createFragment([isGroupedAllDayPanel && createComponentVNode(2, AllDayPanelTableBody, { viewData: allDayPanel ?? AllDayPanelTableBodyDefaultProps.viewData, viewContext: viewContext, dataCellTemplate: dataCellTemplate, isVerticalGroupOrientation: true, leftVirtualCellWidth: viewData.leftVirtualCellWidth ?? AllDayPanelTableBodyDefaultProps.leftVirtualCellWidth, rightVirtualCellWidth: viewData.rightVirtualCellWidth ?? AllDayPanelTableBodyDefaultProps.rightVirtualCellWidth, leftVirtualCellCount: viewData.leftVirtualCellCount, rightVirtualCellCount: viewData.rightVirtualCellCount }), dateTable.map((_ref2 => { let { cells: cells, key: rowKey } = _ref2; return createComponentVNode(2, Row, { className: rowClasses, leftVirtualCellWidth: viewData.leftVirtualCellWidth ?? RowDefaultProps.leftVirtualCellWidth, rightVirtualCellWidth: viewData.rightVirtualCellWidth ?? RowDefaultProps.rightVirtualCellWidth, leftVirtualCellCount: viewData.leftVirtualCellCount, rightVirtualCellCount: viewData.rightVirtualCellCount, children: cells.map((_ref3 => { let { key: cellKey, endDate: endDate, firstDayOfMonth: firstDayOfMonth, groupIndex: cellGroupIndex, groups: groups, index: cellIndex, isFirstGroupCell: isFirstGroupCell, isFocused: isFocused, isLastGroupCell: isLastGroupCell, isSelected: isSelected, otherMonth: otherMonth, startDate: startDate, text: text, today: today } = _ref3; return createComponentVNode(2, 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, firstDayOfMonth: firstDayOfMonth, isSelected: isSelected, isFocused: isFocused } }) })) }, rowKey) }))], 0, fragmentKey) })), 0) } } DateTableBody.defaultProps = DateTableBodyDefaultProps;