Breaking Changes in 11.0.0
The Kendo UI for Vue 11.0.0 release removes the non-working exportAsPdf() method of the Grid, narrows the type of the Badge position property, and enables the Scheduler event overview and quick create popovers by default. The migration requires reviewing your code; the Scheduler recurrence template prop can be renamed automatically, but its changed behavior may require additional updates.
Grid
-
GridHandle—TheexportAsPdf()method is removed from theGridHandletype, which is the type of the Grid template ref. The method did not export the Grid.- Before: The Grid template ref exposed
exportAsPdf(), which did not export the Grid. - After:
GridHandleno longer hasexportAsPdf(). Calling it throws aTypeErroror fails type checking. - To migrate, wrap the Grid in the
GridPdfExportcomponent from@progress/kendo-vue-pdfand call thesave()method of its template ref instead ofexportAsPdf(). Remove the declarations ofexportAsPdf()from yourGridHandletypes and update the tests that mock it. For more information, see PDF Export of the Grid andGridPDFExportProps.
- Before: The Grid template ref exposed
Indicators
-
Badge,BadgeContainer—Thepositionproperty no longer accepts any string. Its type inBadgePropsandBadgeContainerPropsis now'edge' | 'outside' | 'inside' | 'inline', the same as theBadgePositiontype.- Before: The
positionproperty was typed as'edge' | 'outside' | 'inside' | string, so a value typed asstringpassed type checking. The runtime validator still warned for unsupported values. Settingpositionto'inline'rendered thek-badge-inlineclass and the alignment class, such ask-top-end. - After: A value typed as
stringor an unsupported value, such as'top', fails type checking in TypeScript andvue-tsc. The new'inline'value renders the Badge inline without thek-badge-<position>class and without the alignment classes. - To migrate, type the values that you bind to
positionasBadgePosition, or narrow them to one of the supported values, for example withas const. Replace the unsupported values with a supported one. If your code relied on'inline'rendering thek-badge-inlineor an alignment class, update the related CSS selectors and tests. For more information, seeBadgePositionandBadgeProps.
- Before: The
Scheduler
-
SchedulerFormEditor—TherecurrenceButtonTextTemplateproperty is deprecated and ignored. UserecurrenceSummaryTemplateto customize the recurrence summary.- Before:
recurrenceButtonTextTemplatecustomized the content of the recurrence button. - After: The recurrence button always displays the localized Make recurring or Edit recurrence label.
recurrenceSummaryTemplatecustomizes the separate summary below the button and inside the recurrence dialog. It receives non-nullrecurrenceRule,text, andparsedRulevalues and is rendered only when a recurrence rule exists. - To migrate, use
recurrenceSummaryTemplateandRecurrenceSummaryTemplatePropsinstead ofrecurrenceButtonTextTemplateandRecurrenceButtonTextTemplateProps. The Scheduler v11 codemod renames the prop and type automatically. Review templates that customized the button label or handled nullable payload values; customize thescheduler.editorRecurrenceMakeRecurringandscheduler.editorRecurrenceEditlocalization messages if you need different button labels. For more information, see Custom Edit Form andSchedulerFormEditorProps.
- Before:
-
Scheduler—The neweventOverviewandquickCreateproperties are enabled by default.- Before: Clicking an event or an empty slot did not open a popover. Pressing Enter on a focused event or on a focused empty slot, which allows adding, opened the full editor directly.
- After: The
eventOverviewproperty (defaulttrue) opens an overview popover with edit and delete actions when an event is clicked or Enter is pressed on it. ThequickCreateproperty (defaulttrue, requireseditable.add, not available in the Agenda view) opens a title popover when an empty slot is clicked or Enter is pressed on a focused slot. The popovers open about 200 ms after a click so that a double click can still open the full editor, which also opens through the edit action of the overview popover and the more options action of the quick create popover. While the popovers are enabled, Enter no longer opens the full editor directly. - To migrate, update the tests and the code that rely on a click or Enter on an event or on an empty slot, or on the full editor opening directly. Tests that click and assert immediately have to wait for the popover. To keep the previous behavior, set
:event-overview="false"and:quick-create="false"on theScheduler. For more information, see Scheduler Editing andSchedulerProps.
-
Scheduler—Editing or removing the master event of a recurring series with custom exceptions now handles the exceptions of the series.- Before: Changing or removing the master event of a recurring series kept its exceptions untouched.
- After: The Scheduler shows the
KeepResetCustomEventsDialog. When the series is edited, resetting removes the exceptions and reports them in the deleted collection of the data change event, while keeping them leaves them linked to the series and does not report them. When the series or its recurrence is removed, resetting reports the exceptions in the deleted collection, and keeping converts them to standalone events that are reported in the updated collection. - To migrate, update the handlers of the
datachangeevent that do not expect extra deleted or updated exception items, and the tests that edit or remove the master event of a recurring series. For more information, see Scheduler Editing.
-
Scheduler—Thek-scheduler-mobileclass is no longer rendered on the root element on mobile devices.- Before: The root element rendered the
k-scheduler-mobileclass on mobile devices. - After: The class is not rendered.
- To migrate, remove or update the CSS selectors and the tests that use
k-scheduler-mobile.
- Before: The root element rendered the
-
SchedulerView—The callback that theSchedulerpasses to its views is renamed fromonDataactiontoonDataAction.- Before: The
Schedulerpassed the data action callback to the active view as theonDataactionprop. A custom view could read it from its props, or emit thedataactionevent, which theSchedulerreceived through the same name. - After: The
Schedulerpasses the callback as theonDataActionprop. A custom view that still readsonDataactionreceivesundefined, and a custom view that only emitsdataactionno longer reaches theScheduler, so its data actions are not applied. The built-in views, items, slots, and tasks still emit thedataactionevent, so the listeners that you attach to them, such as@dataaction, keep working. - To migrate, read the callback from the
onDataActionprop in your custom views and call it with the data action. RenameonDataactiontoonDataActionin the related types and tests. If your code only attaches anonDataactionor@dataactionlistener to a built-in component, no change is required.
- Before: The
For the changes in the generated markup and the CSS classes, see Rendering Changes in 11.0.0.