@progress/kendo-angular-scheduler 22.1.0-develop.9 → 23.0.0-develop.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/data-binding.directive.d.ts +1 -1
  2. package/editing/edit-dialog-template.directive.d.ts +1 -1
  3. package/editing/edit-dialog.component.d.ts +5 -1
  4. package/editing/recurrence/recurrence-editor.component.d.ts +1 -1
  5. package/editing/recurrence/recurrence-interval-editor.component.d.ts +4 -1
  6. package/editing/recurrence/recurrence.service.d.ts +1 -0
  7. package/editing-directives/base-edit.service.d.ts +7 -7
  8. package/editing-directives/edit-service.interface.d.ts +2 -2
  9. package/editing-directives/reactive-editing.directive.d.ts +1 -1
  10. package/events/drag-event.d.ts +1 -1
  11. package/fesm2022/progress-kendo-angular-scheduler.mjs +231 -206
  12. package/package-metadata.mjs +2 -2
  13. package/package.json +17 -17
  14. package/pdf/pdf-command.directive.d.ts +3 -3
  15. package/pdf/pdf.component.d.ts +1 -1
  16. package/scheduler.component.d.ts +10 -10
  17. package/schematics/ngAdd/index.js +3 -3
  18. package/toolbar/navigation.component.d.ts +4 -4
  19. package/toolbar/toolbar-context.d.ts +1 -1
  20. package/toolbar/toolbar-template.directive.d.ts +5 -5
  21. package/toolbar/toolbar.service.d.ts +1 -1
  22. package/toolbar/view-selector.component.d.ts +3 -3
  23. package/types/actions.d.ts +6 -6
  24. package/types/datepicker-options.interface.d.ts +16 -16
  25. package/types/edit-event-args.interface.d.ts +1 -1
  26. package/types/editable-settings.interface.d.ts +2 -2
  27. package/types/numeric-options.interface.d.ts +7 -7
  28. package/types/slot-selection.d.ts +2 -2
  29. package/views/agenda/agenda-view.component.d.ts +2 -2
  30. package/views/common/configuration-view-base.d.ts +1 -1
  31. package/views/month/month-view.component.d.ts +5 -5
  32. package/views/month/multi-week-view.component.d.ts +5 -5
  33. package/views/multi-day/day-view.component.d.ts +2 -2
  34. package/views/multi-day/multi-day-view.component.d.ts +2 -2
  35. package/views/multi-day/week-view.component.d.ts +2 -2
  36. package/views/templates/agenda-date-template.directive.d.ts +1 -1
  37. package/views/templates/agenda-time-template.directive.d.ts +1 -1
  38. package/views/templates/all-day-event-template.directive.d.ts +1 -1
  39. package/views/templates/all-day-slot-template.directive.d.ts +1 -1
  40. package/views/templates/date-header-template.directive.d.ts +1 -1
  41. package/views/templates/event-template.directive.d.ts +1 -1
  42. package/views/templates/group-header-template.directive.d.ts +1 -1
  43. package/views/templates/major-time-header-template.directive.d.ts +1 -1
  44. package/views/templates/minor-time-header-template.directive.d.ts +1 -1
  45. package/views/templates/month-day-slot-template.directive.d.ts +1 -1
  46. package/views/templates/multi-week-day-slot-template.directive.d.ts +1 -1
  47. package/views/templates/time-slot-template.directive.d.ts +1 -1
  48. package/views/timeline/timeline-month-view.component.d.ts +2 -2
  49. package/views/timeline/timeline-view.component.d.ts +2 -2
  50. package/views/timeline/timeline-week-view.component.d.ts +2 -2
  51. package/views/utils.d.ts +4 -0
  52. package/views/year/year-view.component.d.ts +2 -2
@@ -12,12 +12,12 @@ import { isEqualDate, ZonedDate, toLocalDate, getDate, timezoneNames, Day, MS_PE
12
12
  import { auditTime, buffer, filter, map, debounceTime, take, distinctUntilChanged, switchMap, tap } from 'rxjs/operators';
13
13
  import { validatePackage } from '@progress/kendo-licensing';
14
14
  import { Subject, BehaviorSubject, fromEvent, Subscription, combineLatest, merge } from 'rxjs';
15
- import * as i4$1 from '@angular/forms';
15
+ import * as i5 from '@angular/forms';
16
16
  import { NG_VALUE_ACCESSOR, NgControl, ReactiveFormsModule, FormControl, FormGroup } from '@angular/forms';
17
17
  import * as i1 from '@progress/kendo-angular-dialog';
18
18
  import { DialogCloseResult, DialogComponent, DialogActionsComponent, DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
19
19
  import * as i4 from '@progress/kendo-angular-intl';
20
- import { formatDate, DatePipe, parseDate } from '@progress/kendo-angular-intl';
20
+ import { formatDate, CldrIntlService, DatePipe, parseDate } from '@progress/kendo-angular-intl';
21
21
  import { MultiSelectComponent, ItemTemplateDirective, TagTemplateDirective, DropDownListComponent, ComboBoxComponent } from '@progress/kendo-angular-dropdowns';
22
22
  import { NgStyle, NgTemplateOutlet, AsyncPipe, NgClass } from '@angular/common';
23
23
  import { saveIcon, cancelOutlineIcon, calendarIcon, caretAltRightIcon, caretAltLeftIcon, filePdfIcon, arrowRotateCwIcon, arrowsNoRepeatIcon, xIcon, moreHorizontalIcon, clockIcon, caretAltUpIcon, caretAltDownIcon } from '@progress/kendo-svg-icons';
@@ -44,7 +44,7 @@ const packageMetadata = {
44
44
  productCode: 'KENDOUIANGULAR',
45
45
  productCodes: ['KENDOUIANGULAR'],
46
46
  publishDate: 0,
47
- version: '22.1.0-develop.9',
47
+ version: '23.0.0-develop.2',
48
48
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
49
49
  };
50
50
 
@@ -324,7 +324,7 @@ class DragEvent extends PreventableEvent {
324
324
  */
325
325
  resources;
326
326
  /**
327
- * Sets the class to the drag hint ([see example]({% slug restrictions_scheduler %})).
327
+ * Sets the class to the drag hint ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/editing/restrictions)).
328
328
  */
329
329
  setHintClass;
330
330
  /**
@@ -725,19 +725,19 @@ class SlotDragEndEvent extends SlotDragEvent {
725
725
  }
726
726
 
727
727
  /**
728
- * Represents the toolbar template of the Scheduler. To define a toolbar template, nest an `<ng-template kendoSchedulerToolbarTemplate>` tag inside the `<kendo-scheduler>`. For more information and examples, see [customizing the toolbar](slug:toolbar_scheduler) article.
728
+ * Represents the toolbar template of the Scheduler. To define a toolbar template, nest an `<ng-template kendoSchedulerToolbarTemplate>` tag inside the `<kendo-scheduler>`. For more information and examples, see [customizing the toolbar](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar) article.
729
729
  *
730
730
  * The template context provides the following variables:
731
731
  * * `selectedDate`&mdash;The currently selected date.
732
- * * `dateRange`&mdash;The currently selected [`DateRange`](slug:api_scheduler_daterange).
733
- * * `views`&mdash;An array of [`SchedulerView`](slug:api_scheduler_schedulerview) instances with the available views.
734
- * * `selectedView`&mdash;The currently selected [`SchedulerView`](slug:api_scheduler_schedulerview).
732
+ * * `dateRange`&mdash;The currently selected [`DateRange`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/daterange).
733
+ * * `views`&mdash;An array of [`SchedulerView`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulerview) instances with the available views.
734
+ * * `selectedView`&mdash;The currently selected [`SchedulerView`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulerview).
735
735
  *
736
736
  * You can declare either of the following built-in navigation components in the toolbar template:
737
737
  * * `kendoSchedulerToolbarNavigation`&mdash;Renders navigation buttons, a calendar, and a date-range label.
738
738
  * * `kendoSchedulerToolbarViewSelector`&mdash;Renders the buttons for selecting the view.
739
739
  *
740
- * To emit navigation events, components inside the toolbar can inject the [`ToolbarService`](slug:api_scheduler_toolbarservice).
740
+ * To emit navigation events, components inside the toolbar can inject the [`ToolbarService`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/toolbarservice).
741
741
  *
742
742
  * @example
743
743
  * ```html
@@ -771,7 +771,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
771
771
 
772
772
  /**
773
773
  * Represents a service for communication with toolbar controls. Toolbar components use this service to publish navigation actions
774
- * ([see example](slug:toolbar_scheduler#toc-using-the-toolbar-service)).
774
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar#using-the-toolbar-service)).
775
775
  */
776
776
  class ToolbarService {
777
777
  /**
@@ -851,7 +851,7 @@ var CrudOperation;
851
851
  })(CrudOperation || (CrudOperation = {}));
852
852
 
853
853
  /**
854
- * The arguments for the [`isSlotSelected`]({% slug api_scheduler_schedulercomponent %}#toc-isslotselected) callback.
854
+ * The arguments for the [`isSlotSelected`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulercomponent#isslotselected) callback.
855
855
  */
856
856
  class IsSlotSelectedArgs {
857
857
  /**
@@ -886,7 +886,7 @@ var slotDragEventName;
886
886
  * Use this directive to customize the date header in the **Agenda** view of the Scheduler.
887
887
  *
888
888
  * To define a date template, nest an `<ng-template>` tag with the `kendoSchedulerAgendaDateTemplate` directive inside the
889
- * `<kendo-scheduler-agenda-view>` or `<kendo-scheduler>` component ([see example](slug:templates_scheduler#toc-agenda-dates).
889
+ * `<kendo-scheduler-agenda-view>` or `<kendo-scheduler>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#agenda-dates).
890
890
  *
891
891
  * The available fields in the template context are:
892
892
  * - `date`&mdash;The header date.
@@ -922,7 +922,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
922
922
  * Use this directive to customize the time header in the **Agenda** view of the Scheduler.
923
923
  *
924
924
  * To define a time template, nest an `<ng-template>` tag with the `kendoSchedulerAgendaTimeTemplate` directive inside the
925
- * `<kendo-scheduler>` or `<kendo-scheduler-agenda-view>` component ([see example](slug:templates_scheduler#toc-agenda-times)).
925
+ * `<kendo-scheduler>` or `<kendo-scheduler-agenda-view>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#agenda-times)).
926
926
  *
927
927
  * The available fields in the template context are:
928
928
  * - `start`&mdash;The start date of the event.
@@ -963,7 +963,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
963
963
  * Use this directive to customize the content of all-day events in the Scheduler.
964
964
  *
965
965
  * To define an all-day event template, nest an `<ng-template>` tag with the `kendoSchedulerAllDayEventTemplate` directive inside the
966
- * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, or `<kendo-scheduler-week-view>` component ([see example](slug:templates_scheduler#toc-all-day-events)).
966
+ * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, or `<kendo-scheduler-week-view>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#all-day-events)).
967
967
  *
968
968
  * The available fields in the template context are:
969
969
  * - `event`&mdash;The event that is associated with the item.
@@ -1000,7 +1000,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1000
1000
  * Use this directive to customize the content of all-day slots in the Scheduler.
1001
1001
  *
1002
1002
  * To define an all-dat slot template, nest an `<ng-template>` tag with the `kendoSchedulerAllDaySlotTemplate` directive inside the
1003
- * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, or `<kendo-scheduler-week-view>` components ([see example](slug:templates_scheduler#toc-all-day-slots)).
1003
+ * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, or `<kendo-scheduler-week-view>` components ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#all-day-slots)).
1004
1004
  *
1005
1005
  * The available fields in the template context are:
1006
1006
  * - `date`&mdash;The date of the slot.
@@ -1038,7 +1038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1038
1038
  *
1039
1039
  * To define a date header template, nest an `<ng-template>` tag with the `kendoSchedulerDateHeaderTemplate` directive inside the
1040
1040
  * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, `<kendo-scheduler-week-view>`,
1041
- * `<kendo-scheduler-timeline-view>`, `<kendo-scheduler-timeline-week-view>`, or `<kendo-scheduler-timeline-month-view>` component ([see example](slug:templates_scheduler#toc-date-headers)).
1041
+ * `<kendo-scheduler-timeline-view>`, `<kendo-scheduler-timeline-week-view>`, or `<kendo-scheduler-timeline-month-view>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#date-headers)).
1042
1042
  *
1043
1043
  * The available fields in the template context are:
1044
1044
  * - `date`&mdash;The header date.
@@ -1074,7 +1074,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1074
1074
  * Use this directive to customize the rendering of Scheduler events.
1075
1075
  *
1076
1076
  * To define an event template, nest an `<ng-template>` tag with the `kendoSchedulerEventTemplate` directive inside the
1077
- * `<kendo-scheduler>` or any view component ([see example](slug:templates_scheduler#toc-event-rendering)).
1077
+ * `<kendo-scheduler>` or any view component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#event-rendering)).
1078
1078
  *
1079
1079
  * The available fields in the template context are:
1080
1080
  * - `event`&mdash;The event that is associated with the item.
@@ -1112,7 +1112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1112
1112
  *
1113
1113
  * To defina a group header template, nest an `<ng-template>` tag with the `kendoSchedulerGroupHeaderTemplate` directive inside the
1114
1114
  * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, `<kendo-scheduler-week-view>`,
1115
- * `<kendo-scheduler-timeline-view>`, `<kendo-scheduler-timeline-week-view>`, or `<kendo-scheduler-timeline-month-view>` component ([see example](slug:templates_scheduler#toc-group-headers)).
1115
+ * `<kendo-scheduler-timeline-view>`, `<kendo-scheduler-timeline-week-view>`, or `<kendo-scheduler-timeline-month-view>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#group-headers)).
1116
1116
  *
1117
1117
  * The available fields in the template context are:
1118
1118
  * - `resource`&mdash;The resource item.
@@ -1148,7 +1148,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1148
1148
  * Use this directive to customize the major-time headers in **Day** and **Week** views of the Scheduler.
1149
1149
  *
1150
1150
  * To define a major-time header template, nest an `<ng-template>` tag with the `kendoSchedulerMajorTimeHeaderTemplate` directive inside the
1151
- * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, or `<kendo-scheduler-week-view>` component ([see example](slug:templates_scheduler#toc-major-time-headers)).
1151
+ * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, or `<kendo-scheduler-week-view>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#major-time-headers)).
1152
1152
  *
1153
1153
  * The available fields in the template context are:
1154
1154
  * - `date`&mdash;The date of the header.
@@ -1184,7 +1184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1184
1184
  * Use this directive to customize the minor-time headers in the **Day** and **Week** views of the Scheduler.
1185
1185
  *
1186
1186
  * To define a minor-time header template, nest an `<ng-template>` tag with the `kendoSchedulerMinorTimeHeaderTemplate` directive inside the
1187
- * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, or `<kendo-scheduler-week-view>` component ([see example](slug:templates_scheduler#toc-minor-time-headers)).
1187
+ * `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, or `<kendo-scheduler-week-view>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#minor-time-headers)).
1188
1188
  *
1189
1189
  * The available fields in the template context are:
1190
1190
  * - `date`&mdash;The date of the header.
@@ -1220,7 +1220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1220
1220
  * Use this directive to customize the day slots in the **Month** view of the Scheduler.
1221
1221
  *
1222
1222
  * To define a day slot template, nest an `<ng-template>` tag with the `kendoSchedulerMonthDaySlotTemplate` directive inside the
1223
- * `<kendo-scheduler>` or `<kendo-scheduler-month-view>` component ([see example](slug:templates_scheduler#toc-month-slots)).
1223
+ * `<kendo-scheduler>` or `<kendo-scheduler-month-view>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#month-slots)).
1224
1224
  *
1225
1225
  * The available fields in the template context are:
1226
1226
  * - `date`&mdash;The date of the slot.
@@ -1257,7 +1257,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1257
1257
  * Use this directive to customize the day slots in the **Multi-Week** view of the Scheduler.
1258
1258
  *
1259
1259
  * To defina a day slot template, nest an `<ng-template>` tag with the `kendoSchedulerMultiWeekDaySlotTemplate` directive inside the
1260
- * `<kendo-scheduler>` or `<kendo-scheduler-multi-week-view>` component ([see example](slug:templates_scheduler#toc-multi-week-slots)).
1260
+ * `<kendo-scheduler>` or `<kendo-scheduler-multi-week-view>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#multi-week-slots)).
1261
1261
  *
1262
1262
  * The available fields in the template context are:
1263
1263
  * - `date`&mdash;The date of the slot.
@@ -1295,7 +1295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1295
1295
  *
1296
1296
  * To define a time-slot template, nest an `<ng-template>` tag with the `kendoSchedulerTimeSlotTemplate`
1297
1297
  * directive inside the `<kendo-scheduler>`, `<kendo-scheduler-day-view>`, `<kendo-scheduler-week-view>`,
1298
- * `<kendo-scheduler-timeline-view>`, `<kendo-scheduler-timeline-week-view>`, or `<kendo-scheduler-timeline-month-view>` component ([see example](slug:templates_scheduler#toc-time-slots)).
1298
+ * `<kendo-scheduler-timeline-view>`, `<kendo-scheduler-timeline-week-view>`, or `<kendo-scheduler-timeline-month-view>` component ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/templates#time-slots)).
1299
1299
  *
1300
1300
  * The available fields in the template context are:
1301
1301
  * - `date`&mdash;The date of the slot.
@@ -1897,7 +1897,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1897
1897
  /**
1898
1898
  * Represents the template directive for customizing the Scheduler edit dialog.
1899
1899
  * To define the template, nest an `<ng-template>` tag
1900
- * with the `kendoSchedulerEditDialogTemplate` directive inside the `<kendo-scheduler>` tag ([see example](slug:custom_reactive_editing_scheduler)).
1900
+ * with the `kendoSchedulerEditDialogTemplate` directive inside the `<kendo-scheduler>` tag ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/editing/custom-reactive-editing)).
1901
1901
  *
1902
1902
  * The template context is set to the current event and the following additional fields are passed:
1903
1903
  * - `event`&mdash;The currently edited event. Represents the default context that will be assigned to any template variable which utilizes the `let-x` syntax&mdash;for example, `let-event`.
@@ -2426,7 +2426,8 @@ class FocusableDirective {
2426
2426
  }
2427
2427
  toggleFocus(value) {
2428
2428
  const element = this.element.nativeElement;
2429
- const focusedClass = element.matches('.k-button-group .k-button') ? 'k-focus' : 'k-selected';
2429
+ const isFooterButton = element.matches('.k-scheduler-navigation .k-button');
2430
+ const focusedClass = element.matches('.k-button-group .k-button') || isFooterButton ? 'k-focus' : 'k-selected';
2430
2431
  const renderedEvents = this.element.nativeElement.ownerDocument.querySelectorAll('.k-event');
2431
2432
  const method = value ? 'addClass' : 'removeClass';
2432
2433
  this.renderer[method](element, focusedClass);
@@ -2882,6 +2883,13 @@ function formatEventTime(start, end, isAllDay, localeId) {
2882
2883
  `${startFormat}` :
2883
2884
  `${startFormat}-${endFormat}`;
2884
2885
  }
2886
+ /**
2887
+ * @hidden
2888
+ */
2889
+ function getEventTitle(start, end, isAllDay, title, localeId) {
2890
+ const time = formatEventTime(start, end, isAllDay, localeId);
2891
+ return `${time}, ${title}`;
2892
+ }
2885
2893
  /**
2886
2894
  * @hidden
2887
2895
  */
@@ -3219,6 +3227,7 @@ class RecurrenceService {
3219
3227
  timezone;
3220
3228
  weekStart;
3221
3229
  start;
3230
+ minInterval = 1;
3222
3231
  change = new EventEmitter();
3223
3232
  endRuleChange = new EventEmitter();
3224
3233
  frequencyChange = new EventEmitter();
@@ -3257,7 +3266,7 @@ class RecurrenceService {
3257
3266
  setFrequency(freq) {
3258
3267
  this.rrule = {};
3259
3268
  this.rrule.freq = freq;
3260
- this.rrule.interval = 1;
3269
+ this.rrule.interval = this.minInterval;
3261
3270
  if (freq === 'weekly') {
3262
3271
  this.rrule.byWeekDay = [{
3263
3272
  day: this.start.getDay(),
@@ -4442,7 +4451,6 @@ class RecurrenceWeekdayRuleEditorComponent {
4442
4451
  ></kendo-label>
4443
4452
  <div class="k-form-field-wrap">
4444
4453
  <kendo-buttongroup
4445
- class="k-button-group-solid"
4446
4454
  width="100%"
4447
4455
  selection="multiple"
4448
4456
  >
@@ -4471,7 +4479,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
4471
4479
  ></kendo-label>
4472
4480
  <div class="k-form-field-wrap">
4473
4481
  <kendo-buttongroup
4474
- class="k-button-group-solid"
4475
4482
  width="100%"
4476
4483
  selection="multiple"
4477
4484
  >
@@ -4503,6 +4510,9 @@ class RecurrenceIntervalEditorComponent {
4503
4510
  cssClass = true;
4504
4511
  set userNumericOptions(options) {
4505
4512
  this.numericOptions = { ...this.numericOptions, ...options };
4513
+ this.recurrence.minInterval = this.numericOptions.min;
4514
+ this.intervalValue = this.recurrence.rrule.interval >= this.numericOptions.min ? this.recurrence.rrule.interval : this.numericOptions.min;
4515
+ this.recurrence.interval = this.intervalValue;
4506
4516
  }
4507
4517
  intervalValue;
4508
4518
  numericOptions = {
@@ -4512,10 +4522,16 @@ class RecurrenceIntervalEditorComponent {
4512
4522
  step: 1,
4513
4523
  spinners: true
4514
4524
  };
4525
+ frequencyChangeSubscription;
4515
4526
  constructor(recurrence, localization) {
4516
4527
  this.recurrence = recurrence;
4517
4528
  this.localization = localization;
4518
- this.intervalValue = this.recurrence.rrule.interval || 1;
4529
+ this.frequencyChangeSubscription = this.recurrence.frequencyChange.subscribe(() => {
4530
+ this.intervalValue = this.numericOptions.min;
4531
+ });
4532
+ }
4533
+ ngOnDestroy() {
4534
+ this.frequencyChangeSubscription.unsubscribe();
4519
4535
  }
4520
4536
  get currentFreq() {
4521
4537
  return this.recurrence.frequency;
@@ -4523,6 +4539,7 @@ class RecurrenceIntervalEditorComponent {
4523
4539
  onIntervalChange(newInterval) {
4524
4540
  if (isPresent(newInterval)) {
4525
4541
  this.recurrence.interval = newInterval;
4542
+ this.intervalValue = newInterval;
4526
4543
  }
4527
4544
  }
4528
4545
  onIntervalBlur() {
@@ -4586,7 +4603,7 @@ class RecurrenceIntervalEditorComponent {
4586
4603
  [spinners]="numericOptions.spinners"
4587
4604
  [step]="numericOptions.step"
4588
4605
  [title]="numericOptions.title"
4589
- [(value)]="intervalValue"
4606
+ [value]="intervalValue"
4590
4607
  (blur)="onIntervalBlur()"
4591
4608
  (valueChange)="onIntervalChange($event)"
4592
4609
  >
@@ -4627,7 +4644,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
4627
4644
  [spinners]="numericOptions.spinners"
4628
4645
  [step]="numericOptions.step"
4629
4646
  [title]="numericOptions.title"
4630
- [(value)]="intervalValue"
4647
+ [value]="intervalValue"
4631
4648
  (blur)="onIntervalBlur()"
4632
4649
  (valueChange)="onIntervalChange($event)"
4633
4650
  >
@@ -4693,7 +4710,7 @@ class RecurrenceFrequencyEditorComponent {
4693
4710
  ></kendo-label>
4694
4711
  <div class="k-form-field-wrap">
4695
4712
  <kendo-buttongroup
4696
- class="k-scheduler-recurrence-repeat k-button-group-solid"
4713
+ class="k-scheduler-recurrence-repeat"
4697
4714
  width="100%"
4698
4715
  selection="single"
4699
4716
  >
@@ -4722,7 +4739,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
4722
4739
  ></kendo-label>
4723
4740
  <div class="k-form-field-wrap">
4724
4741
  <kendo-buttongroup
4725
- class="k-scheduler-recurrence-repeat k-button-group-solid"
4742
+ class="k-scheduler-recurrence-repeat"
4726
4743
  width="100%"
4727
4744
  selection="single"
4728
4745
  >
@@ -5020,7 +5037,7 @@ const RECURRENCE_VALUE_ACCESSOR = {
5020
5037
  /**
5021
5038
  * Represents the Kendo UI Recurrence Editor component for Angular. Use this component to let users set recurrence rules for Scheduler events.
5022
5039
  *
5023
- * [This example](slug:custom_reactive_editing_scheduler) demonstrates the Recurrence Editor, among other components.
5040
+ * [This example](https://www.telerik.com/kendo-angular-ui/components/scheduler/editing/custom-reactive-editing) demonstrates the Recurrence Editor, among other components.
5024
5041
  *
5025
5042
  * @example
5026
5043
  * ```html
@@ -5158,138 +5175,138 @@ class RecurrenceEditorComponent {
5158
5175
  <ng-container kendoRecurrenceEditorLocalizedMessages
5159
5176
  i18n-repeat="kendo.recurrenceeditor.repeat|The text similar to 'Repeat' displayed in the recurrence editor."
5160
5177
  repeat='Repeat'
5161
-
5178
+
5162
5179
  i18n-dailyInterval="kendo.recurrenceeditor.dailyInterval|The text similar to 'day(s)' displayed in the recurrence editor."
5163
5180
  dailyInterval='day(s)'
5164
-
5181
+
5165
5182
  i18n-dailyRepeatEvery="kendo.recurrenceeditor.dailyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor."
5166
5183
  dailyRepeatEvery='Repeat every'
5167
-
5184
+
5168
5185
  i18n-weeklyInterval="kendo.recurrenceeditor.weeklyInterval|The text similar to 'week(s)' displayed in the recurrence editor."
5169
5186
  weeklyInterval='week(s)'
5170
-
5187
+
5171
5188
  i18n-weeklyRepeatEvery="kendo.recurrenceeditor.weeklyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor."
5172
5189
  weeklyRepeatEvery='Repeat every'
5173
-
5190
+
5174
5191
  i18n-weeklyRepeatOn="kendo.recurrenceeditor.weeklyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor."
5175
5192
  weeklyRepeatOn='Repeat on'
5176
-
5193
+
5177
5194
  i18n-monthlyDay="kendo.recurrenceeditor.monthlyDay|The text similar to 'Day' displayed in the recurrence editor."
5178
5195
  monthlyDay='Day'
5179
-
5196
+
5180
5197
  i18n-monthlyInterval="kendo.recurrenceeditor.monthlyInterval|The text similar to 'month(s)' displayed in the recurrence editor."
5181
5198
  monthlyInterval='month(s)'
5182
-
5199
+
5183
5200
  i18n-monthlyRepeatEvery="kendo.recurrenceeditor.monthlyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor."
5184
5201
  monthlyRepeatEvery='Repeat every'
5185
-
5202
+
5186
5203
  i18n-monthlyRepeatOn="kendo.recurrenceeditor.monthlyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor."
5187
5204
  monthlyRepeatOn='Repeat on'
5188
-
5205
+
5189
5206
  i18n-yearlyOf="kendo.recurrenceeditor.yearlyOf|The text similar to 'of' displayed in the recurrence editor."
5190
5207
  yearlyOf='of'
5191
-
5208
+
5192
5209
  i18n-yearlyRepeatEvery="kendo.recurrenceeditor.yearlyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor."
5193
5210
  yearlyRepeatEvery='Repeat every'
5194
-
5211
+
5195
5212
  i18n-yearlyRepeatOn="kendo.recurrenceeditor.yearlyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor."
5196
5213
  yearlyRepeatOn='Repeat on'
5197
-
5214
+
5198
5215
  i18n-yearlyInterval="kendo.recurrenceeditor.yearlyInterval|The text similar to 'year(s)' displayed in the recurrence editor."
5199
5216
  yearlyInterval='year(s)'
5200
-
5217
+
5201
5218
  i18n-frequenciesDaily="kendo.recurrenceeditor.frequenciesDaily|The text similar to 'Daily' displayed in the recurrence editor."
5202
5219
  frequenciesDaily='Daily'
5203
-
5220
+
5204
5221
  i18n-frequenciesMonthly="kendo.recurrenceeditor.frequenciesMonthly|The text similar to 'Monthly' displayed in the recurrence editor."
5205
5222
  frequenciesMonthly='Monthly'
5206
-
5223
+
5207
5224
  i18n-frequenciesNever="kendo.recurrenceeditor.frequenciesNever|The text similar to 'Never' displayed in the recurrence editor."
5208
5225
  frequenciesNever='Never'
5209
-
5226
+
5210
5227
  i18n-frequenciesWeekly="kendo.recurrenceeditor.frequenciesWeekly|The text similar to 'Weekly' displayed in the recurrence editor."
5211
5228
  frequenciesWeekly='Weekly'
5212
-
5229
+
5213
5230
  i18n-frequenciesYearly="kendo.recurrenceeditor.frequenciesYearly|The text similar to 'Yearly' displayed in the recurrence editor."
5214
5231
  frequenciesYearly='Yearly'
5215
-
5232
+
5216
5233
  i18n-offsetPositionsFirst="kendo.recurrenceeditor.offsetPositionsFirst|The text similar to 'First' displayed in the recurrence editor."
5217
5234
  offsetPositionsFirst='First'
5218
-
5235
+
5219
5236
  i18n-offsetPositionsSecond="kendo.recurrenceeditor.offsetPositionsSecond|The text similar to 'Second' displayed in the recurrence editor."
5220
5237
  offsetPositionsSecond='Second'
5221
-
5238
+
5222
5239
  i18n-offsetPositionsThird="kendo.recurrenceeditor.offsetPositionsThird|The text similar to 'Third' displayed in the recurrence editor."
5223
5240
  offsetPositionsThird='Third'
5224
-
5241
+
5225
5242
  i18n-offsetPositionsFourth="kendo.recurrenceeditor.offsetPositionsFourth|The text similar to 'Fourth' displayed in the recurrence editor."
5226
5243
  offsetPositionsFourth='Fourth'
5227
-
5244
+
5228
5245
  i18n-offsetPositionsLast="kendo.recurrenceeditor.offsetPositionsLast|The text similar to 'Last' displayed in the recurrence editor."
5229
5246
  offsetPositionsLast='Last'
5230
-
5247
+
5231
5248
  i18n-weekdaysDay="kendo.recurrenceeditor.weekdaysDay|The text similar to 'Day' displayed in the repeat by section of the monthly recurrence pattern."
5232
5249
  weekdaysDay='Day'
5233
-
5250
+
5234
5251
  i18n-weekdaysWeekday="kendo.recurrenceeditor.weekdaysWeekday|The text similar to 'Weekday' displayed in the repeat by section of the monthly recurrence pattern."
5235
5252
  weekdaysWeekday='Weekday'
5236
-
5253
+
5237
5254
  i18n-weekdaysWeekendday="kendo.recurrenceeditor.weekdaysWeekendday|The text similar to 'Weekend Day' displayed in the repeat by section of the monthly recurrence pattern."
5238
5255
  weekdaysWeekendday='Weekend Day'
5239
-
5256
+
5240
5257
  i18n-endAfter="kendo.recurrenceeditor.endAfter|The text similar to 'After' displayed in the recurrence editor."
5241
5258
  endAfter='After'
5242
-
5259
+
5243
5260
  i18n-endOccurrence="kendo.recurrenceeditor.endOccurrence|The text similar to 'occurrence(s)' displayed in the recurrence editor."
5244
5261
  endOccurrence='occurrence(s)'
5245
-
5262
+
5246
5263
  i18n-endLabel="kendo.recurrenceeditor.endLabel|The text similar to 'End' displayed in the recurrence editor."
5247
5264
  endLabel='End'
5248
-
5265
+
5249
5266
  i18n-endNever="kendo.recurrenceeditor.endNever|The text similar to 'Never' displayed in the recurrence editor."
5250
5267
  endNever='Never'
5251
-
5268
+
5252
5269
  i18n-endOn="kendo.recurrenceeditor.endOn|The text similar to 'On' displayed in the recurrence editor."
5253
5270
  endOn='On'
5254
-
5271
+
5255
5272
  i18n-numericIncrement="kendo.recurrenceeditor.numericIncrement|The title of the 'Increment' button of the NumericTextBoxes displayed in the recurrence editor."
5256
5273
  numericIncrement='Increase value'
5257
-
5274
+
5258
5275
  i18n-numericDecrement="kendo.recurrenceeditor.numericDecrement|The title of the 'Decrement' button of the NumericTextBoxes displayed in the recurrence editor."
5259
5276
  numericDecrement='Decrease value'
5260
-
5277
+
5261
5278
  i18n-dateInputsToday="kendo.recurrenceeditor.dateInputsToday|The title of the 'Today' button in the popup of the DatePickers displayed in the recurrence editor."
5262
5279
  dateInputsToday='Today'
5263
-
5280
+
5264
5281
  i18n-dateInputsToggle="kendo.recurrenceeditor.dateInputsToggle|The title of the 'Toggle' button of the DatePickers displayed in the recurrence editor."
5265
5282
  dateInputsToggle='Toggle calendar'
5266
-
5283
+
5267
5284
  i18n-dateInputsParentViewButton="kendo.recurrenceeditor.dateInputsParentViewButton|The title of the 'Parent View' button in the popup of the DatePickers displayed in the recurrence editor."
5268
5285
  dateInputsParentViewButton='Navigate to parent view'
5269
5286
  >
5270
5287
  </ng-container>
5271
-
5288
+
5272
5289
  <kendo-recurrence-frequency-editor>
5273
5290
  </kendo-recurrence-frequency-editor>
5274
-
5291
+
5275
5292
  <div class="k-recur-view">
5276
5293
  @if (currentFreq !== 'never') {
5277
5294
  <kendo-recurrence-interval-editor
5278
5295
  [userNumericOptions]="repeatEveryOptions">
5279
5296
  </kendo-recurrence-interval-editor>
5280
5297
  }
5281
-
5298
+
5282
5299
  @if (currentFreq === 'weekly') {
5283
5300
  <kendo-recurrence-weekday-rule-editor>
5284
5301
  </kendo-recurrence-weekday-rule-editor>
5285
5302
  }
5286
-
5303
+
5287
5304
  @if (currentFreq === 'monthly' || currentFreq === 'yearly') {
5288
5305
  <kendo-recurrence-monthly-yearly-editor
5289
5306
  [userNumericOptions]="repeatOnOptions">
5290
5307
  </kendo-recurrence-monthly-yearly-editor>
5291
5308
  }
5292
-
5309
+
5293
5310
  @if (currentFreq !== 'never') {
5294
5311
  <kendo-recurrence-end-rule-editor
5295
5312
  [userNumericOptions]="endAfterOptions"
@@ -5321,138 +5338,138 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
5321
5338
  <ng-container kendoRecurrenceEditorLocalizedMessages
5322
5339
  i18n-repeat="kendo.recurrenceeditor.repeat|The text similar to 'Repeat' displayed in the recurrence editor."
5323
5340
  repeat='Repeat'
5324
-
5341
+
5325
5342
  i18n-dailyInterval="kendo.recurrenceeditor.dailyInterval|The text similar to 'day(s)' displayed in the recurrence editor."
5326
5343
  dailyInterval='day(s)'
5327
-
5344
+
5328
5345
  i18n-dailyRepeatEvery="kendo.recurrenceeditor.dailyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor."
5329
5346
  dailyRepeatEvery='Repeat every'
5330
-
5347
+
5331
5348
  i18n-weeklyInterval="kendo.recurrenceeditor.weeklyInterval|The text similar to 'week(s)' displayed in the recurrence editor."
5332
5349
  weeklyInterval='week(s)'
5333
-
5350
+
5334
5351
  i18n-weeklyRepeatEvery="kendo.recurrenceeditor.weeklyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor."
5335
5352
  weeklyRepeatEvery='Repeat every'
5336
-
5353
+
5337
5354
  i18n-weeklyRepeatOn="kendo.recurrenceeditor.weeklyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor."
5338
5355
  weeklyRepeatOn='Repeat on'
5339
-
5356
+
5340
5357
  i18n-monthlyDay="kendo.recurrenceeditor.monthlyDay|The text similar to 'Day' displayed in the recurrence editor."
5341
5358
  monthlyDay='Day'
5342
-
5359
+
5343
5360
  i18n-monthlyInterval="kendo.recurrenceeditor.monthlyInterval|The text similar to 'month(s)' displayed in the recurrence editor."
5344
5361
  monthlyInterval='month(s)'
5345
-
5362
+
5346
5363
  i18n-monthlyRepeatEvery="kendo.recurrenceeditor.monthlyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor."
5347
5364
  monthlyRepeatEvery='Repeat every'
5348
-
5365
+
5349
5366
  i18n-monthlyRepeatOn="kendo.recurrenceeditor.monthlyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor."
5350
5367
  monthlyRepeatOn='Repeat on'
5351
-
5368
+
5352
5369
  i18n-yearlyOf="kendo.recurrenceeditor.yearlyOf|The text similar to 'of' displayed in the recurrence editor."
5353
5370
  yearlyOf='of'
5354
-
5371
+
5355
5372
  i18n-yearlyRepeatEvery="kendo.recurrenceeditor.yearlyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor."
5356
5373
  yearlyRepeatEvery='Repeat every'
5357
-
5374
+
5358
5375
  i18n-yearlyRepeatOn="kendo.recurrenceeditor.yearlyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor."
5359
5376
  yearlyRepeatOn='Repeat on'
5360
-
5377
+
5361
5378
  i18n-yearlyInterval="kendo.recurrenceeditor.yearlyInterval|The text similar to 'year(s)' displayed in the recurrence editor."
5362
5379
  yearlyInterval='year(s)'
5363
-
5380
+
5364
5381
  i18n-frequenciesDaily="kendo.recurrenceeditor.frequenciesDaily|The text similar to 'Daily' displayed in the recurrence editor."
5365
5382
  frequenciesDaily='Daily'
5366
-
5383
+
5367
5384
  i18n-frequenciesMonthly="kendo.recurrenceeditor.frequenciesMonthly|The text similar to 'Monthly' displayed in the recurrence editor."
5368
5385
  frequenciesMonthly='Monthly'
5369
-
5386
+
5370
5387
  i18n-frequenciesNever="kendo.recurrenceeditor.frequenciesNever|The text similar to 'Never' displayed in the recurrence editor."
5371
5388
  frequenciesNever='Never'
5372
-
5389
+
5373
5390
  i18n-frequenciesWeekly="kendo.recurrenceeditor.frequenciesWeekly|The text similar to 'Weekly' displayed in the recurrence editor."
5374
5391
  frequenciesWeekly='Weekly'
5375
-
5392
+
5376
5393
  i18n-frequenciesYearly="kendo.recurrenceeditor.frequenciesYearly|The text similar to 'Yearly' displayed in the recurrence editor."
5377
5394
  frequenciesYearly='Yearly'
5378
-
5395
+
5379
5396
  i18n-offsetPositionsFirst="kendo.recurrenceeditor.offsetPositionsFirst|The text similar to 'First' displayed in the recurrence editor."
5380
5397
  offsetPositionsFirst='First'
5381
-
5398
+
5382
5399
  i18n-offsetPositionsSecond="kendo.recurrenceeditor.offsetPositionsSecond|The text similar to 'Second' displayed in the recurrence editor."
5383
5400
  offsetPositionsSecond='Second'
5384
-
5401
+
5385
5402
  i18n-offsetPositionsThird="kendo.recurrenceeditor.offsetPositionsThird|The text similar to 'Third' displayed in the recurrence editor."
5386
5403
  offsetPositionsThird='Third'
5387
-
5404
+
5388
5405
  i18n-offsetPositionsFourth="kendo.recurrenceeditor.offsetPositionsFourth|The text similar to 'Fourth' displayed in the recurrence editor."
5389
5406
  offsetPositionsFourth='Fourth'
5390
-
5407
+
5391
5408
  i18n-offsetPositionsLast="kendo.recurrenceeditor.offsetPositionsLast|The text similar to 'Last' displayed in the recurrence editor."
5392
5409
  offsetPositionsLast='Last'
5393
-
5410
+
5394
5411
  i18n-weekdaysDay="kendo.recurrenceeditor.weekdaysDay|The text similar to 'Day' displayed in the repeat by section of the monthly recurrence pattern."
5395
5412
  weekdaysDay='Day'
5396
-
5413
+
5397
5414
  i18n-weekdaysWeekday="kendo.recurrenceeditor.weekdaysWeekday|The text similar to 'Weekday' displayed in the repeat by section of the monthly recurrence pattern."
5398
5415
  weekdaysWeekday='Weekday'
5399
-
5416
+
5400
5417
  i18n-weekdaysWeekendday="kendo.recurrenceeditor.weekdaysWeekendday|The text similar to 'Weekend Day' displayed in the repeat by section of the monthly recurrence pattern."
5401
5418
  weekdaysWeekendday='Weekend Day'
5402
-
5419
+
5403
5420
  i18n-endAfter="kendo.recurrenceeditor.endAfter|The text similar to 'After' displayed in the recurrence editor."
5404
5421
  endAfter='After'
5405
-
5422
+
5406
5423
  i18n-endOccurrence="kendo.recurrenceeditor.endOccurrence|The text similar to 'occurrence(s)' displayed in the recurrence editor."
5407
5424
  endOccurrence='occurrence(s)'
5408
-
5425
+
5409
5426
  i18n-endLabel="kendo.recurrenceeditor.endLabel|The text similar to 'End' displayed in the recurrence editor."
5410
5427
  endLabel='End'
5411
-
5428
+
5412
5429
  i18n-endNever="kendo.recurrenceeditor.endNever|The text similar to 'Never' displayed in the recurrence editor."
5413
5430
  endNever='Never'
5414
-
5431
+
5415
5432
  i18n-endOn="kendo.recurrenceeditor.endOn|The text similar to 'On' displayed in the recurrence editor."
5416
5433
  endOn='On'
5417
-
5434
+
5418
5435
  i18n-numericIncrement="kendo.recurrenceeditor.numericIncrement|The title of the 'Increment' button of the NumericTextBoxes displayed in the recurrence editor."
5419
5436
  numericIncrement='Increase value'
5420
-
5437
+
5421
5438
  i18n-numericDecrement="kendo.recurrenceeditor.numericDecrement|The title of the 'Decrement' button of the NumericTextBoxes displayed in the recurrence editor."
5422
5439
  numericDecrement='Decrease value'
5423
-
5440
+
5424
5441
  i18n-dateInputsToday="kendo.recurrenceeditor.dateInputsToday|The title of the 'Today' button in the popup of the DatePickers displayed in the recurrence editor."
5425
5442
  dateInputsToday='Today'
5426
-
5443
+
5427
5444
  i18n-dateInputsToggle="kendo.recurrenceeditor.dateInputsToggle|The title of the 'Toggle' button of the DatePickers displayed in the recurrence editor."
5428
5445
  dateInputsToggle='Toggle calendar'
5429
-
5446
+
5430
5447
  i18n-dateInputsParentViewButton="kendo.recurrenceeditor.dateInputsParentViewButton|The title of the 'Parent View' button in the popup of the DatePickers displayed in the recurrence editor."
5431
5448
  dateInputsParentViewButton='Navigate to parent view'
5432
5449
  >
5433
5450
  </ng-container>
5434
-
5451
+
5435
5452
  <kendo-recurrence-frequency-editor>
5436
5453
  </kendo-recurrence-frequency-editor>
5437
-
5454
+
5438
5455
  <div class="k-recur-view">
5439
5456
  @if (currentFreq !== 'never') {
5440
5457
  <kendo-recurrence-interval-editor
5441
5458
  [userNumericOptions]="repeatEveryOptions">
5442
5459
  </kendo-recurrence-interval-editor>
5443
5460
  }
5444
-
5461
+
5445
5462
  @if (currentFreq === 'weekly') {
5446
5463
  <kendo-recurrence-weekday-rule-editor>
5447
5464
  </kendo-recurrence-weekday-rule-editor>
5448
5465
  }
5449
-
5466
+
5450
5467
  @if (currentFreq === 'monthly' || currentFreq === 'yearly') {
5451
5468
  <kendo-recurrence-monthly-yearly-editor
5452
5469
  [userNumericOptions]="repeatOnOptions">
5453
5470
  </kendo-recurrence-monthly-yearly-editor>
5454
5471
  }
5455
-
5472
+
5456
5473
  @if (currentFreq !== 'never') {
5457
5474
  <kendo-recurrence-end-rule-editor
5458
5475
  [userNumericOptions]="endAfterOptions"
@@ -5615,7 +5632,7 @@ class TimeZoneEditorComponent {
5615
5632
  (valueChange)="onTimeZoneChange($event)">
5616
5633
  </kendo-combobox>
5617
5634
  }
5618
- `, isInline: true, dependencies: [{ kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
5635
+ `, isInline: true, dependencies: [{ kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
5619
5636
  }
5620
5637
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TimeZoneEditorComponent, decorators: [{
5621
5638
  type: Component,
@@ -5779,7 +5796,7 @@ class SchedulerDateTimePickerComponent {
5779
5796
  </kendo-datetimepicker-messages>
5780
5797
  </kendo-datetimepicker>
5781
5798
  }
5782
- `, isInline: true, dependencies: [{ kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }, { kind: "component", type: DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "weekDaysFormat", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "adaptiveTitle", "adaptiveSubtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "clearButton", "autoFill", "adaptiveMode", "inputAttributes", "defaultTab", "size", "rounded", "fillMode", "headerTemplate", "footerTemplate", "footer"], outputs: ["valueChange", "open", "close", "focus", "blur", "escape"], exportAs: ["kendo-datetimepicker"] }, { kind: "component", type: DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }] });
5799
+ `, isInline: true, dependencies: [{ kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }, { kind: "component", type: DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "weekDaysFormat", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "adaptiveTitle", "adaptiveSubtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "clearButton", "autoFill", "adaptiveMode", "inputAttributes", "defaultTab", "size", "rounded", "fillMode", "headerTemplate", "footerTemplate", "footer"], outputs: ["valueChange", "open", "close", "focus", "blur", "escape"], exportAs: ["kendo-datetimepicker"] }, { kind: "component", type: DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }] });
5783
5800
  }
5784
5801
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SchedulerDateTimePickerComponent, decorators: [{
5785
5802
  type: Component,
@@ -5857,6 +5874,7 @@ class EditDialogComponent {
5857
5874
  changeDetector;
5858
5875
  element;
5859
5876
  focusService;
5877
+ intl;
5860
5878
  multipleResourceEditors;
5861
5879
  singleResourceEditors;
5862
5880
  resources = [];
@@ -5891,13 +5909,15 @@ class EditDialogComponent {
5891
5909
  saveIcon = saveIcon;
5892
5910
  cancelIcon = cancelOutlineIcon;
5893
5911
  subs;
5894
- constructor(ngZone, editService, localization, changeDetector, element, focusService) {
5912
+ pendingNewEventData;
5913
+ constructor(ngZone, editService, localization, changeDetector, element, focusService, intl) {
5895
5914
  this.ngZone = ngZone;
5896
5915
  this.editService = editService;
5897
5916
  this.localization = localization;
5898
5917
  this.changeDetector = changeDetector;
5899
5918
  this.element = element;
5900
5919
  this.focusService = focusService;
5920
+ this.intl = intl;
5901
5921
  this.subs = this.editService.changed.subscribe(() => {
5902
5922
  this.ngZone.run(() => { this.onChange(); });
5903
5923
  });
@@ -5957,11 +5977,13 @@ class EditDialogComponent {
5957
5977
  this.applyTimezone();
5958
5978
  this.editService.save();
5959
5979
  this.changeDetector.markForCheck();
5980
+ if (this.isNew && this.formGroup) {
5981
+ this.pendingNewEventData = this.formGroup.value;
5982
+ }
5960
5983
  }
5961
5984
  onClose() {
5962
5985
  this.editService.endEdit();
5963
5986
  this.changeDetector.markForCheck();
5964
- this.focusService.focus();
5965
5987
  }
5966
5988
  get hasAllDay() {
5967
5989
  return Boolean(this.formGroup.get(this.fields.isAllDay));
@@ -6001,7 +6023,12 @@ class EditDialogComponent {
6001
6023
  this.setTimeZone = false;
6002
6024
  this.setSeparateStartEndTimeZones = false;
6003
6025
  this.removeTimeZoneCheckboxesFromFormGroup();
6004
- this.focusService.focus();
6026
+ if (this.pendingNewEventData) {
6027
+ this.focusNewEvent();
6028
+ }
6029
+ else {
6030
+ this.focusService.focus();
6031
+ }
6005
6032
  }
6006
6033
  addTimeZoneCheckboxesToFormGroup() {
6007
6034
  if (isPresent(this.formGroup)) {
@@ -6068,8 +6095,20 @@ class EditDialogComponent {
6068
6095
  const value = this.formGroup.get(field).value;
6069
6096
  return toLocalDate(ZonedDate.fromLocalDate(value, timezone).toUTCDate());
6070
6097
  }
6071
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EditDialogComponent, deps: [{ token: i0.NgZone }, { token: EditService }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: FocusService }], target: i0.ɵɵFactoryTarget.Component });
6072
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: EditDialogComponent, isStandalone: true, selector: "kendo-scheduler-edit-dialog", inputs: { resources: "resources", timezone: "timezone", weekStart: "weekStart", fields: "fields", editTemplate: "editTemplate" }, viewQueries: [{ propertyName: "multipleResourceEditors", predicate: MultipleResourceEditorComponent, descendants: true }, { propertyName: "singleResourceEditors", predicate: SingleResourceEditorComponent, descendants: true }], ngImport: i0, template: `
6098
+ focusNewEvent() {
6099
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
6100
+ const focusableItems = Array.from(this.focusService.focusableItems);
6101
+ const eventItems = focusableItems.filter(item => item.containerType === 'content');
6102
+ const newEventTitle = getEventTitle(this.pendingNewEventData.start, this.pendingNewEventData.end, this.pendingNewEventData.isAllDay, this.pendingNewEventData.title, this.intl.localeId);
6103
+ const newEventItem = eventItems.find(item => {
6104
+ return item.element.nativeElement.getAttribute('aria-label') === newEventTitle;
6105
+ });
6106
+ newEventItem?.focus();
6107
+ this.pendingNewEventData = null;
6108
+ });
6109
+ }
6110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EditDialogComponent, deps: [{ token: i0.NgZone }, { token: EditService }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: FocusService }, { token: i4.CldrIntlService }], target: i0.ɵɵFactoryTarget.Component });
6111
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: EditDialogComponent, isStandalone: true, selector: "kendo-scheduler-edit-dialog", inputs: { resources: "resources", timezone: "timezone", weekStart: "weekStart", fields: "fields", editTemplate: "editTemplate" }, providers: [CldrIntlService], viewQueries: [{ propertyName: "multipleResourceEditors", predicate: MultipleResourceEditorComponent, descendants: true }, { propertyName: "singleResourceEditors", predicate: SingleResourceEditorComponent, descendants: true }], ngImport: i0, template: `
6073
6112
  @if (isActive) {
6074
6113
  <kendo-dialog (close)='onClose()' [minWidth]='400' title='{{ textFor("editorTitle") }}' class='k-scheduler-edit-dialog' [autoFocusedElement]="autoFocusedElement">
6075
6114
  @if (!editTemplate) {
@@ -6267,7 +6306,7 @@ class EditDialogComponent {
6267
6306
  </kendo-dialog-actions>
6268
6307
  </kendo-dialog>
6269
6308
  }
6270
- `, isInline: true, dependencies: [{ kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors", "colSpan"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "directive", type: TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "component", type: SchedulerDateTimePickerComponent, selector: "kendo-scheduler-datetime-picker", inputs: ["isAllDay"], outputs: ["valueChange"] }, { kind: "directive", type: CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { kind: "directive", type: LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }, { kind: "component", type: TimeZoneEditorComponent, selector: "kendo-timezone-editor", inputs: ["width"], outputs: ["valueChange"] }, { kind: "component", type: RecurrenceEditorComponent, selector: "kendo-recurrence-editor", inputs: ["start", "timezone", "weekStart", "repeatEveryOptions", "endAfterOptions", "repeatOnOptions", "endOnOptions"], outputs: ["valueChange"], exportAs: ["kendoRecurrenceEditor"] }, { kind: "directive", type: TextAreaDirective, selector: "textarea[kendoTextArea]", inputs: ["autoSize", "value"], outputs: ["valueChange"] }, { kind: "component", type: MultipleResourceEditorComponent, selector: "kendo-multiple-resource-editor" }, { kind: "component", type: SingleResourceEditorComponent, selector: "kendo-single-resource-editor" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
6309
+ `, isInline: true, dependencies: [{ kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors", "colSpan"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "directive", type: TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "component", type: SchedulerDateTimePickerComponent, selector: "kendo-scheduler-datetime-picker", inputs: ["isAllDay"], outputs: ["valueChange"] }, { kind: "directive", type: CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { kind: "directive", type: LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }, { kind: "component", type: TimeZoneEditorComponent, selector: "kendo-timezone-editor", inputs: ["width"], outputs: ["valueChange"] }, { kind: "component", type: RecurrenceEditorComponent, selector: "kendo-recurrence-editor", inputs: ["start", "timezone", "weekStart", "repeatEveryOptions", "endAfterOptions", "repeatOnOptions", "endOnOptions"], outputs: ["valueChange"], exportAs: ["kendoRecurrenceEditor"] }, { kind: "directive", type: TextAreaDirective, selector: "textarea[kendoTextArea]", inputs: ["autoSize", "value"], outputs: ["valueChange"] }, { kind: "component", type: MultipleResourceEditorComponent, selector: "kendo-multiple-resource-editor" }, { kind: "component", type: SingleResourceEditorComponent, selector: "kendo-single-resource-editor" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
6271
6310
  }
6272
6311
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EditDialogComponent, decorators: [{
6273
6312
  type: Component,
@@ -6473,9 +6512,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
6473
6512
  }
6474
6513
  `,
6475
6514
  standalone: true,
6515
+ providers: [CldrIntlService],
6476
6516
  imports: [DialogComponent, ReactiveFormsModule, FormFieldComponent, LabelComponent, TextBoxDirective, SchedulerDateTimePickerComponent, CheckBoxDirective, LabelDirective, TimeZoneEditorComponent, RecurrenceEditorComponent, TextAreaDirective, MultipleResourceEditorComponent, SingleResourceEditorComponent, NgTemplateOutlet, DialogActionsComponent, ButtonComponent]
6477
6517
  }]
6478
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: EditService }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: FocusService }], propDecorators: { multipleResourceEditors: [{
6518
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: EditService }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: FocusService }, { type: i4.CldrIntlService }], propDecorators: { multipleResourceEditors: [{
6479
6519
  type: ViewChildren,
6480
6520
  args: [MultipleResourceEditorComponent]
6481
6521
  }], singleResourceEditors: [{
@@ -6495,9 +6535,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
6495
6535
 
6496
6536
  /**
6497
6537
  * A toolbar component that contains controls for switching views
6498
- * ([see example](slug:toolbar_scheduler#toc-including-the-built-in-components)).
6538
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar#including-the-built-in-components)).
6499
6539
  *
6500
- * To render the view-selection buttons, include this component in the [toolbar template](slug:api_scheduler_toolbartemplatedirective).
6540
+ * To render the view-selection buttons, include this component in the [toolbar template](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/toolbartemplatedirective).
6501
6541
  *
6502
6542
  * @example
6503
6543
  * ```html
@@ -6512,7 +6552,7 @@ class ToolbarViewSelectorComponent {
6512
6552
  service;
6513
6553
  localization;
6514
6554
  /**
6515
- * Sets the current width of the Toolbar in pixels for responsive calculations. Use the [`schedulerResize`](slug:api_scheduler_schedulercomponent#toc-schedulerresize) event to get the Toolbar width.
6555
+ * Sets the current width of the Toolbar in pixels for responsive calculations. Use the [`schedulerResize`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulercomponent#schedulerresize) event to get the Toolbar width.
6516
6556
  */
6517
6557
  toolbarWidth;
6518
6558
  /**
@@ -6590,7 +6630,7 @@ class ToolbarViewSelectorComponent {
6590
6630
  }
6591
6631
  @if (toolbarWidth > responsiveBreakpoint) {
6592
6632
  <span
6593
- class="k-toolbar-button-group k-scheduler-views k-button-group k-button-group-solid"
6633
+ class="k-toolbar-button-group k-scheduler-views k-button-group"
6594
6634
  role="group"
6595
6635
  >
6596
6636
  @for (view of ctx.views; track view) {
@@ -6635,7 +6675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
6635
6675
  }
6636
6676
  @if (toolbarWidth > responsiveBreakpoint) {
6637
6677
  <span
6638
- class="k-toolbar-button-group k-scheduler-views k-button-group k-button-group-solid"
6678
+ class="k-toolbar-button-group k-scheduler-views k-button-group"
6639
6679
  role="group"
6640
6680
  >
6641
6681
  @for (view of ctx.views; track view) {
@@ -6666,9 +6706,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
6666
6706
  const iconsMap = { caretAltLeftIcon, caretAltRightIcon, calendarIcon };
6667
6707
  /**
6668
6708
  * A toolbar component that contains controls for date navigation
6669
- * ([see example](slug:toolbar_scheduler#toc-including-the-built-in-components)).
6709
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar#including-the-built-in-components)).
6670
6710
  *
6671
- * To render the **Previous**, **Today**, **Next**, and **Date picker** buttons, include this component in the [toolbar template](slug:api_scheduler_toolbartemplatedirective).
6711
+ * To render the **Previous**, **Today**, **Next**, and **Date picker** buttons, include this component in the [toolbar template](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/toolbartemplatedirective).
6672
6712
  *
6673
6713
  * @example
6674
6714
  * ```html
@@ -6708,13 +6748,13 @@ class ToolbarNavigationComponent {
6708
6748
  return this.localization.get('today');
6709
6749
  }
6710
6750
  /**
6711
- * Sets the [`activeView`](slug:api_dateinputs_calendarcomponent#toc-activeview) of the Calendar in the navigation component.
6751
+ * Sets the [`activeView`](https://www.telerik.com/kendo-angular-ui/components/dateinputs/api/calendarcomponent#activeview) of the Calendar in the navigation component.
6712
6752
  *
6713
6753
  * @default month
6714
6754
  */
6715
6755
  activeView = 'month';
6716
6756
  /**
6717
- * Sets the [`bottomView`](slug:api_dateinputs_calendarcomponent#toc-bottomview) of the Calendar in the navigation component.
6757
+ * Sets the [`bottomView`](https://www.telerik.com/kendo-angular-ui/components/dateinputs/api/calendarcomponent#bottomview) of the Calendar in the navigation component.
6718
6758
  *
6719
6759
  * @default month
6720
6760
  */
@@ -6875,7 +6915,7 @@ class ToolbarNavigationComponent {
6875
6915
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ToolbarNavigationComponent, isStandalone: true, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max", activeView: "activeView", bottomView: "bottomView" }, host: { properties: { "class.k-toolbar-group": "this.hostClass" } }, providers: [
6876
6916
  PopupService
6877
6917
  ], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: `
6878
- <span class="k-scheduler-navigation k-button-group k-button-group-solid" role="group">
6918
+ <span class="k-scheduler-navigation k-button-group" role="group">
6879
6919
  <button kendoButton
6880
6920
  (click)="todayClick()"
6881
6921
  class="k-nav-today"
@@ -6951,7 +6991,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
6951
6991
  PopupService
6952
6992
  ],
6953
6993
  template: `
6954
- <span class="k-scheduler-navigation k-button-group k-button-group-solid" role="group">
6994
+ <span class="k-scheduler-navigation k-button-group" role="group">
6955
6995
  <button kendoButton
6956
6996
  (click)="todayClick()"
6957
6997
  class="k-nav-today"
@@ -7104,7 +7144,7 @@ class ToolbarComponent {
7104
7144
  this.toolbarWidthChange.emit(this.toolbarWidth);
7105
7145
  }
7106
7146
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToolbarComponent, deps: [{ token: ToolbarService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
7107
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ToolbarComponent, isStandalone: true, selector: "kendo-scheduler-toolbar", inputs: { selectedView: "selectedView", views: "views", dateRange: "dateRange", selectedDate: "selectedDate", template: "template", min: "min", max: "max" }, outputs: { navigate: "navigate", toolbarWidthChange: "toolbarWidthChange" }, host: { properties: { "class.k-scheduler-toolbar": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "class.k-toolbar-solid": "this.hostClasses", "class.k-toolbar-md": "this.hostClasses", "attr.role": "this.toolbarRole" } }, usesOnChanges: true, ngImport: i0, template: `
7147
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ToolbarComponent, isStandalone: true, selector: "kendo-scheduler-toolbar", inputs: { selectedView: "selectedView", views: "views", dateRange: "dateRange", selectedDate: "selectedDate", template: "template", min: "min", max: "max" }, outputs: { navigate: "navigate", toolbarWidthChange: "toolbarWidthChange" }, host: { properties: { "class.k-scheduler-toolbar": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "attr.role": "this.toolbarRole" } }, usesOnChanges: true, ngImport: i0, template: `
7108
7148
  @if (template) {
7109
7149
  <ng-template
7110
7150
  [ngTemplateOutlet]="template.templateRef"
@@ -7160,12 +7200,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
7160
7200
  }, {
7161
7201
  type: HostBinding,
7162
7202
  args: ['class.k-toolbar']
7163
- }, {
7164
- type: HostBinding,
7165
- args: ['class.k-toolbar-solid']
7166
- }, {
7167
- type: HostBinding,
7168
- args: ['class.k-toolbar-md']
7169
7203
  }], toolbarRole: [{
7170
7204
  type: HostBinding,
7171
7205
  args: ['attr.role']
@@ -7831,7 +7865,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
7831
7865
  const todayDate = () => getDate(new Date());
7832
7866
  const DAYS_IN_WEEK$1 = 7;
7833
7867
  /**
7834
- * Represents the [Kendo UI Scheduler component for Angular](slug:overview_scheduler).
7868
+ * Represents the [Kendo UI Scheduler component for Angular](https://www.telerik.com/kendo-angular-ui/components/scheduler).
7835
7869
  *
7836
7870
  * @example
7837
7871
  * ```html
@@ -7886,8 +7920,8 @@ class SchedulerComponent {
7886
7920
  */
7887
7921
  editable = false;
7888
7922
  /**
7889
- * Specifies whether the Scheduler's day or time slots are selectable ([see example](slug:slotselection_scheduler#custom-callback)).
7890
- * When set to `true`, the Scheduler emits [`slotDragStart`]({% slug api_scheduler_schedulercomponent %}#toc-slotdragstart), [`slotDrag`]({% slug api_scheduler_schedulercomponent %}#toc-slotdrag), and [`slotDragEnd`]({% slug api_scheduler_schedulercomponent %}#toc-slotdragend) events on user interaction.
7923
+ * Specifies whether the Scheduler's day or time slots are selectable ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/slot-selection#custom-callback)).
7924
+ * When set to `true`, the Scheduler emits [`slotDragStart`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulercomponent#slotdragstart), [`slotDrag`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulercomponent#slotdrag), and [`slotDragEnd`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulercomponent#slotdragend) events on user interaction.
7891
7925
  * @default false
7892
7926
  */
7893
7927
  selectable = false;
@@ -8012,8 +8046,8 @@ class SchedulerComponent {
8012
8046
  /**
8013
8047
  * Sets the array of event instances shown by the Scheduler.
8014
8048
  *
8015
- * Provide an array of [`SchedulerEvent`](slug:api_scheduler_schedulerevent) objects to display events in the Scheduler.
8016
- * To bind data from custom object schemas, configure the [`modelFields`](slug:api_scheduler_schedulercomponent#modelfields) property to map your custom fields to the Scheduler event fields.
8049
+ * Provide an array of [`SchedulerEvent`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulerevent) objects to display events in the Scheduler.
8050
+ * To bind data from custom object schemas, configure the [`modelFields`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulercomponent#modelfields) property to map your custom fields to the Scheduler event fields.
8017
8051
  */
8018
8052
  set events(value) {
8019
8053
  this._events = value;
@@ -8036,9 +8070,9 @@ class SchedulerComponent {
8036
8070
  return this._selectedDate;
8037
8071
  }
8038
8072
  /**
8039
- * Sets the names of the model fields from which the Scheduler reads its data ([see example])(slug:databinding_scheduler#binding-to-custom-object-schemas).
8073
+ * Sets the names of the model fields from which the Scheduler reads its data ([see example])(https://www.telerik.com/kendo-angular-ui/components/scheduler/data-binding#binding-to-custom-object-schemas).
8040
8074
  *
8041
- * Use `modelFields` when you want to bind custom event objects with property names that differ from the default [`SchedulerEvent`](slug:api_scheduler_schedulerevent) fields. This lets you map your data to the Scheduler's expected fields.
8075
+ * Use `modelFields` when you want to bind custom event objects with property names that differ from the default [`SchedulerEvent`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulerevent) fields. This lets you map your data to the Scheduler's expected fields.
8042
8076
  */
8043
8077
  set modelFields(value) {
8044
8078
  this._modelFields = { ...defaultModelFields, ...value };
@@ -8115,7 +8149,7 @@ class SchedulerComponent {
8115
8149
  */
8116
8150
  slotDblClick = new EventEmitter();
8117
8151
  /**
8118
- * Emits when the user creates a new event using the `'c'` key ([see example](slug:keyboard_navigation_scheduler)).
8152
+ * Emits when the user creates a new event using the `'c'` key ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/keyboard-navigation)).
8119
8153
  */
8120
8154
  create = new EventEmitter();
8121
8155
  /**
@@ -8634,7 +8668,7 @@ class SchedulerComponent {
8634
8668
  /**
8635
8669
  * Focuses the next event or an event at a specified relative position.
8636
8670
  * The `options` parameter can be used to set a positive or negative offset
8637
- * that is relative to the currently focused event ([see example](slug:keyboard_navigation_scheduler#toc-event-navigation-with-the-tab-key)).
8671
+ * that is relative to the currently focused event ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/keyboard-navigation#event-navigation-with-the-tab-key)).
8638
8672
  * A `nowrap` flag toggles the wrapping to the first or to the last item.
8639
8673
  *
8640
8674
  * @param position The relative position of the event to focus.
@@ -8648,7 +8682,7 @@ class SchedulerComponent {
8648
8682
  /**
8649
8683
  * Focuses the previous event or an event at a specified relative position.
8650
8684
  * The `options` parameter can be used to set a positive or negative offset
8651
- * that is relative to the currently focused event ([see example](slug:keyboard_navigation_scheduler#toc-event-navigation-with-the-tab-key)).
8685
+ * that is relative to the currently focused event ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/keyboard-navigation#event-navigation-with-the-tab-key)).
8652
8686
  * A `nowrap` flag toggles the wrapping to the first or to the last item.
8653
8687
  *
8654
8688
  * @param position The relative position of the event to focus.
@@ -9790,7 +9824,7 @@ const occurrences = (item, fields, range, timezone, weekStart) => {
9790
9824
  return [item, ...expanded];
9791
9825
  };
9792
9826
  /**
9793
- * A directive that processes Scheduler events in memory ([see example](slug:databinding_scheduler#automatic-data-processing)).
9827
+ * A directive that processes Scheduler events in memory ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/data-binding#automatic-data-processing)).
9794
9828
  *
9795
9829
  * Processing includes expanding of recurring events and filtering data for
9796
9830
  * the currently active period.
@@ -9946,9 +9980,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
9946
9980
  /**
9947
9981
  * Represents the `export-to-PDF` command for the Scheduler.
9948
9982
  *
9949
- * You can apply this directive to any `button` element inside a [`ToolbarTemplate`](slug:toolbar_scheduler).
9950
- * When a user clicks a button associated with this directive, the [`pdfExport`](slug:api_scheduler_schedulercomponent#toc-pdfexport) event fires
9951
- * ([see example](slug:pdfexport_scheduler)).
9983
+ * You can apply this directive to any `button` element inside a [`ToolbarTemplate`](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar).
9984
+ * When a user clicks a button associated with this directive, the [`pdfExport`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulercomponent#pdfexport) event fires
9985
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/pdf-export)).
9952
9986
  *
9953
9987
  * @example
9954
9988
  * ```html
@@ -10036,7 +10070,7 @@ const createElement = (tagName, className) => {
10036
10070
  const createDiv = (className) => createElement('div', className);
10037
10071
  /**
10038
10072
  * Configures the settings for exporting the Scheduler to PDF
10039
- * ([see example](slug:pdfexport_scheduler)).
10073
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/pdf-export)).
10040
10074
  *
10041
10075
  * @example
10042
10076
  * ```html
@@ -10464,7 +10498,7 @@ class ConfigurationViewBase extends SchedulerView {
10464
10498
  }
10465
10499
  /**
10466
10500
  * Defines a function that is executed for every slot in the view.
10467
- * The function returns a value which is supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']) [see example](slug:styling_scheduler#slot-styling).
10501
+ * The function returns a value which is supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']) [see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/styling#slot-styling).
10468
10502
  */
10469
10503
  slotClass;
10470
10504
  /**
@@ -10870,8 +10904,7 @@ class AgendaTaskItemComponent {
10870
10904
  get eventTitle() {
10871
10905
  const start = toLocalDate(this.item.start);
10872
10906
  const end = toLocalDate(this.item.end);
10873
- const time = formatEventTime(start, end, this.item.isAllDay, this.intl.localeId);
10874
- return `${time}, ${this.item.event.title}`;
10907
+ return getEventTitle(start, end, this.item.isAllDay, this.item.event.title, this.intl.localeId);
10875
10908
  }
10876
10909
  get eventColor() {
10877
10910
  return this.item.color;
@@ -11779,14 +11812,14 @@ class AgendaViewComponent extends ConfigurationViewBase {
11779
11812
  /**
11780
11813
  * Sets the long-date format for the selected date in the Scheduler toolbar.
11781
11814
  * Defaults to `'{0:D} - {1:D}'`, where `0` is the start and `1` is the end date.
11782
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
11815
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
11783
11816
  * @default '{0:D} - {1:D}'
11784
11817
  */
11785
11818
  selectedDateFormat = '{0:D} - {1:D}';
11786
11819
  /**
11787
11820
  * Sets the short-date format for the selected date in the Scheduler toolbar.
11788
11821
  * Defaults to `'{0:d} - {1:d}'`, where `0` is the start and `1` is the end date.
11789
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
11822
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
11790
11823
  * @default '{0:d} - {1:d}'
11791
11824
  */
11792
11825
  selectedShortDateFormat = '{0:d} - {1:d}';
@@ -13644,8 +13677,7 @@ class BaseViewItem {
13644
13677
  get eventTitle() {
13645
13678
  const startTime = toLocalDate(this.item.startTime);
13646
13679
  const endTime = toLocalDate(this.item.endTime);
13647
- const time = formatEventTime(startTime, endTime, this.item.isAllDay, this.intl.localeId);
13648
- return `${time}, ${this.item.event.title}`;
13680
+ return getEventTitle(startTime, endTime, this.item.isAllDay, this.item.event.title, this.intl.localeId);
13649
13681
  }
13650
13682
  get deleteMessage() {
13651
13683
  return this.localization.get('deleteTitle');
@@ -15010,7 +15042,7 @@ class MonthViewComponent extends ConfigurationViewBase {
15010
15042
  }
15011
15043
  /**
15012
15044
  * Sets the number of events to render per day. If set to `'auto'`, all events display in the slot. If set to `0`, it normalizes to `1`
15013
- * ([see example](slug:month_views_scheduler#setting-the-number-of-events-per-day)).
15045
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/views/month#setting-the-number-of-events-per-day)).
15014
15046
  * > When set to `'auto'`, it automatically sets the `adaptiveSlotHeight` property to `true`.
15015
15047
  * @default 2
15016
15048
  */
@@ -15023,25 +15055,25 @@ class MonthViewComponent extends ConfigurationViewBase {
15023
15055
  _eventsPerDay;
15024
15056
  /**
15025
15057
  * Sets the height of the rendered events. If set to `'auto'`, the height is based on the event content
15026
- * ([see example](slug:month_views_scheduler#configuring-the-height-of-the-scheduler-events)).
15058
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/views/month#configuring-the-height-of-the-scheduler-events)).
15027
15059
  * > When set to `'auto'`, it automatically sets the `adaptiveSlotHeight` property to `true`.
15028
15060
  */
15029
15061
  eventHeight;
15030
15062
  /**
15031
15063
  * Enables adaptive slot height in the Scheduler. Increases the slot group (row) height when containing events up to the number of displayed events and reduces its height if there are fewer events for that slot group (row)
15032
- * ([see example](slug:month_views_scheduler#enabling-the-adaptive-slot-height-of-the-scheduler)).
15064
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/views/month#enabling-the-adaptive-slot-height-of-the-scheduler)).
15033
15065
  * @default false
15034
15066
  */
15035
15067
  adaptiveSlotHeight;
15036
15068
  /**
15037
15069
  * Sets the long-date format for the selected date in the Scheduler toolbar.
15038
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
15070
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
15039
15071
  * @default '{0:Y}'
15040
15072
  */
15041
15073
  selectedDateFormat = '{0:Y}';
15042
15074
  /**
15043
15075
  * Sets the short-date format for the selected date in the Scheduler toolbar.
15044
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
15076
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
15045
15077
  * @default '{0:y}'
15046
15078
  */
15047
15079
  selectedShortDateFormat = '{0:y}';
@@ -15193,13 +15225,13 @@ class MultiWeekViewComponent extends ConfigurationViewBase {
15193
15225
  }
15194
15226
  /**
15195
15227
  * Sets the height of the rendered events. If set to `'auto'`, the height is based on the event content
15196
- * ([see example](slug:multiweek_views_scheduler#configuring-the-height-of-the-scheduler-events)).
15228
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/views/multi-week#configuring-the-height-of-the-scheduler-events)).
15197
15229
  * > When set to `'auto'`, it automatically sets the `adaptiveSlotHeight` property to `true`.
15198
15230
  */
15199
15231
  eventHeight;
15200
15232
  /**
15201
15233
  * Sets the number of events to render per day. If set to `'auto'`, all events display in the slot. If set to `0`, it normalizes to `1`
15202
- * ([see example](slug:multiweek_views_scheduler#setting-the-number-of-events-per-day)).
15234
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/views/multi-week#setting-the-number-of-events-per-day)).
15203
15235
  * > When set to `'auto'`, it automatically sets the `adaptiveSlotHeight` property to `true`.
15204
15236
  * @default 2
15205
15237
  */
@@ -15212,7 +15244,7 @@ class MultiWeekViewComponent extends ConfigurationViewBase {
15212
15244
  _eventsPerDay;
15213
15245
  /**
15214
15246
  * Enables adaptive slot height. Increases the slot group (row) height when containing events up to the number of displayed events and reduces its height if there are fewer events for that slot group (row)
15215
- * ([see example](slug:multiweek_views_scheduler#enabling-the-adaptive-slot-height-of-the-scheduler)).
15247
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/views/multi-week#enabling-the-adaptive-slot-height-of-the-scheduler)).
15216
15248
  * @default false
15217
15249
  */
15218
15250
  adaptiveSlotHeight;
@@ -15223,13 +15255,13 @@ class MultiWeekViewComponent extends ConfigurationViewBase {
15223
15255
  numberOfWeeks = WEEKS_COUNT;
15224
15256
  /**
15225
15257
  * Sets the long-date format for the selected date in the Scheduler toolbar.
15226
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
15258
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
15227
15259
  * @default '{0:D} - {1:D}'
15228
15260
  */
15229
15261
  selectedDateFormat = '{0:D} - {1:D}';
15230
15262
  /**
15231
15263
  * Sets the short-date format for the selected date in the Scheduler toolbar.
15232
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
15264
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
15233
15265
  * @default '{0:d} - {1:d}'
15234
15266
  */
15235
15267
  selectedShortDateFormat = '{0:d} - {1:d}';
@@ -15652,7 +15684,7 @@ class ViewFooterComponent {
15652
15684
  this.itemClick.emit(item);
15653
15685
  }
15654
15686
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ViewFooterComponent, deps: [{ token: ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
15655
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ViewFooterComponent, isStandalone: true, selector: "[viewFooter]", inputs: { items: "items" }, outputs: { itemClick: "itemClick" }, host: { properties: { "class.k-scheduler-footer": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "class.k-toolbar-solid": "this.hostClasses", "class.k-toolbar-md": "this.hostClasses", "attr.role": "this.toolbarRole", "style.justify-content": "this.inlineJustifyContentStyle" } }, ngImport: i0, template: `
15687
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ViewFooterComponent, isStandalone: true, selector: "[viewFooter]", inputs: { items: "items" }, outputs: { itemClick: "itemClick" }, host: { properties: { "class.k-scheduler-footer": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "attr.role": "this.toolbarRole", "style.justify-content": "this.inlineJustifyContentStyle" } }, ngImport: i0, template: `
15656
15688
  <span class="k-scheduler-navigation">
15657
15689
  @for (item of items; track item) {
15658
15690
  <button
@@ -15701,12 +15733,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
15701
15733
  }, {
15702
15734
  type: HostBinding,
15703
15735
  args: ['class.k-toolbar']
15704
- }, {
15705
- type: HostBinding,
15706
- args: ['class.k-toolbar-solid']
15707
- }, {
15708
- type: HostBinding,
15709
- args: ['class.k-toolbar-md']
15710
15736
  }], toolbarRole: [{
15711
15737
  type: HostBinding,
15712
15738
  args: ['attr.role']
@@ -18187,7 +18213,7 @@ class DayViewComponent extends MultiDayViewBase {
18187
18213
  }
18188
18214
  /**
18189
18215
  * Sets the long-date format for the selected date in the Scheduler toolbar.
18190
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
18216
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
18191
18217
  * @default '{0:D}'
18192
18218
  */
18193
18219
  set selectedDateFormat(value) {
@@ -18198,7 +18224,7 @@ class DayViewComponent extends MultiDayViewBase {
18198
18224
  }
18199
18225
  /**
18200
18226
  * Sets the short-date format for the selected date in the Scheduler toolbar.
18201
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
18227
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
18202
18228
  * @default '{0:d}'
18203
18229
  */
18204
18230
  set selectedShortDateFormat(value) {
@@ -18350,7 +18376,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
18350
18376
  class MultiDayViewComponent extends DayViewComponent {
18351
18377
  /**
18352
18378
  * Sets the long-date format for the selected date in the Scheduler toolbar.
18353
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
18379
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
18354
18380
  * The default value is `'{0:D} - {1:D}'` for multiple days and `'{0:D}'` for a single day.
18355
18381
  * @default '{0:D} - {1:D}'
18356
18382
  */
@@ -18362,7 +18388,7 @@ class MultiDayViewComponent extends DayViewComponent {
18362
18388
  }
18363
18389
  /**
18364
18390
  * Sets the short-date format for the selected date in the Scheduler toolbar.
18365
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
18391
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
18366
18392
  * The default value is `'{0:d} - {1:d}'` for multiple days and `'{0:d}'` for a single day.
18367
18393
  * @default '{0:d} - {1:d}'
18368
18394
  */
@@ -18539,14 +18565,14 @@ class WeekViewComponent extends MultiDayViewBase {
18539
18565
  /**
18540
18566
  * Sets the long-date format for the selected date in the Scheduler toolbar.
18541
18567
  * Defaults to `'{0:D} - {1:D}'`, where `0` is the start and `1` is the end date.
18542
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
18568
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
18543
18569
  * @default '{0:D} - {1:D}'
18544
18570
  */
18545
18571
  selectedDateFormat = '{0:D} - {1:D}';
18546
18572
  /**
18547
18573
  * Sets the short-date format for the selected date in the Scheduler toolbar.
18548
18574
  * Defaults to `'{0:d} - {1:d}'`, where `0` is the start and `1` is the end date.
18549
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
18575
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
18550
18576
  * @default '{0:d} - {1:d}'
18551
18577
  */
18552
18578
  selectedShortDateFormat = '{0:d} - {1:d}';
@@ -19560,7 +19586,7 @@ class TimelineMonthViewComponent extends TimelineBase {
19560
19586
  }
19561
19587
  /**
19562
19588
  * Sets the long-date format for the selected date in the Scheduler toolbar.
19563
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
19589
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
19564
19590
  * If `numberOfMonths` is greater than 1, the default format displays a range: `'{0:Y} - {1:Y}'`, where `0` is the start and `1` is the end date.
19565
19591
  * @default '{0:Y}'
19566
19592
  */
@@ -19576,7 +19602,7 @@ class TimelineMonthViewComponent extends TimelineBase {
19576
19602
  _selectedDateFormat;
19577
19603
  /**
19578
19604
  * Sets the short-date format for the selected date in the Scheduler toolbar.
19579
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
19605
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
19580
19606
  * If `numberOfMonths` is greater than 1, the default format displays a range: `'{0:y} - {1:y}'`, where `0` is the start and `1` is the end date.
19581
19607
  * @default '{0:y}'
19582
19608
  */
@@ -19754,7 +19780,7 @@ class TimelineViewComponent extends TimelineBase {
19754
19780
  }
19755
19781
  /**
19756
19782
  * Sets the long-date format for the selected date in the Scheduler toolbar.
19757
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
19783
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
19758
19784
  * If `numberOfDays` is greater than 1, the default format displays a range: `'{0:D} - {1:D}'`, where `0` is the start and `1` is the end date.
19759
19785
  * @default '{0:D}'
19760
19786
  */
@@ -19770,7 +19796,7 @@ class TimelineViewComponent extends TimelineBase {
19770
19796
  _selectedDateFormat;
19771
19797
  /**
19772
19798
  * Sets the short-date format for the selected date in the Scheduler toolbar.
19773
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
19799
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
19774
19800
  * If `numberOfDays` is greater than 1, the default format displays a range: `'{0:d} - {1:d}'`, where `0` is the start and `1` is the end date.
19775
19801
  * @default '{0:d}'
19776
19802
  */
@@ -19928,14 +19954,14 @@ class TimelineWeekViewComponent extends TimelineBase {
19928
19954
  /**
19929
19955
  * Sets the long-date format for the selected date in the Scheduler toolbar.
19930
19956
  * Defaults to `'{0:D} - {1:D}'`, where `0` is the start and `1` is the end date.
19931
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
19957
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
19932
19958
  * @default '{0:D} - {1:D}'
19933
19959
  */
19934
19960
  selectedDateFormat = '{0:D} - {1:D}';
19935
19961
  /**
19936
19962
  * Sets the short-date format for the selected date in the Scheduler toolbar.
19937
19963
  * Defaults to `'{0:d} - {1:d}'`, where `0` is the start and `1` is the end date.
19938
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
19964
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
19939
19965
  * @default '{0:d} - {1:d}'
19940
19966
  */
19941
19967
  selectedShortDateFormat = '{0:d} - {1:d}';
@@ -20204,8 +20230,7 @@ class YearViewInternalComponent extends BaseView {
20204
20230
  eventTitle(event) {
20205
20231
  const startTime = toLocalDate(event.startTime);
20206
20232
  const endTime = toLocalDate(event.endTime);
20207
- const time = formatEventTime(startTime, endTime, event.isAllDay, this.intl.localeId);
20208
- return `${time}, ${event.event.title}`;
20233
+ return getEventTitle(startTime, endTime, event.isAllDay, event.event.title, this.intl.localeId);
20209
20234
  }
20210
20235
  onClick(event) {
20211
20236
  if (event.target.tagName === 'SPAN') {
@@ -20578,13 +20603,13 @@ class YearViewComponent extends ConfigurationViewBase {
20578
20603
  intl;
20579
20604
  /**
20580
20605
  * Sets the long-date format for the selected year in the Scheduler toolbar.
20581
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
20606
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
20582
20607
  * @default '{0:yyy}'
20583
20608
  */
20584
20609
  selectedDateFormat = '{0:yyy}';
20585
20610
  /**
20586
20611
  * Sets the short-date format for the selected year in the Scheduler toolbar.
20587
- * For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
20612
+ * For more information, see [Parsing and Formatting Dates and Numbers](https://www.telerik.com/kendo-angular-ui/components/globalization/internationalization/parsing-and-formatting#date-formatting).
20588
20613
  * @default '{0:yyy}'
20589
20614
  */
20590
20615
  selectedShortDateFormat = '{0:yyy}';
@@ -21124,7 +21149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
21124
21149
  }] } });
21125
21150
 
21126
21151
  /**
21127
- * A directive that encapsulates editing operations for the Scheduler using [Angular Reactive Forms](link:site.data.urls.angular['reactiveforms']) ([see example](slug:editing_scheduler)).
21152
+ * A directive that encapsulates editing operations for the Scheduler using [Angular Reactive Forms](link:site.data.urls.angular['reactiveforms']) ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/editing)).
21128
21153
  *
21129
21154
  * Handles event editing, saving, and form validation logic for the Scheduler component.
21130
21155
  * Provides integration with custom form group creation and supports recurring event editing scenarios.
@@ -21678,16 +21703,16 @@ const DATE_FORMATS = [
21678
21703
  "yyyyMMdd"
21679
21704
  ];
21680
21705
  /**
21681
- * Represents a base implementation of the [edit service](slug:api_scheduler_editservice) that persists data to CRUD services such as OData.
21706
+ * Represents a base implementation of the [edit service](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/editservice) that persists data to CRUD services such as OData.
21682
21707
  *
21683
- * To use custom models, pass a [field map](slug:api_scheduler_schedulermodelfields) as a constructor parameter in the `BaseEditService` implementation. Subclasses must implement the `read` operation (that is not called directly by the base class) and the `save` method to persist created, updated, and deleted entities.
21708
+ * To use custom models, pass a [field map](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulermodelfields) as a constructor parameter in the `BaseEditService` implementation. Subclasses must implement the `read` operation (that is not called directly by the base class) and the `save` method to persist created, updated, and deleted entities.
21684
21709
  *
21685
- * The [`events`](#toc-events) observable publishes the current data when you subscribe, for example, by using an [async pipe](https://angular.io/api/common/AsyncPipe) ([more information](slug:editing_scheduler#connecting-custom-data-services)).
21710
+ * The [`events`](#events) observable publishes the current data when you subscribe, for example, by using an [async pipe](https://angular.io/api/common/AsyncPipe) ([more information](https://www.telerik.com/kendo-angular-ui/components/scheduler/editing#connecting-custom-data-services)).
21686
21711
  *
21687
21712
  * Implementations that utilize dedicated services, such as Google Calendar and Microsoft Exchange, typically implement the
21688
- * [`EditService`](slug:api_scheduler_editservice) of the Scheduler directly.
21713
+ * [`EditService`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/editservice) of the Scheduler directly.
21689
21714
  *
21690
- * See example in [this article](slug:custom_reactive_editing_scheduler).
21715
+ * See example in [this article](https://www.telerik.com/kendo-angular-ui/components/scheduler/editing/custom-reactive-editing).
21691
21716
  */
21692
21717
  class BaseEditService {
21693
21718
  /**
@@ -21721,7 +21746,7 @@ class BaseEditService {
21721
21746
  /**
21722
21747
  * Initializes the base edit service.
21723
21748
  *
21724
- * @param fields - A field map that will be used for reading and modifying model objects. Defaults to the [`SchedulerEvent`]({% slug api_scheduler_schedulerevent %}) fields.
21749
+ * @param fields - A field map that will be used for reading and modifying model objects. Defaults to the [`SchedulerEvent`](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/schedulerevent) fields.
21725
21750
  */
21726
21751
  constructor(fields) {
21727
21752
  this.events = this.source.asObservable();
@@ -21836,7 +21861,7 @@ class BaseEditService {
21836
21861
  }
21837
21862
  /**
21838
21863
  * Clones an existing model object.
21839
- * To copy the top-level model fields, the base creates an empty object and calls [`assignValues`](#toc-assignvalues).
21864
+ * To copy the top-level model fields, the base creates an empty object and calls [`assignValues`](#assignvalues).
21840
21865
  * To create models of the correct type, override `cloneEvent`.
21841
21866
  *
21842
21867
  * @param event - The model instance to copy.