@progress/kendo-angular-scheduler 24.0.0-develop.32 → 24.0.0-develop.34
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.
- package/fesm2022/progress-kendo-angular-scheduler.mjs +203 -128
- package/loading.component.d.ts +1 -9
- package/package-metadata.mjs +2 -2
- package/package.json +15 -15
- package/scheduler.component.d.ts +4 -5
- package/schematics/ngAdd/index.js +3 -3
- package/toolbar/navigation.component.d.ts +0 -1
- package/views/common/base-view.d.ts +2 -0
- package/views/day-time/day-time-view.component.d.ts +3 -0
- package/views/month/month-view-renderer.component.d.ts +1 -0
- package/views/multi-day/multi-day-view-renderer.component.d.ts +1 -0
- package/views/timeline/timeline-multi-day-view.component.d.ts +1 -1
- package/views/utils.d.ts +2 -0
|
@@ -43,8 +43,8 @@ const packageMetadata = {
|
|
|
43
43
|
productName: 'Kendo UI for Angular',
|
|
44
44
|
productCode: 'KENDOUIANGULAR',
|
|
45
45
|
productCodes: ['KENDOUIANGULAR'],
|
|
46
|
-
publishDate:
|
|
47
|
-
version: '24.0.0-develop.
|
|
46
|
+
publishDate: 1779091829,
|
|
47
|
+
version: '24.0.0-develop.34',
|
|
48
48
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
49
49
|
};
|
|
50
50
|
|
|
@@ -2323,24 +2323,9 @@ class PDFExportEvent extends PreventableEvent {
|
|
|
2323
2323
|
* @hidden
|
|
2324
2324
|
*/
|
|
2325
2325
|
class LoadingComponent {
|
|
2326
|
-
element;
|
|
2327
|
-
renderer;
|
|
2328
2326
|
hostClasses = true;
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
return this.loading || this.force ? 'block' : 'none';
|
|
2332
|
-
}
|
|
2333
|
-
force;
|
|
2334
|
-
constructor(element, renderer) {
|
|
2335
|
-
this.element = element;
|
|
2336
|
-
this.renderer = renderer;
|
|
2337
|
-
}
|
|
2338
|
-
toggle(value) {
|
|
2339
|
-
this.force = value;
|
|
2340
|
-
this.renderer.setStyle(this.element.nativeElement, 'display', this.display);
|
|
2341
|
-
}
|
|
2342
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LoadingComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
2343
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LoadingComponent, isStandalone: true, selector: "[kendoSchedulerLoading]", inputs: { loading: "loading" }, host: { properties: { "class.k-loading-mask": "this.hostClasses", "style.display": "this.display" } }, ngImport: i0, template: `
|
|
2327
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2328
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LoadingComponent, isStandalone: true, selector: "[kendoSchedulerLoading]", host: { properties: { "class.k-loading-mask": "this.hostClasses" } }, ngImport: i0, template: `
|
|
2344
2329
|
<div class="k-loading-image"></div>
|
|
2345
2330
|
<div class="k-loading-color"></div>
|
|
2346
2331
|
`, isInline: true });
|
|
@@ -2355,14 +2340,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
2355
2340
|
`,
|
|
2356
2341
|
standalone: true
|
|
2357
2342
|
}]
|
|
2358
|
-
}],
|
|
2343
|
+
}], propDecorators: { hostClasses: [{
|
|
2359
2344
|
type: HostBinding,
|
|
2360
2345
|
args: ['class.k-loading-mask']
|
|
2361
|
-
}], loading: [{
|
|
2362
|
-
type: Input
|
|
2363
|
-
}], display: [{
|
|
2364
|
-
type: HostBinding,
|
|
2365
|
-
args: ['style.display']
|
|
2366
2346
|
}] } });
|
|
2367
2347
|
|
|
2368
2348
|
/**
|
|
@@ -2420,7 +2400,7 @@ class FocusableDirective {
|
|
|
2420
2400
|
}
|
|
2421
2401
|
toggleFocus(value) {
|
|
2422
2402
|
const element = this.element.nativeElement;
|
|
2423
|
-
const isFooterButton = element.matches('
|
|
2403
|
+
const isFooterButton = element.matches('[viewfooter] .k-button');
|
|
2424
2404
|
const focusedClass = element.matches('.k-button-group .k-button') || isFooterButton ? 'k-focus' : 'k-selected';
|
|
2425
2405
|
const schedulerElement = element.closest('.k-scheduler');
|
|
2426
2406
|
const renderedEvents = schedulerElement ? schedulerElement.querySelectorAll('.k-event') : [];
|
|
@@ -2580,6 +2560,20 @@ const intersects = (startTime, endTime, periodStart, periodEnd) => (startTime <
|
|
|
2580
2560
|
/** @hidden */
|
|
2581
2561
|
const dateInRange = (date, start, end) => start.getTime() <= date.getTime() && date.getTime() <= end.getTime();
|
|
2582
2562
|
/** @hidden */
|
|
2563
|
+
const getVerticalPaddingAndBorder = (element) => {
|
|
2564
|
+
if (!isDocumentAvailable() || !element) {
|
|
2565
|
+
return 0;
|
|
2566
|
+
}
|
|
2567
|
+
const styles = getComputedStyle(element);
|
|
2568
|
+
const values = [
|
|
2569
|
+
parseFloat(styles.paddingTop || '0'),
|
|
2570
|
+
parseFloat(styles.paddingBottom || '0'),
|
|
2571
|
+
parseFloat(styles.borderTopWidth || '0'),
|
|
2572
|
+
parseFloat(styles.borderBottomWidth || '0')
|
|
2573
|
+
];
|
|
2574
|
+
return values.reduce((total, value) => total + (Number.isFinite(value) ? value : 0), 0);
|
|
2575
|
+
};
|
|
2576
|
+
/** @hidden */
|
|
2583
2577
|
const roundAllDayEnd = ({ start, end }) => {
|
|
2584
2578
|
const startDate = start.stripTime();
|
|
2585
2579
|
const endDate = end.stripTime();
|
|
@@ -6753,7 +6747,6 @@ class ToolbarNavigationComponent {
|
|
|
6753
6747
|
calendar.focus();
|
|
6754
6748
|
}
|
|
6755
6749
|
}
|
|
6756
|
-
hostClass = true;
|
|
6757
6750
|
/**
|
|
6758
6751
|
* @hidden
|
|
6759
6752
|
*/
|
|
@@ -6933,13 +6926,13 @@ class ToolbarNavigationComponent {
|
|
|
6933
6926
|
return !this.localization.rtl ? ['chevronLeftIcon', 'chevronRightIcon'] : ['chevronRightIcon', 'chevronLeftIcon'];
|
|
6934
6927
|
}
|
|
6935
6928
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ToolbarNavigationComponent, deps: [{ token: i1$2.PopupService }, { token: ToolbarService }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6936
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: ToolbarNavigationComponent, isStandalone: true, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max", activeView: "activeView", bottomView: "bottomView" },
|
|
6929
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: ToolbarNavigationComponent, isStandalone: true, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max", activeView: "activeView", bottomView: "bottomView" }, providers: [
|
|
6937
6930
|
PopupService
|
|
6938
6931
|
], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: `
|
|
6939
|
-
<span class="k-
|
|
6932
|
+
<span class="k-button-group k-toolbar-button-group k-scheduler-navigation" role="group">
|
|
6940
6933
|
<button kendoButton
|
|
6934
|
+
class="k-group-start"
|
|
6941
6935
|
(click)="todayClick()"
|
|
6942
|
-
class="k-nav-today"
|
|
6943
6936
|
[attr.title]="todayText"
|
|
6944
6937
|
[kendoSchedulerFocusIndex]="0"
|
|
6945
6938
|
containerType="toolbar">
|
|
@@ -6947,7 +6940,6 @@ class ToolbarNavigationComponent {
|
|
|
6947
6940
|
</button>
|
|
6948
6941
|
<button kendoButton
|
|
6949
6942
|
(click)="prevClick()"
|
|
6950
|
-
class="k-nav-prev"
|
|
6951
6943
|
[icon]="arrowIcons[0]"
|
|
6952
6944
|
[svgIcon]="svgIcon(arrowSVGIcons[0])"
|
|
6953
6945
|
[attr.title]="previousText"
|
|
@@ -6956,9 +6948,9 @@ class ToolbarNavigationComponent {
|
|
|
6956
6948
|
containerType="toolbar">
|
|
6957
6949
|
</button>
|
|
6958
6950
|
<button kendoButton
|
|
6951
|
+
class="k-group-end"
|
|
6959
6952
|
(click)="nextClick()"
|
|
6960
6953
|
type="button"
|
|
6961
|
-
class="k-nav-next"
|
|
6962
6954
|
[icon]="arrowIcons[1]"
|
|
6963
6955
|
[svgIcon]="svgIcon(arrowSVGIcons[1])"
|
|
6964
6956
|
[attr.title]="nextText"
|
|
@@ -6980,7 +6972,7 @@ class ToolbarNavigationComponent {
|
|
|
6980
6972
|
(keydown.enter)="toggleSelectedDate({ nativeElement: anchor.element }, template)"
|
|
6981
6973
|
(keydown.alt.arrowdown)="toggleSelectedDate({ nativeElement: anchor.element }, template)"
|
|
6982
6974
|
role="button"
|
|
6983
|
-
class="k-nav-current"
|
|
6975
|
+
class="k-nav-current k-toolbar-button"
|
|
6984
6976
|
[attr.aria-live]="'polite'"
|
|
6985
6977
|
[kendoSchedulerFocusIndex]="0"
|
|
6986
6978
|
containerType="toolbar">
|
|
@@ -7011,10 +7003,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7011
7003
|
PopupService
|
|
7012
7004
|
],
|
|
7013
7005
|
template: `
|
|
7014
|
-
<span class="k-
|
|
7006
|
+
<span class="k-button-group k-toolbar-button-group k-scheduler-navigation" role="group">
|
|
7015
7007
|
<button kendoButton
|
|
7008
|
+
class="k-group-start"
|
|
7016
7009
|
(click)="todayClick()"
|
|
7017
|
-
class="k-nav-today"
|
|
7018
7010
|
[attr.title]="todayText"
|
|
7019
7011
|
[kendoSchedulerFocusIndex]="0"
|
|
7020
7012
|
containerType="toolbar">
|
|
@@ -7022,7 +7014,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7022
7014
|
</button>
|
|
7023
7015
|
<button kendoButton
|
|
7024
7016
|
(click)="prevClick()"
|
|
7025
|
-
class="k-nav-prev"
|
|
7026
7017
|
[icon]="arrowIcons[0]"
|
|
7027
7018
|
[svgIcon]="svgIcon(arrowSVGIcons[0])"
|
|
7028
7019
|
[attr.title]="previousText"
|
|
@@ -7031,9 +7022,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7031
7022
|
containerType="toolbar">
|
|
7032
7023
|
</button>
|
|
7033
7024
|
<button kendoButton
|
|
7025
|
+
class="k-group-end"
|
|
7034
7026
|
(click)="nextClick()"
|
|
7035
7027
|
type="button"
|
|
7036
|
-
class="k-nav-next"
|
|
7037
7028
|
[icon]="arrowIcons[1]"
|
|
7038
7029
|
[svgIcon]="svgIcon(arrowSVGIcons[1])"
|
|
7039
7030
|
[attr.title]="nextText"
|
|
@@ -7055,7 +7046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7055
7046
|
(keydown.enter)="toggleSelectedDate({ nativeElement: anchor.element }, template)"
|
|
7056
7047
|
(keydown.alt.arrowdown)="toggleSelectedDate({ nativeElement: anchor.element }, template)"
|
|
7057
7048
|
role="button"
|
|
7058
|
-
class="k-nav-current"
|
|
7049
|
+
class="k-nav-current k-toolbar-button"
|
|
7059
7050
|
[attr.aria-live]="'polite'"
|
|
7060
7051
|
[kendoSchedulerFocusIndex]="0"
|
|
7061
7052
|
containerType="toolbar">
|
|
@@ -7082,9 +7073,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7082
7073
|
}], ctorParameters: () => [{ type: i1$2.PopupService }, { type: ToolbarService }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: ViewContextService }], propDecorators: { calendar: [{
|
|
7083
7074
|
type: ViewChild,
|
|
7084
7075
|
args: ['calendar', { static: false }]
|
|
7085
|
-
}], hostClass: [{
|
|
7086
|
-
type: HostBinding,
|
|
7087
|
-
args: ['class.k-toolbar-group']
|
|
7088
7076
|
}], min: [{
|
|
7089
7077
|
type: Input
|
|
7090
7078
|
}], max: [{
|
|
@@ -8286,10 +8274,6 @@ class SchedulerComponent {
|
|
|
8286
8274
|
* @hidden
|
|
8287
8275
|
*/
|
|
8288
8276
|
confirmationDialogContainerRef;
|
|
8289
|
-
/**
|
|
8290
|
-
* @hidden
|
|
8291
|
-
*/
|
|
8292
|
-
loadingComponent;
|
|
8293
8277
|
/**
|
|
8294
8278
|
* @hidden
|
|
8295
8279
|
*/
|
|
@@ -8352,6 +8336,10 @@ class SchedulerComponent {
|
|
|
8352
8336
|
get viewToolbar() {
|
|
8353
8337
|
return this.viewState?.toolbarVisibilityByView.get(this.selectedView);
|
|
8354
8338
|
}
|
|
8339
|
+
/**
|
|
8340
|
+
* @hidden
|
|
8341
|
+
*/
|
|
8342
|
+
pdfLoading = false;
|
|
8355
8343
|
direction;
|
|
8356
8344
|
subs;
|
|
8357
8345
|
viewIndex = 0;
|
|
@@ -8495,7 +8483,8 @@ class SchedulerComponent {
|
|
|
8495
8483
|
}
|
|
8496
8484
|
}));
|
|
8497
8485
|
this.subs.add(this.pdfService.done.subscribe(() => {
|
|
8498
|
-
this.
|
|
8486
|
+
this.pdfLoading = false;
|
|
8487
|
+
this.changeDetector.markForCheck();
|
|
8499
8488
|
}));
|
|
8500
8489
|
this.subs.add(this.localization.changes.subscribe(({ rtl }) => {
|
|
8501
8490
|
this.rtl = rtl;
|
|
@@ -8643,7 +8632,8 @@ class SchedulerComponent {
|
|
|
8643
8632
|
* Saves the current view as PDF.
|
|
8644
8633
|
*/
|
|
8645
8634
|
saveAsPDF() {
|
|
8646
|
-
this.
|
|
8635
|
+
this.pdfLoading = true;
|
|
8636
|
+
this.changeDetector.markForCheck();
|
|
8647
8637
|
this.zone.runOutsideAngular(() => {
|
|
8648
8638
|
// wait a tick in order for the loading element style to be updated by the browser.
|
|
8649
8639
|
// if the export is synchronous, the browser will not update the element before the export is finished.
|
|
@@ -8924,7 +8914,7 @@ class SchedulerComponent {
|
|
|
8924
8914
|
ViewContextService,
|
|
8925
8915
|
ViewStateService,
|
|
8926
8916
|
PDFService
|
|
8927
|
-
], queries: [{ propertyName: "editDialogTemplate", first: true, predicate: EditDialogTemplateDirective, descendants: true }, { propertyName: "toolbarTemplate", first: true, predicate: ToolbarTemplateDirective, descendants: true }, { propertyName: "views", predicate: SchedulerView }, { propertyName: "allDayEventTemplate", predicate: AllDayEventTemplateDirective }, { propertyName: "eventTemplate", predicate: EventTemplateDirective }, { propertyName: "timeSlotTemplate", predicate: TimeSlotTemplateDirective }, { propertyName: "minorTimeHeaderTemplate", predicate: MinorTimeHeaderTemplateDirective }, { propertyName: "majorTimeHeaderTemplate", predicate: MajorTimeHeaderTemplateDirective }, { propertyName: "monthDaySlotTemplate", predicate: MonthDaySlotTemplateDirective }, { propertyName: "multiWeekDaySlotTemplate", predicate: MultiWeekDaySlotTemplateDirective }, { propertyName: "dateHeaderTemplate", predicate: DateHeaderTemplateDirective }, { propertyName: "allDaySlotTemplate", predicate: AllDaySlotTemplateDirective }, { propertyName: "groupHeaderTemplate", predicate: GroupHeaderTemplateDirective }, { propertyName: "agendaDateTemplate", predicate: AgendaDateTemplateDirective }, { propertyName: "agendaTimeTemplate", predicate: AgendaTimeTemplateDirective }], viewQueries: [{ propertyName: "resizeSensor", first: true, predicate: ResizeSensorComponent, descendants: true, static: true }, { propertyName: "confirmationDialogContainerRef", first: true, predicate: ["confirmationDialogContainer"], descendants: true, read: ViewContainerRef, static: true }
|
|
8917
|
+
], queries: [{ propertyName: "editDialogTemplate", first: true, predicate: EditDialogTemplateDirective, descendants: true }, { propertyName: "toolbarTemplate", first: true, predicate: ToolbarTemplateDirective, descendants: true }, { propertyName: "views", predicate: SchedulerView }, { propertyName: "allDayEventTemplate", predicate: AllDayEventTemplateDirective }, { propertyName: "eventTemplate", predicate: EventTemplateDirective }, { propertyName: "timeSlotTemplate", predicate: TimeSlotTemplateDirective }, { propertyName: "minorTimeHeaderTemplate", predicate: MinorTimeHeaderTemplateDirective }, { propertyName: "majorTimeHeaderTemplate", predicate: MajorTimeHeaderTemplateDirective }, { propertyName: "monthDaySlotTemplate", predicate: MonthDaySlotTemplateDirective }, { propertyName: "multiWeekDaySlotTemplate", predicate: MultiWeekDaySlotTemplateDirective }, { propertyName: "dateHeaderTemplate", predicate: DateHeaderTemplateDirective }, { propertyName: "allDaySlotTemplate", predicate: AllDaySlotTemplateDirective }, { propertyName: "groupHeaderTemplate", predicate: GroupHeaderTemplateDirective }, { propertyName: "agendaDateTemplate", predicate: AgendaDateTemplateDirective }, { propertyName: "agendaTimeTemplate", predicate: AgendaTimeTemplateDirective }], viewQueries: [{ propertyName: "resizeSensor", first: true, predicate: ResizeSensorComponent, descendants: true, static: true }, { propertyName: "confirmationDialogContainerRef", first: true, predicate: ["confirmationDialogContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
8928
8918
|
<ng-container kendoSchedulerLocalizedMessages
|
|
8929
8919
|
i18n-allEvents="kendo.scheduler.allEvents|The All events text displayed in the timeline views when there is no vertical grouping."
|
|
8930
8920
|
allEvents="All events"
|
|
@@ -9255,13 +9245,14 @@ class SchedulerComponent {
|
|
|
9255
9245
|
|
|
9256
9246
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
9257
9247
|
|
|
9258
|
-
|
|
9259
|
-
|
|
9248
|
+
@if (loading || pdfLoading) {
|
|
9249
|
+
<div kendoSchedulerLoading></div>
|
|
9250
|
+
}
|
|
9260
9251
|
|
|
9261
9252
|
@if (showLicenseWatermark) {
|
|
9262
9253
|
<div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
|
|
9263
9254
|
}
|
|
9264
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoSchedulerLocalizedMessages]" }, { kind: "component", type: ToolbarComponent, selector: "kendo-scheduler-toolbar", inputs: ["selectedView", "views", "dateRange", "selectedDate", "template", "min", "max"], outputs: ["navigate", "toolbarWidthChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-scheduler-edit-dialog", inputs: ["resources", "timezone", "weekStart", "fields", "editTemplate"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: LoadingComponent, selector: "[kendoSchedulerLoading]"
|
|
9255
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoSchedulerLocalizedMessages]" }, { kind: "component", type: ToolbarComponent, selector: "kendo-scheduler-toolbar", inputs: ["selectedView", "views", "dateRange", "selectedDate", "template", "min", "max"], outputs: ["navigate", "toolbarWidthChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-scheduler-edit-dialog", inputs: ["resources", "timezone", "weekStart", "fields", "editTemplate"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: LoadingComponent, selector: "[kendoSchedulerLoading]" }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9265
9256
|
}
|
|
9266
9257
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SchedulerComponent, decorators: [{
|
|
9267
9258
|
type: Component,
|
|
@@ -9619,8 +9610,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
9619
9610
|
|
|
9620
9611
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
9621
9612
|
|
|
9622
|
-
|
|
9623
|
-
|
|
9613
|
+
@if (loading || pdfLoading) {
|
|
9614
|
+
<div kendoSchedulerLoading></div>
|
|
9615
|
+
}
|
|
9624
9616
|
|
|
9625
9617
|
@if (showLicenseWatermark) {
|
|
9626
9618
|
<div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
|
|
@@ -9774,9 +9766,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
9774
9766
|
}], confirmationDialogContainerRef: [{
|
|
9775
9767
|
type: ViewChild,
|
|
9776
9768
|
args: ["confirmationDialogContainer", { read: ViewContainerRef, static: true }]
|
|
9777
|
-
}], loadingComponent: [{
|
|
9778
|
-
type: ViewChild,
|
|
9779
|
-
args: [LoadingComponent, { static: true }]
|
|
9780
9769
|
}], allDayEventTemplate: [{
|
|
9781
9770
|
type: ContentChildren,
|
|
9782
9771
|
args: [AllDayEventTemplateDirective]
|
|
@@ -11406,9 +11395,9 @@ class AgendaHeaderComponent {
|
|
|
11406
11395
|
@for (resource of resources; track resource) {
|
|
11407
11396
|
<th class="k-scheduler-groupcolumn k-first" role="columnheader"><span class="k-sr-only">{{ resourceMessage }}</span></th>
|
|
11408
11397
|
}
|
|
11409
|
-
<th class="k-scheduler-cell k-
|
|
11410
|
-
<th class="k-scheduler-cell k-
|
|
11411
|
-
<th class="k-scheduler-cell
|
|
11398
|
+
<th class="k-scheduler-cell k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>
|
|
11399
|
+
<th class="k-scheduler-cell k-scheduler-timecolumn" role="columnheader">{{ timeMessage }}</th>
|
|
11400
|
+
<th class="k-scheduler-cell" role="columnheader">{{ eventMessage }}</th>
|
|
11412
11401
|
</tr>
|
|
11413
11402
|
</tbody>
|
|
11414
11403
|
</table>
|
|
@@ -11428,9 +11417,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
11428
11417
|
@for (resource of resources; track resource) {
|
|
11429
11418
|
<th class="k-scheduler-groupcolumn k-first" role="columnheader"><span class="k-sr-only">{{ resourceMessage }}</span></th>
|
|
11430
11419
|
}
|
|
11431
|
-
<th class="k-scheduler-cell k-
|
|
11432
|
-
<th class="k-scheduler-cell k-
|
|
11433
|
-
<th class="k-scheduler-cell
|
|
11420
|
+
<th class="k-scheduler-cell k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>
|
|
11421
|
+
<th class="k-scheduler-cell k-scheduler-timecolumn" role="columnheader">{{ timeMessage }}</th>
|
|
11422
|
+
<th class="k-scheduler-cell" role="columnheader">{{ eventMessage }}</th>
|
|
11434
11423
|
</tr>
|
|
11435
11424
|
</tbody>
|
|
11436
11425
|
</table>
|
|
@@ -12663,8 +12652,10 @@ class BaseView {
|
|
|
12663
12652
|
contentTable;
|
|
12664
12653
|
times;
|
|
12665
12654
|
timesHeader;
|
|
12655
|
+
timesHeaderTable;
|
|
12666
12656
|
timesTable;
|
|
12667
12657
|
headerWrap;
|
|
12658
|
+
headerTable;
|
|
12668
12659
|
hintContainer;
|
|
12669
12660
|
get eventTemplateRef() {
|
|
12670
12661
|
return this.eventTemplate || (this.schedulerEventTemplate || {}).templateRef;
|
|
@@ -13665,7 +13656,7 @@ class BaseView {
|
|
|
13665
13656
|
}
|
|
13666
13657
|
}
|
|
13667
13658
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: BaseView, deps: [{ token: ViewContextService }, { token: ViewStateService }, { token: i4.IntlService }, { token: BaseSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: PDFService }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i7.ScrollbarService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
13668
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: BaseView, isStandalone: true, inputs: { eventTemplate: "eventTemplate", groupHeaderTemplate: "groupHeaderTemplate", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", eventHeight: "eventHeight", showToolbar: "showToolbar", showFooter: "showFooter", 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 });
|
|
13659
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: BaseView, isStandalone: true, inputs: { eventTemplate: "eventTemplate", groupHeaderTemplate: "groupHeaderTemplate", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", eventHeight: "eventHeight", showToolbar: "showToolbar", showFooter: "showFooter", 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: "timesHeaderTable", first: true, predicate: ["timesHeaderTable"], descendants: true }, { propertyName: "timesTable", first: true, predicate: ["timesTable"], descendants: true }, { propertyName: "headerWrap", first: true, predicate: ["headerWrap"], descendants: true }, { propertyName: "headerTable", first: true, predicate: ["headerTable"], descendants: true }, { propertyName: "hintContainer", first: true, predicate: ["hintContainer"], descendants: true }], usesOnChanges: true, ngImport: i0 });
|
|
13669
13660
|
}
|
|
13670
13661
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: BaseView, decorators: [{
|
|
13671
13662
|
type: Directive
|
|
@@ -13706,12 +13697,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
13706
13697
|
}], timesHeader: [{
|
|
13707
13698
|
type: ViewChild,
|
|
13708
13699
|
args: ['timesHeader', { static: false }]
|
|
13700
|
+
}], timesHeaderTable: [{
|
|
13701
|
+
type: ViewChild,
|
|
13702
|
+
args: ['timesHeaderTable', { static: false }]
|
|
13709
13703
|
}], timesTable: [{
|
|
13710
13704
|
type: ViewChild,
|
|
13711
13705
|
args: ['timesTable', { static: false }]
|
|
13712
13706
|
}], headerWrap: [{
|
|
13713
13707
|
type: ViewChild,
|
|
13714
13708
|
args: ['headerWrap', { static: false }]
|
|
13709
|
+
}], headerTable: [{
|
|
13710
|
+
type: ViewChild,
|
|
13711
|
+
args: ['headerTable', { static: false }]
|
|
13715
13712
|
}], hintContainer: [{
|
|
13716
13713
|
type: ViewChild,
|
|
13717
13714
|
args: ['hintContainer', { static: false }]
|
|
@@ -14479,12 +14476,15 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14479
14476
|
super.ngOnChanges(changes);
|
|
14480
14477
|
}
|
|
14481
14478
|
ngOnInit() {
|
|
14482
|
-
this.viewState.layoutEnd.subscribe(() => {
|
|
14479
|
+
this.subs.add(this.viewState.layoutEnd.subscribe(() => {
|
|
14483
14480
|
if (this.adaptiveSlotHeight) {
|
|
14484
14481
|
this.slotService.invalidate();
|
|
14485
14482
|
this.reflow();
|
|
14486
14483
|
}
|
|
14487
|
-
|
|
14484
|
+
else {
|
|
14485
|
+
this.syncTables();
|
|
14486
|
+
}
|
|
14487
|
+
}));
|
|
14488
14488
|
super.ngOnInit();
|
|
14489
14489
|
}
|
|
14490
14490
|
ngAfterViewInit() {
|
|
@@ -14571,6 +14571,24 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14571
14571
|
}
|
|
14572
14572
|
this.syncTables();
|
|
14573
14573
|
}
|
|
14574
|
+
syncTables() {
|
|
14575
|
+
super.syncTables();
|
|
14576
|
+
if (!this.timesTable) {
|
|
14577
|
+
return;
|
|
14578
|
+
}
|
|
14579
|
+
const timesRows = this.timesTable.nativeElement.rows;
|
|
14580
|
+
if (!timesRows.length) {
|
|
14581
|
+
return;
|
|
14582
|
+
}
|
|
14583
|
+
const contentRows = this.contentTable.nativeElement.rows;
|
|
14584
|
+
const rowsCount = Math.min(timesRows.length, contentRows.length);
|
|
14585
|
+
for (let index = 0; index < rowsCount; index++) {
|
|
14586
|
+
const height = `${contentRows[index].offsetHeight}px`;
|
|
14587
|
+
if (timesRows[index].style.height !== height) {
|
|
14588
|
+
this.renderer.setStyle(timesRows[index], 'height', height);
|
|
14589
|
+
}
|
|
14590
|
+
}
|
|
14591
|
+
}
|
|
14574
14592
|
onClick(e, eventType = e.type) {
|
|
14575
14593
|
if (eventType === 'click') {
|
|
14576
14594
|
const eventSlot = closestInScope(e.target, node => node.hasAttribute('data-slot-index'), this.element.nativeElement);
|
|
@@ -14693,7 +14711,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14693
14711
|
<table class="k-scheduler-table" aria-hidden="true">
|
|
14694
14712
|
<tbody>
|
|
14695
14713
|
<tr>
|
|
14696
|
-
<th class="k-scheduler-cell
|
|
14714
|
+
<th class="k-scheduler-cell"></th>
|
|
14697
14715
|
</tr>
|
|
14698
14716
|
</tbody>
|
|
14699
14717
|
</table>
|
|
@@ -14711,7 +14729,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14711
14729
|
<tr>
|
|
14712
14730
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
14713
14731
|
<th
|
|
14714
|
-
class="k-scheduler-cell
|
|
14732
|
+
class="k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
14715
14733
|
@if (!groupHeaderTemplateRef) {
|
|
14716
14734
|
{{ getField(item, resource.textField) }}
|
|
14717
14735
|
}
|
|
@@ -14725,7 +14743,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14725
14743
|
<tr>
|
|
14726
14744
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
14727
14745
|
@for (day of weeks[0]; track itemIndex($index, day)) {
|
|
14728
|
-
<th class="k-scheduler-cell
|
|
14746
|
+
<th class="k-scheduler-cell">
|
|
14729
14747
|
{{ day | kendoDate: 'EEEE' }}
|
|
14730
14748
|
</th>
|
|
14731
14749
|
}
|
|
@@ -14747,7 +14765,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14747
14765
|
<tr>
|
|
14748
14766
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
14749
14767
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
14750
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell
|
|
14768
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell" [ngClass]="{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }">
|
|
14751
14769
|
@if (!groupHeaderTemplateRef) {
|
|
14752
14770
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
14753
14771
|
}
|
|
@@ -14758,12 +14776,12 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14758
14776
|
</th>
|
|
14759
14777
|
}
|
|
14760
14778
|
}
|
|
14761
|
-
<th class="k-slot-cell k-
|
|
14779
|
+
<th class="k-slot-cell k-empty-slot">
|
|
14762
14780
|
</th>
|
|
14763
14781
|
</tr>
|
|
14764
14782
|
@for (index of (numberOfWeeks - 1) | repeat; track itemIndex($index, index)) {
|
|
14765
14783
|
<tr>
|
|
14766
|
-
<th class="k-slot-cell k-
|
|
14784
|
+
<th class="k-slot-cell k-empty-slot"></th>
|
|
14767
14785
|
</tr>
|
|
14768
14786
|
}
|
|
14769
14787
|
}
|
|
@@ -14884,7 +14902,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14884
14902
|
<table class="k-scheduler-table" aria-hidden="true">
|
|
14885
14903
|
<tbody>
|
|
14886
14904
|
<tr>
|
|
14887
|
-
<th class="k-scheduler-cell
|
|
14905
|
+
<th class="k-scheduler-cell"></th>
|
|
14888
14906
|
</tr>
|
|
14889
14907
|
</tbody>
|
|
14890
14908
|
</table>
|
|
@@ -14902,7 +14920,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14902
14920
|
<tr>
|
|
14903
14921
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
14904
14922
|
<th
|
|
14905
|
-
class="k-scheduler-cell
|
|
14923
|
+
class="k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
14906
14924
|
@if (!groupHeaderTemplateRef) {
|
|
14907
14925
|
{{ getField(item, resource.textField) }}
|
|
14908
14926
|
}
|
|
@@ -14916,7 +14934,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14916
14934
|
<tr>
|
|
14917
14935
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
14918
14936
|
@for (day of weeks[0]; track itemIndex($index, day)) {
|
|
14919
|
-
<th class="k-scheduler-cell
|
|
14937
|
+
<th class="k-scheduler-cell">
|
|
14920
14938
|
{{ day | kendoDate: 'EEEE' }}
|
|
14921
14939
|
</th>
|
|
14922
14940
|
}
|
|
@@ -14938,7 +14956,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14938
14956
|
<tr>
|
|
14939
14957
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
14940
14958
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
14941
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell
|
|
14959
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell" [ngClass]="{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }">
|
|
14942
14960
|
@if (!groupHeaderTemplateRef) {
|
|
14943
14961
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
14944
14962
|
}
|
|
@@ -14949,12 +14967,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14949
14967
|
</th>
|
|
14950
14968
|
}
|
|
14951
14969
|
}
|
|
14952
|
-
<th class="k-slot-cell k-
|
|
14970
|
+
<th class="k-slot-cell k-empty-slot">
|
|
14953
14971
|
</th>
|
|
14954
14972
|
</tr>
|
|
14955
14973
|
@for (index of (numberOfWeeks - 1) | repeat; track itemIndex($index, index)) {
|
|
14956
14974
|
<tr>
|
|
14957
|
-
<th class="k-slot-cell k-
|
|
14975
|
+
<th class="k-slot-cell k-empty-slot"></th>
|
|
14958
14976
|
</tr>
|
|
14959
14977
|
}
|
|
14960
14978
|
}
|
|
@@ -15746,7 +15764,7 @@ class ViewFooterComponent {
|
|
|
15746
15764
|
}
|
|
15747
15765
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ViewFooterComponent, deps: [{ token: ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15748
15766
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ViewFooterComponent, isStandalone: true, selector: "[viewFooter]", inputs: { items: "items" }, outputs: { itemClick: "itemClick" }, host: { properties: { "class.k-scheduler-footer": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "attr.role": "this.toolbarRole", "style.justify-content": "this.inlineJustifyContentStyle" } }, ngImport: i0, template: `
|
|
15749
|
-
<span
|
|
15767
|
+
<span>
|
|
15750
15768
|
@for (item of items; track item) {
|
|
15751
15769
|
<button
|
|
15752
15770
|
type="button"
|
|
@@ -15768,7 +15786,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
15768
15786
|
args: [{
|
|
15769
15787
|
selector: '[viewFooter]',
|
|
15770
15788
|
template: `
|
|
15771
|
-
<span
|
|
15789
|
+
<span>
|
|
15772
15790
|
@for (item of items; track item) {
|
|
15773
15791
|
<button
|
|
15774
15792
|
type="button"
|
|
@@ -15812,7 +15830,7 @@ class WorkHoursFooterDirective {
|
|
|
15812
15830
|
footer;
|
|
15813
15831
|
localization;
|
|
15814
15832
|
showWorkHours = false;
|
|
15815
|
-
footerItems = [{ cssClass: 'k-scheduler-fullday', fontIcon: 'clock', svgIcon: clockIcon, text: '' }];
|
|
15833
|
+
footerItems = [{ cssClass: 'k-scheduler-fullday k-toolbar-button', fontIcon: 'clock', svgIcon: clockIcon, text: '' }];
|
|
15816
15834
|
constructor(footer, localization) {
|
|
15817
15835
|
this.footer = footer;
|
|
15818
15836
|
this.localization = localization;
|
|
@@ -17155,6 +17173,49 @@ class DayTimeViewComponent extends BaseView {
|
|
|
17155
17173
|
this.workDayEndTime = toInvariantTime(endDate);
|
|
17156
17174
|
}
|
|
17157
17175
|
}
|
|
17176
|
+
syncDateHeaderHeight() {
|
|
17177
|
+
if (!isDocumentAvailable()) {
|
|
17178
|
+
return;
|
|
17179
|
+
}
|
|
17180
|
+
const dateRowIndex = this.horizontalResources.length + 1;
|
|
17181
|
+
const timesTable = this.timesHeaderTable?.nativeElement;
|
|
17182
|
+
const headerTable = this.headerTable?.nativeElement;
|
|
17183
|
+
const timesHeaderDateCell = timesTable?.rows[dateRowIndex - 1]?.cells[0];
|
|
17184
|
+
const headerDateCell = headerTable?.rows[dateRowIndex - 1]?.cells[0];
|
|
17185
|
+
const shouldSkipDateHeightSync = !timesHeaderDateCell || !headerDateCell || !this.dateHeaderTemplateRef;
|
|
17186
|
+
if (shouldSkipDateHeightSync) {
|
|
17187
|
+
if (timesHeaderDateCell && !this.dateHeaderTemplateRef) {
|
|
17188
|
+
this.renderer.removeStyle(timesHeaderDateCell, 'height');
|
|
17189
|
+
}
|
|
17190
|
+
return;
|
|
17191
|
+
}
|
|
17192
|
+
this.syncCellHeight(headerDateCell, timesHeaderDateCell);
|
|
17193
|
+
}
|
|
17194
|
+
syncGroupHeaderHeight() {
|
|
17195
|
+
if (!isDocumentAvailable()) {
|
|
17196
|
+
return;
|
|
17197
|
+
}
|
|
17198
|
+
const dateRowIndex = this.horizontalResources.length + 1;
|
|
17199
|
+
const timesTable = this.timesHeaderTable?.nativeElement;
|
|
17200
|
+
const headerTable = this.headerTable?.nativeElement;
|
|
17201
|
+
for (let rowIndex = 1; rowIndex < dateRowIndex; rowIndex++) {
|
|
17202
|
+
const timesHeaderCell = timesTable?.rows[rowIndex - 1]?.cells[0];
|
|
17203
|
+
if (!timesHeaderCell) {
|
|
17204
|
+
continue;
|
|
17205
|
+
}
|
|
17206
|
+
// Remove height when template is absent or grouping is vertical
|
|
17207
|
+
if (!this.groupHeaderTemplateRef || this.verticalResources.length) {
|
|
17208
|
+
this.renderer.removeStyle(timesHeaderCell, 'height');
|
|
17209
|
+
continue;
|
|
17210
|
+
}
|
|
17211
|
+
const headerCell = headerTable?.rows[rowIndex - 1]?.cells[0];
|
|
17212
|
+
if (!headerCell) {
|
|
17213
|
+
this.renderer.removeStyle(timesHeaderCell, 'height');
|
|
17214
|
+
continue;
|
|
17215
|
+
}
|
|
17216
|
+
this.syncCellHeight(headerCell, timesHeaderCell);
|
|
17217
|
+
}
|
|
17218
|
+
}
|
|
17158
17219
|
slotByPosition(x, y, container) {
|
|
17159
17220
|
const isDaySlot = container ? hasClasses(container.parentNode, 'k-scheduler-header-wrap') : y < 0;
|
|
17160
17221
|
return this.slotService.slotByPosition(x, y, isDaySlot, Boolean(this.verticalResources.length));
|
|
@@ -17170,6 +17231,14 @@ class DayTimeViewComponent extends BaseView {
|
|
|
17170
17231
|
}
|
|
17171
17232
|
return fields;
|
|
17172
17233
|
}
|
|
17234
|
+
syncCellHeight(sourceCell, targetCell) {
|
|
17235
|
+
const height = sourceCell.getBoundingClientRect().height;
|
|
17236
|
+
const currentHeight = targetCell.getBoundingClientRect().height;
|
|
17237
|
+
const paddingAndBorder = getVerticalPaddingAndBorder(targetCell);
|
|
17238
|
+
if (height !== currentHeight) {
|
|
17239
|
+
this.renderer.setStyle(targetCell, 'height', `${height - paddingAndBorder}px`);
|
|
17240
|
+
}
|
|
17241
|
+
}
|
|
17173
17242
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DayTimeViewComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }, { token: i4.IntlService }, { token: DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: PDFService }, { token: i1$1.LocalizationService }, { token: i7.ScrollbarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
17174
17243
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: DayTimeViewComponent, isStandalone: true, selector: "kendo-day-time-view", inputs: { timeSlotTemplate: "timeSlotTemplate", dateHeaderTemplate: "dateHeaderTemplate", majorTimeHeaderTemplate: "majorTimeHeaderTemplate", minorTimeHeaderTemplate: "minorTimeHeaderTemplate", 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 });
|
|
17175
17244
|
}
|
|
@@ -17483,6 +17552,11 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17483
17552
|
slotService.layoutTimes({ fill: this.slotFill });
|
|
17484
17553
|
this.syncTables();
|
|
17485
17554
|
}
|
|
17555
|
+
syncTables() {
|
|
17556
|
+
super.syncTables();
|
|
17557
|
+
this.syncGroupHeaderHeight();
|
|
17558
|
+
this.syncDateHeaderHeight();
|
|
17559
|
+
}
|
|
17486
17560
|
dragHorizontal(slot) {
|
|
17487
17561
|
return slot.isDaySlot;
|
|
17488
17562
|
}
|
|
@@ -17587,19 +17661,19 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17587
17661
|
<tr class="k-scheduler-head">
|
|
17588
17662
|
<td>
|
|
17589
17663
|
<div class="k-scheduler-times" #timesHeader>
|
|
17590
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
17664
|
+
<table class="k-scheduler-table" #timesHeaderTable aria-hidden="true">
|
|
17591
17665
|
<tbody>
|
|
17592
17666
|
@for (resource of horizontalResources; track itemIndex($index, resource)) {
|
|
17593
17667
|
<tr>
|
|
17594
|
-
<th class="k-scheduler-cell
|
|
17668
|
+
<th class="k-scheduler-cell"></th>
|
|
17595
17669
|
</tr>
|
|
17596
17670
|
}
|
|
17597
17671
|
<tr [style.height]="'auto'">
|
|
17598
|
-
<th class="k-scheduler-cell
|
|
17672
|
+
<th class="k-scheduler-cell"></th>
|
|
17599
17673
|
</tr>
|
|
17600
17674
|
@if (allDaySlot && !verticalResources.length) {
|
|
17601
17675
|
<tr>
|
|
17602
|
-
<th class="k-scheduler-times-all-day k-scheduler-cell
|
|
17676
|
+
<th class="k-scheduler-times-all-day k-scheduler-cell" #allDayCell>{{ allDayMessage }}</th>
|
|
17603
17677
|
</tr>
|
|
17604
17678
|
}
|
|
17605
17679
|
</tbody>
|
|
@@ -17609,13 +17683,13 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17609
17683
|
<td>
|
|
17610
17684
|
<div class="k-scheduler-header" #header>
|
|
17611
17685
|
<div class="k-scheduler-header-wrap" #headerWrap>
|
|
17612
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
17686
|
+
<table class="k-scheduler-table" #headerTable aria-hidden="true">
|
|
17613
17687
|
<tbody>
|
|
17614
17688
|
@for (resource of horizontalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
17615
17689
|
<tr>
|
|
17616
17690
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
17617
17691
|
<th
|
|
17618
|
-
class="k-scheduler-cell
|
|
17692
|
+
class="k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
17619
17693
|
@if (!groupHeaderTemplateRef) {
|
|
17620
17694
|
{{ getField(item, resource.textField) }}
|
|
17621
17695
|
}
|
|
@@ -17629,7 +17703,7 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17629
17703
|
<tr class="k-scheduler-date-group">
|
|
17630
17704
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
17631
17705
|
@for (slot of daySlots; track itemIndex(index, slot); let index = $index) {
|
|
17632
|
-
<th class="k-scheduler-cell
|
|
17706
|
+
<th class="k-scheduler-cell">
|
|
17633
17707
|
@if (!dateHeaderTemplateRef) {
|
|
17634
17708
|
<span class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>
|
|
17635
17709
|
}
|
|
@@ -17741,7 +17815,7 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17741
17815
|
<tr>
|
|
17742
17816
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
17743
17817
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
17744
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell
|
|
17818
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell">
|
|
17745
17819
|
@if (!groupHeaderTemplateRef) {
|
|
17746
17820
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
17747
17821
|
}
|
|
@@ -17753,14 +17827,14 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17753
17827
|
}
|
|
17754
17828
|
}
|
|
17755
17829
|
@if (allDaySlot) {
|
|
17756
|
-
<th class="k-scheduler-times-all-day k-scheduler-cell
|
|
17830
|
+
<th class="k-scheduler-times-all-day k-scheduler-cell" #allDayCell>{{ allDayMessage }}</th>
|
|
17757
17831
|
}
|
|
17758
17832
|
</tr>
|
|
17759
17833
|
}
|
|
17760
17834
|
@for (slot of timeSlots; track itemIndex(timeSlotIndex, slot); let timeSlotIndex = $index) {
|
|
17761
17835
|
<tr>
|
|
17762
17836
|
@if (slot.isMajor) {
|
|
17763
|
-
<th [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell
|
|
17837
|
+
<th [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell">
|
|
17764
17838
|
@if (!majorTimeHeaderTemplateRef) {
|
|
17765
17839
|
{{ slot.start | kendoDate: 't' }}
|
|
17766
17840
|
}
|
|
@@ -17770,7 +17844,7 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17770
17844
|
</th>
|
|
17771
17845
|
}
|
|
17772
17846
|
@if (!slot.isMajor) {
|
|
17773
|
-
<th [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell
|
|
17847
|
+
<th [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell">
|
|
17774
17848
|
@if (minorTimeHeaderTemplateRef) {
|
|
17775
17849
|
<ng-container [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">
|
|
17776
17850
|
</ng-container>
|
|
@@ -17950,19 +18024,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
17950
18024
|
<tr class="k-scheduler-head">
|
|
17951
18025
|
<td>
|
|
17952
18026
|
<div class="k-scheduler-times" #timesHeader>
|
|
17953
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
18027
|
+
<table class="k-scheduler-table" #timesHeaderTable aria-hidden="true">
|
|
17954
18028
|
<tbody>
|
|
17955
18029
|
@for (resource of horizontalResources; track itemIndex($index, resource)) {
|
|
17956
18030
|
<tr>
|
|
17957
|
-
<th class="k-scheduler-cell
|
|
18031
|
+
<th class="k-scheduler-cell"></th>
|
|
17958
18032
|
</tr>
|
|
17959
18033
|
}
|
|
17960
18034
|
<tr [style.height]="'auto'">
|
|
17961
|
-
<th class="k-scheduler-cell
|
|
18035
|
+
<th class="k-scheduler-cell"></th>
|
|
17962
18036
|
</tr>
|
|
17963
18037
|
@if (allDaySlot && !verticalResources.length) {
|
|
17964
18038
|
<tr>
|
|
17965
|
-
<th class="k-scheduler-times-all-day k-scheduler-cell
|
|
18039
|
+
<th class="k-scheduler-times-all-day k-scheduler-cell" #allDayCell>{{ allDayMessage }}</th>
|
|
17966
18040
|
</tr>
|
|
17967
18041
|
}
|
|
17968
18042
|
</tbody>
|
|
@@ -17972,13 +18046,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
17972
18046
|
<td>
|
|
17973
18047
|
<div class="k-scheduler-header" #header>
|
|
17974
18048
|
<div class="k-scheduler-header-wrap" #headerWrap>
|
|
17975
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
18049
|
+
<table class="k-scheduler-table" #headerTable aria-hidden="true">
|
|
17976
18050
|
<tbody>
|
|
17977
18051
|
@for (resource of horizontalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
17978
18052
|
<tr>
|
|
17979
18053
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
17980
18054
|
<th
|
|
17981
|
-
class="k-scheduler-cell
|
|
18055
|
+
class="k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
17982
18056
|
@if (!groupHeaderTemplateRef) {
|
|
17983
18057
|
{{ getField(item, resource.textField) }}
|
|
17984
18058
|
}
|
|
@@ -17992,7 +18066,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
17992
18066
|
<tr class="k-scheduler-date-group">
|
|
17993
18067
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
17994
18068
|
@for (slot of daySlots; track itemIndex(index, slot); let index = $index) {
|
|
17995
|
-
<th class="k-scheduler-cell
|
|
18069
|
+
<th class="k-scheduler-cell">
|
|
17996
18070
|
@if (!dateHeaderTemplateRef) {
|
|
17997
18071
|
<span class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>
|
|
17998
18072
|
}
|
|
@@ -18104,7 +18178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
18104
18178
|
<tr>
|
|
18105
18179
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
18106
18180
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
18107
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell
|
|
18181
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell">
|
|
18108
18182
|
@if (!groupHeaderTemplateRef) {
|
|
18109
18183
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
18110
18184
|
}
|
|
@@ -18116,14 +18190,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
18116
18190
|
}
|
|
18117
18191
|
}
|
|
18118
18192
|
@if (allDaySlot) {
|
|
18119
|
-
<th class="k-scheduler-times-all-day k-scheduler-cell
|
|
18193
|
+
<th class="k-scheduler-times-all-day k-scheduler-cell" #allDayCell>{{ allDayMessage }}</th>
|
|
18120
18194
|
}
|
|
18121
18195
|
</tr>
|
|
18122
18196
|
}
|
|
18123
18197
|
@for (slot of timeSlots; track itemIndex(timeSlotIndex, slot); let timeSlotIndex = $index) {
|
|
18124
18198
|
<tr>
|
|
18125
18199
|
@if (slot.isMajor) {
|
|
18126
|
-
<th [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell
|
|
18200
|
+
<th [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell">
|
|
18127
18201
|
@if (!majorTimeHeaderTemplateRef) {
|
|
18128
18202
|
{{ slot.start | kendoDate: 't' }}
|
|
18129
18203
|
}
|
|
@@ -18133,7 +18207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
18133
18207
|
</th>
|
|
18134
18208
|
}
|
|
18135
18209
|
@if (!slot.isMajor) {
|
|
18136
|
-
<th [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell
|
|
18210
|
+
<th [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell">
|
|
18137
18211
|
@if (minorTimeHeaderTemplateRef) {
|
|
18138
18212
|
<ng-container [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">
|
|
18139
18213
|
</ng-container>
|
|
@@ -19088,7 +19162,6 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19088
19162
|
get classNames() {
|
|
19089
19163
|
return `k-scheduler-${this.viewName}-view`;
|
|
19090
19164
|
}
|
|
19091
|
-
headerTable;
|
|
19092
19165
|
get contentWidthPercentage() {
|
|
19093
19166
|
const expectedWidth = this.columnWidth * this.slotsCount;
|
|
19094
19167
|
const percentage = (expectedWidth / this.contentWidth) * 100;
|
|
@@ -19168,6 +19241,11 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19168
19241
|
handleScroll() {
|
|
19169
19242
|
this.headerWrap.nativeElement.scrollLeft = this.content.nativeElement.scrollLeft;
|
|
19170
19243
|
}
|
|
19244
|
+
syncTables() {
|
|
19245
|
+
super.syncTables();
|
|
19246
|
+
this.syncGroupHeaderHeight();
|
|
19247
|
+
this.syncDateHeaderHeight();
|
|
19248
|
+
}
|
|
19171
19249
|
createTasks(items, dateRange) {
|
|
19172
19250
|
return createTasks$1(dateRange.start, dateRange.end, items, this.hiddenDays || []);
|
|
19173
19251
|
}
|
|
@@ -19198,19 +19276,19 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19198
19276
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TimelineMultiDayViewComponent, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }, { token: i4.IntlService }, { token: DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: PDFService }, { token: i7.ScrollbarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19199
19277
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TimelineMultiDayViewComponent, isStandalone: true, selector: "timeline-multi-day-view", inputs: { hiddenDays: "hiddenDays", name: "name", columnWidth: "columnWidth", viewName: "viewName" }, providers: [
|
|
19200
19278
|
DayTimeSlotService
|
|
19201
|
-
], viewQueries: [{ propertyName: "
|
|
19279
|
+
], viewQueries: [{ propertyName: "verticalResourceRows", predicate: ["verticalResourceRows"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
19202
19280
|
<table class="k-scheduler-layout" [ngClass]="classNames">
|
|
19203
19281
|
<tbody>
|
|
19204
19282
|
<tr class="k-scheduler-head">
|
|
19205
19283
|
<td>
|
|
19206
19284
|
<div class="k-scheduler-times" #timesHeader>
|
|
19207
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
19285
|
+
<table class="k-scheduler-table" #timesHeaderTable aria-hidden="true">
|
|
19208
19286
|
<tbody>
|
|
19209
|
-
<tr><th class="k-scheduler-cell
|
|
19210
|
-
<tr><th class="k-slot-cell k-scheduler-cell
|
|
19287
|
+
<tr><th class="k-scheduler-cell"></th></tr>
|
|
19288
|
+
<tr><th class="k-slot-cell k-scheduler-cell"></th></tr>
|
|
19211
19289
|
@for (resource of horizontalResources; track itemIndex($index, resource)) {
|
|
19212
19290
|
<tr>
|
|
19213
|
-
<th class="k-scheduler-cell
|
|
19291
|
+
<th class="k-scheduler-cell"></th>
|
|
19214
19292
|
</tr>
|
|
19215
19293
|
}
|
|
19216
19294
|
</tbody>
|
|
@@ -19233,7 +19311,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19233
19311
|
<tr>
|
|
19234
19312
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
19235
19313
|
<th
|
|
19236
|
-
class="k-slot-cell k-scheduler-cell
|
|
19314
|
+
class="k-slot-cell k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
19237
19315
|
@if (!groupHeaderTemplateRef) {
|
|
19238
19316
|
{{ getField(item, resource.textField) }}
|
|
19239
19317
|
}
|
|
@@ -19248,7 +19326,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19248
19326
|
<tr class="k-scheduler-date-group">
|
|
19249
19327
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
19250
19328
|
@for (daySlot of daySlots; track itemIndex(index, daySlot); let index = $index) {
|
|
19251
|
-
<th [attr.colspan]="timeSlots.length" class="k-scheduler-cell k-
|
|
19329
|
+
<th [attr.colspan]="timeSlots.length" class="k-scheduler-cell k-slot-cell">
|
|
19252
19330
|
@if (!dateHeaderTemplateRef) {
|
|
19253
19331
|
<span class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ daySlot.start | kendoDate: 'm'}}</span>
|
|
19254
19332
|
}
|
|
@@ -19264,7 +19342,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19264
19342
|
@for (daySlot of daySlots; track itemIndex(rangeIndex, daySlot); let rangeIndex = $index) {
|
|
19265
19343
|
@for (timeSlot of timeSlots; track itemIndex(index, timeSlot); let index = $index) {
|
|
19266
19344
|
@if (timeSlot.isMajor) {
|
|
19267
|
-
<th [attr.colspan]="timeColspan(index)" class="k-scheduler-cell
|
|
19345
|
+
<th [attr.colspan]="timeColspan(index)" class="k-scheduler-cell">
|
|
19268
19346
|
@if (!majorTimeHeaderTemplateRef) {
|
|
19269
19347
|
{{ timeSlot.start | kendoDate: 't' }}
|
|
19270
19348
|
}
|
|
@@ -19276,7 +19354,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19276
19354
|
@if (!timeSlot.isMajor && minorTimeHeaderTemplateRef) {
|
|
19277
19355
|
<th
|
|
19278
19356
|
[ngStyle]="{'border-left-color': 'transparent', 'border-right-color': 'transparent'}"
|
|
19279
|
-
class="k-scheduler-cell
|
|
19357
|
+
class="k-scheduler-cell"
|
|
19280
19358
|
>
|
|
19281
19359
|
<ng-container [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: timeSlot.start }">
|
|
19282
19360
|
</ng-container>
|
|
@@ -19299,7 +19377,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19299
19377
|
<tbody>
|
|
19300
19378
|
@if (!verticalResources.length) {
|
|
19301
19379
|
<tr>
|
|
19302
|
-
<th rowspan="1" #titleCell class="k-scheduler-cell
|
|
19380
|
+
<th rowspan="1" #titleCell class="k-scheduler-cell">
|
|
19303
19381
|
{{ allEventsMessage }}
|
|
19304
19382
|
</th>
|
|
19305
19383
|
</tr>
|
|
@@ -19309,7 +19387,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19309
19387
|
<tr #verticalResourceRows>
|
|
19310
19388
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
19311
19389
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
19312
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-scheduler-cell
|
|
19390
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-scheduler-cell">
|
|
19313
19391
|
<div>
|
|
19314
19392
|
@if (!groupHeaderTemplateRef) {
|
|
19315
19393
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
@@ -19447,13 +19525,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19447
19525
|
<tr class="k-scheduler-head">
|
|
19448
19526
|
<td>
|
|
19449
19527
|
<div class="k-scheduler-times" #timesHeader>
|
|
19450
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
19528
|
+
<table class="k-scheduler-table" #timesHeaderTable aria-hidden="true">
|
|
19451
19529
|
<tbody>
|
|
19452
|
-
<tr><th class="k-scheduler-cell
|
|
19453
|
-
<tr><th class="k-slot-cell k-scheduler-cell
|
|
19530
|
+
<tr><th class="k-scheduler-cell"></th></tr>
|
|
19531
|
+
<tr><th class="k-slot-cell k-scheduler-cell"></th></tr>
|
|
19454
19532
|
@for (resource of horizontalResources; track itemIndex($index, resource)) {
|
|
19455
19533
|
<tr>
|
|
19456
|
-
<th class="k-scheduler-cell
|
|
19534
|
+
<th class="k-scheduler-cell"></th>
|
|
19457
19535
|
</tr>
|
|
19458
19536
|
}
|
|
19459
19537
|
</tbody>
|
|
@@ -19476,7 +19554,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19476
19554
|
<tr>
|
|
19477
19555
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
19478
19556
|
<th
|
|
19479
|
-
class="k-slot-cell k-scheduler-cell
|
|
19557
|
+
class="k-slot-cell k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
19480
19558
|
@if (!groupHeaderTemplateRef) {
|
|
19481
19559
|
{{ getField(item, resource.textField) }}
|
|
19482
19560
|
}
|
|
@@ -19491,7 +19569,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19491
19569
|
<tr class="k-scheduler-date-group">
|
|
19492
19570
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
19493
19571
|
@for (daySlot of daySlots; track itemIndex(index, daySlot); let index = $index) {
|
|
19494
|
-
<th [attr.colspan]="timeSlots.length" class="k-scheduler-cell k-
|
|
19572
|
+
<th [attr.colspan]="timeSlots.length" class="k-scheduler-cell k-slot-cell">
|
|
19495
19573
|
@if (!dateHeaderTemplateRef) {
|
|
19496
19574
|
<span class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ daySlot.start | kendoDate: 'm'}}</span>
|
|
19497
19575
|
}
|
|
@@ -19507,7 +19585,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19507
19585
|
@for (daySlot of daySlots; track itemIndex(rangeIndex, daySlot); let rangeIndex = $index) {
|
|
19508
19586
|
@for (timeSlot of timeSlots; track itemIndex(index, timeSlot); let index = $index) {
|
|
19509
19587
|
@if (timeSlot.isMajor) {
|
|
19510
|
-
<th [attr.colspan]="timeColspan(index)" class="k-scheduler-cell
|
|
19588
|
+
<th [attr.colspan]="timeColspan(index)" class="k-scheduler-cell">
|
|
19511
19589
|
@if (!majorTimeHeaderTemplateRef) {
|
|
19512
19590
|
{{ timeSlot.start | kendoDate: 't' }}
|
|
19513
19591
|
}
|
|
@@ -19519,7 +19597,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19519
19597
|
@if (!timeSlot.isMajor && minorTimeHeaderTemplateRef) {
|
|
19520
19598
|
<th
|
|
19521
19599
|
[ngStyle]="{'border-left-color': 'transparent', 'border-right-color': 'transparent'}"
|
|
19522
|
-
class="k-scheduler-cell
|
|
19600
|
+
class="k-scheduler-cell"
|
|
19523
19601
|
>
|
|
19524
19602
|
<ng-container [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: timeSlot.start }">
|
|
19525
19603
|
</ng-container>
|
|
@@ -19542,7 +19620,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19542
19620
|
<tbody>
|
|
19543
19621
|
@if (!verticalResources.length) {
|
|
19544
19622
|
<tr>
|
|
19545
|
-
<th rowspan="1" #titleCell class="k-scheduler-cell
|
|
19623
|
+
<th rowspan="1" #titleCell class="k-scheduler-cell">
|
|
19546
19624
|
{{ allEventsMessage }}
|
|
19547
19625
|
</th>
|
|
19548
19626
|
</tr>
|
|
@@ -19552,7 +19630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19552
19630
|
<tr #verticalResourceRows>
|
|
19553
19631
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
19554
19632
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
19555
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-scheduler-cell
|
|
19633
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-scheduler-cell">
|
|
19556
19634
|
<div>
|
|
19557
19635
|
@if (!groupHeaderTemplateRef) {
|
|
19558
19636
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
@@ -19690,9 +19768,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19690
19768
|
}], verticalResourceRows: [{
|
|
19691
19769
|
type: ViewChildren,
|
|
19692
19770
|
args: ['verticalResourceRows']
|
|
19693
|
-
}], headerTable: [{
|
|
19694
|
-
type: ViewChild,
|
|
19695
|
-
args: ['headerTable']
|
|
19696
19771
|
}] } });
|
|
19697
19772
|
|
|
19698
19773
|
/**
|
|
@@ -21585,7 +21660,7 @@ class ShortcutsDirective {
|
|
|
21585
21660
|
}
|
|
21586
21661
|
isInToolbarTemplate(element) {
|
|
21587
21662
|
const isInToolbar = element.closest('.k-scheduler-toolbar');
|
|
21588
|
-
const isInBuiltInElement = element.closest('
|
|
21663
|
+
const isInBuiltInElement = element.closest('[kendoschedulertoolbarnavigation]') ||
|
|
21589
21664
|
element.closest('.k-scheduler-views') ||
|
|
21590
21665
|
element.closest('.k-views-dropdown');
|
|
21591
21666
|
return isInToolbar && !isInBuiltInElement;
|
package/loading.component.d.ts
CHANGED
|
@@ -2,20 +2,12 @@
|
|
|
2
2
|
* Copyright © 2026 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 { Renderer2, ElementRef } from '@angular/core';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
/**
|
|
8
7
|
* @hidden
|
|
9
8
|
*/
|
|
10
9
|
export declare class LoadingComponent {
|
|
11
|
-
private element;
|
|
12
|
-
private renderer;
|
|
13
10
|
hostClasses: boolean;
|
|
14
|
-
loading: boolean;
|
|
15
|
-
get display(): string;
|
|
16
|
-
private force;
|
|
17
|
-
constructor(element: ElementRef, renderer: Renderer2);
|
|
18
|
-
toggle(value: boolean): void;
|
|
19
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<LoadingComponent, never>;
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LoadingComponent, "[kendoSchedulerLoading]", never, {
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoadingComponent, "[kendoSchedulerLoading]", never, {}, {}, never, never, true, never>;
|
|
21
13
|
}
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "24.0.0-develop.
|
|
10
|
+
"publishDate": 1779091829,
|
|
11
|
+
"version": "24.0.0-develop.34",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-scheduler",
|
|
3
|
-
"version": "24.0.0-develop.
|
|
3
|
+
"version": "24.0.0-develop.34",
|
|
4
4
|
"description": "Kendo UI Scheduler Angular - Outlook or Google-style angular scheduler calendar. Full-featured and customizable embedded scheduling from the creator developers trust for professional UI components.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"package": {
|
|
35
35
|
"productName": "Kendo UI for Angular",
|
|
36
36
|
"productCode": "KENDOUIANGULAR",
|
|
37
|
-
"publishDate":
|
|
37
|
+
"publishDate": 1779091829,
|
|
38
38
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
39
39
|
}
|
|
40
40
|
},
|
|
@@ -47,23 +47,23 @@
|
|
|
47
47
|
"@progress/kendo-data-query": "^1.7.3",
|
|
48
48
|
"@progress/kendo-drawing": "^1.25.0",
|
|
49
49
|
"@progress/kendo-licensing": "^1.11.0",
|
|
50
|
-
"@progress/kendo-angular-tooltip": "24.0.0-develop.
|
|
51
|
-
"@progress/kendo-angular-buttons": "24.0.0-develop.
|
|
52
|
-
"@progress/kendo-angular-common": "24.0.0-develop.
|
|
53
|
-
"@progress/kendo-angular-dateinputs": "24.0.0-develop.
|
|
54
|
-
"@progress/kendo-angular-dialog": "24.0.0-develop.
|
|
55
|
-
"@progress/kendo-angular-dropdowns": "24.0.0-develop.
|
|
56
|
-
"@progress/kendo-angular-icons": "24.0.0-develop.
|
|
57
|
-
"@progress/kendo-angular-inputs": "24.0.0-develop.
|
|
58
|
-
"@progress/kendo-angular-intl": "24.0.0-develop.
|
|
59
|
-
"@progress/kendo-angular-l10n": "24.0.0-develop.
|
|
60
|
-
"@progress/kendo-angular-label": "24.0.0-develop.
|
|
61
|
-
"@progress/kendo-angular-popup": "24.0.0-develop.
|
|
50
|
+
"@progress/kendo-angular-tooltip": "24.0.0-develop.34",
|
|
51
|
+
"@progress/kendo-angular-buttons": "24.0.0-develop.34",
|
|
52
|
+
"@progress/kendo-angular-common": "24.0.0-develop.34",
|
|
53
|
+
"@progress/kendo-angular-dateinputs": "24.0.0-develop.34",
|
|
54
|
+
"@progress/kendo-angular-dialog": "24.0.0-develop.34",
|
|
55
|
+
"@progress/kendo-angular-dropdowns": "24.0.0-develop.34",
|
|
56
|
+
"@progress/kendo-angular-icons": "24.0.0-develop.34",
|
|
57
|
+
"@progress/kendo-angular-inputs": "24.0.0-develop.34",
|
|
58
|
+
"@progress/kendo-angular-intl": "24.0.0-develop.34",
|
|
59
|
+
"@progress/kendo-angular-l10n": "24.0.0-develop.34",
|
|
60
|
+
"@progress/kendo-angular-label": "24.0.0-develop.34",
|
|
61
|
+
"@progress/kendo-angular-popup": "24.0.0-develop.34",
|
|
62
62
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"tslib": "^2.3.1",
|
|
66
|
-
"@progress/kendo-angular-schematics": "24.0.0-develop.
|
|
66
|
+
"@progress/kendo-angular-schematics": "24.0.0-develop.34",
|
|
67
67
|
"@progress/kendo-date-math": "^1.3.2",
|
|
68
68
|
"@progress/kendo-draggable": "^3.0.2",
|
|
69
69
|
"@progress/kendo-file-saver": "^1.0.7",
|
package/scheduler.component.d.ts
CHANGED
|
@@ -34,7 +34,6 @@ import { IntlService } from '@progress/kendo-angular-intl';
|
|
|
34
34
|
import { EditEventArgs } from './types/edit-event-args.interface';
|
|
35
35
|
import { PDFService } from './pdf/pdf.service';
|
|
36
36
|
import { PDFExportEvent } from './pdf/pdf-export-event';
|
|
37
|
-
import { LoadingComponent } from './loading.component';
|
|
38
37
|
import { FocusService, FocusPosition } from './navigation';
|
|
39
38
|
import { DomEventsService } from './views/common/dom-events.service';
|
|
40
39
|
import { CreateEvent } from './events/create-event';
|
|
@@ -405,10 +404,6 @@ export declare class SchedulerComponent implements AfterContentInit, OnDestroy,
|
|
|
405
404
|
* @hidden
|
|
406
405
|
*/
|
|
407
406
|
confirmationDialogContainerRef: ViewContainerRef;
|
|
408
|
-
/**
|
|
409
|
-
* @hidden
|
|
410
|
-
*/
|
|
411
|
-
loadingComponent: LoadingComponent;
|
|
412
407
|
/**
|
|
413
408
|
* @hidden
|
|
414
409
|
*/
|
|
@@ -469,6 +464,10 @@ export declare class SchedulerComponent implements AfterContentInit, OnDestroy,
|
|
|
469
464
|
* @hidden
|
|
470
465
|
*/
|
|
471
466
|
get viewToolbar(): boolean;
|
|
467
|
+
/**
|
|
468
|
+
* @hidden
|
|
469
|
+
*/
|
|
470
|
+
pdfLoading: boolean;
|
|
472
471
|
private direction;
|
|
473
472
|
private subs;
|
|
474
473
|
private viewIndex;
|
|
@@ -9,10 +9,10 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
9
9
|
function default_1(options) {
|
|
10
10
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'SchedulerModule', package: 'scheduler', peerDependencies: {
|
|
11
11
|
// peer deps of the dropdowns
|
|
12
|
-
'@progress/kendo-angular-treeview': '24.0.0-develop.
|
|
13
|
-
'@progress/kendo-angular-navigation': '24.0.0-develop.
|
|
12
|
+
'@progress/kendo-angular-treeview': '24.0.0-develop.34',
|
|
13
|
+
'@progress/kendo-angular-navigation': '24.0.0-develop.34',
|
|
14
14
|
// peer dependency of kendo-angular-inputs
|
|
15
|
-
'@progress/kendo-angular-dialog': '24.0.0-develop.
|
|
15
|
+
'@progress/kendo-angular-dialog': '24.0.0-develop.34',
|
|
16
16
|
// peer dependency of kendo-angular-icons
|
|
17
17
|
'@progress/kendo-svg-icons': '^4.0.0'
|
|
18
18
|
} });
|
|
@@ -47,8 +47,10 @@ export declare abstract class BaseView implements OnInit, OnChanges, AfterViewIn
|
|
|
47
47
|
contentTable: ElementRef;
|
|
48
48
|
times: ElementRef;
|
|
49
49
|
timesHeader: ElementRef;
|
|
50
|
+
timesHeaderTable: ElementRef;
|
|
50
51
|
timesTable: ElementRef;
|
|
51
52
|
headerWrap: ElementRef;
|
|
53
|
+
headerTable: ElementRef;
|
|
52
54
|
hintContainer: HintContainerComponent;
|
|
53
55
|
get eventTemplateRef(): TemplateRef<any>;
|
|
54
56
|
get groupHeaderTemplateRef(): TemplateRef<any>;
|
|
@@ -89,8 +89,11 @@ export declare abstract class DayTimeViewComponent extends BaseView implements O
|
|
|
89
89
|
protected createDaySlots(multiDayEnd?: Date): any[];
|
|
90
90
|
protected createTimeSlots(): any[];
|
|
91
91
|
protected initWorkDay(): void;
|
|
92
|
+
protected syncDateHeaderHeight(): void;
|
|
93
|
+
protected syncGroupHeaderHeight(): void;
|
|
92
94
|
protected slotByPosition(x: number, y: number, container?: any): any;
|
|
93
95
|
protected slotFields(slot: any): any;
|
|
96
|
+
private syncCellHeight;
|
|
94
97
|
static ɵfac: i0.ɵɵFactoryDeclaration<DayTimeViewComponent, never>;
|
|
95
98
|
static ɵcmp: i0.ɵɵComponentDeclaration<DayTimeViewComponent, "kendo-day-time-view", never, { "timeSlotTemplate": { "alias": "timeSlotTemplate"; "required": false; }; "dateHeaderTemplate": { "alias": "dateHeaderTemplate"; "required": false; }; "majorTimeHeaderTemplate": { "alias": "majorTimeHeaderTemplate"; "required": false; }; "minorTimeHeaderTemplate": { "alias": "minorTimeHeaderTemplate"; "required": false; }; "numberOfDays": { "alias": "numberOfDays"; "required": false; }; "scrollTime": { "alias": "scrollTime"; "required": false; }; "startTime": { "alias": "startTime"; "required": false; }; "endTime": { "alias": "endTime"; "required": false; }; "workDayStart": { "alias": "workDayStart"; "required": false; }; "workDayEnd": { "alias": "workDayEnd"; "required": false; }; "workWeekStart": { "alias": "workWeekStart"; "required": false; }; "workWeekEnd": { "alias": "workWeekEnd"; "required": false; }; "slotDuration": { "alias": "slotDuration"; "required": false; }; "slotDivisions": { "alias": "slotDivisions"; "required": false; }; "showWorkHours": { "alias": "showWorkHours"; "required": false; }; "getStartDate": { "alias": "getStartDate"; "required": false; }; "getEndDate": { "alias": "getEndDate"; "required": false; }; "getNextDate": { "alias": "getNextDate"; "required": false; }; "currentTimeMarker": { "alias": "currentTimeMarker"; "required": false; }; "highlightOngoingEvents": { "alias": "highlightOngoingEvents"; "required": false; }; }, {}, never, never, true, never>;
|
|
96
99
|
}
|
|
@@ -62,6 +62,7 @@ export declare class MonthViewRendererComponent extends BaseView implements OnCh
|
|
|
62
62
|
protected createTasks(items: ViewItem[], dateRange: DateRange): any[];
|
|
63
63
|
protected onTasksChange(): void;
|
|
64
64
|
protected reflow(): void;
|
|
65
|
+
protected syncTables(): void;
|
|
65
66
|
protected onClick(e: any, eventType?: string): void;
|
|
66
67
|
protected slotByIndex(index: any, _args: any): any;
|
|
67
68
|
protected onSelectDate(date: Date): void;
|
|
@@ -50,6 +50,7 @@ export declare class MultiDayViewRendererComponent extends DayTimeViewComponent
|
|
|
50
50
|
protected createTasks(items: ViewItem[], dateRange: DateRange): any[];
|
|
51
51
|
protected onTasksChange(): void;
|
|
52
52
|
protected reflow(): void;
|
|
53
|
+
protected syncTables(): void;
|
|
53
54
|
protected dragHorizontal(slot: any): boolean;
|
|
54
55
|
protected updateHintContainer(): void;
|
|
55
56
|
protected onRelease(args: any): void;
|
|
@@ -24,7 +24,6 @@ export declare class TimelineMultiDayViewComponent extends DayTimeViewComponent
|
|
|
24
24
|
viewName: string;
|
|
25
25
|
verticalResourceRows: QueryList<ElementRef>;
|
|
26
26
|
get classNames(): string;
|
|
27
|
-
headerTable: ElementRef;
|
|
28
27
|
get contentWidthPercentage(): number;
|
|
29
28
|
protected verticalTime: boolean;
|
|
30
29
|
private contentWidth;
|
|
@@ -37,6 +36,7 @@ export declare class TimelineMultiDayViewComponent extends DayTimeViewComponent
|
|
|
37
36
|
horizontalColspan(resourceIndex: number): any;
|
|
38
37
|
verticalRowspan(resourceIndex: number): any;
|
|
39
38
|
handleScroll(): void;
|
|
39
|
+
protected syncTables(): void;
|
|
40
40
|
protected createTasks(items: ViewItem[], dateRange: DateRange): any[];
|
|
41
41
|
protected onTasksChange(): void;
|
|
42
42
|
protected dragRanges(slot: any): any;
|
package/views/utils.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export declare const intersects: (startTime: Date, endTime: Date, periodStart: D
|
|
|
15
15
|
/** @hidden */
|
|
16
16
|
export declare const dateInRange: (date: Date, start: Date, end: Date) => boolean;
|
|
17
17
|
/** @hidden */
|
|
18
|
+
export declare const getVerticalPaddingAndBorder: (element: HTMLElement) => number;
|
|
19
|
+
/** @hidden */
|
|
18
20
|
export declare const roundAllDayEnd: ({ start, end }: {
|
|
19
21
|
start: any;
|
|
20
22
|
end: any;
|