Event Resizing in the React Scheduler

Adjust appointment duration and timing by resizing from edge handlers. Resize handlers (top, bottom, left, right) are available across all Scheduler views. Enable event resizing by configuring the eventResize property to either a boolean value (true for default behavior) or an EventResizeProps configuration object for advanced customization. Vertical resizing adjusts duration (extends or shortens the time slot), while horizontal resizing shifts the appointment position in Week and WorkWeek views.

On mobile devices, long-press an appointment to reveal touch-friendly resize dot handlers for precise control. Handlers appear automatically on desktop.

Set eventResize to true to enable resizing with default configurations:

Configuration

Customize resize behavior by configuring the following properties in the eventResize object:

PropertyTypeDefaultDescription
enableBooleantrueEnable or disable event resizing functionality. Set to true to allow users to resize events.
intervalNumber30Specifies the time interval (in minutes) for snapping resize operations. For example, interval: 15 snaps resizing to 15-minute increments.
resizeToZeroBooleanfalseWhen true, allows resizing events to zero duration (making start and end times equal). Useful for point-in-time events.
startResizableBooleantrueEnable or disable resizing from the top/left edge of events. When false, users cannot adjust the event start time.
endResizableBooleantrueEnable or disable resizing from the bottom/right edge of events. When false, users cannot adjust the event end time.
scroll.enableBooleantrueEnables auto-scrolling during resizing when the cursor reaches the scheduler edges.
scroll.scrollByNumber10Number of pixels to scroll per auto-scroll trigger during resize operations.
scroll.timeDelayNumber100Delay in milliseconds before auto-scrolling begins during resizing.
Loading...

Resize lifecycle events

Three callbacks manage the resize lifecycle:

  • onResizeStart: Fires when the user begins resizing. Use it to validate or cancel the resize operation.
  • onResizing: Fires continuously while resizing. Use it for real-time duration validation or preview updates.
  • onResizeStop: Fires when resizing ends. Use it for final validation or persisting the new event duration.

Each resize callback receives a SchedulerResizeEvent object containing information about the event being resized. This object allows you to access and work with the appointment data and timing during the resize lifecycle.

PropertyTypeDescription
eventMouseEvent | TouchEventThe mouse or touch event that triggered the resize action.
cancelBooleanSet to true to cancel the resize operation and prevent the event from being resized.
startTimeDateThe current start time of the event during the resize operation.
endTimeDateThe current end time of the event during the resize operation.
dataEventModelThe appointment object being resized, containing all event properties like id, subject, startTime, endTime, location, and custom fields.