@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
@@ -5,7 +5,7 @@
5
5
  import { Component, Input, NgZone, ElementRef, Renderer2, TemplateRef, ChangeDetectorRef, QueryList, ViewChildren } from '@angular/core';
6
6
  import { IntlService } from '@progress/kendo-angular-intl';
7
7
  import { isChanged, isDocumentAvailable, ScrollbarWidthService } from '@progress/kendo-angular-common';
8
- import { addDays, getDate, toLocalDate } from '@progress/kendo-date-math';
8
+ import { addDays, firstDayOfMonth, getDate, lastDayOfMonth, toLocalDate } from '@progress/kendo-date-math';
9
9
  import { ViewContextService } from '../view-context.service';
10
10
  import { ViewStateService } from '../view-state.service';
11
11
  import { closestInScope, hasClasses } from '../../common/dom-queries';
@@ -26,14 +26,14 @@ import * as i4 from "./month-slot.service";
26
26
  import * as i5 from "../../pdf/pdf.service";
27
27
  import * as i6 from "@progress/kendo-angular-l10n";
28
28
  import * as i7 from "@progress/kendo-angular-common";
29
- import * as i8 from "./month-slot.component";
30
- import * as i9 from "./month-view-item.component";
31
- import * as i10 from "../common/hint-container.component";
32
- import * as i11 from "../common/resize-hint.component";
33
- import * as i12 from "@angular/common";
34
- import * as i13 from "../../navigation/focusable.directive";
35
- import * as i14 from "../common/resource-iterator.pipe";
36
- import * as i15 from "../common/repeat.pipe";
29
+ import * as i8 from "../common/hint-container.component";
30
+ import * as i9 from "../common/resize-hint.component";
31
+ import * as i10 from "@angular/common";
32
+ import * as i11 from "../../navigation/focusable.directive";
33
+ import * as i12 from "./month-view-item.component";
34
+ import * as i13 from "./month-slot.component";
35
+ import * as i14 from "../common/repeat.pipe";
36
+ import * as i15 from "../common/resource-iterator.pipe";
37
37
  /**
38
38
  * @hidden
39
39
  */
@@ -106,6 +106,14 @@ export class MonthViewRendererComponent extends BaseView {
106
106
  addDay(dayStart) {
107
107
  return addDays(dayStart, 1);
108
108
  }
109
+ isDayInPreviousMonth(day) {
110
+ const beginningOfMonth = new Date(firstDayOfMonth(this.selectedDate).setHours(0, 0, 0, 0));
111
+ return day < beginningOfMonth;
112
+ }
113
+ isDayInNextMonth(day) {
114
+ const endOfMonth = new Date(lastDayOfMonth(this.selectedDate).setHours(23, 59, 59, 59));
115
+ return day > endOfMonth;
116
+ }
109
117
  optionsChange(changes) {
110
118
  this.schedulerMonthDaySlotTemplate = changes[`${this.type}DaySlotTemplate`];
111
119
  super.optionsChange(changes);
@@ -129,7 +137,7 @@ export class MonthViewRendererComponent extends BaseView {
129
137
  }
130
138
  this.slotService.layout(this.eventHeight);
131
139
  if (this.contentHeight === 'auto') {
132
- content.style.overflow = '';
140
+ content.style.overflow = 'auto';
133
141
  }
134
142
  this.syncTables();
135
143
  }
@@ -223,135 +231,156 @@ export class MonthViewRendererComponent extends BaseView {
223
231
  return weeks;
224
232
  }
225
233
  }
226
- MonthViewRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MonthViewRendererComponent, deps: [{ token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i4.MonthSlotService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i5.PDFService }, { token: i6.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i7.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
227
- MonthViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MonthViewRendererComponent, selector: "month-view", inputs: { monthDaySlotTemplate: "monthDaySlotTemplate", highlightOngoingEvents: "highlightOngoingEvents", type: "type", numberOfWeeks: "numberOfWeeks", newRange: "newRange", dateRangeFn: "dateRangeFn" }, providers: [
234
+ MonthViewRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthViewRendererComponent, deps: [{ token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i4.MonthSlotService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i5.PDFService }, { token: i6.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i7.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
235
+ MonthViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MonthViewRendererComponent, selector: "month-view", inputs: { monthDaySlotTemplate: "monthDaySlotTemplate", highlightOngoingEvents: "highlightOngoingEvents", type: "type", numberOfWeeks: "numberOfWeeks", newRange: "newRange", dateRangeFn: "dateRangeFn" }, providers: [
228
236
  MonthSlotService
229
237
  ], viewQueries: [{ propertyName: "eventElements", predicate: MonthViewItemComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
230
- <div class="k-scheduler-layout k-scheduler-monthview k-scheduler-flex-layout">
231
- <div class="k-scheduler-pane">
232
- <div class="k-scheduler-times" #timesHeader *ngIf="verticalResources.length">
233
- <table class="k-scheduler-table" aria-hidden="true">
234
- <tr>
235
- <th></th>
236
- </tr>
237
- </table>
238
- </div>
239
- <div class="k-scheduler-header k-state-default" #header>
240
- <div class="k-scheduler-header-wrap" #headerWrap>
241
- <!-- Days of the weeks titles -->
242
- <table class="k-scheduler-table" aria-hidden="true">
243
- <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex">
244
- <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex"
245
- class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
246
- <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>
247
- <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>
248
- </th>
249
- </tr>
250
- <tr>
251
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex">
252
- <th *ngFor="let day of weeks[0]; trackBy: itemIndex">
253
- {{ day | kendoDate: 'EEEE' }}
254
- </th>
255
- </ng-container>
256
- </tr>
257
- </table>
258
- </div>
259
- </div>
260
- </div>
261
- <div class="k-scheduler-pane">
262
- <div class="k-scheduler-times k-scheduler-resources" #times *ngIf="verticalResources.length">
263
- <table class="k-scheduler-table" #timesTable aria-hidden="true">
264
- <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex">
265
- <tr>
266
- <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex">
267
- <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell" [ngClass]="{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }">
268
- <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>
269
- <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"
270
- [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>
271
- </th>
272
- </ng-container>
273
- <th class="k-slot-cell k-empty-slot">
274
- </th>
275
- </tr>
276
- <tr *ngFor="let index of (numberOfWeeks - 1) | repeat; trackBy: itemIndex">
277
- <th class="k-slot-cell k-empty-slot"></th>
278
- </tr>
279
- </ng-container>
280
- </table>
281
- </div>
282
- <div
283
- class="k-scheduler-content"
284
- tabindex="0"
285
- #content
286
- role="group"
287
- [attr.aria-owns]="matchOwned(items | async)">
288
- <!-- Main content -->
289
- <table class="k-scheduler-table k-user-select-none" #contentTable role="presentation">
290
- <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex">
291
- <tr *ngFor="let week of weeks; let rangeIndex = index; trackBy: itemIndex">
292
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex">
293
- <td *ngFor="let day of week; let index = index; trackBy: itemIndex"
294
- [monthSlot]="day"
295
- [monthDaySlotTemplateRef]="monthDaySlotTemplateRef"
296
- [resourcesByIndex]="resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)"
297
- [ngClass]="daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)"
298
- [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
299
- [title]="cellTitle(day)"
300
- [class.k-selected]="isSlotSelected({
301
- start: toPlainDate(day),
302
- end: addDay(toPlainDate(day)),
303
- isAllDay: true,
304
- resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
305
- })"
306
- >
307
- </td>
308
- </ng-container>
309
- </tr>
310
- </ng-container>
311
- </table>
312
- <ng-container *ngFor="let item of items | async; trackBy: itemIndex">
313
- <div *ngFor="let itemResource of item.resources; trackBy: itemIndex"
314
- [ngClass]="getEventClasses(item, itemResource.resources)"
315
- [ngStyle]="getEventStyles(item, itemResource)"
316
- role="button"
317
- [kendoSchedulerFocusIndex]="itemResource.leafIdx"
318
- [id]="item.elementId + '_' + itemResource.leafIdx"
319
- monthViewItem
320
- [editable]="editable"
321
- [item]="item"
322
- [index]="item.index"
323
- [rangeIndex]="item.rangeIndex"
324
- [eventTemplate]="eventTemplateRef"
325
- [resources]="itemResource.resources"
326
- [resourceIndex]="itemResource.leafIdx">
327
- </div>
328
- </ng-container>
329
- <kendo-hint-container #hintContainer>
330
- <ng-template>
331
- <div *ngFor="let hint of dragHints; trackBy: itemIndex;"
332
- class="k-event-drag-hint"
333
- monthViewItem
334
- [ngStyle]="hint.style"
335
- [ngClass]="hint.class"
336
- [dragHint]="true"
337
- [eventTemplate]="eventTemplateRef"
338
- [item]="hint.item"
339
- [resources]="hint.resources">
238
+ <table class="k-scheduler-layout k-scheduler-monthview">
239
+ <tbody>
240
+ <tr class="k-scheduler-head">
241
+ <td *ngIf="verticalResources.length">
242
+ <div class="k-scheduler-times" #timesHeader *ngIf="verticalResources.length">
243
+ <table class="k-scheduler-table" aria-hidden="true">
244
+ <tbody>
245
+ <tr>
246
+ <th class="k-scheduler-cell k-heading-cell"></th>
247
+ </tr>
248
+ </tbody>
249
+ </table>
250
+ </div>
251
+ </td>
252
+ <td>
253
+ <div class="k-scheduler-header" #header>
254
+ <div class="k-scheduler-header-wrap" #headerWrap>
255
+ <!-- Days of the weeks titles -->
256
+ <table class="k-scheduler-table" aria-hidden="true">
257
+ <tbody>
258
+ <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex">
259
+ <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex"
260
+ class="k-scheduler-cell k-heading-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
261
+ <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>
262
+ <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>
263
+ </th>
264
+ </tr>
265
+ <tr>
266
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex">
267
+ <th *ngFor="let day of weeks[0]; trackBy: itemIndex" class="k-scheduler-cell k-heading-cell">
268
+ {{ day | kendoDate: 'EEEE' }}
269
+ </th>
270
+ </ng-container>
271
+ </tr>
272
+ </tbody>
273
+ </table>
340
274
  </div>
275
+ </div>
276
+ </td>
277
+ </tr>
278
+ <tr class="k-scheduler-body">
279
+ <td *ngIf="verticalResources.length">
280
+ <div class="k-scheduler-times k-scheduler-resources" #times>
281
+ <table class="k-scheduler-table" #timesTable aria-hidden="true">
282
+ <tbody>
283
+ <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex">
284
+ <tr>
285
+ <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex">
286
+ <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-heading-cell" [ngClass]="{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }">
287
+ <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>
288
+ <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"
289
+ [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>
290
+ </th>
291
+ </ng-container>
292
+ <th class="k-slot-cell k-heading-cell k-empty-slot">
293
+ </th>
294
+ </tr>
295
+ <tr *ngFor="let index of (numberOfWeeks - 1) | repeat; trackBy: itemIndex">
296
+ <th class="k-slot-cell k-heading-cell k-empty-slot"></th>
297
+ </tr>
298
+ </ng-container>
299
+ </tbody>
300
+ </table>
301
+ </div>
302
+ </td>
303
+ <td>
304
+ <div
305
+ class="k-scheduler-content"
306
+ tabindex="0"
307
+ #content
308
+ role="group"
309
+ [attr.aria-owns]="matchOwned(items | async)"
310
+ [style.overflowY]="'auto'">
311
+ <!-- Main content -->
312
+ <table class="k-scheduler-table" #contentTable role="presentation">
313
+ <tbody>
314
+ <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex">
315
+ <tr *ngFor="let week of weeks; let rangeIndex = index; trackBy: itemIndex">
316
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex">
317
+ <td *ngFor="let day of week; let index = index; trackBy: itemIndex"
318
+ [monthSlot]="day"
319
+ [monthDaySlotTemplateRef]="monthDaySlotTemplateRef"
320
+ [resourcesByIndex]="resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)"
321
+ [ngClass]="daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)"
322
+ [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
323
+ [title]="cellTitle(day)"
324
+ [class.k-selected]="isSlotSelected({
325
+ start: toPlainDate(day),
326
+ end: addDay(toPlainDate(day)),
327
+ isAllDay: true,
328
+ resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
329
+ })"
330
+ class="k-scheduler-cell"
331
+ [ngClass]="{'k-other-month': isDayInPreviousMonth(day) || isDayInNextMonth(day)}"
332
+ >
333
+ </td>
334
+ </ng-container>
335
+ </tr>
336
+ </ng-container>
337
+ </tbody>
338
+ </table>
339
+ <ng-container *ngFor="let item of items | async; trackBy: itemIndex">
340
+ <div *ngFor="let itemResource of item.resources; trackBy: itemIndex"
341
+ [ngClass]="getEventClasses(item, itemResource.resources)"
342
+ [ngStyle]="getEventStyles(item, itemResource)"
343
+ role="button"
344
+ [kendoSchedulerFocusIndex]="itemResource.leafIdx"
345
+ [id]="item.elementId + '_' + itemResource.leafIdx"
346
+ monthViewItem
347
+ [editable]="editable"
348
+ [item]="item"
349
+ [index]="item.index"
350
+ [rangeIndex]="item.rangeIndex"
351
+ [eventTemplate]="eventTemplateRef"
352
+ [resources]="itemResource.resources"
353
+ [resourceIndex]="itemResource.leafIdx">
354
+ </div>
355
+ </ng-container>
356
+ <kendo-hint-container #hintContainer>
357
+ <ng-template>
358
+ <div *ngFor="let hint of dragHints; trackBy: itemIndex;"
359
+ class="k-event-drag-hint"
360
+ monthViewItem
361
+ [ngStyle]="hint.style"
362
+ [ngClass]="hint.class"
363
+ [dragHint]="true"
364
+ [eventTemplate]="eventTemplateRef"
365
+ [item]="hint.item"
366
+ [resources]="hint.resources">
367
+ </div>
341
368
 
342
- <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"
343
- kendoResizeHint
344
- [hint]="hint"
345
- [ngClass]="hint.class"
346
- [format]="resizeHintFormat">
347
- </div>
348
- </ng-template>
349
- </kendo-hint-container>
350
- </div>
351
- </div>
352
- </div>
353
- `, isInline: true, components: [{ type: i8.MonthSlotComponent, selector: "[monthSlot]", inputs: ["resourcesByIndex", "monthDaySlotTemplateRef", "monthSlot"] }, { type: i9.MonthViewItemComponent, selector: "[monthViewItem]" }, { type: i10.HintContainerComponent, selector: "kendo-hint-container" }, { type: i11.ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }], directives: [{ type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i13.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }], pipes: { "resourceIterator": i14.ResourceIteratorPipe, "kendoDate": i3.DatePipe, "repeat": i15.RepeatPipe, "async": i12.AsyncPipe } });
354
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MonthViewRendererComponent, decorators: [{
369
+ <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"
370
+ kendoResizeHint
371
+ [hint]="hint"
372
+ [ngClass]="hint.class"
373
+ [format]="resizeHintFormat">
374
+ </div>
375
+ </ng-template>
376
+ </kendo-hint-container>
377
+ </div>
378
+ </td>
379
+ </tr>
380
+ </tbody>
381
+ </table>
382
+ `, 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: "component", type: i12.MonthViewItemComponent, selector: "[monthViewItem]" }, { kind: "component", type: i13.MonthSlotComponent, selector: "[monthSlot]", inputs: ["resourcesByIndex", "monthDaySlotTemplateRef", "monthSlot"] }, { kind: "pipe", type: i14.RepeatPipe, name: "repeat" }, { kind: "pipe", type: i15.ResourceIteratorPipe, name: "resourceIterator" }, { kind: "pipe", type: i3.DatePipe, name: "kendoDate" }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }] });
383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthViewRendererComponent, decorators: [{
355
384
  type: Component,
356
385
  args: [{
357
386
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -360,129 +389,150 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
360
389
  MonthSlotService
361
390
  ],
362
391
  template: `
363
- <div class="k-scheduler-layout k-scheduler-monthview k-scheduler-flex-layout">
364
- <div class="k-scheduler-pane">
365
- <div class="k-scheduler-times" #timesHeader *ngIf="verticalResources.length">
366
- <table class="k-scheduler-table" aria-hidden="true">
367
- <tr>
368
- <th></th>
369
- </tr>
370
- </table>
371
- </div>
372
- <div class="k-scheduler-header k-state-default" #header>
373
- <div class="k-scheduler-header-wrap" #headerWrap>
374
- <!-- Days of the weeks titles -->
375
- <table class="k-scheduler-table" aria-hidden="true">
376
- <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex">
377
- <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex"
378
- class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
379
- <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>
380
- <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>
381
- </th>
382
- </tr>
383
- <tr>
384
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex">
385
- <th *ngFor="let day of weeks[0]; trackBy: itemIndex">
386
- {{ day | kendoDate: 'EEEE' }}
387
- </th>
388
- </ng-container>
389
- </tr>
390
- </table>
391
- </div>
392
- </div>
393
- </div>
394
- <div class="k-scheduler-pane">
395
- <div class="k-scheduler-times k-scheduler-resources" #times *ngIf="verticalResources.length">
396
- <table class="k-scheduler-table" #timesTable aria-hidden="true">
397
- <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex">
398
- <tr>
399
- <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex">
400
- <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell" [ngClass]="{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }">
401
- <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>
402
- <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"
403
- [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>
404
- </th>
405
- </ng-container>
406
- <th class="k-slot-cell k-empty-slot">
407
- </th>
408
- </tr>
409
- <tr *ngFor="let index of (numberOfWeeks - 1) | repeat; trackBy: itemIndex">
410
- <th class="k-slot-cell k-empty-slot"></th>
411
- </tr>
412
- </ng-container>
413
- </table>
414
- </div>
415
- <div
416
- class="k-scheduler-content"
417
- tabindex="0"
418
- #content
419
- role="group"
420
- [attr.aria-owns]="matchOwned(items | async)">
421
- <!-- Main content -->
422
- <table class="k-scheduler-table k-user-select-none" #contentTable role="presentation">
423
- <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex">
424
- <tr *ngFor="let week of weeks; let rangeIndex = index; trackBy: itemIndex">
425
- <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex">
426
- <td *ngFor="let day of week; let index = index; trackBy: itemIndex"
427
- [monthSlot]="day"
428
- [monthDaySlotTemplateRef]="monthDaySlotTemplateRef"
429
- [resourcesByIndex]="resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)"
430
- [ngClass]="daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)"
431
- [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
432
- [title]="cellTitle(day)"
433
- [class.k-selected]="isSlotSelected({
434
- start: toPlainDate(day),
435
- end: addDay(toPlainDate(day)),
436
- isAllDay: true,
437
- resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
438
- })"
439
- >
440
- </td>
441
- </ng-container>
442
- </tr>
443
- </ng-container>
444
- </table>
445
- <ng-container *ngFor="let item of items | async; trackBy: itemIndex">
446
- <div *ngFor="let itemResource of item.resources; trackBy: itemIndex"
447
- [ngClass]="getEventClasses(item, itemResource.resources)"
448
- [ngStyle]="getEventStyles(item, itemResource)"
449
- role="button"
450
- [kendoSchedulerFocusIndex]="itemResource.leafIdx"
451
- [id]="item.elementId + '_' + itemResource.leafIdx"
452
- monthViewItem
453
- [editable]="editable"
454
- [item]="item"
455
- [index]="item.index"
456
- [rangeIndex]="item.rangeIndex"
457
- [eventTemplate]="eventTemplateRef"
458
- [resources]="itemResource.resources"
459
- [resourceIndex]="itemResource.leafIdx">
460
- </div>
461
- </ng-container>
462
- <kendo-hint-container #hintContainer>
463
- <ng-template>
464
- <div *ngFor="let hint of dragHints; trackBy: itemIndex;"
465
- class="k-event-drag-hint"
466
- monthViewItem
467
- [ngStyle]="hint.style"
468
- [ngClass]="hint.class"
469
- [dragHint]="true"
470
- [eventTemplate]="eventTemplateRef"
471
- [item]="hint.item"
472
- [resources]="hint.resources">
392
+ <table class="k-scheduler-layout k-scheduler-monthview">
393
+ <tbody>
394
+ <tr class="k-scheduler-head">
395
+ <td *ngIf="verticalResources.length">
396
+ <div class="k-scheduler-times" #timesHeader *ngIf="verticalResources.length">
397
+ <table class="k-scheduler-table" aria-hidden="true">
398
+ <tbody>
399
+ <tr>
400
+ <th class="k-scheduler-cell k-heading-cell"></th>
401
+ </tr>
402
+ </tbody>
403
+ </table>
404
+ </div>
405
+ </td>
406
+ <td>
407
+ <div class="k-scheduler-header" #header>
408
+ <div class="k-scheduler-header-wrap" #headerWrap>
409
+ <!-- Days of the weeks titles -->
410
+ <table class="k-scheduler-table" aria-hidden="true">
411
+ <tbody>
412
+ <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex">
413
+ <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex"
414
+ class="k-scheduler-cell k-heading-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
415
+ <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>
416
+ <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>
417
+ </th>
418
+ </tr>
419
+ <tr>
420
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex">
421
+ <th *ngFor="let day of weeks[0]; trackBy: itemIndex" class="k-scheduler-cell k-heading-cell">
422
+ {{ day | kendoDate: 'EEEE' }}
423
+ </th>
424
+ </ng-container>
425
+ </tr>
426
+ </tbody>
427
+ </table>
473
428
  </div>
429
+ </div>
430
+ </td>
431
+ </tr>
432
+ <tr class="k-scheduler-body">
433
+ <td *ngIf="verticalResources.length">
434
+ <div class="k-scheduler-times k-scheduler-resources" #times>
435
+ <table class="k-scheduler-table" #timesTable aria-hidden="true">
436
+ <tbody>
437
+ <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex">
438
+ <tr>
439
+ <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex">
440
+ <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-heading-cell" [ngClass]="{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }">
441
+ <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>
442
+ <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"
443
+ [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>
444
+ </th>
445
+ </ng-container>
446
+ <th class="k-slot-cell k-heading-cell k-empty-slot">
447
+ </th>
448
+ </tr>
449
+ <tr *ngFor="let index of (numberOfWeeks - 1) | repeat; trackBy: itemIndex">
450
+ <th class="k-slot-cell k-heading-cell k-empty-slot"></th>
451
+ </tr>
452
+ </ng-container>
453
+ </tbody>
454
+ </table>
455
+ </div>
456
+ </td>
457
+ <td>
458
+ <div
459
+ class="k-scheduler-content"
460
+ tabindex="0"
461
+ #content
462
+ role="group"
463
+ [attr.aria-owns]="matchOwned(items | async)"
464
+ [style.overflowY]="'auto'">
465
+ <!-- Main content -->
466
+ <table class="k-scheduler-table" #contentTable role="presentation">
467
+ <tbody>
468
+ <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex">
469
+ <tr *ngFor="let week of weeks; let rangeIndex = index; trackBy: itemIndex">
470
+ <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex">
471
+ <td *ngFor="let day of week; let index = index; trackBy: itemIndex"
472
+ [monthSlot]="day"
473
+ [monthDaySlotTemplateRef]="monthDaySlotTemplateRef"
474
+ [resourcesByIndex]="resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)"
475
+ [ngClass]="daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)"
476
+ [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
477
+ [title]="cellTitle(day)"
478
+ [class.k-selected]="isSlotSelected({
479
+ start: toPlainDate(day),
480
+ end: addDay(toPlainDate(day)),
481
+ isAllDay: true,
482
+ resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
483
+ })"
484
+ class="k-scheduler-cell"
485
+ [ngClass]="{'k-other-month': isDayInPreviousMonth(day) || isDayInNextMonth(day)}"
486
+ >
487
+ </td>
488
+ </ng-container>
489
+ </tr>
490
+ </ng-container>
491
+ </tbody>
492
+ </table>
493
+ <ng-container *ngFor="let item of items | async; trackBy: itemIndex">
494
+ <div *ngFor="let itemResource of item.resources; trackBy: itemIndex"
495
+ [ngClass]="getEventClasses(item, itemResource.resources)"
496
+ [ngStyle]="getEventStyles(item, itemResource)"
497
+ role="button"
498
+ [kendoSchedulerFocusIndex]="itemResource.leafIdx"
499
+ [id]="item.elementId + '_' + itemResource.leafIdx"
500
+ monthViewItem
501
+ [editable]="editable"
502
+ [item]="item"
503
+ [index]="item.index"
504
+ [rangeIndex]="item.rangeIndex"
505
+ [eventTemplate]="eventTemplateRef"
506
+ [resources]="itemResource.resources"
507
+ [resourceIndex]="itemResource.leafIdx">
508
+ </div>
509
+ </ng-container>
510
+ <kendo-hint-container #hintContainer>
511
+ <ng-template>
512
+ <div *ngFor="let hint of dragHints; trackBy: itemIndex;"
513
+ class="k-event-drag-hint"
514
+ monthViewItem
515
+ [ngStyle]="hint.style"
516
+ [ngClass]="hint.class"
517
+ [dragHint]="true"
518
+ [eventTemplate]="eventTemplateRef"
519
+ [item]="hint.item"
520
+ [resources]="hint.resources">
521
+ </div>
474
522
 
475
- <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"
476
- kendoResizeHint
477
- [hint]="hint"
478
- [ngClass]="hint.class"
479
- [format]="resizeHintFormat">
480
- </div>
481
- </ng-template>
482
- </kendo-hint-container>
483
- </div>
484
- </div>
485
- </div>
523
+ <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"
524
+ kendoResizeHint
525
+ [hint]="hint"
526
+ [ngClass]="hint.class"
527
+ [format]="resizeHintFormat">
528
+ </div>
529
+ </ng-template>
530
+ </kendo-hint-container>
531
+ </div>
532
+ </td>
533
+ </tr>
534
+ </tbody>
535
+ </table>
486
536
  `
487
537
  }]
488
538
  }], ctorParameters: function () { return [{ type: i1.ViewContextService }, { type: i2.ViewStateService }, { type: i3.IntlService }, { type: i4.MonthSlotService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i5.PDFService }, { type: i6.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i7.ScrollbarWidthService }]; }, propDecorators: { monthDaySlotTemplate: [{