@progress/kendo-angular-scheduler 4.3.5 → 4.3.6

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 (130) hide show
  1. package/README.md +14 -12
  2. package/bundles/kendo-angular-scheduler.umd.js +1 -1
  3. package/esm2015/data-binding.directive.js +3 -3
  4. package/esm2015/editing/date-time-picker.component.js +3 -3
  5. package/esm2015/editing/dialogs.service.js +3 -3
  6. package/esm2015/editing/edit-dialog-template.directive.js +3 -3
  7. package/esm2015/editing/edit-dialog.component.js +3 -3
  8. package/esm2015/editing/edit.service.js +3 -3
  9. package/esm2015/editing/local-data-changes.service.js +3 -3
  10. package/esm2015/editing/recurrence/end-rule-radio-button.directive.js +3 -3
  11. package/esm2015/editing/recurrence/localization/custom-messages.component.js +3 -3
  12. package/esm2015/editing/recurrence/localization/localized-messages.directive.js +3 -3
  13. package/esm2015/editing/recurrence/localization/messages.js +3 -3
  14. package/esm2015/editing/recurrence/localization/recurrence-localization.service.js +3 -3
  15. package/esm2015/editing/recurrence/recurrence-editor.component.js +3 -3
  16. package/esm2015/editing/recurrence/recurrence-end-rule-editor.component.js +3 -3
  17. package/esm2015/editing/recurrence/recurrence-frequency-editor.component.js +3 -3
  18. package/esm2015/editing/recurrence/recurrence-interval-editor.component.js +3 -3
  19. package/esm2015/editing/recurrence/recurrence-monthly-yearly-editor.component.js +3 -3
  20. package/esm2015/editing/recurrence/recurrence-weekday-rule-editor.component.js +3 -3
  21. package/esm2015/editing/recurrence/recurrence.service.js +3 -3
  22. package/esm2015/editing/recurrence/repeat-on-radio-button.directive.js +3 -3
  23. package/esm2015/editing/resource-editor-base.js +3 -3
  24. package/esm2015/editing/resource-multiple-editor.component.js +3 -3
  25. package/esm2015/editing/resource-single-editor.component.js +3 -3
  26. package/esm2015/editing/timezone-editor.component.js +3 -3
  27. package/esm2015/editing-directives/editing-directive-base.js +6 -5
  28. package/esm2015/editing-directives/reactive-editing.directive.js +3 -3
  29. package/esm2015/loading.component.js +3 -3
  30. package/esm2015/localization/custom-messages.component.js +3 -3
  31. package/esm2015/localization/localized-messages.directive.js +3 -3
  32. package/esm2015/localization/messages.js +3 -3
  33. package/esm2015/localization/scheduler-localization.service.js +3 -3
  34. package/esm2015/main.js +1 -0
  35. package/esm2015/navigation/focus.service.js +35 -31
  36. package/esm2015/navigation/focusable.directive.js +17 -4
  37. package/esm2015/navigation/shortcuts.directive.js +36 -5
  38. package/esm2015/package-metadata.js +1 -1
  39. package/esm2015/pdf/pdf-command.directive.js +3 -3
  40. package/esm2015/pdf/pdf.component.js +3 -3
  41. package/esm2015/pdf/pdf.module.js +4 -4
  42. package/esm2015/pdf/pdf.service.js +3 -3
  43. package/esm2015/scheduler.component.js +20 -13
  44. package/esm2015/scheduler.module.js +4 -4
  45. package/esm2015/shared.module.js +13 -7
  46. package/esm2015/toolbar/navigation.component.js +40 -19
  47. package/esm2015/toolbar/toolbar-template.directive.js +3 -3
  48. package/esm2015/toolbar/toolbar.component.js +3 -3
  49. package/esm2015/toolbar/toolbar.module.js +11 -7
  50. package/esm2015/toolbar/toolbar.service.js +3 -3
  51. package/esm2015/toolbar/view-selector.component.js +16 -11
  52. package/esm2015/types/focusable-container.js +5 -0
  53. package/esm2015/views/agenda/agenda-header-item.component.js +3 -3
  54. package/esm2015/views/agenda/agenda-header.component.js +7 -7
  55. package/esm2015/views/agenda/agenda-task-item.component.js +3 -3
  56. package/esm2015/views/agenda/agenda-view-internal.component.js +3 -3
  57. package/esm2015/views/agenda/agenda-view-list.component.js +4 -4
  58. package/esm2015/views/agenda/agenda-view.component.js +3 -3
  59. package/esm2015/views/agenda/agenda-view.module.js +4 -4
  60. package/esm2015/views/common/base-view.js +12 -4
  61. package/esm2015/views/common/configuration-view-base.js +3 -3
  62. package/esm2015/views/common/dom-events.service.js +3 -3
  63. package/esm2015/views/common/hint-container.component.js +3 -3
  64. package/esm2015/views/common/repeat.pipe.js +3 -3
  65. package/esm2015/views/common/resize-hint.component.js +3 -3
  66. package/esm2015/views/common/resource-iterator.pipe.js +3 -3
  67. package/esm2015/views/common/slot-selectable.directive.js +3 -3
  68. package/esm2015/views/common/view-footer.component.js +31 -10
  69. package/esm2015/views/common/views-shared.module.js +4 -4
  70. package/esm2015/views/common/work-hours-footer.directive.js +3 -3
  71. package/esm2015/views/day-time/day-time-slot.service.js +17 -11
  72. package/esm2015/views/day-time/day-time-view-base.js +3 -3
  73. package/esm2015/views/day-time/day-time-view-item.component.js +3 -3
  74. package/esm2015/views/day-time/day-time-view.component.js +6 -9
  75. package/esm2015/views/day-time/day-time.module.js +4 -4
  76. package/esm2015/views/day-time/event-slot.directive.js +6 -6
  77. package/esm2015/views/month/month-slot.directive.js +3 -3
  78. package/esm2015/views/month/month-view-item.component.js +3 -3
  79. package/esm2015/views/month/month-view-renderer.component.js +27 -20
  80. package/esm2015/views/month/month-view.component.js +3 -3
  81. package/esm2015/views/month/month-view.module.js +4 -4
  82. package/esm2015/views/multi-day/day-view.component.js +3 -3
  83. package/esm2015/views/multi-day/multi-day-view-base.js +3 -3
  84. package/esm2015/views/multi-day/multi-day-view-renderer.component.js +27 -18
  85. package/esm2015/views/multi-day/multi-day-view.component.js +3 -3
  86. package/esm2015/views/multi-day/multi-day-view.module.js +4 -4
  87. package/esm2015/views/multi-day/week-view.component.js +3 -3
  88. package/esm2015/views/multi-day/work-week-view.component.js +3 -3
  89. package/esm2015/views/scheduler-view.directive.js +3 -3
  90. package/esm2015/views/templates/agenda-date-template.directive.js +3 -3
  91. package/esm2015/views/templates/agenda-time-template.directive.js +3 -3
  92. package/esm2015/views/templates/all-day-event-template.directive.js +3 -3
  93. package/esm2015/views/templates/all-day-slot-template.directive.js +3 -3
  94. package/esm2015/views/templates/date-header-template.directive.js +3 -3
  95. package/esm2015/views/templates/event-template.directive.js +3 -3
  96. package/esm2015/views/templates/group-header-template.directive.js +3 -3
  97. package/esm2015/views/templates/major-time-header-template.directive.js +3 -3
  98. package/esm2015/views/templates/minor-time-header-template.directive.js +3 -3
  99. package/esm2015/views/templates/month-day-slot-template.directive.js +3 -3
  100. package/esm2015/views/templates/time-slot-template.directive.js +3 -3
  101. package/esm2015/views/timeline/timeline-base.js +3 -3
  102. package/esm2015/views/timeline/timeline-month-view.component.js +3 -3
  103. package/esm2015/views/timeline/timeline-multi-day-view.component.js +31 -21
  104. package/esm2015/views/timeline/timeline-view.component.js +3 -3
  105. package/esm2015/views/timeline/timeline-view.module.js +4 -4
  106. package/esm2015/views/timeline/timeline-week-view.component.js +3 -3
  107. package/esm2015/views/timeline/utils.js +19 -0
  108. package/esm2015/views/view-context.service.js +3 -3
  109. package/esm2015/views/view-items/base-slot.directive.js +3 -3
  110. package/esm2015/views/view-items/base-view-item.js +3 -3
  111. package/esm2015/views/view-state.service.js +7 -3
  112. package/fesm2015/kendo-angular-scheduler.js +691 -525
  113. package/main.d.ts +1 -0
  114. package/navigation/focus.service.d.ts +6 -6
  115. package/navigation/focusable-element.interface.d.ts +5 -0
  116. package/navigation/focusable.directive.d.ts +4 -1
  117. package/package.json +2 -2
  118. package/scheduler.component.d.ts +1 -1
  119. package/shared.module.d.ts +2 -1
  120. package/toolbar/toolbar.module.d.ts +2 -1
  121. package/types/actions.d.ts +15 -8
  122. package/types/focusable-container.d.ts +8 -0
  123. package/views/common/base-view.d.ts +5 -0
  124. package/views/common/view-footer.component.d.ts +4 -0
  125. package/views/day-time/day-time-view.component.d.ts +1 -3
  126. package/views/month/month-view-renderer.component.d.ts +1 -3
  127. package/views/multi-day/multi-day-view-renderer.component.d.ts +1 -2
  128. package/views/timeline/timeline-multi-day-view.component.d.ts +1 -2
  129. package/views/timeline/utils.d.ts +11 -0
  130. package/views/view-state.service.d.ts +5 -1
@@ -23,9 +23,9 @@ export class TimelineBase extends DayTimeViewBase {
23
23
  return this.optionValue(COLUMN_WIDTH);
24
24
  }
25
25
  }
26
- TimelineBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineBase, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Directive });
27
- TimelineBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TimelineBase, inputs: { columnWidth: "columnWidth" }, usesInheritance: true, ngImport: i0 });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineBase, decorators: [{
26
+ TimelineBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineBase, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Directive });
27
+ TimelineBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TimelineBase, inputs: { columnWidth: "columnWidth" }, usesInheritance: true, ngImport: i0 });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineBase, decorators: [{
29
29
  type: Directive
30
30
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }]; }, propDecorators: { columnWidth: [{
31
31
  type: Input
@@ -63,8 +63,8 @@ export class TimelineMonthViewComponent extends TimelineBase {
63
63
  return this.localization.get('timelineMonthViewTitle');
64
64
  }
65
65
  }
66
- TimelineMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMonthViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
67
- TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TimelineMonthViewComponent, selector: "kendo-scheduler-timeline-month-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, providers: [{
66
+ TimelineMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
67
+ TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineMonthViewComponent, selector: "kendo-scheduler-timeline-month-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, providers: [{
68
68
  provide: SchedulerView,
69
69
  useExisting: forwardRef(() => TimelineMonthViewComponent)
70
70
  }], usesInheritance: true, ngImport: i0, template: `
@@ -102,7 +102,7 @@ TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
102
102
  <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
103
103
  </ng-template>
104
104
  `, isInline: true, components: [{ type: i4.TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: ["name", "columnWidth", "viewName"] }, { type: i5.ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }], directives: [{ type: i6.WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMonthViewComponent, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewComponent, decorators: [{
106
106
  type: Component,
107
107
  args: [{
108
108
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -14,22 +14,22 @@ import * as i3 from "../view-state.service";
14
14
  import * as i4 from "@progress/kendo-angular-intl";
15
15
  import * as i5 from "../day-time/day-time-slot.service";
16
16
  import * as i6 from "../../pdf/pdf.service";
17
- import * as i7 from "../../navigation";
18
- import * as i8 from "@progress/kendo-angular-common";
19
- import * as i9 from "../day-time/day-time-view-item.component";
20
- import * as i10 from "../common/hint-container.component";
21
- import * as i11 from "../common/resize-hint.component";
22
- import * as i12 from "@angular/common";
23
- import * as i13 from "../day-time/event-slot.directive";
24
- import * as i14 from "../../navigation/focusable.directive";
25
- import * as i15 from "../common/resource-iterator.pipe";
26
- import * as i16 from "../common/repeat.pipe";
17
+ import * as i7 from "@progress/kendo-angular-common";
18
+ import * as i8 from "../day-time/day-time-view-item.component";
19
+ import * as i9 from "../common/hint-container.component";
20
+ import * as i10 from "../common/resize-hint.component";
21
+ import * as i11 from "@angular/common";
22
+ import * as i12 from "../day-time/event-slot.directive";
23
+ import * as i13 from "../../navigation/focusable.directive";
24
+ import * as i14 from "../common/resource-iterator.pipe";
25
+ import * as i15 from "../common/repeat.pipe";
26
+ import * as i16 from "./utils";
27
27
  /**
28
28
  * @hidden
29
29
  */
30
30
  export class TimelineMultiDayViewComponent extends DayTimeViewComponent {
31
- constructor(localization, changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, focusService, scrollBarWidthService) {
32
- super(changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, focusService, scrollBarWidthService);
31
+ constructor(localization, changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, scrollBarWidthService) {
32
+ super(changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, scrollBarWidthService);
33
33
  this.name = 'timeline';
34
34
  this.columnWidth = 100;
35
35
  this.viewName = 'timeline';
@@ -117,8 +117,8 @@ export class TimelineMultiDayViewComponent extends DayTimeViewComponent {
117
117
  return this.headerWrap.nativeElement.querySelector('tr:last-child').offsetTop;
118
118
  }
119
119
  }
120
- TimelineMultiDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMultiDayViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }, { token: i4.IntlService }, { token: i5.DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i6.PDFService }, { token: i7.FocusService }, { token: i8.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
121
- TimelineMultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: { name: "name", columnWidth: "columnWidth", viewName: "viewName" }, providers: [
120
+ TimelineMultiDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMultiDayViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }, { token: i4.IntlService }, { token: i5.DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i6.PDFService }, { token: i7.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
121
+ TimelineMultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: { name: "name", columnWidth: "columnWidth", viewName: "viewName" }, providers: [
122
122
  DayTimeSlotService
123
123
  ], viewQueries: [{ propertyName: "verticalResourceRows", predicate: ["verticalResourceRows"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
124
124
  <div class="k-scheduler-layout k-scheduler-flex-layout" [ngClass]="classNames">
@@ -199,7 +199,12 @@ TimelineMultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
199
199
  </ng-container>
200
200
  </table>
201
201
  </div>
202
- <div class="k-scheduler-content" #content>
202
+ <div
203
+ class="k-scheduler-content"
204
+ #content
205
+ role="group"
206
+ tabindex="0"
207
+ [attr.aria-owns]="matchOwned(items | async)">
203
208
  <ng-container *ngIf="showCurrentTime">
204
209
  <div *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;"
205
210
  class="k-current-time" #currentTimeMarker>
@@ -239,7 +244,7 @@ TimelineMultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
239
244
  </ng-container>
240
245
  </tr>
241
246
  </table>
242
- <ng-container *ngFor="let item of items | async; trackBy: itemIndex;">
247
+ <ng-container *ngFor="let item of items | async | sort; trackBy: itemIndex;">
243
248
  <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
244
249
  [ngClass]="getEventClasses(item, itemResource.resources)"
245
250
  [ngStyle]="getEventStyles(item, itemResource)"
@@ -279,8 +284,8 @@ TimelineMultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
279
284
  </div>
280
285
  </div>
281
286
  </div>
282
- `, isInline: true, components: [{ type: i9.DayTimeViewItemComponent, selector: "[dayTimeViewItem]", inputs: ["vertical", "isAllDay"] }, { type: i10.HintContainerComponent, selector: "kendo-hint-container" }, { type: i11.ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }], directives: [{ type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i12.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i13.TimeSlotDirective, selector: "[timeSlot]", inputs: ["invariantStart", "invariantEnd", "workDayStart", "workDayEnd", "workWeekStart", "workWeekEnd", "date"], exportAs: ["timeSlot"] }, { type: i14.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex"] }], pipes: { "resourceIterator": i15.ResourceIteratorPipe, "repeat": i16.RepeatPipe, "kendoDate": i4.DatePipe, "async": i12.AsyncPipe } });
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMultiDayViewComponent, decorators: [{
287
+ `, isInline: true, components: [{ type: i8.DayTimeViewItemComponent, selector: "[dayTimeViewItem]", inputs: ["vertical", "isAllDay"] }, { type: i9.HintContainerComponent, selector: "kendo-hint-container" }, { type: i10.ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }], directives: [{ type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i11.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.TimeSlotDirective, selector: "[timeSlot]", inputs: ["invariantStart", "invariantEnd", "workDayStart", "workDayEnd", "workWeekStart", "workWeekEnd", "date"], exportAs: ["timeSlot"] }, { type: i13.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }], pipes: { "resourceIterator": i14.ResourceIteratorPipe, "repeat": i15.RepeatPipe, "kendoDate": i4.DatePipe, "async": i11.AsyncPipe, "sort": i16.SortPipe } });
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMultiDayViewComponent, decorators: [{
284
289
  type: Component,
285
290
  args: [{
286
291
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -367,7 +372,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
367
372
  </ng-container>
368
373
  </table>
369
374
  </div>
370
- <div class="k-scheduler-content" #content>
375
+ <div
376
+ class="k-scheduler-content"
377
+ #content
378
+ role="group"
379
+ tabindex="0"
380
+ [attr.aria-owns]="matchOwned(items | async)">
371
381
  <ng-container *ngIf="showCurrentTime">
372
382
  <div *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;"
373
383
  class="k-current-time" #currentTimeMarker>
@@ -407,7 +417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
407
417
  </ng-container>
408
418
  </tr>
409
419
  </table>
410
- <ng-container *ngFor="let item of items | async; trackBy: itemIndex;">
420
+ <ng-container *ngFor="let item of items | async | sort; trackBy: itemIndex;">
411
421
  <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
412
422
  [ngClass]="getEventClasses(item, itemResource.resources)"
413
423
  [ngStyle]="getEventStyles(item, itemResource)"
@@ -449,7 +459,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
449
459
  </div>
450
460
  `
451
461
  }]
452
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }, { type: i4.IntlService }, { type: i5.DayTimeSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i6.PDFService }, { type: i7.FocusService }, { type: i8.ScrollbarWidthService }]; }, propDecorators: { name: [{
462
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }, { type: i4.IntlService }, { type: i5.DayTimeSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i6.PDFService }, { type: i7.ScrollbarWidthService }]; }, propDecorators: { name: [{
453
463
  type: Input
454
464
  }], columnWidth: [{
455
465
  type: Input
@@ -44,8 +44,8 @@ export class TimelineViewComponent extends TimelineBase {
44
44
  return this.localization.get('timelineViewTitle');
45
45
  }
46
46
  }
47
- TimelineViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
48
- TimelineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TimelineViewComponent, selector: "kendo-scheduler-timeline-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, providers: [{
47
+ TimelineViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
48
+ TimelineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineViewComponent, selector: "kendo-scheduler-timeline-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, providers: [{
49
49
  provide: SchedulerView,
50
50
  useExisting: forwardRef(() => TimelineViewComponent)
51
51
  }], usesInheritance: true, ngImport: i0, template: `
@@ -79,7 +79,7 @@ TimelineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
79
79
  <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
80
80
  </ng-template>
81
81
  `, isInline: true, components: [{ type: i4.TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: ["name", "columnWidth", "viewName"] }, { type: i5.ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }], directives: [{ type: i6.WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineViewComponent, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewComponent, decorators: [{
83
83
  type: Component,
84
84
  args: [{
85
85
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -20,18 +20,18 @@ const PUBLIC_DIRECTIVES = [
20
20
  */
21
21
  export class TimelineViewModule {
22
22
  }
23
- TimelineViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- TimelineViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineViewModule, declarations: [TimelineViewComponent,
23
+ TimelineViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ TimelineViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewModule, declarations: [TimelineViewComponent,
25
25
  TimelineWeekViewComponent,
26
26
  TimelineMonthViewComponent, TimelineMultiDayViewComponent], imports: [DayTimeModule,
27
27
  ViewsSharedModule], exports: [TimelineViewComponent,
28
28
  TimelineWeekViewComponent,
29
29
  TimelineMonthViewComponent] });
30
- TimelineViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineViewModule, imports: [[
30
+ TimelineViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewModule, imports: [[
31
31
  DayTimeModule,
32
32
  ViewsSharedModule
33
33
  ]] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineViewModule, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewModule, decorators: [{
35
35
  type: NgModule,
36
36
  args: [{
37
37
  imports: [
@@ -54,8 +54,8 @@ export class TimelineWeekViewComponent extends TimelineBase {
54
54
  return this.localization.get('timelineWeekViewTitle');
55
55
  }
56
56
  }
57
- TimelineWeekViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineWeekViewComponent, deps: [{ token: i1.IntlService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i3.ViewContextService }, { token: i4.ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
58
- TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TimelineWeekViewComponent, selector: "kendo-scheduler-timeline-week-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, providers: [{
57
+ TimelineWeekViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineWeekViewComponent, deps: [{ token: i1.IntlService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i3.ViewContextService }, { token: i4.ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
58
+ TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineWeekViewComponent, selector: "kendo-scheduler-timeline-week-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, providers: [{
59
59
  provide: SchedulerView,
60
60
  useExisting: forwardRef(() => TimelineWeekViewComponent)
61
61
  }], usesInheritance: true, ngImport: i0, template: `
@@ -93,7 +93,7 @@ TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
93
93
  <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
94
94
  </ng-template>
95
95
  `, isInline: true, components: [{ type: i5.TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: ["name", "columnWidth", "viewName"] }, { type: i6.ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }], directives: [{ type: i7.WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineWeekViewComponent, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineWeekViewComponent, decorators: [{
97
97
  type: Component,
98
98
  args: [{
99
99
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -3,6 +3,8 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { intersects, toUTCDate, roundAllDayEnd } from '../utils';
6
+ import { Pipe } from '@angular/core';
7
+ import * as i0 from "@angular/core";
6
8
  /**
7
9
  * @hidden
8
10
  */
@@ -32,3 +34,20 @@ export const createTasks = (periodStart, periodEnd, items) => {
32
34
  }
33
35
  return tasks;
34
36
  };
37
+ /**
38
+ * @hidden
39
+ */
40
+ export class SortPipe {
41
+ transform(value, ..._args) {
42
+ return value.sort((item1, item2) => (item1.startTime.getTime() - item2.startTime.getTime()));
43
+ }
44
+ }
45
+ SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
46
+ SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortPipe, name: "sort" });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortPipe, decorators: [{
48
+ type: Pipe,
49
+ args: [{
50
+ // eslint-disable-next-line @angular-eslint/pipe-prefix
51
+ name: 'sort'
52
+ }]
53
+ }] });
@@ -77,8 +77,8 @@ export class ViewContextService {
77
77
  return result;
78
78
  }
79
79
  }
80
- ViewContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
81
- ViewContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewContextService });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewContextService, decorators: [{
80
+ ViewContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
81
+ ViewContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewContextService });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewContextService, decorators: [{
83
83
  type: Injectable
84
84
  }], ctorParameters: function () { return []; } });
@@ -84,9 +84,9 @@ export class BaseSlotDirective {
84
84
  this._rect = null;
85
85
  }
86
86
  }
87
- BaseSlotDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseSlotDirective, deps: [{ token: i0.ElementRef }, { token: i1.BaseSlotService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
88
- BaseSlotDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: BaseSlotDirective, inputs: { id: "id" }, host: { properties: { "attr.data-slot-index": "this.slotIndex" } }, ngImport: i0 });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseSlotDirective, decorators: [{
87
+ BaseSlotDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseSlotDirective, deps: [{ token: i0.ElementRef }, { token: i1.BaseSlotService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
88
+ BaseSlotDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseSlotDirective, inputs: { id: "id" }, host: { properties: { "attr.data-slot-index": "this.slotIndex" } }, ngImport: i0 });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseSlotDirective, decorators: [{
90
90
  type: Directive
91
91
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.BaseSlotService }, { type: i2.LocalizationService }]; }, propDecorators: { id: [{
92
92
  type: Input
@@ -131,9 +131,9 @@ export class BaseViewItem {
131
131
  this.subs.unsubscribe();
132
132
  }
133
133
  }
134
- BaseViewItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseViewItem, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
135
- BaseViewItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: BaseViewItem, inputs: { item: "item", resourceIndex: "resourceIndex", rangeIndex: "rangeIndex", index: "index", eventTemplate: "eventTemplate", editable: "editable", dragHint: "dragHint", resources: "resources" }, host: { properties: { "class.k-event": "this.className", "attr.data-task-index": "this.taskIndex", "style.touch-action": "this.touchAction", "attr.aria-label": "this.eventTitle" } }, usesOnChanges: true, ngImport: i0 });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseViewItem, decorators: [{
134
+ BaseViewItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseViewItem, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
135
+ BaseViewItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseViewItem, inputs: { item: "item", resourceIndex: "resourceIndex", rangeIndex: "rangeIndex", index: "index", eventTemplate: "eventTemplate", editable: "editable", dragHint: "dragHint", resources: "resources" }, host: { properties: { "class.k-event": "this.className", "attr.data-task-index": "this.taskIndex", "style.touch-action": "this.touchAction", "attr.aria-label": "this.eventTitle" } }, usesOnChanges: true, ngImport: i0 });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseViewItem, decorators: [{
137
137
  type: Directive
138
138
  }], ctorParameters: function () { return [{ type: i1.BaseSlotService }, { type: i2.LocalizationService }, { type: i3.FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined }]; }, propDecorators: { item: [{
139
139
  type: Input
@@ -16,6 +16,10 @@ const emptyDateRange = () => ({
16
16
  */
17
17
  export class ViewStateService {
18
18
  constructor() {
19
+ /**
20
+ * @hidden
21
+ */
22
+ this.toggleWorkHours = new Subject();
19
23
  this.dateRangeSource = new BehaviorSubject(emptyDateRange());
20
24
  this.nextDateSource = new Subject();
21
25
  this.navigateSource = new Subject();
@@ -90,8 +94,8 @@ export class ViewStateService {
90
94
  this.slotSelectionStartEndSource.next(selection);
91
95
  }
92
96
  }
93
- ViewStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
94
- ViewStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewStateService });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewStateService, decorators: [{
97
+ ViewStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
98
+ ViewStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewStateService });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewStateService, decorators: [{
96
100
  type: Injectable
97
101
  }], ctorParameters: function () { return []; } });