@progress/kendo-angular-scheduler 19.3.0-develop.9 → 19.3.1-develop.1
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/esm2022/editing/edit-dialog.component.mjs +4 -4
- package/esm2022/editing/recurrence/recurrence-end-rule-editor.component.mjs +4 -2
- package/esm2022/events.mjs +1 -0
- package/esm2022/navigation/shortcuts.directive.mjs +34 -15
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/scheduler.component.mjs +9 -4
- package/esm2022/views/day-time/day-time-slot.service.mjs +11 -1
- package/events.d.ts +1 -0
- package/fesm2022/progress-kendo-angular-scheduler.mjs +64 -28
- package/index.d.ts +1 -0
- package/navigation/shortcuts.directive.d.ts +1 -0
- package/package.json +16 -16
- package/scheduler.component.d.ts +4 -0
- package/schematics/ngAdd/index.js +3 -3
|
@@ -89,10 +89,10 @@ export class EditDialogComponent {
|
|
|
89
89
|
this.subs.add(fromEvent(this.element.nativeElement, 'keydown')
|
|
90
90
|
.pipe(filter(() => this.isActive))
|
|
91
91
|
.subscribe((e) => {
|
|
92
|
-
if (e.
|
|
92
|
+
if (e.code === Keys.Escape) {
|
|
93
93
|
this.reset();
|
|
94
94
|
}
|
|
95
|
-
if (e.
|
|
95
|
+
if ((e.code === Keys.Enter || e.code === Keys.NumpadEnter) && (withModifiers(e, Modifiers.CtrlKey) || withModifiers(e, Modifiers.MetaKey))) {
|
|
96
96
|
this.onSave(e);
|
|
97
97
|
}
|
|
98
98
|
e.stopPropagation();
|
|
@@ -272,7 +272,7 @@ export class EditDialogComponent {
|
|
|
272
272
|
<input
|
|
273
273
|
#title
|
|
274
274
|
kendoTextBox
|
|
275
|
-
placeholder='
|
|
275
|
+
[attr.placeholder]="textFor('editorEventTitle')"
|
|
276
276
|
[formControl]='getControl(fields.title)'
|
|
277
277
|
/>
|
|
278
278
|
</kendo-formfield>
|
|
@@ -469,7 +469,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
469
469
|
<input
|
|
470
470
|
#title
|
|
471
471
|
kendoTextBox
|
|
472
|
-
placeholder='
|
|
472
|
+
[attr.placeholder]="textFor('editorEventTitle')"
|
|
473
473
|
[formControl]='getControl(fields.title)'
|
|
474
474
|
/>
|
|
475
475
|
</kendo-formfield>
|
|
@@ -182,7 +182,7 @@ export class RecurrenceEndRuleEditorComponent {
|
|
|
182
182
|
<span class="k-radio-wrap">
|
|
183
183
|
<input kendoRecurrenceEndRuleRadioButton='k-endrule-until-{{uniqueId}}' />
|
|
184
184
|
</span>
|
|
185
|
-
<label [labelClass]="false" class='k-radio-label' for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>
|
|
185
|
+
<label [labelClass]="false" class='k-radio-label' [attr.id]="'k-endrule-until-' + uniqueId + '-label'" for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>
|
|
186
186
|
<kendo-datepicker
|
|
187
187
|
class="k-recur-until"
|
|
188
188
|
[style.width.px]='150'
|
|
@@ -206,6 +206,7 @@ export class RecurrenceEndRuleEditorComponent {
|
|
|
206
206
|
[disabledDates]="datePickerOptions.disabledDates"
|
|
207
207
|
[popupSettings]="datePickerOptions.popupSettings"
|
|
208
208
|
[(value)]='untilValue'
|
|
209
|
+
[inputAttributes]="{ 'aria-labelledby': 'k-endrule-until-' + uniqueId + '-label' }"
|
|
209
210
|
(blur)="onUntilBlur()"
|
|
210
211
|
(valueChange)='onUntilChange($event)'
|
|
211
212
|
>
|
|
@@ -277,7 +278,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
277
278
|
<span class="k-radio-wrap">
|
|
278
279
|
<input kendoRecurrenceEndRuleRadioButton='k-endrule-until-{{uniqueId}}' />
|
|
279
280
|
</span>
|
|
280
|
-
<label [labelClass]="false" class='k-radio-label' for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>
|
|
281
|
+
<label [labelClass]="false" class='k-radio-label' [attr.id]="'k-endrule-until-' + uniqueId + '-label'" for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>
|
|
281
282
|
<kendo-datepicker
|
|
282
283
|
class="k-recur-until"
|
|
283
284
|
[style.width.px]='150'
|
|
@@ -301,6 +302,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
301
302
|
[disabledDates]="datePickerOptions.disabledDates"
|
|
302
303
|
[popupSettings]="datePickerOptions.popupSettings"
|
|
303
304
|
[(value)]='untilValue'
|
|
305
|
+
[inputAttributes]="{ 'aria-labelledby': 'k-endrule-until-' + uniqueId + '-label' }"
|
|
304
306
|
(blur)="onUntilBlur()"
|
|
305
307
|
(valueChange)='onUntilChange($event)'
|
|
306
308
|
>
|
package/esm2022/events.mjs
CHANGED
|
@@ -23,3 +23,4 @@ export { AddEvent } from './events/add-event';
|
|
|
23
23
|
export { SlotDragStartEvent } from './events/slot-drag-start-event';
|
|
24
24
|
export { SlotDragEvent } from './events/slot-drag-event';
|
|
25
25
|
export { SlotDragEndEvent } from './events/slot-drag-end-event';
|
|
26
|
+
export { CreateEvent } from './events/create-event';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { ChangeDetectorRef, Directive, NgZone } from '@angular/core';
|
|
6
|
-
import { Keys } from '@progress/kendo-angular-common';
|
|
6
|
+
import { Keys, normalizeNumpadKeys } from '@progress/kendo-angular-common';
|
|
7
7
|
import { ZonedDate } from '@progress/kendo-date-math';
|
|
8
8
|
import { Subscription } from 'rxjs';
|
|
9
9
|
import { FocusService } from './focus.service';
|
|
@@ -35,7 +35,7 @@ export class ShortcutsDirective {
|
|
|
35
35
|
viewState;
|
|
36
36
|
dialogsService;
|
|
37
37
|
shortcuts = [{
|
|
38
|
-
match: e => e.
|
|
38
|
+
match: e => e.code === Keys.KeyC && noModifiers(e),
|
|
39
39
|
action: e => {
|
|
40
40
|
const scheduler = this.scheduler;
|
|
41
41
|
const hours = new Date().getHours();
|
|
@@ -61,10 +61,14 @@ export class ShortcutsDirective {
|
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
}, {
|
|
64
|
-
match: e =>
|
|
64
|
+
match: e => {
|
|
65
|
+
const code = normalizeNumpadKeys(e);
|
|
66
|
+
return (code.startsWith('Digit') || code.startsWith('Numpad')) && withModifiers(e, Modifiers.AltKey);
|
|
67
|
+
},
|
|
65
68
|
action: e => {
|
|
66
69
|
const scheduler = this.scheduler;
|
|
67
|
-
const
|
|
70
|
+
const code = normalizeNumpadKeys(e);
|
|
71
|
+
const viewIndex = this.digitToNumber(code, code.startsWith('Digit') ? 'Digit' : 'Numpad') - 1;
|
|
68
72
|
const views = scheduler.views.toArray();
|
|
69
73
|
const view = views[viewIndex];
|
|
70
74
|
if (view) {
|
|
@@ -78,7 +82,7 @@ export class ShortcutsDirective {
|
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
}, {
|
|
81
|
-
match: e => e.
|
|
85
|
+
match: e => e.code === Keys.F10 && noModifiers(e),
|
|
82
86
|
action: (e) => {
|
|
83
87
|
this.zone.run(() => {
|
|
84
88
|
e.preventDefault();
|
|
@@ -87,7 +91,7 @@ export class ShortcutsDirective {
|
|
|
87
91
|
});
|
|
88
92
|
}
|
|
89
93
|
}, {
|
|
90
|
-
match: e => e.
|
|
94
|
+
match: e => e.code === Keys.KeyT && noModifiers(e),
|
|
91
95
|
action: () => {
|
|
92
96
|
this.zone.run(() => {
|
|
93
97
|
this.scheduler.onNavigationAction({ type: 'today' });
|
|
@@ -95,7 +99,7 @@ export class ShortcutsDirective {
|
|
|
95
99
|
});
|
|
96
100
|
}
|
|
97
101
|
}, {
|
|
98
|
-
match: e => e.
|
|
102
|
+
match: e => e.code === Keys.KeyB && noModifiers(e),
|
|
99
103
|
action: () => {
|
|
100
104
|
this.zone.run(() => {
|
|
101
105
|
this.scheduler.onNavigationAction({ type: 'toggle-business-hours' });
|
|
@@ -103,16 +107,23 @@ export class ShortcutsDirective {
|
|
|
103
107
|
});
|
|
104
108
|
}
|
|
105
109
|
}, {
|
|
106
|
-
match: (e) =>
|
|
110
|
+
match: (e) => {
|
|
111
|
+
const code = normalizeNumpadKeys(e);
|
|
112
|
+
return (code === Keys.ArrowLeft || code === Keys.ArrowRight) && withModifiers(e, Modifiers.ShiftKey);
|
|
113
|
+
},
|
|
107
114
|
action: (e) => {
|
|
108
|
-
const
|
|
115
|
+
const code = normalizeNumpadKeys(e);
|
|
116
|
+
const type = code === Keys.ArrowLeft ? 'prev' : 'next';
|
|
109
117
|
this.zone.run(() => {
|
|
110
118
|
this.scheduler.onNavigationAction({ type });
|
|
111
119
|
this.focusWait();
|
|
112
120
|
});
|
|
113
121
|
}
|
|
114
122
|
}, {
|
|
115
|
-
match: e =>
|
|
123
|
+
match: e => {
|
|
124
|
+
const code = normalizeNumpadKeys(e);
|
|
125
|
+
return (code === Keys.ArrowUp || code === Keys.ArrowLeft) && noModifiers(e) && !isContentWrapper(e.target);
|
|
126
|
+
},
|
|
116
127
|
action: e => {
|
|
117
128
|
//use the MultiViewCalendar navigation for Year View
|
|
118
129
|
if (e.target.tagName === CALENDAR_TAG) {
|
|
@@ -126,14 +137,18 @@ export class ShortcutsDirective {
|
|
|
126
137
|
if (!prevented) {
|
|
127
138
|
const item = this.focusService.activeItem;
|
|
128
139
|
const isFirstEvent = item.containerType === 'content' && item.element.nativeElement.matches(':first-of-type');
|
|
129
|
-
const
|
|
140
|
+
const code = normalizeNumpadKeys(e);
|
|
141
|
+
const isUpArrow = code === Keys.ArrowUp;
|
|
130
142
|
// eslint-disable-next-line no-unused-expressions
|
|
131
143
|
isFirstEvent && isUpArrow ? this.focusService.focusToolbar() : this.focusService.focusNext({ offset: -1 });
|
|
132
144
|
e.preventDefault();
|
|
133
145
|
}
|
|
134
146
|
}
|
|
135
147
|
}, {
|
|
136
|
-
match: e =>
|
|
148
|
+
match: e => {
|
|
149
|
+
const code = normalizeNumpadKeys(e);
|
|
150
|
+
return (code === Keys.ArrowDown || code === Keys.ArrowRight) && noModifiers(e) && !isContentWrapper(e.target);
|
|
151
|
+
},
|
|
137
152
|
action: e => {
|
|
138
153
|
//use the MultiViewCalendar navigation for Year View
|
|
139
154
|
if (e.target.tagName === CALENDAR_TAG) {
|
|
@@ -147,7 +162,8 @@ export class ShortcutsDirective {
|
|
|
147
162
|
if (!prevented) {
|
|
148
163
|
const isInToolbar = this.focusService.activeItem.containerType === 'toolbar';
|
|
149
164
|
const offset = 1;
|
|
150
|
-
|
|
165
|
+
const code = normalizeNumpadKeys(e);
|
|
166
|
+
if (code === Keys.ArrowDown && isInToolbar) {
|
|
151
167
|
const focusableElementsArray = Array.from(this.focusService.focusableItems);
|
|
152
168
|
const firstFocusableContentElementIndex = focusableElementsArray.findIndex(item => item.containerType === 'content');
|
|
153
169
|
if (firstFocusableContentElementIndex > -1) {
|
|
@@ -162,13 +178,13 @@ export class ShortcutsDirective {
|
|
|
162
178
|
}
|
|
163
179
|
}];
|
|
164
180
|
taskShortcuts = [{
|
|
165
|
-
match: e => (e.
|
|
181
|
+
match: e => (e.code === Keys.Delete || e.code === Keys.Backspace) && noModifiers(e),
|
|
166
182
|
action: (e, event) => {
|
|
167
183
|
this.viewState.emitEvent('remove', { event: event, dataItem: event.dataItem });
|
|
168
184
|
e.preventDefault();
|
|
169
185
|
}
|
|
170
186
|
}, {
|
|
171
|
-
match: e => e.
|
|
187
|
+
match: e => (e.code === Keys.Enter || e.code === Keys.NumpadEnter) && noModifiers(e),
|
|
172
188
|
action: (e, event) => {
|
|
173
189
|
this.viewState.emitEvent('eventDblClick', { type: 'dblclick', event: event, originalEvent: e });
|
|
174
190
|
e.preventDefault();
|
|
@@ -208,6 +224,9 @@ export class ShortcutsDirective {
|
|
|
208
224
|
element.closest('.k-views-dropdown');
|
|
209
225
|
return isInToolbar && !isInBuiltInElement;
|
|
210
226
|
}
|
|
227
|
+
digitToNumber(code, keyType) {
|
|
228
|
+
return parseInt(code.replace(keyType, ''), 10);
|
|
229
|
+
}
|
|
211
230
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ShortcutsDirective, deps: [{ token: i1.SchedulerComponent }, { token: i2.DomEventsService }, { token: i3.FocusService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i4.ViewStateService }, { token: i5.DialogsService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
212
231
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ShortcutsDirective, isStandalone: true, selector: "kendo-scheduler", ngImport: i0 });
|
|
213
232
|
}
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '19.3.
|
|
13
|
+
publishDate: 1755502877,
|
|
14
|
+
version: '19.3.1-develop.1',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, ContentChild, ContentChildren, EventEmitter, HostBinding, Input, isDevMode, NgZone, Output, QueryList, ViewChild, ViewContainerRef, ChangeDetectorRef, ChangeDetectionStrategy, ElementRef, Renderer2 } from '@angular/core';
|
|
6
6
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
-
import { ResizeSensorComponent, isDocumentAvailable, shouldShowValidationUI, anyChanged, isChanged, hasObservers, WatermarkOverlayComponent } from '@progress/kendo-angular-common';
|
|
7
|
+
import { ResizeSensorComponent, isDocumentAvailable, shouldShowValidationUI, getLicenseMessage, anyChanged, isChanged, hasObservers, WatermarkOverlayComponent } from '@progress/kendo-angular-common';
|
|
8
8
|
import { getDate, ZonedDate, Day } from '@progress/kendo-date-math';
|
|
9
9
|
import { take } from 'rxjs/operators';
|
|
10
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
@@ -500,6 +500,10 @@ export class SchedulerComponent {
|
|
|
500
500
|
* @hidden
|
|
501
501
|
*/
|
|
502
502
|
showLicenseWatermark = false;
|
|
503
|
+
/**
|
|
504
|
+
* @hidden
|
|
505
|
+
*/
|
|
506
|
+
licenseMessage;
|
|
503
507
|
/**
|
|
504
508
|
* @hidden
|
|
505
509
|
*/
|
|
@@ -531,6 +535,7 @@ export class SchedulerComponent {
|
|
|
531
535
|
this.renderer = renderer;
|
|
532
536
|
this.focusService = focusService;
|
|
533
537
|
const isValid = validatePackage(packageMetadata);
|
|
538
|
+
this.licenseMessage = getLicenseMessage(packageMetadata);
|
|
534
539
|
this.showLicenseWatermark = shouldShowValidationUI(isValid);
|
|
535
540
|
this.dateRangeStream = viewState.dateRange;
|
|
536
541
|
this.selectedDateStream = viewContext.selectedDate;
|
|
@@ -1406,8 +1411,8 @@ export class SchedulerComponent {
|
|
|
1406
1411
|
<div [loading]="loading" kendoSchedulerLoading>
|
|
1407
1412
|
</div>
|
|
1408
1413
|
|
|
1409
|
-
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
|
1410
|
-
`, 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]", inputs: ["loading"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1414
|
+
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
|
|
1415
|
+
`, 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]", inputs: ["loading"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1411
1416
|
}
|
|
1412
1417
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SchedulerComponent, decorators: [{
|
|
1413
1418
|
type: Component,
|
|
@@ -1764,7 +1769,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1764
1769
|
<div [loading]="loading" kendoSchedulerLoading>
|
|
1765
1770
|
</div>
|
|
1766
1771
|
|
|
1767
|
-
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
|
1772
|
+
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
|
|
1768
1773
|
`,
|
|
1769
1774
|
standalone: true,
|
|
1770
1775
|
imports: [LocalizedMessagesDirective, ToolbarComponent, NgTemplateOutlet, EditDialogComponent, ResizeSensorComponent, LoadingComponent, NgIf, WatermarkOverlayComponent]
|
|
@@ -67,7 +67,17 @@ function initTimeColumns(slotKeys, slotItems) {
|
|
|
67
67
|
const intersectingEvents = intersects(event.item.startTime, event.item.endTime, current.item.startTime, current.item.endTime);
|
|
68
68
|
const overlappingEvents = minHeightOverlaps(current.rect.top, event.rect.top);
|
|
69
69
|
if (!(anyOverlappingEvents || intersectingEvents || overlappingEvents)) {
|
|
70
|
-
|
|
70
|
+
const currentSlotDay = new Date(slot.start).toDateString();
|
|
71
|
+
const hasPreviousSlotsWithMoreOrSameColumns = slotKeys.some(previousKey => {
|
|
72
|
+
const previousSlot = slotItems[previousKey].slot;
|
|
73
|
+
const previousSlotDay = new Date(previousSlot.start).toDateString();
|
|
74
|
+
return previousSlotDay === currentSlotDay &&
|
|
75
|
+
previousSlot.start < slot.start &&
|
|
76
|
+
previousSlot.columns >= (columns - 1);
|
|
77
|
+
});
|
|
78
|
+
if (!hasPreviousSlotsWithMoreOrSameColumns) {
|
|
79
|
+
columns--;
|
|
80
|
+
}
|
|
71
81
|
event.columnIndex = idx;
|
|
72
82
|
event.lastColumn = !events.some((e) => {
|
|
73
83
|
const hasColumnIndex = e.columnIndex;
|
package/events.d.ts
CHANGED
|
@@ -23,3 +23,4 @@ export { AddEvent } from './events/add-event';
|
|
|
23
23
|
export { SlotDragStartEvent } from './events/slot-drag-start-event';
|
|
24
24
|
export { SlotDragEvent } from './events/slot-drag-event';
|
|
25
25
|
export { SlotDragEndEvent } from './events/slot-drag-end-event';
|
|
26
|
+
export { CreateEvent } from './events/create-event';
|
|
@@ -7,7 +7,7 @@ import { Directive, Optional, Injectable, EventEmitter, Input, Inject, isDevMode
|
|
|
7
7
|
import * as i1$1 from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
|
|
9
9
|
import * as i7 from '@progress/kendo-angular-common';
|
|
10
|
-
import { hasObservers, isDocumentAvailable, isVisible as isVisible$1, scrollbarWidth, isChanged, Keys, ResizeSensorComponent, shouldShowValidationUI, anyChanged, WatermarkOverlayComponent, guid, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
10
|
+
import { hasObservers, isDocumentAvailable, isVisible as isVisible$1, scrollbarWidth, isChanged, Keys, ResizeSensorComponent, getLicenseMessage, shouldShowValidationUI, anyChanged, WatermarkOverlayComponent, guid, normalizeNumpadKeys, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
11
11
|
import { isEqualDate, ZonedDate, toLocalDate, getDate, timezoneNames, Day, MS_PER_DAY as MS_PER_DAY$1, addDays, firstDayOfMonth, lastDayOfMonth, firstDayInWeek, addMonths, addWeeks, addYears } from '@progress/kendo-date-math';
|
|
12
12
|
import { auditTime, buffer, filter, map, debounceTime, take, distinctUntilChanged, switchMap, tap } from 'rxjs/operators';
|
|
13
13
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
@@ -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: '19.3.
|
|
46
|
+
publishDate: 1755502877,
|
|
47
|
+
version: '19.3.1-develop.1',
|
|
48
48
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
49
49
|
};
|
|
50
50
|
|
|
@@ -3687,7 +3687,7 @@ class RecurrenceEndRuleEditorComponent {
|
|
|
3687
3687
|
<span class="k-radio-wrap">
|
|
3688
3688
|
<input kendoRecurrenceEndRuleRadioButton='k-endrule-until-{{uniqueId}}' />
|
|
3689
3689
|
</span>
|
|
3690
|
-
<label [labelClass]="false" class='k-radio-label' for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>
|
|
3690
|
+
<label [labelClass]="false" class='k-radio-label' [attr.id]="'k-endrule-until-' + uniqueId + '-label'" for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>
|
|
3691
3691
|
<kendo-datepicker
|
|
3692
3692
|
class="k-recur-until"
|
|
3693
3693
|
[style.width.px]='150'
|
|
@@ -3711,6 +3711,7 @@ class RecurrenceEndRuleEditorComponent {
|
|
|
3711
3711
|
[disabledDates]="datePickerOptions.disabledDates"
|
|
3712
3712
|
[popupSettings]="datePickerOptions.popupSettings"
|
|
3713
3713
|
[(value)]='untilValue'
|
|
3714
|
+
[inputAttributes]="{ 'aria-labelledby': 'k-endrule-until-' + uniqueId + '-label' }"
|
|
3714
3715
|
(blur)="onUntilBlur()"
|
|
3715
3716
|
(valueChange)='onUntilChange($event)'
|
|
3716
3717
|
>
|
|
@@ -3782,7 +3783,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3782
3783
|
<span class="k-radio-wrap">
|
|
3783
3784
|
<input kendoRecurrenceEndRuleRadioButton='k-endrule-until-{{uniqueId}}' />
|
|
3784
3785
|
</span>
|
|
3785
|
-
<label [labelClass]="false" class='k-radio-label' for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>
|
|
3786
|
+
<label [labelClass]="false" class='k-radio-label' [attr.id]="'k-endrule-until-' + uniqueId + '-label'" for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>
|
|
3786
3787
|
<kendo-datepicker
|
|
3787
3788
|
class="k-recur-until"
|
|
3788
3789
|
[style.width.px]='150'
|
|
@@ -3806,6 +3807,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3806
3807
|
[disabledDates]="datePickerOptions.disabledDates"
|
|
3807
3808
|
[popupSettings]="datePickerOptions.popupSettings"
|
|
3808
3809
|
[(value)]='untilValue'
|
|
3810
|
+
[inputAttributes]="{ 'aria-labelledby': 'k-endrule-until-' + uniqueId + '-label' }"
|
|
3809
3811
|
(blur)="onUntilBlur()"
|
|
3810
3812
|
(valueChange)='onUntilChange($event)'
|
|
3811
3813
|
>
|
|
@@ -5871,10 +5873,10 @@ class EditDialogComponent {
|
|
|
5871
5873
|
this.subs.add(fromEvent(this.element.nativeElement, 'keydown')
|
|
5872
5874
|
.pipe(filter(() => this.isActive))
|
|
5873
5875
|
.subscribe((e) => {
|
|
5874
|
-
if (e.
|
|
5876
|
+
if (e.code === Keys.Escape) {
|
|
5875
5877
|
this.reset();
|
|
5876
5878
|
}
|
|
5877
|
-
if (e.
|
|
5879
|
+
if ((e.code === Keys.Enter || e.code === Keys.NumpadEnter) && (withModifiers(e, Modifiers.CtrlKey) || withModifiers(e, Modifiers.MetaKey))) {
|
|
5878
5880
|
this.onSave(e);
|
|
5879
5881
|
}
|
|
5880
5882
|
e.stopPropagation();
|
|
@@ -6054,7 +6056,7 @@ class EditDialogComponent {
|
|
|
6054
6056
|
<input
|
|
6055
6057
|
#title
|
|
6056
6058
|
kendoTextBox
|
|
6057
|
-
placeholder='
|
|
6059
|
+
[attr.placeholder]="textFor('editorEventTitle')"
|
|
6058
6060
|
[formControl]='getControl(fields.title)'
|
|
6059
6061
|
/>
|
|
6060
6062
|
</kendo-formfield>
|
|
@@ -6251,7 +6253,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6251
6253
|
<input
|
|
6252
6254
|
#title
|
|
6253
6255
|
kendoTextBox
|
|
6254
|
-
placeholder='
|
|
6256
|
+
[attr.placeholder]="textFor('editorEventTitle')"
|
|
6255
6257
|
[formControl]='getControl(fields.title)'
|
|
6256
6258
|
/>
|
|
6257
6259
|
</kendo-formfield>
|
|
@@ -8210,6 +8212,10 @@ class SchedulerComponent {
|
|
|
8210
8212
|
* @hidden
|
|
8211
8213
|
*/
|
|
8212
8214
|
showLicenseWatermark = false;
|
|
8215
|
+
/**
|
|
8216
|
+
* @hidden
|
|
8217
|
+
*/
|
|
8218
|
+
licenseMessage;
|
|
8213
8219
|
/**
|
|
8214
8220
|
* @hidden
|
|
8215
8221
|
*/
|
|
@@ -8241,6 +8247,7 @@ class SchedulerComponent {
|
|
|
8241
8247
|
this.renderer = renderer;
|
|
8242
8248
|
this.focusService = focusService;
|
|
8243
8249
|
const isValid = validatePackage(packageMetadata);
|
|
8250
|
+
this.licenseMessage = getLicenseMessage(packageMetadata);
|
|
8244
8251
|
this.showLicenseWatermark = shouldShowValidationUI(isValid);
|
|
8245
8252
|
this.dateRangeStream = viewState.dateRange;
|
|
8246
8253
|
this.selectedDateStream = viewContext.selectedDate;
|
|
@@ -9116,8 +9123,8 @@ class SchedulerComponent {
|
|
|
9116
9123
|
<div [loading]="loading" kendoSchedulerLoading>
|
|
9117
9124
|
</div>
|
|
9118
9125
|
|
|
9119
|
-
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
|
9120
|
-
`, 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]", inputs: ["loading"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9126
|
+
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
|
|
9127
|
+
`, 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]", inputs: ["loading"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9121
9128
|
}
|
|
9122
9129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SchedulerComponent, decorators: [{
|
|
9123
9130
|
type: Component,
|
|
@@ -9474,7 +9481,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
9474
9481
|
<div [loading]="loading" kendoSchedulerLoading>
|
|
9475
9482
|
</div>
|
|
9476
9483
|
|
|
9477
|
-
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
|
9484
|
+
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
|
|
9478
9485
|
`,
|
|
9479
9486
|
standalone: true,
|
|
9480
9487
|
imports: [LocalizedMessagesDirective, ToolbarComponent, NgTemplateOutlet, EditDialogComponent, ResizeSensorComponent, LoadingComponent, NgIf, WatermarkOverlayComponent]
|
|
@@ -15455,7 +15462,17 @@ function initTimeColumns(slotKeys, slotItems) {
|
|
|
15455
15462
|
const intersectingEvents = intersects(event.item.startTime, event.item.endTime, current.item.startTime, current.item.endTime);
|
|
15456
15463
|
const overlappingEvents = minHeightOverlaps(current.rect.top, event.rect.top);
|
|
15457
15464
|
if (!(anyOverlappingEvents || intersectingEvents || overlappingEvents)) {
|
|
15458
|
-
|
|
15465
|
+
const currentSlotDay = new Date(slot.start).toDateString();
|
|
15466
|
+
const hasPreviousSlotsWithMoreOrSameColumns = slotKeys.some(previousKey => {
|
|
15467
|
+
const previousSlot = slotItems[previousKey].slot;
|
|
15468
|
+
const previousSlotDay = new Date(previousSlot.start).toDateString();
|
|
15469
|
+
return previousSlotDay === currentSlotDay &&
|
|
15470
|
+
previousSlot.start < slot.start &&
|
|
15471
|
+
previousSlot.columns >= (columns - 1);
|
|
15472
|
+
});
|
|
15473
|
+
if (!hasPreviousSlotsWithMoreOrSameColumns) {
|
|
15474
|
+
columns--;
|
|
15475
|
+
}
|
|
15459
15476
|
event.columnIndex = idx;
|
|
15460
15477
|
event.lastColumn = !events.some((e) => {
|
|
15461
15478
|
const hasColumnIndex = e.columnIndex;
|
|
@@ -20463,7 +20480,7 @@ class ShortcutsDirective {
|
|
|
20463
20480
|
viewState;
|
|
20464
20481
|
dialogsService;
|
|
20465
20482
|
shortcuts = [{
|
|
20466
|
-
match: e => e.
|
|
20483
|
+
match: e => e.code === Keys.KeyC && noModifiers(e),
|
|
20467
20484
|
action: e => {
|
|
20468
20485
|
const scheduler = this.scheduler;
|
|
20469
20486
|
const hours = new Date().getHours();
|
|
@@ -20489,10 +20506,14 @@ class ShortcutsDirective {
|
|
|
20489
20506
|
});
|
|
20490
20507
|
}
|
|
20491
20508
|
}, {
|
|
20492
|
-
match: e =>
|
|
20509
|
+
match: e => {
|
|
20510
|
+
const code = normalizeNumpadKeys(e);
|
|
20511
|
+
return (code.startsWith('Digit') || code.startsWith('Numpad')) && withModifiers(e, Modifiers.AltKey);
|
|
20512
|
+
},
|
|
20493
20513
|
action: e => {
|
|
20494
20514
|
const scheduler = this.scheduler;
|
|
20495
|
-
const
|
|
20515
|
+
const code = normalizeNumpadKeys(e);
|
|
20516
|
+
const viewIndex = this.digitToNumber(code, code.startsWith('Digit') ? 'Digit' : 'Numpad') - 1;
|
|
20496
20517
|
const views = scheduler.views.toArray();
|
|
20497
20518
|
const view = views[viewIndex];
|
|
20498
20519
|
if (view) {
|
|
@@ -20506,7 +20527,7 @@ class ShortcutsDirective {
|
|
|
20506
20527
|
}
|
|
20507
20528
|
}
|
|
20508
20529
|
}, {
|
|
20509
|
-
match: e => e.
|
|
20530
|
+
match: e => e.code === Keys.F10 && noModifiers(e),
|
|
20510
20531
|
action: (e) => {
|
|
20511
20532
|
this.zone.run(() => {
|
|
20512
20533
|
e.preventDefault();
|
|
@@ -20515,7 +20536,7 @@ class ShortcutsDirective {
|
|
|
20515
20536
|
});
|
|
20516
20537
|
}
|
|
20517
20538
|
}, {
|
|
20518
|
-
match: e => e.
|
|
20539
|
+
match: e => e.code === Keys.KeyT && noModifiers(e),
|
|
20519
20540
|
action: () => {
|
|
20520
20541
|
this.zone.run(() => {
|
|
20521
20542
|
this.scheduler.onNavigationAction({ type: 'today' });
|
|
@@ -20523,7 +20544,7 @@ class ShortcutsDirective {
|
|
|
20523
20544
|
});
|
|
20524
20545
|
}
|
|
20525
20546
|
}, {
|
|
20526
|
-
match: e => e.
|
|
20547
|
+
match: e => e.code === Keys.KeyB && noModifiers(e),
|
|
20527
20548
|
action: () => {
|
|
20528
20549
|
this.zone.run(() => {
|
|
20529
20550
|
this.scheduler.onNavigationAction({ type: 'toggle-business-hours' });
|
|
@@ -20531,16 +20552,23 @@ class ShortcutsDirective {
|
|
|
20531
20552
|
});
|
|
20532
20553
|
}
|
|
20533
20554
|
}, {
|
|
20534
|
-
match: (e) =>
|
|
20555
|
+
match: (e) => {
|
|
20556
|
+
const code = normalizeNumpadKeys(e);
|
|
20557
|
+
return (code === Keys.ArrowLeft || code === Keys.ArrowRight) && withModifiers(e, Modifiers.ShiftKey);
|
|
20558
|
+
},
|
|
20535
20559
|
action: (e) => {
|
|
20536
|
-
const
|
|
20560
|
+
const code = normalizeNumpadKeys(e);
|
|
20561
|
+
const type = code === Keys.ArrowLeft ? 'prev' : 'next';
|
|
20537
20562
|
this.zone.run(() => {
|
|
20538
20563
|
this.scheduler.onNavigationAction({ type });
|
|
20539
20564
|
this.focusWait();
|
|
20540
20565
|
});
|
|
20541
20566
|
}
|
|
20542
20567
|
}, {
|
|
20543
|
-
match: e =>
|
|
20568
|
+
match: e => {
|
|
20569
|
+
const code = normalizeNumpadKeys(e);
|
|
20570
|
+
return (code === Keys.ArrowUp || code === Keys.ArrowLeft) && noModifiers(e) && !isContentWrapper(e.target);
|
|
20571
|
+
},
|
|
20544
20572
|
action: e => {
|
|
20545
20573
|
//use the MultiViewCalendar navigation for Year View
|
|
20546
20574
|
if (e.target.tagName === CALENDAR_TAG) {
|
|
@@ -20554,14 +20582,18 @@ class ShortcutsDirective {
|
|
|
20554
20582
|
if (!prevented) {
|
|
20555
20583
|
const item = this.focusService.activeItem;
|
|
20556
20584
|
const isFirstEvent = item.containerType === 'content' && item.element.nativeElement.matches(':first-of-type');
|
|
20557
|
-
const
|
|
20585
|
+
const code = normalizeNumpadKeys(e);
|
|
20586
|
+
const isUpArrow = code === Keys.ArrowUp;
|
|
20558
20587
|
// eslint-disable-next-line no-unused-expressions
|
|
20559
20588
|
isFirstEvent && isUpArrow ? this.focusService.focusToolbar() : this.focusService.focusNext({ offset: -1 });
|
|
20560
20589
|
e.preventDefault();
|
|
20561
20590
|
}
|
|
20562
20591
|
}
|
|
20563
20592
|
}, {
|
|
20564
|
-
match: e =>
|
|
20593
|
+
match: e => {
|
|
20594
|
+
const code = normalizeNumpadKeys(e);
|
|
20595
|
+
return (code === Keys.ArrowDown || code === Keys.ArrowRight) && noModifiers(e) && !isContentWrapper(e.target);
|
|
20596
|
+
},
|
|
20565
20597
|
action: e => {
|
|
20566
20598
|
//use the MultiViewCalendar navigation for Year View
|
|
20567
20599
|
if (e.target.tagName === CALENDAR_TAG) {
|
|
@@ -20575,7 +20607,8 @@ class ShortcutsDirective {
|
|
|
20575
20607
|
if (!prevented) {
|
|
20576
20608
|
const isInToolbar = this.focusService.activeItem.containerType === 'toolbar';
|
|
20577
20609
|
const offset = 1;
|
|
20578
|
-
|
|
20610
|
+
const code = normalizeNumpadKeys(e);
|
|
20611
|
+
if (code === Keys.ArrowDown && isInToolbar) {
|
|
20579
20612
|
const focusableElementsArray = Array.from(this.focusService.focusableItems);
|
|
20580
20613
|
const firstFocusableContentElementIndex = focusableElementsArray.findIndex(item => item.containerType === 'content');
|
|
20581
20614
|
if (firstFocusableContentElementIndex > -1) {
|
|
@@ -20590,13 +20623,13 @@ class ShortcutsDirective {
|
|
|
20590
20623
|
}
|
|
20591
20624
|
}];
|
|
20592
20625
|
taskShortcuts = [{
|
|
20593
|
-
match: e => (e.
|
|
20626
|
+
match: e => (e.code === Keys.Delete || e.code === Keys.Backspace) && noModifiers(e),
|
|
20594
20627
|
action: (e, event) => {
|
|
20595
20628
|
this.viewState.emitEvent('remove', { event: event, dataItem: event.dataItem });
|
|
20596
20629
|
e.preventDefault();
|
|
20597
20630
|
}
|
|
20598
20631
|
}, {
|
|
20599
|
-
match: e => e.
|
|
20632
|
+
match: e => (e.code === Keys.Enter || e.code === Keys.NumpadEnter) && noModifiers(e),
|
|
20600
20633
|
action: (e, event) => {
|
|
20601
20634
|
this.viewState.emitEvent('eventDblClick', { type: 'dblclick', event: event, originalEvent: e });
|
|
20602
20635
|
e.preventDefault();
|
|
@@ -20636,6 +20669,9 @@ class ShortcutsDirective {
|
|
|
20636
20669
|
element.closest('.k-views-dropdown');
|
|
20637
20670
|
return isInToolbar && !isInBuiltInElement;
|
|
20638
20671
|
}
|
|
20672
|
+
digitToNumber(code, keyType) {
|
|
20673
|
+
return parseInt(code.replace(keyType, ''), 10);
|
|
20674
|
+
}
|
|
20639
20675
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ShortcutsDirective, deps: [{ token: SchedulerComponent }, { token: DomEventsService }, { token: FocusService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: ViewStateService }, { token: DialogsService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20640
20676
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ShortcutsDirective, isStandalone: true, selector: "kendo-scheduler", ngImport: i0 });
|
|
20641
20677
|
}
|
|
@@ -21211,5 +21247,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
21211
21247
|
* Generated bundle index. Do not edit.
|
|
21212
21248
|
*/
|
|
21213
21249
|
|
|
21214
|
-
export { AddEvent, AgendaDateTemplateDirective, AgendaTimeTemplateDirective, AgendaViewComponent, AllDayEventTemplateDirective, AllDaySlotTemplateDirective, BaseEditService, CancelEvent, CrudOperation, DataBindingDirective, DateChangeEvent, DateHeaderTemplateDirective, DaySlotDirective, DayTimeSlotService, DayTimeViewItemComponent, DayViewComponent, DragEndEvent, DragEvent, DragStartEvent, EditDialogComponent, EditDialogTemplateDirective, EditEvent, EditEventBase, EditMode, EndRuleRadioButtonDirective, EventClickEvent, EventKeydownEvent, EventTemplateDirective, FocusService, FocusableDirective, GroupHeaderTemplateDirective, HintContainerComponent, IsSlotSelectedArgs, KENDO_SCHEDULER, KENDO_SCHEDULERPDF, LoadingComponent, LocalizedMessagesDirective, MajorTimeHeaderTemplateDirective, MinorTimeHeaderTemplateDirective, MonthDaySlotTemplateDirective, MonthViewComponent, MultiDayViewComponent, MultiWeekDaySlotTemplateDirective, MultiWeekViewComponent, MultipleResourceEditorComponent, NavigateEvent, PDFCommandDirective, PDFComponent, PDFExportEvent, PDFModule, PDFService, ReactiveEditingDirective, RecurrenceEditorComponent, RecurrenceEditorCustomMessagesComponent, RecurrenceEditorLocalizedMessagesDirective, RecurrenceEndRuleEditorComponent, RecurrenceFrequencyEditorComponent, RecurrenceIntervalEditorComponent, RecurrenceMonthlyYearlyEditorComponent, RecurrenceWeekdayRuleEditorComponent, RemoveEvent, RepeatOnRadioButtonDirective, RepeatPipe, ResizeEndEvent, ResizeEvent, ResizeHintComponent, ResizeStartEvent, ResourceIteratorPipe, SaveEvent, SchedulerComponent, SchedulerCustomMessagesComponent, SchedulerDateTimePickerComponent, SchedulerModule, SchedulerView, SchedulerViewDirective, ShortcutsDirective, SingleResourceEditorComponent, SlotClickEvent, SlotDragEndEvent, SlotDragEvent, SlotDragStartEvent, SlotSelectableDirective, SortPipe, TimeSlotDirective, TimeSlotTemplateDirective, TimeZoneEditorComponent, TimelineBase, TimelineMonthViewComponent, TimelineMultiDayViewComponent, TimelineViewComponent, TimelineWeekViewComponent, ToolbarNavigationComponent, ToolbarService, ToolbarTemplateDirective, ToolbarViewSelectorComponent, VIEW_EVENT_MAP, ViewContextService, ViewFooterComponent, ViewStateService, WeekViewComponent, WorkHoursFooterDirective, WorkWeekViewComponent, YearViewComponent, YearViewInternalComponent };
|
|
21250
|
+
export { AddEvent, AgendaDateTemplateDirective, AgendaTimeTemplateDirective, AgendaViewComponent, AllDayEventTemplateDirective, AllDaySlotTemplateDirective, BaseEditService, CancelEvent, CreateEvent, CrudOperation, DataBindingDirective, DateChangeEvent, DateHeaderTemplateDirective, DaySlotDirective, DayTimeSlotService, DayTimeViewItemComponent, DayViewComponent, DragEndEvent, DragEvent, DragStartEvent, EditDialogComponent, EditDialogTemplateDirective, EditEvent, EditEventBase, EditMode, EndRuleRadioButtonDirective, EventClickEvent, EventKeydownEvent, EventTemplateDirective, FocusService, FocusableDirective, GroupHeaderTemplateDirective, HintContainerComponent, IsSlotSelectedArgs, KENDO_SCHEDULER, KENDO_SCHEDULERPDF, LoadingComponent, LocalizedMessagesDirective, MajorTimeHeaderTemplateDirective, MinorTimeHeaderTemplateDirective, MonthDaySlotTemplateDirective, MonthViewComponent, MultiDayViewComponent, MultiWeekDaySlotTemplateDirective, MultiWeekViewComponent, MultipleResourceEditorComponent, NavigateEvent, PDFCommandDirective, PDFComponent, PDFExportEvent, PDFModule, PDFService, ReactiveEditingDirective, RecurrenceEditorComponent, RecurrenceEditorCustomMessagesComponent, RecurrenceEditorLocalizedMessagesDirective, RecurrenceEndRuleEditorComponent, RecurrenceFrequencyEditorComponent, RecurrenceIntervalEditorComponent, RecurrenceMonthlyYearlyEditorComponent, RecurrenceWeekdayRuleEditorComponent, RemoveEvent, RepeatOnRadioButtonDirective, RepeatPipe, ResizeEndEvent, ResizeEvent, ResizeHintComponent, ResizeStartEvent, ResourceIteratorPipe, SaveEvent, SchedulerComponent, SchedulerCustomMessagesComponent, SchedulerDateTimePickerComponent, SchedulerModule, SchedulerView, SchedulerViewDirective, ShortcutsDirective, SingleResourceEditorComponent, SlotClickEvent, SlotDragEndEvent, SlotDragEvent, SlotDragStartEvent, SlotSelectableDirective, SortPipe, TimeSlotDirective, TimeSlotTemplateDirective, TimeZoneEditorComponent, TimelineBase, TimelineMonthViewComponent, TimelineMultiDayViewComponent, TimelineViewComponent, TimelineWeekViewComponent, ToolbarNavigationComponent, ToolbarService, ToolbarTemplateDirective, ToolbarViewSelectorComponent, VIEW_EVENT_MAP, ViewContextService, ViewFooterComponent, ViewStateService, WeekViewComponent, WorkHoursFooterDirective, WorkWeekViewComponent, YearViewComponent, YearViewInternalComponent };
|
|
21215
21251
|
|
package/index.d.ts
CHANGED
|
@@ -67,6 +67,7 @@ export { PDFCommandDirective } from './pdf/pdf-command.directive';
|
|
|
67
67
|
export { PDFExportEvent } from './pdf/pdf-export-event';
|
|
68
68
|
export { FocusableDirective } from './navigation';
|
|
69
69
|
export { FocusService } from './navigation/focus.service';
|
|
70
|
+
export { FocusPosition } from './navigation/focus-position.interface';
|
|
70
71
|
export { HintContainerComponent } from './views/common/hint-container.component';
|
|
71
72
|
export { ViewFooterComponent } from './views/common/view-footer.component';
|
|
72
73
|
export { RepeatPipe } from './views/common/repeat.pipe';
|
|
@@ -28,6 +28,7 @@ export declare class ShortcutsDirective {
|
|
|
28
28
|
private onEventKeydown;
|
|
29
29
|
private focusWait;
|
|
30
30
|
private isInToolbarTemplate;
|
|
31
|
+
private digitToNumber;
|
|
31
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<ShortcutsDirective, never>;
|
|
32
33
|
static ɵdir: i0.ɵɵDirectiveDeclaration<ShortcutsDirective, "kendo-scheduler", never, {}, {}, never, never, true, never>;
|
|
33
34
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-scheduler",
|
|
3
|
-
"version": "19.3.
|
|
3
|
+
"version": "19.3.1-develop.1",
|
|
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",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"package": {
|
|
20
20
|
"productName": "Kendo UI for Angular",
|
|
21
21
|
"productCode": "KENDOUIANGULAR",
|
|
22
|
-
"publishDate":
|
|
22
|
+
"publishDate": 1755502877,
|
|
23
23
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
@@ -31,24 +31,24 @@
|
|
|
31
31
|
"@angular/platform-browser": "16 - 20",
|
|
32
32
|
"@progress/kendo-data-query": "^1.0.0",
|
|
33
33
|
"@progress/kendo-drawing": "^1.21.0",
|
|
34
|
-
"@progress/kendo-licensing": "^1.
|
|
35
|
-
"@progress/kendo-angular-tooltip": "19.3.
|
|
36
|
-
"@progress/kendo-angular-buttons": "19.3.
|
|
37
|
-
"@progress/kendo-angular-common": "19.3.
|
|
38
|
-
"@progress/kendo-angular-dateinputs": "19.3.
|
|
39
|
-
"@progress/kendo-angular-dialog": "19.3.
|
|
40
|
-
"@progress/kendo-angular-dropdowns": "19.3.
|
|
41
|
-
"@progress/kendo-angular-icons": "19.3.
|
|
42
|
-
"@progress/kendo-angular-inputs": "19.3.
|
|
43
|
-
"@progress/kendo-angular-intl": "19.3.
|
|
44
|
-
"@progress/kendo-angular-l10n": "19.3.
|
|
45
|
-
"@progress/kendo-angular-label": "19.3.
|
|
46
|
-
"@progress/kendo-angular-popup": "19.3.
|
|
34
|
+
"@progress/kendo-licensing": "^1.7.0",
|
|
35
|
+
"@progress/kendo-angular-tooltip": "19.3.1-develop.1",
|
|
36
|
+
"@progress/kendo-angular-buttons": "19.3.1-develop.1",
|
|
37
|
+
"@progress/kendo-angular-common": "19.3.1-develop.1",
|
|
38
|
+
"@progress/kendo-angular-dateinputs": "19.3.1-develop.1",
|
|
39
|
+
"@progress/kendo-angular-dialog": "19.3.1-develop.1",
|
|
40
|
+
"@progress/kendo-angular-dropdowns": "19.3.1-develop.1",
|
|
41
|
+
"@progress/kendo-angular-icons": "19.3.1-develop.1",
|
|
42
|
+
"@progress/kendo-angular-inputs": "19.3.1-develop.1",
|
|
43
|
+
"@progress/kendo-angular-intl": "19.3.1-develop.1",
|
|
44
|
+
"@progress/kendo-angular-l10n": "19.3.1-develop.1",
|
|
45
|
+
"@progress/kendo-angular-label": "19.3.1-develop.1",
|
|
46
|
+
"@progress/kendo-angular-popup": "19.3.1-develop.1",
|
|
47
47
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"tslib": "^2.3.1",
|
|
51
|
-
"@progress/kendo-angular-schematics": "19.3.
|
|
51
|
+
"@progress/kendo-angular-schematics": "19.3.1-develop.1",
|
|
52
52
|
"@progress/kendo-date-math": "^1.3.2",
|
|
53
53
|
"@progress/kendo-draggable": "^3.0.2",
|
|
54
54
|
"@progress/kendo-file-saver": "^1.0.7",
|
package/scheduler.component.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
4
4
|
function default_1(options) {
|
|
5
5
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'SchedulerModule', package: 'scheduler', peerDependencies: {
|
|
6
6
|
// peer deps of the dropdowns
|
|
7
|
-
'@progress/kendo-angular-treeview': '19.3.
|
|
8
|
-
'@progress/kendo-angular-navigation': '19.3.
|
|
7
|
+
'@progress/kendo-angular-treeview': '19.3.1-develop.1',
|
|
8
|
+
'@progress/kendo-angular-navigation': '19.3.1-develop.1',
|
|
9
9
|
// peer dependency of kendo-angular-inputs
|
|
10
|
-
'@progress/kendo-angular-dialog': '19.3.
|
|
10
|
+
'@progress/kendo-angular-dialog': '19.3.1-develop.1',
|
|
11
11
|
// peer dependency of kendo-angular-icons
|
|
12
12
|
'@progress/kendo-svg-icons': '^4.0.0'
|
|
13
13
|
} });
|