Customization
The MultiViewCalendar enables the user to render custom components instead of the default ones and, in this way, to customize most of the child MultiViewCalendar components which are otherwise inaccessible.
The user can replace the following MultiViewCalendar components with custom ones:
CalendarCell
—Renders the cells inside the Calendar view.CalendarWeekCell
—Renders the cells inside the Calendar week column.CalendarHeaderTitle
—Renders the title for the current MultiViewCalendar view.
Cells inside the View
You can customize or completely replace with a custom component each individual cell inside the MultiViewCalendar view by passing a cell
property to the MultiViewCalendar. The cell
property accepts either a Class
or Function
React Component. Both Class
and Function
receive relevant information about the state of the cell through the props of the Calendar.
Modifying the Cells
To modify an individual cell inside the MultiViewCalendar view, use the CalendarCell
component from the @progress/kendo-date-dateinputs
package. CalendarCell
will acquire custom behavior and will modify only some of the cells.
For the
CalendarCell
component to work properly, pass back all properties.
import { MultiViewCalendar, CalendarCell } from '@progress/kendo-react-dateinputs';
Overriding the Default Properties
The cell
property allows you to pass any <td />
element as a CalendarCell
. This approach is useful for gaining full control over the cell because the CalendarCell
component will render additional elements for the default styling.
For the custom cell to allow date selection, manually pass or handle the
onClick
event.
Other Child Components
Similar to the cell
property, the MultiViewCalendar allows you to modify or override other child element through its weekCell
, headerTitle
.
import {
CalendarCell,
CalendarWeekCell,
CalendarHeaderTitle
} from '@progress/kendo-react-dateinputs';
Cells inside the Week Column
The CalendarWeekCell
component represents the week number. CalendarWeekCell
is only visible in the month
view of the MultiViewCalendar and if the weekNumber
property is set to true
. CalendarWeekCell
will receive relevant information about its state through the CalendarWeekCellProps
.
Titles of Current Views
The CalendarHeaderTitle
component represents the title of the current MultiViewCalendar view and also functions as a button for changing the current view. CalendarHeaderTitle
will receive relevant information about its state through the CalendarHeaderTitleProps
.
For the
CalendarHeaderTitle
component to work properly, pass back all properties.