@progress/kendo-angular-scheduler 16.0.0-develop.2 → 16.0.0-develop.20

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 (206) hide show
  1. package/data-binding.directive.d.ts +1 -1
  2. package/editing/date-time-picker.component.d.ts +1 -1
  3. package/editing/edit-dialog-template.directive.d.ts +1 -1
  4. package/editing/edit-dialog.component.d.ts +1 -1
  5. package/editing/recurrence/end-rule-radio-button.directive.d.ts +1 -1
  6. package/editing/recurrence/localization/custom-messages.component.d.ts +1 -1
  7. package/editing/recurrence/localization/localized-messages.directive.d.ts +1 -1
  8. package/editing/recurrence/localization/messages.d.ts +1 -1
  9. package/editing/recurrence/recurrence-editor.component.d.ts +1 -1
  10. package/editing/recurrence/recurrence-end-rule-editor.component.d.ts +1 -1
  11. package/editing/recurrence/recurrence-frequency-editor.component.d.ts +1 -1
  12. package/editing/recurrence/recurrence-interval-editor.component.d.ts +1 -1
  13. package/editing/recurrence/recurrence-monthly-yearly-editor.component.d.ts +1 -1
  14. package/editing/recurrence/recurrence-weekday-rule-editor.component.d.ts +1 -1
  15. package/editing/recurrence/repeat-on-radio-button.directive.d.ts +1 -1
  16. package/editing/resource-editor-base.d.ts +1 -1
  17. package/editing/resource-multiple-editor.component.d.ts +1 -1
  18. package/editing/resource-single-editor.component.d.ts +1 -1
  19. package/editing/timezone-editor.component.d.ts +1 -1
  20. package/editing-directives/editing-directive-base.d.ts +1 -1
  21. package/editing-directives/reactive-editing.directive.d.ts +1 -1
  22. package/esm2020/data-binding.directive.mjs +3 -3
  23. package/esm2020/editing/date-time-picker.component.mjs +6 -6
  24. package/esm2020/editing/dialogs.service.mjs +3 -3
  25. package/esm2020/editing/edit-dialog-template.directive.mjs +3 -3
  26. package/esm2020/editing/edit-dialog.component.mjs +15 -15
  27. package/esm2020/editing/edit.service.mjs +3 -3
  28. package/esm2020/editing/local-data-changes.service.mjs +3 -3
  29. package/esm2020/editing/recurrence/end-rule-radio-button.directive.mjs +3 -3
  30. package/esm2020/editing/recurrence/localization/custom-messages.component.mjs +3 -3
  31. package/esm2020/editing/recurrence/localization/localized-messages.directive.mjs +3 -3
  32. package/esm2020/editing/recurrence/localization/messages.mjs +3 -3
  33. package/esm2020/editing/recurrence/localization/recurrence-localization.service.mjs +3 -3
  34. package/esm2020/editing/recurrence/recurrence-editor.component.mjs +11 -11
  35. package/esm2020/editing/recurrence/recurrence-end-rule-editor.component.mjs +6 -6
  36. package/esm2020/editing/recurrence/recurrence-frequency-editor.component.mjs +6 -6
  37. package/esm2020/editing/recurrence/recurrence-interval-editor.component.mjs +6 -6
  38. package/esm2020/editing/recurrence/recurrence-monthly-yearly-editor.component.mjs +9 -9
  39. package/esm2020/editing/recurrence/recurrence-weekday-rule-editor.component.mjs +6 -6
  40. package/esm2020/editing/recurrence/recurrence.service.mjs +3 -3
  41. package/esm2020/editing/recurrence/repeat-on-radio-button.directive.mjs +3 -3
  42. package/esm2020/editing/resource-editor-base.mjs +3 -3
  43. package/esm2020/editing/resource-multiple-editor.component.mjs +6 -6
  44. package/esm2020/editing/resource-single-editor.component.mjs +6 -6
  45. package/esm2020/editing/timezone-editor.component.mjs +6 -6
  46. package/esm2020/editing-directives/editing-directive-base.mjs +5 -4
  47. package/esm2020/editing-directives/reactive-editing.directive.mjs +7 -7
  48. package/esm2020/index.mjs +1 -0
  49. package/esm2020/loading.component.mjs +3 -3
  50. package/esm2020/localization/custom-messages.component.mjs +3 -3
  51. package/esm2020/localization/localized-messages.directive.mjs +3 -3
  52. package/esm2020/localization/messages.mjs +3 -3
  53. package/esm2020/localization/scheduler-localization.service.mjs +3 -3
  54. package/esm2020/navigation/focus.service.mjs +3 -3
  55. package/esm2020/navigation/focusable.directive.mjs +3 -3
  56. package/esm2020/navigation/shortcuts.directive.mjs +3 -3
  57. package/esm2020/package-metadata.mjs +2 -2
  58. package/esm2020/pdf/pdf-command.directive.mjs +6 -6
  59. package/esm2020/pdf/pdf.component.mjs +4 -4
  60. package/esm2020/pdf/pdf.module.mjs +4 -4
  61. package/esm2020/pdf/pdf.service.mjs +3 -3
  62. package/esm2020/scheduler.component.mjs +8 -18
  63. package/esm2020/scheduler.module.mjs +12 -15
  64. package/esm2020/shared.module.mjs +4 -4
  65. package/esm2020/toolbar/navigation.component.mjs +4 -4
  66. package/esm2020/toolbar/toolbar-template.directive.mjs +3 -3
  67. package/esm2020/toolbar/toolbar.component.mjs +8 -9
  68. package/esm2020/toolbar/toolbar.module.mjs +10 -12
  69. package/esm2020/toolbar/toolbar.service.mjs +3 -3
  70. package/esm2020/toolbar/view-selector.component.mjs +6 -6
  71. package/esm2020/views/agenda/agenda-header-item.component.mjs +16 -4
  72. package/esm2020/views/agenda/agenda-header.component.mjs +14 -17
  73. package/esm2020/views/agenda/agenda-task-item.component.mjs +10 -6
  74. package/esm2020/views/agenda/agenda-view-internal.component.mjs +10 -10
  75. package/esm2020/views/agenda/agenda-view-list.component.mjs +15 -13
  76. package/esm2020/views/agenda/agenda-view.component.mjs +4 -4
  77. package/esm2020/views/agenda/agenda-view.module.mjs +4 -4
  78. package/esm2020/views/common/base-view.mjs +3 -3
  79. package/esm2020/views/common/configuration-view-base.mjs +3 -3
  80. package/esm2020/views/common/dom-events.service.mjs +3 -3
  81. package/esm2020/views/common/hint-container.component.mjs +4 -4
  82. package/esm2020/views/common/repeat.pipe.mjs +3 -3
  83. package/esm2020/views/common/resize-hint.component.mjs +4 -4
  84. package/esm2020/views/common/resource-iterator.pipe.mjs +3 -3
  85. package/esm2020/views/common/slot-selectable.directive.mjs +3 -3
  86. package/esm2020/views/common/view-footer.component.mjs +7 -7
  87. package/esm2020/views/common/views-shared.module.mjs +4 -4
  88. package/esm2020/views/common/work-hours-footer.directive.mjs +3 -3
  89. package/esm2020/views/day-time/day-time-view-base.mjs +3 -3
  90. package/esm2020/views/day-time/day-time-view-item.component.mjs +6 -6
  91. package/esm2020/views/day-time/day-time-view.component.mjs +3 -3
  92. package/esm2020/views/day-time/day-time.module.mjs +4 -4
  93. package/esm2020/views/day-time/event-slot.directive.mjs +6 -6
  94. package/esm2020/views/month/month-slot.component.mjs +6 -6
  95. package/esm2020/views/month/month-view-item.component.mjs +6 -6
  96. package/esm2020/views/month/month-view-renderer.component.mjs +306 -256
  97. package/esm2020/views/month/month-view.component.mjs +4 -4
  98. package/esm2020/views/month/month-view.module.mjs +5 -7
  99. package/esm2020/views/month/multi-week-view.component.mjs +4 -4
  100. package/esm2020/views/multi-day/day-view.component.mjs +7 -9
  101. package/esm2020/views/multi-day/multi-day-view-base.mjs +3 -3
  102. package/esm2020/views/multi-day/multi-day-view-renderer.component.mjs +511 -467
  103. package/esm2020/views/multi-day/multi-day-view.component.mjs +7 -7
  104. package/esm2020/views/multi-day/multi-day-view.module.mjs +5 -7
  105. package/esm2020/views/multi-day/week-view.component.mjs +7 -7
  106. package/esm2020/views/multi-day/work-week-view.component.mjs +7 -7
  107. package/esm2020/views/scheduler-view.directive.mjs +3 -3
  108. package/esm2020/views/templates/agenda-date-template.directive.mjs +3 -3
  109. package/esm2020/views/templates/agenda-time-template.directive.mjs +3 -3
  110. package/esm2020/views/templates/all-day-event-template.directive.mjs +3 -3
  111. package/esm2020/views/templates/all-day-slot-template.directive.mjs +3 -3
  112. package/esm2020/views/templates/date-header-template.directive.mjs +3 -3
  113. package/esm2020/views/templates/event-template.directive.mjs +3 -3
  114. package/esm2020/views/templates/group-header-template.directive.mjs +3 -3
  115. package/esm2020/views/templates/major-time-header-template.directive.mjs +3 -3
  116. package/esm2020/views/templates/minor-time-header-template.directive.mjs +3 -3
  117. package/esm2020/views/templates/month-day-slot-template.directive.mjs +3 -3
  118. package/esm2020/views/templates/multi-week-day-slot-template.directive.mjs +3 -3
  119. package/esm2020/views/templates/time-slot-template.directive.mjs +3 -3
  120. package/esm2020/views/timeline/timeline-base.mjs +3 -3
  121. package/esm2020/views/timeline/timeline-month-view.component.mjs +7 -8
  122. package/esm2020/views/timeline/timeline-multi-day-view.component.mjs +381 -333
  123. package/esm2020/views/timeline/timeline-view.component.mjs +7 -8
  124. package/esm2020/views/timeline/timeline-view.module.mjs +5 -7
  125. package/esm2020/views/timeline/timeline-week-view.component.mjs +7 -8
  126. package/esm2020/views/timeline/utils.mjs +3 -3
  127. package/esm2020/views/view-context.service.mjs +3 -3
  128. package/esm2020/views/view-items/base-slot.directive.mjs +3 -3
  129. package/esm2020/views/view-items/base-view-item.mjs +3 -3
  130. package/esm2020/views/view-state.service.mjs +3 -3
  131. package/esm2020/views/year/year-view-internal.component.mjs +7 -7
  132. package/esm2020/views/year/year-view.component.mjs +4 -4
  133. package/esm2020/views/year/year-view.module.mjs +7 -9
  134. package/events/edit-event-base.d.ts +4 -0
  135. package/fesm2015/progress-kendo-angular-scheduler.mjs +2565 -2435
  136. package/fesm2020/progress-kendo-angular-scheduler.mjs +2452 -2322
  137. package/index.d.ts +1 -0
  138. package/loading.component.d.ts +1 -1
  139. package/localization/custom-messages.component.d.ts +1 -1
  140. package/localization/localized-messages.directive.d.ts +1 -1
  141. package/localization/messages.d.ts +1 -1
  142. package/navigation/focusable.directive.d.ts +1 -1
  143. package/navigation/shortcuts.directive.d.ts +1 -1
  144. package/package.json +20 -20
  145. package/pdf/pdf-command.directive.d.ts +1 -1
  146. package/pdf/pdf.component.d.ts +1 -1
  147. package/scheduler.component.d.ts +1 -1
  148. package/schematics/ngAdd/index.js +2 -2
  149. package/toolbar/navigation.component.d.ts +1 -1
  150. package/toolbar/toolbar-template.directive.d.ts +1 -1
  151. package/toolbar/toolbar.component.d.ts +1 -1
  152. package/toolbar/view-selector.component.d.ts +1 -1
  153. package/views/agenda/agenda-header-item.component.d.ts +3 -1
  154. package/views/agenda/agenda-header.component.d.ts +1 -1
  155. package/views/agenda/agenda-task-item.component.d.ts +2 -1
  156. package/views/agenda/agenda-view-internal.component.d.ts +1 -1
  157. package/views/agenda/agenda-view-list.component.d.ts +1 -1
  158. package/views/agenda/agenda-view.component.d.ts +1 -1
  159. package/views/common/base-view.d.ts +1 -1
  160. package/views/common/configuration-view-base.d.ts +1 -1
  161. package/views/common/hint-container.component.d.ts +1 -1
  162. package/views/common/repeat.pipe.d.ts +1 -1
  163. package/views/common/resize-hint.component.d.ts +1 -1
  164. package/views/common/resource-iterator.pipe.d.ts +1 -1
  165. package/views/common/slot-selectable.directive.d.ts +1 -1
  166. package/views/common/view-footer.component.d.ts +1 -1
  167. package/views/common/work-hours-footer.directive.d.ts +1 -1
  168. package/views/day-time/day-time-view-base.d.ts +1 -1
  169. package/views/day-time/day-time-view-item.component.d.ts +1 -1
  170. package/views/day-time/day-time-view.component.d.ts +1 -1
  171. package/views/day-time/event-slot.directive.d.ts +2 -2
  172. package/views/month/month-slot.component.d.ts +1 -1
  173. package/views/month/month-view-item.component.d.ts +1 -1
  174. package/views/month/month-view-renderer.component.d.ts +3 -1
  175. package/views/month/month-view.component.d.ts +1 -1
  176. package/views/month/multi-week-view.component.d.ts +1 -1
  177. package/views/multi-day/day-view.component.d.ts +1 -1
  178. package/views/multi-day/multi-day-view-base.d.ts +1 -1
  179. package/views/multi-day/multi-day-view-renderer.component.d.ts +1 -1
  180. package/views/multi-day/multi-day-view.component.d.ts +1 -1
  181. package/views/multi-day/week-view.component.d.ts +1 -1
  182. package/views/multi-day/work-week-view.component.d.ts +1 -1
  183. package/views/scheduler-view.directive.d.ts +1 -1
  184. package/views/templates/agenda-date-template.directive.d.ts +1 -1
  185. package/views/templates/agenda-time-template.directive.d.ts +1 -1
  186. package/views/templates/all-day-event-template.directive.d.ts +1 -1
  187. package/views/templates/all-day-slot-template.directive.d.ts +1 -1
  188. package/views/templates/date-header-template.directive.d.ts +1 -1
  189. package/views/templates/event-template.directive.d.ts +1 -1
  190. package/views/templates/group-header-template.directive.d.ts +1 -1
  191. package/views/templates/major-time-header-template.directive.d.ts +1 -1
  192. package/views/templates/minor-time-header-template.directive.d.ts +1 -1
  193. package/views/templates/month-day-slot-template.directive.d.ts +1 -1
  194. package/views/templates/multi-week-day-slot-template.directive.d.ts +1 -1
  195. package/views/templates/time-slot-template.directive.d.ts +1 -1
  196. package/views/timeline/timeline-base.d.ts +1 -1
  197. package/views/timeline/timeline-month-view.component.d.ts +1 -1
  198. package/views/timeline/timeline-multi-day-view.component.d.ts +5 -1
  199. package/views/timeline/timeline-view.component.d.ts +1 -1
  200. package/views/timeline/timeline-week-view.component.d.ts +1 -1
  201. package/views/timeline/utils.d.ts +1 -1
  202. package/views/view-items/base-slot.directive.d.ts +1 -1
  203. package/views/view-items/base-view-item.d.ts +1 -1
  204. package/views/year/year-view-internal.component.d.ts +1 -1
  205. package/views/year/year-view.component.d.ts +1 -1
  206. package/progress-kendo-angular-scheduler.d.ts +0 -9
@@ -23,12 +23,12 @@ import * as i4 from "@progress/kendo-angular-intl";
23
23
  import * as i5 from "../day-time/day-time-slot.service";
24
24
  import * as i6 from "../../pdf/pdf.service";
25
25
  import * as i7 from "@progress/kendo-angular-common";
26
- import * as i8 from "../day-time/day-time-view-item.component";
27
- import * as i9 from "../common/hint-container.component";
28
- import * as i10 from "../common/resize-hint.component";
29
- import * as i11 from "@angular/common";
26
+ import * as i8 from "../common/hint-container.component";
27
+ import * as i9 from "../common/resize-hint.component";
28
+ import * as i10 from "@angular/common";
29
+ import * as i11 from "../../navigation/focusable.directive";
30
30
  import * as i12 from "../day-time/event-slot.directive";
31
- import * as i13 from "../../navigation/focusable.directive";
31
+ import * as i13 from "../day-time/day-time-view-item.component";
32
32
  import * as i14 from "../common/resource-iterator.pipe";
33
33
  /**
34
34
  * @hidden
@@ -241,77 +241,230 @@ export class MultiDayViewRendererComponent extends DayTimeViewComponent {
241
241
  return index + 1 < this.timeSlots.length && !this.timeSlots[index + 1].isMajor;
242
242
  }
243
243
  }
244
- MultiDayViewRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiDayViewRendererComponent, deps: [{ token: i1.LocalizationService }, { token: i2.ViewContextService }, { token: i3.ViewStateService }, { token: i4.IntlService }, { token: i5.DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i6.PDFService }, { token: i7.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
245
- MultiDayViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: { allDaySlot: "allDaySlot", name: "name", slotFill: "slotFill", allDaySlotTemplate: "allDaySlotTemplate", allDayEventTemplate: "allDayEventTemplate" }, providers: [
244
+ MultiDayViewRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiDayViewRendererComponent, deps: [{ token: i1.LocalizationService }, { token: i2.ViewContextService }, { token: i3.ViewStateService }, { token: i4.IntlService }, { token: i5.DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i6.PDFService }, { token: i7.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
245
+ MultiDayViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: { allDaySlot: "allDaySlot", name: "name", slotFill: "slotFill", allDaySlotTemplate: "allDaySlotTemplate", allDayEventTemplate: "allDayEventTemplate" }, providers: [
246
246
  DayTimeSlotService
247
247
  ], viewQueries: [{ propertyName: "headerHintContainer", first: true, predicate: ["headerHintContainer"], descendants: true }, { propertyName: "dayCells", predicate: ["allDayCell"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
248
- <div class="k-scheduler-layout k-scheduler-flex-layout" role="presentation" [ngClass]="classNames">
249
- <div class="k-scheduler-pane">
250
- <div class="k-scheduler-times" #timesHeader>
251
- <table class="k-scheduler-table" aria-hidden="true">
252
- <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">
253
- <th></th>
254
- </tr>
255
- <tr>
256
- <th [style.height]="'auto'"></th>
257
- </tr>
258
- <tr *ngIf="allDaySlot && !verticalResources.length">
259
- <th class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>
260
- </tr>
261
- </table>
262
- </div>
263
- <div class="k-scheduler-header k-state-default" #header>
264
- <div class="k-scheduler-header-wrap" #headerWrap>
265
- <table class="k-scheduler-table" aria-hidden="true">
266
- <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;">
267
- <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;"
268
- class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
269
- <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>
270
- <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>
271
- </th>
272
- </tr>
273
- <tr>
274
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;">
275
- <th *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex">
276
- <span *ngIf="!dateHeaderTemplateRef" class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>
277
- <ng-container *ngIf="dateHeaderTemplateRef" [ngTemplateOutlet]="dateHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>
278
- </th>
279
- </ng-container>
280
- </tr>
281
- </table>
282
- <div [style.position]="'relative'" *ngIf="allDaySlot && !verticalResources.length">
283
- <table class="k-scheduler-table k-scheduler-header-all-day k-user-select-none" aria-hidden="true">
284
- <tr>
285
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;">
286
- <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"
287
- daySlot
288
- [start]="slot.start"
289
- [end]="slot.end"
290
- [id]="{ resourceIndex: resourceIndex, rangeIndex: 0, index: index }"
291
- [class.k-selected]="isSlotSelected({
292
- start: toPlainDate(slot.start),
293
- end: toPlainDate(slot.end),
294
- isAllDay: true,
295
- resources: resourcesByIndex(resourceIndex)
296
- })"
297
- [ngClass]="allDaySlotClass(slot, resourceIndex)">
298
- <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"
299
- [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(resourceIndex) }"></ng-container>
300
- </td>
248
+ <table class="k-scheduler-layout" role="presentation" [ngClass]="classNames">
249
+ <tbody>
250
+ <tr class="k-scheduler-head">
251
+ <td>
252
+ <div class="k-scheduler-times" #timesHeader>
253
+ <table class="k-scheduler-table" aria-hidden="true">
254
+ <tbody>
255
+ <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">
256
+ <th class="k-scheduler-cell k-heading-cell"></th>
257
+ </tr>
258
+ <tr [style.height]="'auto'">
259
+ <th class="k-scheduler-cell k-heading-cell"></th>
260
+ </tr>
261
+ <tr *ngIf="allDaySlot && !verticalResources.length">
262
+ <th class="k-scheduler-times-all-day k-scheduler-cell k-heading-cell" #allDayCell>{{ allDayMessage }}</th>
263
+ </tr>
264
+ </tbody>
265
+ </table>
266
+ </div>
267
+ </td>
268
+ <td>
269
+ <div class="k-scheduler-header" #header>
270
+ <div class="k-scheduler-header-wrap" #headerWrap>
271
+ <table class="k-scheduler-table" aria-hidden="true">
272
+ <tbody>
273
+ <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;">
274
+ <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;"
275
+ class="k-scheduler-cell k-heading-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
276
+ <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>
277
+ <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>
278
+ </th>
279
+ </tr>
280
+ <tr class="k-scheduler-date-group">
281
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;">
282
+ <th *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex" class="k-scheduler-cell k-heading-cell">
283
+ <span *ngIf="!dateHeaderTemplateRef" class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>
284
+ <ng-container *ngIf="dateHeaderTemplateRef" [ngTemplateOutlet]="dateHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>
285
+ </th>
286
+ </ng-container>
287
+ </tr>
288
+ </tbody>
289
+ </table>
290
+ <div [style.position]="'relative'" *ngIf="allDaySlot && !verticalResources.length">
291
+ <table class="k-scheduler-table k-scheduler-header-all-day" aria-hidden="true">
292
+ <tbody>
293
+ <tr>
294
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;">
295
+ <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"
296
+ daySlot
297
+ [start]="slot.start"
298
+ [end]="slot.end"
299
+ [id]="{ resourceIndex: resourceIndex, rangeIndex: 0, index: index }"
300
+ [class.k-selected]="isSlotSelected({
301
+ start: toPlainDate(slot.start),
302
+ end: toPlainDate(slot.end),
303
+ isAllDay: true,
304
+ resources: resourcesByIndex(resourceIndex)
305
+ })"
306
+ [ngClass]="allDaySlotClass(slot, resourceIndex)"
307
+ class="k-scheduler-cell">
308
+ <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"
309
+ [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(resourceIndex) }"></ng-container>
310
+ </td>
311
+ </ng-container>
312
+ </tr>
313
+ </tbody>
314
+ </table>
315
+ <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">
316
+ <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
317
+ [ngClass]="getEventClasses(item, itemResource.resources, true)"
318
+ [ngStyle]="getEventStyles(item, itemResource, true)"
319
+ role="button"
320
+ [kendoSchedulerFocusIndex]="itemResource.leafIdx"
321
+ [id]="item.elementId + '_' + itemResource.leafIdx"
322
+ dayTimeViewItem
323
+ [isAllDay]="true"
324
+ [editable]="editable"
325
+ [eventTemplate]="allDayEventTemplateRef"
326
+ [item]="item"
327
+ [index]="item.index"
328
+ [rangeIndex]="item.rangeIndex"
329
+ [resources]="itemResource.resources"
330
+ [resourceIndex]="itemResource.leafIdx">
331
+ </div>
301
332
  </ng-container>
302
- </tr>
333
+ <kendo-hint-container #headerHintContainer>
334
+ <ng-template>
335
+ <div *ngIf="dragHints.length && allDayDragHint"
336
+ class="k-event-drag-hint"
337
+ dayTimeViewItem
338
+ [isAllDay]="true"
339
+ [ngStyle]="dragHints[0].style"
340
+ [ngClass]="dragHints[0].class"
341
+ [dragHint]="true"
342
+ [eventTemplate]="eventTemplateRef"
343
+ [item]="dragHints[0].item"
344
+ [resources]="dragHints[0].resources">
345
+ </div>
346
+
347
+ <div *ngIf="resizeHints.length && allDayResizeHint"
348
+ kendoResizeHint
349
+ [hint]="resizeHints[0]"
350
+ [ngClass]="resizeHints[0].class"
351
+ [format]="allDayResizeHintFormat">
352
+ </div>
353
+ </ng-template>
354
+ </kendo-hint-container>
355
+ </div>
356
+ </div>
357
+ </div>
358
+ </td>
359
+ </tr>
360
+ <tr class="k-scheduler-body">
361
+ <td>
362
+ <div class="k-scheduler-times" #times>
363
+ <ng-container *ngIf="showCurrentTime">
364
+ <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"
365
+ #currentTimeArrow class="k-current-time k-current-time-arrow-right">
366
+ </div>
367
+ </ng-container>
368
+ <table class="k-scheduler-table" #timesTable aria-hidden="true">
369
+ <tbody>
370
+ <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;">
371
+ <tr *ngIf="verticalResources.length">
372
+ <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;">
373
+ <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell k-heading-cell">
374
+ <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>
375
+ <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"
376
+ [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>
377
+ </th>
378
+ </ng-container>
379
+ <th *ngIf="allDaySlot" class="k-scheduler-times-all-day k-scheduler-cell k-heading-cell" #allDayCell>{{ allDayMessage }}</th>
380
+ </tr>
381
+ <tr *ngFor="let slot of timeSlots; let timeSlotIndex = index;trackBy: itemIndex">
382
+ <th *ngIf="slot.isMajor" [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell k-heading-cell">
383
+ <ng-container *ngIf="!majorTimeHeaderTemplateRef">{{ slot.start | kendoDate: 't' }}</ng-container>
384
+ <ng-container *ngIf="majorTimeHeaderTemplateRef" [ngTemplateOutlet]="majorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>
385
+ </th>
386
+ <th *ngIf="!slot.isMajor" [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell k-heading-cell">
387
+ <ng-container *ngIf="minorTimeHeaderTemplateRef" [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">
388
+ </ng-container>
389
+ </th>
390
+ </tr>
391
+ </ng-container>
392
+ </tbody>
393
+ </table>
394
+ </div>
395
+ </td>
396
+ <td>
397
+ <div
398
+ class="k-scheduler-content"
399
+ #content
400
+ role="group"
401
+ tabindex="0"
402
+ [attr.aria-owns]="matchOwned(items | async)">
403
+ <ng-container *ngIf="showCurrentTime">
404
+ <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"
405
+ #currentTimeMarker class="k-current-time">
406
+ </div>
407
+ </ng-container>
408
+ <table class="k-scheduler-table" #contentTable role="presentation">
409
+ <tbody>
410
+ <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;">
411
+ <tr class="k-scheduler-header-all-day" *ngIf="allDaySlot && verticalResources.length">
412
+ <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"
413
+ daySlot
414
+ [start]="slot.start"
415
+ [end]="slot.end"
416
+ [class.k-selected]="isSlotSelected({
417
+ start: toPlainDate(slot.start),
418
+ end: toPlainDate(slot.end),
419
+ isAllDay: true,
420
+ resources: resourcesByIndex(verticalIndex)
421
+ })"
422
+ [id]="{ resourceIndex: verticalIndex, rangeIndex: 0, index: index }">
423
+ <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"
424
+ [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(verticalIndex) }"></ng-container>
425
+ </td>
426
+ </tr>
427
+ <tr *ngFor="let slot of timeSlots; index as index; trackBy: itemIndex" [class.k-middle-row]="isMiddleSlot(index)">
428
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;">
429
+ <td *ngFor="let daySlot of daySlots; index as rangeIndex; trackBy: itemIndex"
430
+ [ngClass]="timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)"
431
+ timeSlot #timeSlot="timeSlot"
432
+ [date]="daySlot.start"
433
+ [invariantStart]="slot.start"
434
+ [invariantEnd]="slot.end"
435
+ [workDayStart]="workDayStartTime"
436
+ [workDayEnd]="workDayEndTime"
437
+ [workWeekStart]="workWeekStart"
438
+ [workWeekEnd]="workWeekEnd"
439
+ [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
440
+ [class.k-selected]="isSlotSelected({
441
+ start: toPlainDateTime(daySlot.start, slot.start),
442
+ end: toPlainDateTime(daySlot.start, slot.end),
443
+ isAllDay: false,
444
+ resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
445
+ })"
446
+ class="k-scheduler-cell"
447
+ >
448
+ <ng-container *ngIf="timeSlotTemplateRef" [ngTemplateOutlet]="timeSlotTemplateRef"
449
+ [ngTemplateOutletContext]="{ date: timeSlot.startLocalTime, resources: resourcesByIndex(timeSlot.id.resourceIndex) }">
450
+ </ng-container>
451
+ </td>
452
+ </ng-container>
453
+ </tr>
454
+ </ng-container>
455
+ </tbody>
303
456
  </table>
304
- <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">
457
+ <ng-container *ngFor="let item of items | async; trackBy: itemIndex;">
305
458
  <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
306
- [ngClass]="getEventClasses(item, itemResource.resources, true)"
307
- [ngStyle]="getEventStyles(item, itemResource, true)"
459
+ [ngClass]="getEventClasses(item, itemResource.resources)"
460
+ [ngStyle]="getEventStyles(item, itemResource)"
308
461
  role="button"
309
462
  [kendoSchedulerFocusIndex]="itemResource.leafIdx"
310
463
  [id]="item.elementId + '_' + itemResource.leafIdx"
311
- dayTimeViewItem
312
- [isAllDay]="true"
464
+ dayTimeViewItem
313
465
  [editable]="editable"
314
- [eventTemplate]="allDayEventTemplateRef"
466
+ [vertical]="true"
467
+ [eventTemplate]="eventTemplateRef"
315
468
  [item]="item"
316
469
  [index]="item.index"
317
470
  [rangeIndex]="item.rangeIndex"
@@ -319,189 +472,58 @@ MultiDayViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
319
472
  [resourceIndex]="itemResource.leafIdx">
320
473
  </div>
321
474
  </ng-container>
322
- <kendo-hint-container #headerHintContainer>
475
+ <ng-container *ngIf="verticalResources.length">
476
+ <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">
477
+ <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
478
+ [ngClass]="getEventClasses(item, itemResource.resources, true)"
479
+ [ngStyle]="getEventStyles(item, itemResource, true)"
480
+ role="button"
481
+ [kendoSchedulerFocusIndex]="itemResource.leafIdx"
482
+ [id]="item.elementId + '_' + itemResource.leafIdx"
483
+ dayTimeViewItem
484
+ [isAllDay]="true"
485
+ [editable]="editable"
486
+ [eventTemplate]="allDayEventTemplateRef"
487
+ [item]="item"
488
+ [index]="item.index"
489
+ [rangeIndex]="item.rangeIndex"
490
+ [resources]="itemResource.resources"
491
+ [resourceIndex]="itemResource.leafIdx">
492
+ </div>
493
+ </ng-container>
494
+ </ng-container>
495
+ <kendo-hint-container #hintContainer>
323
496
  <ng-template>
324
- <div *ngIf="dragHints.length && allDayDragHint"
497
+ <div *ngIf="dragHints.length && (!allDayDragHint || verticalResources.length)"
325
498
  class="k-event-drag-hint"
499
+ role="button"
326
500
  dayTimeViewItem
327
- [isAllDay]="true"
501
+ [isAllDay]="allDayDragHint"
328
502
  [ngStyle]="dragHints[0].style"
329
503
  [ngClass]="dragHints[0].class"
330
504
  [dragHint]="true"
331
505
  [eventTemplate]="eventTemplateRef"
332
- [item]="dragHints[0].item"
333
- [resources]="dragHints[0].resources">
506
+ [resources]="dragHints[0].resources"
507
+ [item]="dragHints[0].item">
334
508
  </div>
335
509
 
336
- <div *ngIf="resizeHints.length && allDayResizeHint"
337
- kendoResizeHint
338
- [hint]="resizeHints[0]"
339
- [ngClass]="resizeHints[0].class"
340
- [format]="allDayResizeHintFormat">
341
- </div>
510
+ <ng-container *ngIf="resizeHints.length && (!allDayResizeHint || verticalResources.length)">
511
+ <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"
512
+ kendoResizeHint
513
+ [hint]="hint"
514
+ [ngClass]="hint.class"
515
+ [format]="allDayResizeHint ? allDayResizeHintFormat : resizeHintFormat">
516
+ </div>
517
+ </ng-container>
342
518
  </ng-template>
343
519
  </kendo-hint-container>
344
520
  </div>
345
- </div>
346
- </div>
347
- </div>
348
- <div class="k-scheduler-pane">
349
- <div class="k-scheduler-times" #times>
350
- <ng-container *ngIf="showCurrentTime">
351
- <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"
352
- #currentTimeArrow class="k-current-time k-current-time-arrow-right">
353
- </div>
354
- </ng-container>
355
- <table class="k-scheduler-table" #timesTable aria-hidden="true">
356
- <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;">
357
- <tr *ngIf="verticalResources.length">
358
- <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;">
359
- <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell">
360
- <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>
361
- <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"
362
- [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>
363
- </th>
364
- </ng-container>
365
- <th *ngIf="allDaySlot" class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>
366
- </tr>
367
- <tr *ngFor="let slot of timeSlots; let timeSlotIndex = index;trackBy: itemIndex">
368
- <th *ngIf="slot.isMajor" [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }">
369
- <ng-container *ngIf="!majorTimeHeaderTemplateRef">{{ slot.start | kendoDate: 't' }}</ng-container>
370
- <ng-container *ngIf="majorTimeHeaderTemplateRef" [ngTemplateOutlet]="majorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>
371
- </th>
372
- <th *ngIf="!slot.isMajor" [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }">
373
- <ng-container *ngIf="minorTimeHeaderTemplateRef" [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">
374
- </ng-container>
375
- </th>
376
- </tr>
377
- </ng-container>
378
- </table>
379
- </div>
380
- <div
381
- class="k-scheduler-content k-user-select-none"
382
- #content
383
- role="group"
384
- tabindex="0"
385
- [attr.aria-owns]="matchOwned(items | async)">
386
- <ng-container *ngIf="showCurrentTime">
387
- <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"
388
- #currentTimeMarker class="k-current-time">
389
- </div>
390
- </ng-container>
391
- <table class="k-scheduler-table" #contentTable role="presentation">
392
- <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;">
393
- <tr class="k-scheduler-header-all-day" *ngIf="allDaySlot && verticalResources.length">
394
- <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"
395
- daySlot
396
- [start]="slot.start"
397
- [end]="slot.end"
398
- [class.k-selected]="isSlotSelected({
399
- start: toPlainDate(slot.start),
400
- end: toPlainDate(slot.end),
401
- isAllDay: true,
402
- resources: resourcesByIndex(verticalIndex)
403
- })"
404
- [id]="{ resourceIndex: verticalIndex, rangeIndex: 0, index: index }">
405
- <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"
406
- [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(verticalIndex) }"></ng-container>
407
- </td>
408
- </tr>
409
- <tr *ngFor="let slot of timeSlots; index as index; trackBy: itemIndex" [class.k-middle-row]="isMiddleSlot(index)">
410
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;">
411
- <td *ngFor="let daySlot of daySlots; index as rangeIndex; trackBy: itemIndex"
412
- [ngClass]="timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)"
413
- timeSlot #timeSlot="timeSlot"
414
- [date]="daySlot.start"
415
- [invariantStart]="slot.start"
416
- [invariantEnd]="slot.end"
417
- [workDayStart]="workDayStartTime"
418
- [workDayEnd]="workDayEndTime"
419
- [workWeekStart]="workWeekStart"
420
- [workWeekEnd]="workWeekEnd"
421
- [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
422
- [class.k-selected]="isSlotSelected({
423
- start: toPlainDateTime(daySlot.start, slot.start),
424
- end: toPlainDateTime(daySlot.start, slot.end),
425
- isAllDay: false,
426
- resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
427
- })"
428
- >
429
- <ng-container *ngIf="timeSlotTemplateRef" [ngTemplateOutlet]="timeSlotTemplateRef"
430
- [ngTemplateOutletContext]="{ date: timeSlot.startLocalTime, resources: resourcesByIndex(timeSlot.id.resourceIndex) }">
431
- </ng-container>
432
- </td>
433
- </ng-container>
434
- </tr>
435
- </ng-container>
436
- </table>
437
- <ng-container *ngFor="let item of items | async; trackBy: itemIndex;">
438
- <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
439
- [ngClass]="getEventClasses(item, itemResource.resources)"
440
- [ngStyle]="getEventStyles(item, itemResource)"
441
- role="button"
442
- [kendoSchedulerFocusIndex]="itemResource.leafIdx"
443
- [id]="item.elementId + '_' + itemResource.leafIdx"
444
- dayTimeViewItem
445
- [editable]="editable"
446
- [vertical]="true"
447
- [eventTemplate]="eventTemplateRef"
448
- [item]="item"
449
- [index]="item.index"
450
- [rangeIndex]="item.rangeIndex"
451
- [resources]="itemResource.resources"
452
- [resourceIndex]="itemResource.leafIdx">
453
- </div>
454
- </ng-container>
455
- <ng-container *ngIf="verticalResources.length">
456
- <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">
457
- <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
458
- [ngClass]="getEventClasses(item, itemResource.resources, true)"
459
- [ngStyle]="getEventStyles(item, itemResource, true)"
460
- role="button"
461
- [kendoSchedulerFocusIndex]="itemResource.leafIdx"
462
- [id]="item.elementId + '_' + itemResource.leafIdx"
463
- dayTimeViewItem
464
- [isAllDay]="true"
465
- [editable]="editable"
466
- [eventTemplate]="allDayEventTemplateRef"
467
- [item]="item"
468
- [index]="item.index"
469
- [rangeIndex]="item.rangeIndex"
470
- [resources]="itemResource.resources"
471
- [resourceIndex]="itemResource.leafIdx">
472
- </div>
473
- </ng-container>
474
- </ng-container>
475
- <kendo-hint-container #hintContainer>
476
- <ng-template>
477
- <div *ngIf="dragHints.length && (!allDayDragHint || verticalResources.length)"
478
- class="k-event-drag-hint"
479
- role="button"
480
- dayTimeViewItem
481
- [isAllDay]="allDayDragHint"
482
- [ngStyle]="dragHints[0].style"
483
- [ngClass]="dragHints[0].class"
484
- [dragHint]="true"
485
- [eventTemplate]="eventTemplateRef"
486
- [resources]="dragHints[0].resources"
487
- [item]="dragHints[0].item">
488
- </div>
489
-
490
- <ng-container *ngIf="resizeHints.length && (!allDayResizeHint || verticalResources.length)">
491
- <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"
492
- kendoResizeHint
493
- [hint]="hint"
494
- [ngClass]="hint.class"
495
- [format]="allDayResizeHint ? allDayResizeHintFormat : resizeHintFormat">
496
- </div>
497
- </ng-container>
498
- </ng-template>
499
- </kendo-hint-container>
500
- </div>
501
- </div>
502
- </div>
503
- `, 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.DaySlotDirective, selector: "[daySlot]", inputs: ["start", "end"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i13.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { type: i12.TimeSlotDirective, selector: "[timeSlot]", inputs: ["invariantStart", "invariantEnd", "workDayStart", "workDayEnd", "workWeekStart", "workWeekEnd", "date"], exportAs: ["timeSlot"] }], pipes: { "resourceIterator": i14.ResourceIteratorPipe, "kendoDate": i4.DatePipe, "async": i11.AsyncPipe } });
504
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiDayViewRendererComponent, decorators: [{
521
+ </td>
522
+ </tr>
523
+ </tbody>
524
+ </table>
525
+ `, isInline: true, dependencies: [{ kind: "component", type: i8.HintContainerComponent, selector: "kendo-hint-container" }, { kind: "component", type: i9.ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }, { kind: "directive", type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i11.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { kind: "directive", type: i12.TimeSlotDirective, selector: "[timeSlot]", inputs: ["invariantStart", "invariantEnd", "workDayStart", "workDayEnd", "workWeekStart", "workWeekEnd", "date"], exportAs: ["timeSlot"] }, { kind: "directive", type: i12.DaySlotDirective, selector: "[daySlot]", inputs: ["start", "end"] }, { kind: "component", type: i13.DayTimeViewItemComponent, selector: "[dayTimeViewItem]", inputs: ["vertical", "isAllDay"] }, { kind: "pipe", type: i14.ResourceIteratorPipe, name: "resourceIterator" }, { kind: "pipe", type: i4.DatePipe, name: "kendoDate" }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }] });
526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiDayViewRendererComponent, decorators: [{
505
527
  type: Component,
506
528
  args: [{
507
529
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -510,73 +532,226 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
510
532
  DayTimeSlotService
511
533
  ],
512
534
  template: `
513
- <div class="k-scheduler-layout k-scheduler-flex-layout" role="presentation" [ngClass]="classNames">
514
- <div class="k-scheduler-pane">
515
- <div class="k-scheduler-times" #timesHeader>
516
- <table class="k-scheduler-table" aria-hidden="true">
517
- <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">
518
- <th></th>
519
- </tr>
520
- <tr>
521
- <th [style.height]="'auto'"></th>
522
- </tr>
523
- <tr *ngIf="allDaySlot && !verticalResources.length">
524
- <th class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>
525
- </tr>
526
- </table>
527
- </div>
528
- <div class="k-scheduler-header k-state-default" #header>
529
- <div class="k-scheduler-header-wrap" #headerWrap>
530
- <table class="k-scheduler-table" aria-hidden="true">
531
- <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;">
532
- <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;"
533
- class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
534
- <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>
535
- <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>
536
- </th>
537
- </tr>
538
- <tr>
539
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;">
540
- <th *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex">
541
- <span *ngIf="!dateHeaderTemplateRef" class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>
542
- <ng-container *ngIf="dateHeaderTemplateRef" [ngTemplateOutlet]="dateHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>
543
- </th>
544
- </ng-container>
545
- </tr>
546
- </table>
547
- <div [style.position]="'relative'" *ngIf="allDaySlot && !verticalResources.length">
548
- <table class="k-scheduler-table k-scheduler-header-all-day k-user-select-none" aria-hidden="true">
549
- <tr>
550
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;">
551
- <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"
552
- daySlot
553
- [start]="slot.start"
554
- [end]="slot.end"
555
- [id]="{ resourceIndex: resourceIndex, rangeIndex: 0, index: index }"
556
- [class.k-selected]="isSlotSelected({
557
- start: toPlainDate(slot.start),
558
- end: toPlainDate(slot.end),
559
- isAllDay: true,
560
- resources: resourcesByIndex(resourceIndex)
561
- })"
562
- [ngClass]="allDaySlotClass(slot, resourceIndex)">
563
- <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"
564
- [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(resourceIndex) }"></ng-container>
565
- </td>
535
+ <table class="k-scheduler-layout" role="presentation" [ngClass]="classNames">
536
+ <tbody>
537
+ <tr class="k-scheduler-head">
538
+ <td>
539
+ <div class="k-scheduler-times" #timesHeader>
540
+ <table class="k-scheduler-table" aria-hidden="true">
541
+ <tbody>
542
+ <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">
543
+ <th class="k-scheduler-cell k-heading-cell"></th>
544
+ </tr>
545
+ <tr [style.height]="'auto'">
546
+ <th class="k-scheduler-cell k-heading-cell"></th>
547
+ </tr>
548
+ <tr *ngIf="allDaySlot && !verticalResources.length">
549
+ <th class="k-scheduler-times-all-day k-scheduler-cell k-heading-cell" #allDayCell>{{ allDayMessage }}</th>
550
+ </tr>
551
+ </tbody>
552
+ </table>
553
+ </div>
554
+ </td>
555
+ <td>
556
+ <div class="k-scheduler-header" #header>
557
+ <div class="k-scheduler-header-wrap" #headerWrap>
558
+ <table class="k-scheduler-table" aria-hidden="true">
559
+ <tbody>
560
+ <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;">
561
+ <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;"
562
+ class="k-scheduler-cell k-heading-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
563
+ <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>
564
+ <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>
565
+ </th>
566
+ </tr>
567
+ <tr class="k-scheduler-date-group">
568
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;">
569
+ <th *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex" class="k-scheduler-cell k-heading-cell">
570
+ <span *ngIf="!dateHeaderTemplateRef" class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>
571
+ <ng-container *ngIf="dateHeaderTemplateRef" [ngTemplateOutlet]="dateHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>
572
+ </th>
573
+ </ng-container>
574
+ </tr>
575
+ </tbody>
576
+ </table>
577
+ <div [style.position]="'relative'" *ngIf="allDaySlot && !verticalResources.length">
578
+ <table class="k-scheduler-table k-scheduler-header-all-day" aria-hidden="true">
579
+ <tbody>
580
+ <tr>
581
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;">
582
+ <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"
583
+ daySlot
584
+ [start]="slot.start"
585
+ [end]="slot.end"
586
+ [id]="{ resourceIndex: resourceIndex, rangeIndex: 0, index: index }"
587
+ [class.k-selected]="isSlotSelected({
588
+ start: toPlainDate(slot.start),
589
+ end: toPlainDate(slot.end),
590
+ isAllDay: true,
591
+ resources: resourcesByIndex(resourceIndex)
592
+ })"
593
+ [ngClass]="allDaySlotClass(slot, resourceIndex)"
594
+ class="k-scheduler-cell">
595
+ <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"
596
+ [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(resourceIndex) }"></ng-container>
597
+ </td>
598
+ </ng-container>
599
+ </tr>
600
+ </tbody>
601
+ </table>
602
+ <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">
603
+ <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
604
+ [ngClass]="getEventClasses(item, itemResource.resources, true)"
605
+ [ngStyle]="getEventStyles(item, itemResource, true)"
606
+ role="button"
607
+ [kendoSchedulerFocusIndex]="itemResource.leafIdx"
608
+ [id]="item.elementId + '_' + itemResource.leafIdx"
609
+ dayTimeViewItem
610
+ [isAllDay]="true"
611
+ [editable]="editable"
612
+ [eventTemplate]="allDayEventTemplateRef"
613
+ [item]="item"
614
+ [index]="item.index"
615
+ [rangeIndex]="item.rangeIndex"
616
+ [resources]="itemResource.resources"
617
+ [resourceIndex]="itemResource.leafIdx">
618
+ </div>
566
619
  </ng-container>
567
- </tr>
620
+ <kendo-hint-container #headerHintContainer>
621
+ <ng-template>
622
+ <div *ngIf="dragHints.length && allDayDragHint"
623
+ class="k-event-drag-hint"
624
+ dayTimeViewItem
625
+ [isAllDay]="true"
626
+ [ngStyle]="dragHints[0].style"
627
+ [ngClass]="dragHints[0].class"
628
+ [dragHint]="true"
629
+ [eventTemplate]="eventTemplateRef"
630
+ [item]="dragHints[0].item"
631
+ [resources]="dragHints[0].resources">
632
+ </div>
633
+
634
+ <div *ngIf="resizeHints.length && allDayResizeHint"
635
+ kendoResizeHint
636
+ [hint]="resizeHints[0]"
637
+ [ngClass]="resizeHints[0].class"
638
+ [format]="allDayResizeHintFormat">
639
+ </div>
640
+ </ng-template>
641
+ </kendo-hint-container>
642
+ </div>
643
+ </div>
644
+ </div>
645
+ </td>
646
+ </tr>
647
+ <tr class="k-scheduler-body">
648
+ <td>
649
+ <div class="k-scheduler-times" #times>
650
+ <ng-container *ngIf="showCurrentTime">
651
+ <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"
652
+ #currentTimeArrow class="k-current-time k-current-time-arrow-right">
653
+ </div>
654
+ </ng-container>
655
+ <table class="k-scheduler-table" #timesTable aria-hidden="true">
656
+ <tbody>
657
+ <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;">
658
+ <tr *ngIf="verticalResources.length">
659
+ <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;">
660
+ <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell k-heading-cell">
661
+ <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>
662
+ <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"
663
+ [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>
664
+ </th>
665
+ </ng-container>
666
+ <th *ngIf="allDaySlot" class="k-scheduler-times-all-day k-scheduler-cell k-heading-cell" #allDayCell>{{ allDayMessage }}</th>
667
+ </tr>
668
+ <tr *ngFor="let slot of timeSlots; let timeSlotIndex = index;trackBy: itemIndex">
669
+ <th *ngIf="slot.isMajor" [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell k-heading-cell">
670
+ <ng-container *ngIf="!majorTimeHeaderTemplateRef">{{ slot.start | kendoDate: 't' }}</ng-container>
671
+ <ng-container *ngIf="majorTimeHeaderTemplateRef" [ngTemplateOutlet]="majorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>
672
+ </th>
673
+ <th *ngIf="!slot.isMajor" [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell k-heading-cell">
674
+ <ng-container *ngIf="minorTimeHeaderTemplateRef" [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">
675
+ </ng-container>
676
+ </th>
677
+ </tr>
678
+ </ng-container>
679
+ </tbody>
680
+ </table>
681
+ </div>
682
+ </td>
683
+ <td>
684
+ <div
685
+ class="k-scheduler-content"
686
+ #content
687
+ role="group"
688
+ tabindex="0"
689
+ [attr.aria-owns]="matchOwned(items | async)">
690
+ <ng-container *ngIf="showCurrentTime">
691
+ <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"
692
+ #currentTimeMarker class="k-current-time">
693
+ </div>
694
+ </ng-container>
695
+ <table class="k-scheduler-table" #contentTable role="presentation">
696
+ <tbody>
697
+ <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;">
698
+ <tr class="k-scheduler-header-all-day" *ngIf="allDaySlot && verticalResources.length">
699
+ <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"
700
+ daySlot
701
+ [start]="slot.start"
702
+ [end]="slot.end"
703
+ [class.k-selected]="isSlotSelected({
704
+ start: toPlainDate(slot.start),
705
+ end: toPlainDate(slot.end),
706
+ isAllDay: true,
707
+ resources: resourcesByIndex(verticalIndex)
708
+ })"
709
+ [id]="{ resourceIndex: verticalIndex, rangeIndex: 0, index: index }">
710
+ <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"
711
+ [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(verticalIndex) }"></ng-container>
712
+ </td>
713
+ </tr>
714
+ <tr *ngFor="let slot of timeSlots; index as index; trackBy: itemIndex" [class.k-middle-row]="isMiddleSlot(index)">
715
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;">
716
+ <td *ngFor="let daySlot of daySlots; index as rangeIndex; trackBy: itemIndex"
717
+ [ngClass]="timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)"
718
+ timeSlot #timeSlot="timeSlot"
719
+ [date]="daySlot.start"
720
+ [invariantStart]="slot.start"
721
+ [invariantEnd]="slot.end"
722
+ [workDayStart]="workDayStartTime"
723
+ [workDayEnd]="workDayEndTime"
724
+ [workWeekStart]="workWeekStart"
725
+ [workWeekEnd]="workWeekEnd"
726
+ [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
727
+ [class.k-selected]="isSlotSelected({
728
+ start: toPlainDateTime(daySlot.start, slot.start),
729
+ end: toPlainDateTime(daySlot.start, slot.end),
730
+ isAllDay: false,
731
+ resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
732
+ })"
733
+ class="k-scheduler-cell"
734
+ >
735
+ <ng-container *ngIf="timeSlotTemplateRef" [ngTemplateOutlet]="timeSlotTemplateRef"
736
+ [ngTemplateOutletContext]="{ date: timeSlot.startLocalTime, resources: resourcesByIndex(timeSlot.id.resourceIndex) }">
737
+ </ng-container>
738
+ </td>
739
+ </ng-container>
740
+ </tr>
741
+ </ng-container>
742
+ </tbody>
568
743
  </table>
569
- <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">
744
+ <ng-container *ngFor="let item of items | async; trackBy: itemIndex;">
570
745
  <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
571
- [ngClass]="getEventClasses(item, itemResource.resources, true)"
572
- [ngStyle]="getEventStyles(item, itemResource, true)"
746
+ [ngClass]="getEventClasses(item, itemResource.resources)"
747
+ [ngStyle]="getEventStyles(item, itemResource)"
573
748
  role="button"
574
749
  [kendoSchedulerFocusIndex]="itemResource.leafIdx"
575
750
  [id]="item.elementId + '_' + itemResource.leafIdx"
576
- dayTimeViewItem
577
- [isAllDay]="true"
751
+ dayTimeViewItem
578
752
  [editable]="editable"
579
- [eventTemplate]="allDayEventTemplateRef"
753
+ [vertical]="true"
754
+ [eventTemplate]="eventTemplateRef"
580
755
  [item]="item"
581
756
  [index]="item.index"
582
757
  [rangeIndex]="item.rangeIndex"
@@ -584,187 +759,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
584
759
  [resourceIndex]="itemResource.leafIdx">
585
760
  </div>
586
761
  </ng-container>
587
- <kendo-hint-container #headerHintContainer>
762
+ <ng-container *ngIf="verticalResources.length">
763
+ <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">
764
+ <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
765
+ [ngClass]="getEventClasses(item, itemResource.resources, true)"
766
+ [ngStyle]="getEventStyles(item, itemResource, true)"
767
+ role="button"
768
+ [kendoSchedulerFocusIndex]="itemResource.leafIdx"
769
+ [id]="item.elementId + '_' + itemResource.leafIdx"
770
+ dayTimeViewItem
771
+ [isAllDay]="true"
772
+ [editable]="editable"
773
+ [eventTemplate]="allDayEventTemplateRef"
774
+ [item]="item"
775
+ [index]="item.index"
776
+ [rangeIndex]="item.rangeIndex"
777
+ [resources]="itemResource.resources"
778
+ [resourceIndex]="itemResource.leafIdx">
779
+ </div>
780
+ </ng-container>
781
+ </ng-container>
782
+ <kendo-hint-container #hintContainer>
588
783
  <ng-template>
589
- <div *ngIf="dragHints.length && allDayDragHint"
784
+ <div *ngIf="dragHints.length && (!allDayDragHint || verticalResources.length)"
590
785
  class="k-event-drag-hint"
786
+ role="button"
591
787
  dayTimeViewItem
592
- [isAllDay]="true"
788
+ [isAllDay]="allDayDragHint"
593
789
  [ngStyle]="dragHints[0].style"
594
790
  [ngClass]="dragHints[0].class"
595
791
  [dragHint]="true"
596
792
  [eventTemplate]="eventTemplateRef"
597
- [item]="dragHints[0].item"
598
- [resources]="dragHints[0].resources">
793
+ [resources]="dragHints[0].resources"
794
+ [item]="dragHints[0].item">
599
795
  </div>
600
796
 
601
- <div *ngIf="resizeHints.length && allDayResizeHint"
602
- kendoResizeHint
603
- [hint]="resizeHints[0]"
604
- [ngClass]="resizeHints[0].class"
605
- [format]="allDayResizeHintFormat">
606
- </div>
797
+ <ng-container *ngIf="resizeHints.length && (!allDayResizeHint || verticalResources.length)">
798
+ <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"
799
+ kendoResizeHint
800
+ [hint]="hint"
801
+ [ngClass]="hint.class"
802
+ [format]="allDayResizeHint ? allDayResizeHintFormat : resizeHintFormat">
803
+ </div>
804
+ </ng-container>
607
805
  </ng-template>
608
806
  </kendo-hint-container>
609
807
  </div>
610
- </div>
611
- </div>
612
- </div>
613
- <div class="k-scheduler-pane">
614
- <div class="k-scheduler-times" #times>
615
- <ng-container *ngIf="showCurrentTime">
616
- <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"
617
- #currentTimeArrow class="k-current-time k-current-time-arrow-right">
618
- </div>
619
- </ng-container>
620
- <table class="k-scheduler-table" #timesTable aria-hidden="true">
621
- <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;">
622
- <tr *ngIf="verticalResources.length">
623
- <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;">
624
- <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell">
625
- <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>
626
- <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"
627
- [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>
628
- </th>
629
- </ng-container>
630
- <th *ngIf="allDaySlot" class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>
631
- </tr>
632
- <tr *ngFor="let slot of timeSlots; let timeSlotIndex = index;trackBy: itemIndex">
633
- <th *ngIf="slot.isMajor" [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }">
634
- <ng-container *ngIf="!majorTimeHeaderTemplateRef">{{ slot.start | kendoDate: 't' }}</ng-container>
635
- <ng-container *ngIf="majorTimeHeaderTemplateRef" [ngTemplateOutlet]="majorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>
636
- </th>
637
- <th *ngIf="!slot.isMajor" [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }">
638
- <ng-container *ngIf="minorTimeHeaderTemplateRef" [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">
639
- </ng-container>
640
- </th>
641
- </tr>
642
- </ng-container>
643
- </table>
644
- </div>
645
- <div
646
- class="k-scheduler-content k-user-select-none"
647
- #content
648
- role="group"
649
- tabindex="0"
650
- [attr.aria-owns]="matchOwned(items | async)">
651
- <ng-container *ngIf="showCurrentTime">
652
- <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"
653
- #currentTimeMarker class="k-current-time">
654
- </div>
655
- </ng-container>
656
- <table class="k-scheduler-table" #contentTable role="presentation">
657
- <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;">
658
- <tr class="k-scheduler-header-all-day" *ngIf="allDaySlot && verticalResources.length">
659
- <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"
660
- daySlot
661
- [start]="slot.start"
662
- [end]="slot.end"
663
- [class.k-selected]="isSlotSelected({
664
- start: toPlainDate(slot.start),
665
- end: toPlainDate(slot.end),
666
- isAllDay: true,
667
- resources: resourcesByIndex(verticalIndex)
668
- })"
669
- [id]="{ resourceIndex: verticalIndex, rangeIndex: 0, index: index }">
670
- <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"
671
- [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(verticalIndex) }"></ng-container>
672
- </td>
673
- </tr>
674
- <tr *ngFor="let slot of timeSlots; index as index; trackBy: itemIndex" [class.k-middle-row]="isMiddleSlot(index)">
675
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;">
676
- <td *ngFor="let daySlot of daySlots; index as rangeIndex; trackBy: itemIndex"
677
- [ngClass]="timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)"
678
- timeSlot #timeSlot="timeSlot"
679
- [date]="daySlot.start"
680
- [invariantStart]="slot.start"
681
- [invariantEnd]="slot.end"
682
- [workDayStart]="workDayStartTime"
683
- [workDayEnd]="workDayEndTime"
684
- [workWeekStart]="workWeekStart"
685
- [workWeekEnd]="workWeekEnd"
686
- [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
687
- [class.k-selected]="isSlotSelected({
688
- start: toPlainDateTime(daySlot.start, slot.start),
689
- end: toPlainDateTime(daySlot.start, slot.end),
690
- isAllDay: false,
691
- resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
692
- })"
693
- >
694
- <ng-container *ngIf="timeSlotTemplateRef" [ngTemplateOutlet]="timeSlotTemplateRef"
695
- [ngTemplateOutletContext]="{ date: timeSlot.startLocalTime, resources: resourcesByIndex(timeSlot.id.resourceIndex) }">
696
- </ng-container>
697
- </td>
698
- </ng-container>
699
- </tr>
700
- </ng-container>
701
- </table>
702
- <ng-container *ngFor="let item of items | async; trackBy: itemIndex;">
703
- <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
704
- [ngClass]="getEventClasses(item, itemResource.resources)"
705
- [ngStyle]="getEventStyles(item, itemResource)"
706
- role="button"
707
- [kendoSchedulerFocusIndex]="itemResource.leafIdx"
708
- [id]="item.elementId + '_' + itemResource.leafIdx"
709
- dayTimeViewItem
710
- [editable]="editable"
711
- [vertical]="true"
712
- [eventTemplate]="eventTemplateRef"
713
- [item]="item"
714
- [index]="item.index"
715
- [rangeIndex]="item.rangeIndex"
716
- [resources]="itemResource.resources"
717
- [resourceIndex]="itemResource.leafIdx">
718
- </div>
719
- </ng-container>
720
- <ng-container *ngIf="verticalResources.length">
721
- <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">
722
- <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"
723
- [ngClass]="getEventClasses(item, itemResource.resources, true)"
724
- [ngStyle]="getEventStyles(item, itemResource, true)"
725
- role="button"
726
- [kendoSchedulerFocusIndex]="itemResource.leafIdx"
727
- [id]="item.elementId + '_' + itemResource.leafIdx"
728
- dayTimeViewItem
729
- [isAllDay]="true"
730
- [editable]="editable"
731
- [eventTemplate]="allDayEventTemplateRef"
732
- [item]="item"
733
- [index]="item.index"
734
- [rangeIndex]="item.rangeIndex"
735
- [resources]="itemResource.resources"
736
- [resourceIndex]="itemResource.leafIdx">
737
- </div>
738
- </ng-container>
739
- </ng-container>
740
- <kendo-hint-container #hintContainer>
741
- <ng-template>
742
- <div *ngIf="dragHints.length && (!allDayDragHint || verticalResources.length)"
743
- class="k-event-drag-hint"
744
- role="button"
745
- dayTimeViewItem
746
- [isAllDay]="allDayDragHint"
747
- [ngStyle]="dragHints[0].style"
748
- [ngClass]="dragHints[0].class"
749
- [dragHint]="true"
750
- [eventTemplate]="eventTemplateRef"
751
- [resources]="dragHints[0].resources"
752
- [item]="dragHints[0].item">
753
- </div>
754
-
755
- <ng-container *ngIf="resizeHints.length && (!allDayResizeHint || verticalResources.length)">
756
- <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"
757
- kendoResizeHint
758
- [hint]="hint"
759
- [ngClass]="hint.class"
760
- [format]="allDayResizeHint ? allDayResizeHintFormat : resizeHintFormat">
761
- </div>
762
- </ng-container>
763
- </ng-template>
764
- </kendo-hint-container>
765
- </div>
766
- </div>
767
- </div>
808
+ </td>
809
+ </tr>
810
+ </tbody>
811
+ </table>
768
812
  `
769
813
  }]
770
814
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.ViewContextService }, { type: i3.ViewStateService }, { type: i4.IntlService }, { type: i5.DayTimeSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i6.PDFService }, { type: i7.ScrollbarWidthService }]; }, propDecorators: { allDaySlot: [{