Editing Basics
The Scheduler enables you to create, update, and delete events.
Event operations are an essential feature of the Kendo UI Scheduler for Angular. As a native Angular component, the Scheduler is tightly integrated with the Angular forms module—for example, change tracking and validation work in the same way as in other forms.
Angular provides reactive and template-driven forms of which, currently, the Scheduler supports the reactive (model-driven) forms.
Support for editing in Angular template-driven forms is planned for future releases.
Getting Started with Editing
The Scheduler provides built-in reactive directives that automate and simplify editing operations in Angular reactive forms. This approach requires minimal setup and handles most common editing scenarios.
Automatic Editing Configuration
The kendoSchedulerReactiveEditing
directive handles the necessary Scheduler events and enables you to skip the boilerplate code that is required to set up the Scheduler for editing with Angular reactive forms. The directive requires a createFormGroup
input—you must set the input to a function that creates a FormGroup
for the event model or, when the user adds a new event, for the new model.
The following example demonstrates how to use the kendoSchedulerReactiveEditing
directive with the kendoSchedulerBinding
directive to enable editing of events loaded from local data.
Adding Resource Editing
The kendoSchedulerReactiveEditing
directive handles the editing of Scheduler resources. The corresponding values of the resources must be part of the FormGroup
that is returned by the createFormGroup
input.
The following example demonstrates how to use the kendoSchedulerReactiveEditing
directive to edit resources.
Connecting Custom Data Services
By default, the built-in editing directives modify the data that is passed to the Scheduler in memory. You can customize this behavior by implementing a custom service through the editService
input. The custom service handles the data operations that are defined by the EditService
interface.
Custom services typically persist data through a table-based API such as OData. To reduce repetitive code, especially for editing recurring events, services can inherit from the BaseEditService
base class.
The following example demonstrates how to implement a custom service using the base class.
Advanced Editing Approaches
For scenarios that require custom form layouts, external editing interfaces, or full control over the editing workflow, consider these approaches:
- Custom Reactive Editing—Learn how to handle editing operations manually for custom requirements.
- Editing with Reactive Forms—Implement editing with reactive forms without using the built-in directives.
- External Editing—Use external forms or editors instead of the built-in popup editing.
- Drag and Drop from ListView—Enable dragging events from a ListView to the Scheduler.
Editing Restrictions
For information about event editing restrictions based on time slots, user permissions, or other conditions, see the Editing Restrictions article.