@progress/kendo-angular-scheduler 4.3.5-dev.202210121134 → 4.3.5-dev.202210191536

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.
@@ -30,10 +30,6 @@ export declare const wheelDeltaY: (e: any) => any;
30
30
  * @hidden
31
31
  */
32
32
  export declare const preventLockedScroll: (el: any) => (event: any) => void;
33
- /**
34
- * @hidden
35
- */
36
- export declare function scrollbarWidth(): number;
37
33
  /**
38
34
  * @hidden
39
35
  */
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { isDocumentAvailable } from '@progress/kendo-angular-common';
5
+ import { getScrollbarWidth } from '@progress/kendo-angular-common';
6
6
  // TODO: Move to @progress/kendo-common
7
7
  const toClassList = (classNames) => String(classNames).trim().split(' ');
8
8
  /**
@@ -72,27 +72,12 @@ export const preventLockedScroll = el => event => {
72
72
  event.preventDefault();
73
73
  }
74
74
  };
75
- let cachedScrollbarWidth = 0;
76
- /**
77
- * @hidden
78
- */
79
- export function scrollbarWidth() {
80
- if (!cachedScrollbarWidth && isDocumentAvailable()) {
81
- const div = document.createElement("div");
82
- div.style.cssText = "overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block";
83
- div.innerHTML = " ";
84
- document.body.appendChild(div);
85
- cachedScrollbarWidth = div.offsetWidth - div.scrollWidth;
86
- document.body.removeChild(div);
87
- }
88
- return cachedScrollbarWidth;
89
- }
90
75
  /**
91
76
  * @hidden
92
77
  */
93
78
  export function hasScrollbar(element, type) {
94
79
  const sizeField = type === 'vertical' ? 'Height' : 'Width';
95
- return element[`scroll${sizeField}`] > element[`client${sizeField}`];
80
+ return (element[`scroll${sizeField}`] > element[`client${sizeField}`]) && (getScrollbarWidth() > 0);
96
81
  }
97
82
  /**
98
83
  * @hidden
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-scheduler',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1665574386,
12
+ publishDate: 1666193700,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -7,7 +7,7 @@ import { anyChanged } from '@progress/kendo-angular-common';
7
7
  import { addDays, getDate } from '@progress/kendo-date-math';
8
8
  import { Subscription, BehaviorSubject, combineLatest, fromEvent, merge } from 'rxjs';
9
9
  import { switchMap, take, map } from 'rxjs/operators';
10
- import { scrollbarWidth, hasScrollbar, closestInScope, hasClasses } from '../../common/dom-queries';
10
+ import { hasScrollbar, closestInScope, hasClasses } from '../../common/dom-queries';
11
11
  import { createResourceGroups, groupEvents } from './utils';
12
12
  import { ignoreContentChild, elementOffset } from '../utils';
13
13
  import * as i0 from "@angular/core";
@@ -134,9 +134,11 @@ export class AgendaViewInternalComponent {
134
134
  height -= this.headerWrap ? headerElement.offsetHeight : 0;
135
135
  this.renderer.setStyle(content, 'height', `${height}px`);
136
136
  const rtl = this.localization.rtl;
137
- const padding = hasScrollbar(content, 'vertical') ? scrollbarWidth() : 0;
138
- this.renderer.setStyle(headerElement, !rtl ? 'padding-right' : 'padding-left', `${padding}px`);
139
- this.renderer.setStyle(headerElement, rtl ? 'padding-right' : 'padding-left', '0px');
137
+ // Need to explicitly set 'padding-inline-xxx' to 0px when the Scheduler has no height set
138
+ if (!hasScrollbar(content, 'vertical')) {
139
+ this.renderer.setStyle(headerElement, !rtl ? 'padding-inline-end' : 'padding-inline-start', '0px');
140
+ }
141
+ this.renderer.removeStyle(headerElement, rtl ? 'padding-inline-end' : 'padding-inline-start');
140
142
  this.viewState.notifyLayoutEnd();
141
143
  }
142
144
  ngOnDestroy() {
@@ -3,14 +3,13 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ViewChild, Input, Directive } from '@angular/core';
6
- import { anyChanged, guid } from '@progress/kendo-angular-common';
6
+ import { anyChanged, getScrollbarWidth, guid } from '@progress/kendo-angular-common';
7
7
  import { ZonedDate } from '@progress/kendo-date-math';
8
8
  import { Subscription, BehaviorSubject, combineLatest, fromEvent, merge } from 'rxjs';
9
9
  import { switchMap, take, map, filter, tap } from 'rxjs/operators';
10
- import { closestInScope, hasClasses, preventLockedScroll, scrollbarWidth, wheelDeltaY, hasScrollbar } from '../../common/dom-queries';
10
+ import { closestInScope, hasClasses, preventLockedScroll, wheelDeltaY, hasScrollbar } from '../../common/dom-queries';
11
11
  import { groupResources, getField, setField, fromClick, fromDoubleClick } from '../../common/util';
12
12
  import { assignTasksResources, toPx, elementOffset, pointDistance, ignoreContentChild, resourceItemByValue, convertNgClassBindings, toUTCDateTime, dateWithTime, normaliseRangeStartAndEnd } from '../utils';
13
- import { BORDER_WIDTH } from '../constants';
14
13
  import { Draggable } from '@progress/kendo-draggable';
15
14
  import { slotDragEventName } from '../../types/slot-selection';
16
15
  import { SlotDragStartEvent } from '../../events/slot-drag-start-event';
@@ -21,13 +20,14 @@ import * as i3 from "@progress/kendo-angular-intl";
21
20
  import * as i4 from "../view-items/base-slot.service";
22
21
  import * as i5 from "../../pdf/pdf.service";
23
22
  import * as i6 from "@progress/kendo-angular-l10n";
23
+ import * as i7 from "@progress/kendo-angular-common";
24
24
  const SCROLL_CHANGE = 15;
25
25
  const MIN_DISTANCE = 60;
26
26
  const SCROLL_INTERVAL = 50;
27
27
  const MIN_MOVE_DISTANCE = 10;
28
28
  /** @hidden */
29
29
  export class BaseView {
30
- constructor(viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, cdr) {
30
+ constructor(viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, cdr, scrollBarWidthService) {
31
31
  this.viewContext = viewContext;
32
32
  this.viewState = viewState;
33
33
  this.intl = intl;
@@ -38,6 +38,7 @@ export class BaseView {
38
38
  this.pdfService = pdfService;
39
39
  this.localization = localization;
40
40
  this.cdr = cdr;
41
+ this.scrollBarWidthService = scrollBarWidthService;
41
42
  /**
42
43
  * The non-all-day events.
43
44
  */
@@ -825,15 +826,16 @@ export class BaseView {
825
826
  if (this.timesTable) {
826
827
  this.renderer.setStyle(this.timesTable.nativeElement, 'height', `${this.contentTable.nativeElement.offsetHeight}px`);
827
828
  }
828
- if (this.header) {
829
- this.renderer.setStyle(this.header.nativeElement, !this.localization.rtl ? 'padding-right' : 'padding-left', `${hasScrollbar(this.content.nativeElement, 'vertical') ? scrollbarWidth() - BORDER_WIDTH : 0}px`);
830
- this.renderer.setStyle(this.header.nativeElement, this.localization.rtl ? 'padding-right' : 'padding-left', '0px');
829
+ // Need to explicitly set 'padding-inline-xxx' to 0px when the Scheduler has no height set
830
+ if (!hasScrollbar(this.content.nativeElement, 'vertical')) {
831
+ this.renderer.setStyle(this.header.nativeElement, !this.localization.rtl ? 'padding-inline-end' : 'padding-inline-start', '0px');
831
832
  }
833
+ this.renderer.removeStyle(this.header.nativeElement, this.localization.rtl ? 'padding-inline-end' : 'padding-inline-start');
832
834
  if (this.times) {
833
835
  const times = this.times.nativeElement;
834
836
  this.timesHeader.nativeElement.style.width = `${times.offsetWidth}px`;
835
837
  const contentHeight = this.contentHeight === 'auto' ? this.content.nativeElement.offsetHeight : this.contentHeight;
836
- this.renderer.setStyle(times, 'height', `${contentHeight - (hasScrollbar(this.content.nativeElement, 'horizontal') ? scrollbarWidth() : 0)}px`);
838
+ this.renderer.setStyle(times, 'height', `${contentHeight - (hasScrollbar(this.content.nativeElement, 'horizontal') ? getScrollbarWidth() : 0)}px`);
837
839
  times.scrollTop = this.content.nativeElement.scrollTop;
838
840
  }
839
841
  }
@@ -960,11 +962,11 @@ export class BaseView {
960
962
  };
961
963
  }
962
964
  }
963
- BaseView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseView, deps: [{ token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i4.BaseSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.PDFService }, { token: i6.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
965
+ BaseView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseView, deps: [{ token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i4.BaseSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.PDFService }, { token: i6.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i7.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Directive });
964
966
  BaseView.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: BaseView, inputs: { еventTemplate: "\u0435ventTemplate", groupHeaderTemplate: "groupHeaderTemplate", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", eventHeight: "eventHeight", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", weekStart: "weekStart" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "contentTable", first: true, predicate: ["contentTable"], descendants: true }, { propertyName: "times", first: true, predicate: ["times"], descendants: true }, { propertyName: "timesHeader", first: true, predicate: ["timesHeader"], descendants: true }, { propertyName: "timesTable", first: true, predicate: ["timesTable"], descendants: true }, { propertyName: "headerWrap", first: true, predicate: ["headerWrap"], descendants: true }, { propertyName: "hintContainer", first: true, predicate: ["hintContainer"], descendants: true }], usesOnChanges: true, ngImport: i0 });
965
967
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseView, decorators: [{
966
968
  type: Directive
967
- }], ctorParameters: function () { return [{ type: i1.ViewContextService }, { type: i2.ViewStateService }, { type: i3.IntlService }, { type: i4.BaseSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i5.PDFService }, { type: i6.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { еventTemplate: [{
969
+ }], ctorParameters: function () { return [{ type: i1.ViewContextService }, { type: i2.ViewStateService }, { type: i3.IntlService }, { type: i4.BaseSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i5.PDFService }, { type: i6.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i7.ScrollbarWidthService }]; }, propDecorators: { еventTemplate: [{
968
970
  type: Input
969
971
  }], groupHeaderTemplate: [{
970
972
  type: Input
@@ -21,6 +21,7 @@ import * as i4 from "./day-time-slot.service";
21
21
  import * as i5 from "../../pdf/pdf.service";
22
22
  import * as i6 from "@progress/kendo-angular-l10n";
23
23
  import * as i7 from "../../navigation";
24
+ import * as i8 from "@progress/kendo-angular-common";
24
25
  const getStartDate = date => getDate(date);
25
26
  const getEndDate = (start, numberOfDays) => getDate(addDays(start, numberOfDays || 1));
26
27
  const getNextDate = (date, count, numberOfDays) => getDate(addDays(date, numberOfDays * count));
@@ -28,8 +29,8 @@ const getNextDate = (date, count, numberOfDays) => getDate(addDays(date, numberO
28
29
  * @hidden
29
30
  */
30
31
  export class DayTimeViewComponent extends BaseView {
31
- constructor(changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, focusService) {
32
- super(viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, changeDetector);
32
+ constructor(changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, focusService, scrollBarWidthService) {
33
+ super(viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, changeDetector, scrollBarWidthService);
33
34
  this.changeDetector = changeDetector;
34
35
  this.focusService = focusService;
35
36
  this.numberOfDays = 1;
@@ -334,12 +335,12 @@ export class DayTimeViewComponent extends BaseView {
334
335
  return fields;
335
336
  }
336
337
  }
337
- DayTimeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i4.DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.PDFService }, { token: i6.LocalizationService }, { token: i7.FocusService }], target: i0.ɵɵFactoryTarget.Component });
338
+ DayTimeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i4.DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.PDFService }, { token: i6.LocalizationService }, { token: i7.FocusService }, { token: i8.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
338
339
  DayTimeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DayTimeViewComponent, selector: "kendo-day-time-view", inputs: { timeSlotTemplate: "timeSlotTemplate", dateHeaderTemplate: "dateHeaderTemplate", numberOfDays: "numberOfDays", scrollTime: "scrollTime", startTime: "startTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", slotDuration: "slotDuration", slotDivisions: "slotDivisions", showWorkHours: "showWorkHours", getStartDate: "getStartDate", getEndDate: "getEndDate", getNextDate: "getNextDate", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents" }, viewQueries: [{ propertyName: "currentTimeElements", predicate: ["currentTimeMarker"], descendants: true }, { propertyName: "eventElements", predicate: DayTimeViewItemComponent, descendants: true }, { propertyName: "currentTimeArrows", predicate: ["currentTimeArrow"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
339
340
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewComponent, decorators: [{
340
341
  type: Component,
341
342
  args: [{ selector: 'kendo-day-time-view', template: '' }]
342
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ViewContextService }, { type: i2.ViewStateService }, { type: i3.IntlService }, { type: i4.DayTimeSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i5.PDFService }, { type: i6.LocalizationService }, { type: i7.FocusService }]; }, propDecorators: { timeSlotTemplate: [{
343
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ViewContextService }, { type: i2.ViewStateService }, { type: i3.IntlService }, { type: i4.DayTimeSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i5.PDFService }, { type: i6.LocalizationService }, { type: i7.FocusService }, { type: i8.ScrollbarWidthService }]; }, propDecorators: { timeSlotTemplate: [{
343
344
  type: Input
344
345
  }], dateHeaderTemplate: [{
345
346
  type: Input
@@ -21,20 +21,21 @@ import * as i4 from "./month-slot.service";
21
21
  import * as i5 from "../../pdf/pdf.service";
22
22
  import * as i6 from "@progress/kendo-angular-l10n";
23
23
  import * as i7 from "../../navigation";
24
- import * as i8 from "./month-view-item.component";
25
- import * as i9 from "../common/hint-container.component";
26
- import * as i10 from "../common/resize-hint.component";
27
- import * as i11 from "@angular/common";
28
- import * as i12 from "./month-slot.directive";
29
- import * as i13 from "../../navigation/focusable.directive";
30
- import * as i14 from "../common/resource-iterator.pipe";
31
- import * as i15 from "../common/repeat.pipe";
24
+ import * as i8 from "@progress/kendo-angular-common";
25
+ import * as i9 from "./month-view-item.component";
26
+ import * as i10 from "../common/hint-container.component";
27
+ import * as i11 from "../common/resize-hint.component";
28
+ import * as i12 from "@angular/common";
29
+ import * as i13 from "./month-slot.directive";
30
+ import * as i14 from "../../navigation/focusable.directive";
31
+ import * as i15 from "../common/resource-iterator.pipe";
32
+ import * as i16 from "../common/repeat.pipe";
32
33
  /**
33
34
  * @hidden
34
35
  */
35
36
  export class MonthViewRendererComponent extends BaseView {
36
- constructor(viewContext, viewState, intl, slotService, zone, element, renderer, pdfService, localization, changeDetector, focusService) {
37
- super(viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, changeDetector);
37
+ constructor(viewContext, viewState, intl, slotService, zone, element, renderer, pdfService, localization, changeDetector, focusService, scrollBarWidthService) {
38
+ super(viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, changeDetector, scrollBarWidthService);
38
39
  this.focusService = focusService;
39
40
  this.resizeHintFormat = { skeleton: 'Md' };
40
41
  this.weeks = [];
@@ -221,7 +222,7 @@ export class MonthViewRendererComponent extends BaseView {
221
222
  return weeks;
222
223
  }
223
224
  }
224
- MonthViewRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", 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.FocusService }], target: i0.ɵɵFactoryTarget.Component });
225
+ MonthViewRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", 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.FocusService }, { token: i8.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
225
226
  MonthViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MonthViewRendererComponent, selector: "month-view", inputs: { monthDaySlotTemplate: "monthDaySlotTemplate", highlightOngoingEvents: "highlightOngoingEvents" }, providers: [
226
227
  MonthSlotService
227
228
  ], viewQueries: [{ propertyName: "eventElements", predicate: MonthViewItemComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
@@ -343,7 +344,7 @@ MonthViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
343
344
  </div>
344
345
  </div>
345
346
  </div>
346
- `, isInline: true, components: [{ type: i8.MonthViewItemComponent, selector: "[monthViewItem]" }, { type: i9.HintContainerComponent, selector: "kendo-hint-container" }, { type: i10.ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.MonthSlotDirective, selector: "[monthSlot]", inputs: ["start"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i13.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex"] }], pipes: { "resourceIterator": i14.ResourceIteratorPipe, "kendoDate": i3.DatePipe, "repeat": i15.RepeatPipe, "async": i11.AsyncPipe } });
347
+ `, isInline: true, components: [{ 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: i13.MonthSlotDirective, selector: "[monthSlot]", inputs: ["start"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i14.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex"] }], pipes: { "resourceIterator": i15.ResourceIteratorPipe, "kendoDate": i3.DatePipe, "repeat": i16.RepeatPipe, "async": i12.AsyncPipe } });
347
348
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MonthViewRendererComponent, decorators: [{
348
349
  type: Component,
349
350
  args: [{
@@ -473,7 +474,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
473
474
  </div>
474
475
  `
475
476
  }]
476
- }], 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.FocusService }]; }, propDecorators: { monthDaySlotTemplate: [{
477
+ }], 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.FocusService }, { type: i8.ScrollbarWidthService }]; }, propDecorators: { monthDaySlotTemplate: [{
477
478
  type: Input
478
479
  }], highlightOngoingEvents: [{
479
480
  type: Input
@@ -17,19 +17,20 @@ import * as i4 from "@progress/kendo-angular-intl";
17
17
  import * as i5 from "../day-time/day-time-slot.service";
18
18
  import * as i6 from "../../pdf/pdf.service";
19
19
  import * as i7 from "../../navigation";
20
- import * as i8 from "../day-time/day-time-view-item.component";
21
- import * as i9 from "../common/hint-container.component";
22
- import * as i10 from "../common/resize-hint.component";
23
- import * as i11 from "@angular/common";
24
- import * as i12 from "../day-time/event-slot.directive";
25
- import * as i13 from "../../navigation/focusable.directive";
26
- import * as i14 from "../common/resource-iterator.pipe";
20
+ import * as i8 from "@progress/kendo-angular-common";
21
+ import * as i9 from "../day-time/day-time-view-item.component";
22
+ import * as i10 from "../common/hint-container.component";
23
+ import * as i11 from "../common/resize-hint.component";
24
+ import * as i12 from "@angular/common";
25
+ import * as i13 from "../day-time/event-slot.directive";
26
+ import * as i14 from "../../navigation/focusable.directive";
27
+ import * as i15 from "../common/resource-iterator.pipe";
27
28
  /**
28
29
  * @hidden
29
30
  */
30
31
  export class MultiDayViewRendererComponent extends DayTimeViewComponent {
31
- constructor(localization, viewContext, viewState, intl, slotService, zone, renderer, element, changeDetector, pdfService, focusService) {
32
- super(changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, focusService);
32
+ constructor(localization, viewContext, viewState, intl, slotService, zone, renderer, element, changeDetector, pdfService, focusService, scrollbarWidthService) {
33
+ super(changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, focusService, scrollbarWidthService);
33
34
  this.name = 'day';
34
35
  this.dateFormat = { skeleton: 'MEd' };
35
36
  this.allDayResizeHintFormat = { skeleton: 'Md' };
@@ -240,7 +241,7 @@ export class MultiDayViewRendererComponent extends DayTimeViewComponent {
240
241
  return 0;
241
242
  }
242
243
  }
243
- MultiDayViewRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", 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.FocusService }], target: i0.ɵɵFactoryTarget.Component });
244
+ MultiDayViewRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", 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.FocusService }, { token: i8.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
244
245
  MultiDayViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: { name: "name", slotFill: "slotFill", allDaySlotTemplate: "allDaySlotTemplate", allDayEventTemplate: "allDayEventTemplate", minorTimeHeaderTemplate: "minorTimeHeaderTemplate", majorTimeHeaderTemplate: "majorTimeHeaderTemplate" }, providers: [
245
246
  DayTimeSlotService
246
247
  ], viewQueries: [{ propertyName: "headerHintContainer", first: true, predicate: ["headerHintContainer"], descendants: true }, { propertyName: "dayCells", predicate: ["allDayCell"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
@@ -252,7 +253,7 @@ MultiDayViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
252
253
  <th></th>
253
254
  </tr>
254
255
  <tr>
255
- <th>​</th>
256
+ <th [style.height]="'auto'">​</th>
256
257
  </tr>
257
258
  <tr *ngIf="!verticalResources.length">
258
259
  <th class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>
@@ -494,7 +495,7 @@ MultiDayViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
494
495
  </div>
495
496
  </div>
496
497
  </div>
497
- `, 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"] }, { 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 } });
498
+ `, isInline: true, components: [{ type: i9.DayTimeViewItemComponent, selector: "[dayTimeViewItem]", inputs: ["vertical", "isAllDay"] }, { type: i10.HintContainerComponent, selector: "kendo-hint-container" }, { type: i11.ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }], directives: [{ type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i13.DaySlotDirective, selector: "[daySlot]", inputs: ["start", "end"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i14.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex"] }, { type: i13.TimeSlotDirective, selector: "[timeSlot]", inputs: ["invariantStart", "invariantEnd", "workDayStart", "workDayEnd", "workWeekStart", "workWeekEnd", "date"], exportAs: ["timeSlot"] }], pipes: { "resourceIterator": i15.ResourceIteratorPipe, "kendoDate": i4.DatePipe, "async": i12.AsyncPipe } });
498
499
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MultiDayViewRendererComponent, decorators: [{
499
500
  type: Component,
500
501
  args: [{
@@ -512,7 +513,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
512
513
  <th></th>
513
514
  </tr>
514
515
  <tr>
515
- <th>​</th>
516
+ <th [style.height]="'auto'">​</th>
516
517
  </tr>
517
518
  <tr *ngIf="!verticalResources.length">
518
519
  <th class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>
@@ -756,7 +757,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
756
757
  </div>
757
758
  `
758
759
  }]
759
- }], 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.FocusService }]; }, propDecorators: { name: [{
760
+ }], 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.FocusService }, { type: i8.ScrollbarWidthService }]; }, propDecorators: { name: [{
760
761
  type: Input
761
762
  }], slotFill: [{
762
763
  type: Input
@@ -15,20 +15,21 @@ import * as i4 from "@progress/kendo-angular-intl";
15
15
  import * as i5 from "../day-time/day-time-slot.service";
16
16
  import * as i6 from "../../pdf/pdf.service";
17
17
  import * as i7 from "../../navigation";
18
- import * as i8 from "../day-time/day-time-view-item.component";
19
- import * as i9 from "../common/hint-container.component";
20
- import * as i10 from "../common/resize-hint.component";
21
- import * as i11 from "@angular/common";
22
- import * as i12 from "../day-time/event-slot.directive";
23
- import * as i13 from "../../navigation/focusable.directive";
24
- import * as i14 from "../common/resource-iterator.pipe";
25
- import * as i15 from "../common/repeat.pipe";
18
+ import * as i8 from "@progress/kendo-angular-common";
19
+ import * as i9 from "../day-time/day-time-view-item.component";
20
+ import * as i10 from "../common/hint-container.component";
21
+ import * as i11 from "../common/resize-hint.component";
22
+ import * as i12 from "@angular/common";
23
+ import * as i13 from "../day-time/event-slot.directive";
24
+ import * as i14 from "../../navigation/focusable.directive";
25
+ import * as i15 from "../common/resource-iterator.pipe";
26
+ import * as i16 from "../common/repeat.pipe";
26
27
  /**
27
28
  * @hidden
28
29
  */
29
30
  export class TimelineMultiDayViewComponent extends DayTimeViewComponent {
30
- constructor(localization, changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, focusService) {
31
- super(changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, focusService);
31
+ constructor(localization, changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, focusService, scrollBarWidthService) {
32
+ super(changeDetector, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, focusService, scrollBarWidthService);
32
33
  this.name = 'timeline';
33
34
  this.columnWidth = 100;
34
35
  this.viewName = 'timeline';
@@ -116,7 +117,7 @@ export class TimelineMultiDayViewComponent extends DayTimeViewComponent {
116
117
  return this.headerWrap.nativeElement.querySelector('tr:last-child').offsetTop;
117
118
  }
118
119
  }
119
- TimelineMultiDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMultiDayViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }, { token: i4.IntlService }, { token: i5.DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i6.PDFService }, { token: i7.FocusService }], target: i0.ɵɵFactoryTarget.Component });
120
+ TimelineMultiDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMultiDayViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }, { token: i4.IntlService }, { token: i5.DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i6.PDFService }, { token: i7.FocusService }, { token: i8.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
120
121
  TimelineMultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: { name: "name", columnWidth: "columnWidth", viewName: "viewName" }, providers: [
121
122
  DayTimeSlotService
122
123
  ], viewQueries: [{ propertyName: "verticalResourceRows", predicate: ["verticalResourceRows"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
@@ -124,7 +125,7 @@ TimelineMultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
124
125
  <div class="k-scheduler-pane">
125
126
  <div class="k-scheduler-times" #timesHeader>
126
127
  <table class="k-scheduler-table" aria-hidden="true">
127
- <tr><th></th></tr>
128
+ <tr><th [style.height]="'auto'"></th></tr>
128
129
  <tr><th class="k-slot-cell"></th></tr>
129
130
  <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">
130
131
  <th></th>
@@ -278,7 +279,7 @@ TimelineMultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
278
279
  </div>
279
280
  </div>
280
281
  </div>
281
- `, isInline: true, components: [{ type: i8.DayTimeViewItemComponent, selector: "[dayTimeViewItem]", inputs: ["vertical", "isAllDay"] }, { type: i9.HintContainerComponent, selector: "kendo-hint-container" }, { type: i10.ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }], directives: [{ type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i11.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.TimeSlotDirective, selector: "[timeSlot]", inputs: ["invariantStart", "invariantEnd", "workDayStart", "workDayEnd", "workWeekStart", "workWeekEnd", "date"], exportAs: ["timeSlot"] }, { type: i13.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex"] }], pipes: { "resourceIterator": i14.ResourceIteratorPipe, "repeat": i15.RepeatPipe, "kendoDate": i4.DatePipe, "async": i11.AsyncPipe } });
282
+ `, isInline: true, components: [{ type: i9.DayTimeViewItemComponent, selector: "[dayTimeViewItem]", inputs: ["vertical", "isAllDay"] }, { type: i10.HintContainerComponent, selector: "kendo-hint-container" }, { type: i11.ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }], directives: [{ type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i12.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i13.TimeSlotDirective, selector: "[timeSlot]", inputs: ["invariantStart", "invariantEnd", "workDayStart", "workDayEnd", "workWeekStart", "workWeekEnd", "date"], exportAs: ["timeSlot"] }, { type: i14.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex"] }], pipes: { "resourceIterator": i15.ResourceIteratorPipe, "repeat": i16.RepeatPipe, "kendoDate": i4.DatePipe, "async": i12.AsyncPipe } });
282
283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMultiDayViewComponent, decorators: [{
283
284
  type: Component,
284
285
  args: [{
@@ -292,7 +293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
292
293
  <div class="k-scheduler-pane">
293
294
  <div class="k-scheduler-times" #timesHeader>
294
295
  <table class="k-scheduler-table" aria-hidden="true">
295
- <tr><th></th></tr>
296
+ <tr><th [style.height]="'auto'"></th></tr>
296
297
  <tr><th class="k-slot-cell"></th></tr>
297
298
  <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">
298
299
  <th></th>
@@ -448,7 +449,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
448
449
  </div>
449
450
  `
450
451
  }]
451
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }, { type: i4.IntlService }, { type: i5.DayTimeSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i6.PDFService }, { type: i7.FocusService }]; }, propDecorators: { name: [{
452
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }, { type: i4.IntlService }, { type: i5.DayTimeSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i6.PDFService }, { type: i7.FocusService }, { type: i8.ScrollbarWidthService }]; }, propDecorators: { name: [{
452
453
  type: Input
453
454
  }], columnWidth: [{
454
455
  type: Input