@progress/kendo-angular-scheduler 14.4.0-develop.16 → 14.4.0-develop.17
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/esm2020/index.mjs +1 -0
- package/esm2020/localization/messages.mjs +5 -1
- package/esm2020/navigation/shortcuts.directive.mjs +9 -0
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/scheduler.component.mjs +12 -0
- package/esm2020/scheduler.module.mjs +8 -1
- package/esm2020/toolbar/navigation.component.mjs +9 -1
- package/esm2020/toolbar/toolbar.component.mjs +25 -3
- package/esm2020/views/year/utils.mjs +60 -0
- package/esm2020/views/year/year-view-internal.component.mjs +418 -0
- package/esm2020/views/year/year-view.component.mjs +115 -0
- package/esm2020/views/year/year-view.module.mjs +47 -0
- package/fesm2015/progress-kendo-angular-scheduler.mjs +658 -17
- package/fesm2020/progress-kendo-angular-scheduler.mjs +652 -17
- package/index.d.ts +1 -0
- package/localization/messages.d.ts +9 -1
- package/package.json +13 -12
- package/scheduler.module.d.ts +15 -13
- package/schematics/ngAdd/index.js +2 -2
- package/toolbar/navigation.component.d.ts +10 -2
- package/toolbar/toolbar.component.d.ts +9 -0
- package/types/scheduler-slot.interface.d.ts +4 -0
- package/types/slot-class-args.interface.d.ts +4 -0
- package/views/year/utils.d.ts +21 -0
- package/views/year/year-view-internal.component.d.ts +82 -0
- package/views/year/year-view.component.d.ts +56 -0
- package/views/year/year-view.module.d.ts +19 -0
package/esm2020/index.mjs
CHANGED
|
@@ -58,6 +58,7 @@ export { SlotSelectableDirective } from './views/common/slot-selectable.directiv
|
|
|
58
58
|
export { AgendaViewComponent } from './views/agenda/agenda-view.component';
|
|
59
59
|
export { DayViewComponent } from './views/multi-day/day-view.component';
|
|
60
60
|
export { WeekViewComponent } from './views/multi-day/week-view.component';
|
|
61
|
+
export { YearViewComponent } from './views/year/year-view.component';
|
|
61
62
|
export { RecurrenceEditorComponent } from './editing/recurrence/recurrence-editor.component';
|
|
62
63
|
export { BaseEditService } from './editing-directives/base-edit.service';
|
|
63
64
|
export { PDFModule } from './pdf/pdf.module';
|
|
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
|
|
|
11
11
|
export class Messages extends ComponentMessages {
|
|
12
12
|
}
|
|
13
13
|
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
-
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { allEvents: "allEvents", allDay: "allDay", dateHeader: "dateHeader", timeHeader: "timeHeader", eventHeader: "eventHeader", deleteTitle: "deleteTitle", nextTitle: "nextTitle", previousTitle: "previousTitle", today: "today", calendarToday: "calendarToday", showFullDay: "showFullDay", showWorkDay: "showWorkDay", dayViewTitle: "dayViewTitle", multiDayViewTitle: "multiDayViewTitle", weekViewTitle: "weekViewTitle", workWeekViewTitle: "workWeekViewTitle", monthViewTitle: "monthViewTitle", multiWeekViewTitle: "multiWeekViewTitle", timelineViewTitle: "timelineViewTitle", timelineWeekViewTitle: "timelineWeekViewTitle", timelineMonthViewTitle: "timelineMonthViewTitle", agendaViewTitle: "agendaViewTitle", cancel: "cancel", save: "save", editorEventTitle: "editorEventTitle", editorEventStart: "editorEventStart", editorEventStartTimeZone: "editorEventStartTimeZone", editorEventEnd: "editorEventEnd", editorEventEndTimeZone: "editorEventEndTimeZone", editorEventAllDay: "editorEventAllDay", editorEventDescription: "editorEventDescription", editorEventSeparateTimeZones: "editorEventSeparateTimeZones", editorEventTimeZone: "editorEventTimeZone", editorDateInputsToday: "editorDateInputsToday", editorDateInputsToggle: "editorDateInputsToggle", editorDateInputsParentViewButton: "editorDateInputsParentViewButton", editorDateInputsNow: "editorDateInputsNow", editorDateInputsNowLabel: "editorDateInputsNowLabel", editorDateInputsAccept: "editorDateInputsAccept", editorDateInputsAcceptLabel: "editorDateInputsAcceptLabel", editorDateInputsCancel: "editorDateInputsCancel", editorDateInputsCancelLabel: "editorDateInputsCancelLabel", editorDateInputsDateTab: "editorDateInputsDateTab", editorDateInputsDateTabLabel: "editorDateInputsDateTabLabel", editorDateInputsTimeTab: "editorDateInputsTimeTab", editorDateInputsTimeTabLabel: "editorDateInputsTimeTabLabel", recurrenceEditorNumericIncrement: "recurrenceEditorNumericIncrement", recurrenceEditorNumericDecrement: "recurrenceEditorNumericDecrement", recurrenceEditorRepeat: "recurrenceEditorRepeat", recurrenceEditorDailyInterval: "recurrenceEditorDailyInterval", recurrenceEditorDailyRepeatEvery: "recurrenceEditorDailyRepeatEvery", recurrenceEditorWeeklyInterval: "recurrenceEditorWeeklyInterval", recurrenceEditorWeeklyRepeatEvery: "recurrenceEditorWeeklyRepeatEvery", recurrenceEditorWeeklyRepeatOn: "recurrenceEditorWeeklyRepeatOn", recurrenceEditorMonthlyDay: "recurrenceEditorMonthlyDay", recurrenceEditorMonthlyInterval: "recurrenceEditorMonthlyInterval", recurrenceEditorMonthlyRepeatEvery: "recurrenceEditorMonthlyRepeatEvery", recurrenceEditorMonthlyRepeatOn: "recurrenceEditorMonthlyRepeatOn", recurrenceEditorYearlyOf: "recurrenceEditorYearlyOf", recurrenceEditorYearlyRepeatEvery: "recurrenceEditorYearlyRepeatEvery", recurrenceEditorYearlyRepeatOn: "recurrenceEditorYearlyRepeatOn", recurrenceEditorYearlyInterval: "recurrenceEditorYearlyInterval", recurrenceEditorFrequenciesDaily: "recurrenceEditorFrequenciesDaily", recurrenceEditorFrequenciesMonthly: "recurrenceEditorFrequenciesMonthly", recurrenceEditorFrequenciesNever: "recurrenceEditorFrequenciesNever", recurrenceEditorFrequenciesWeekly: "recurrenceEditorFrequenciesWeekly", recurrenceEditorFrequenciesYearly: "recurrenceEditorFrequenciesYearly", recurrenceEditorOffsetPositionsFirst: "recurrenceEditorOffsetPositionsFirst", recurrenceEditorOffsetPositionsSecond: "recurrenceEditorOffsetPositionsSecond", recurrenceEditorOffsetPositionsThird: "recurrenceEditorOffsetPositionsThird", recurrenceEditorOffsetPositionsFourth: "recurrenceEditorOffsetPositionsFourth", recurrenceEditorOffsetPositionsLast: "recurrenceEditorOffsetPositionsLast", recurrenceEditorWeekdaysDay: "recurrenceEditorWeekdaysDay", recurrenceEditorWeekdaysWeekday: "recurrenceEditorWeekdaysWeekday", recurrenceEditorWeekdaysWeekendday: "recurrenceEditorWeekdaysWeekendday", recurrenceEditorEndAfter: "recurrenceEditorEndAfter", recurrenceEditorEndOccurrence: "recurrenceEditorEndOccurrence", recurrenceEditorEndLabel: "recurrenceEditorEndLabel", recurrenceEditorEndNever: "recurrenceEditorEndNever", recurrenceEditorEndOn: "recurrenceEditorEndOn", editorTitle: "editorTitle", destroy: "destroy", deleteConfirmation: "deleteConfirmation", editRecurringConfirmation: "editRecurringConfirmation", editOccurrence: "editOccurrence", editSeries: "editSeries", deleteRecurringConfirmation: "deleteRecurringConfirmation", deleteOccurrence: "deleteOccurrence", deleteSeries: "deleteSeries", deleteDialogTitle: "deleteDialogTitle", deleteRecurringDialogTitle: "deleteRecurringDialogTitle", editRecurringDialogTitle: "editRecurringDialogTitle", selectView: "selectView" }, usesInheritance: true, ngImport: i0 });
|
|
14
|
+
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { allEvents: "allEvents", allDay: "allDay", dateHeader: "dateHeader", timeHeader: "timeHeader", eventHeader: "eventHeader", deleteTitle: "deleteTitle", nextTitle: "nextTitle", previousTitle: "previousTitle", today: "today", calendarToday: "calendarToday", showFullDay: "showFullDay", showWorkDay: "showWorkDay", dayViewTitle: "dayViewTitle", multiDayViewTitle: "multiDayViewTitle", weekViewTitle: "weekViewTitle", workWeekViewTitle: "workWeekViewTitle", monthViewTitle: "monthViewTitle", multiWeekViewTitle: "multiWeekViewTitle", timelineViewTitle: "timelineViewTitle", timelineWeekViewTitle: "timelineWeekViewTitle", timelineMonthViewTitle: "timelineMonthViewTitle", agendaViewTitle: "agendaViewTitle", yearViewTitle: "yearViewTitle", yearViewNoEvents: "yearViewNoEvents", cancel: "cancel", save: "save", editorEventTitle: "editorEventTitle", editorEventStart: "editorEventStart", editorEventStartTimeZone: "editorEventStartTimeZone", editorEventEnd: "editorEventEnd", editorEventEndTimeZone: "editorEventEndTimeZone", editorEventAllDay: "editorEventAllDay", editorEventDescription: "editorEventDescription", editorEventSeparateTimeZones: "editorEventSeparateTimeZones", editorEventTimeZone: "editorEventTimeZone", editorDateInputsToday: "editorDateInputsToday", editorDateInputsToggle: "editorDateInputsToggle", editorDateInputsParentViewButton: "editorDateInputsParentViewButton", editorDateInputsNow: "editorDateInputsNow", editorDateInputsNowLabel: "editorDateInputsNowLabel", editorDateInputsAccept: "editorDateInputsAccept", editorDateInputsAcceptLabel: "editorDateInputsAcceptLabel", editorDateInputsCancel: "editorDateInputsCancel", editorDateInputsCancelLabel: "editorDateInputsCancelLabel", editorDateInputsDateTab: "editorDateInputsDateTab", editorDateInputsDateTabLabel: "editorDateInputsDateTabLabel", editorDateInputsTimeTab: "editorDateInputsTimeTab", editorDateInputsTimeTabLabel: "editorDateInputsTimeTabLabel", recurrenceEditorNumericIncrement: "recurrenceEditorNumericIncrement", recurrenceEditorNumericDecrement: "recurrenceEditorNumericDecrement", recurrenceEditorRepeat: "recurrenceEditorRepeat", recurrenceEditorDailyInterval: "recurrenceEditorDailyInterval", recurrenceEditorDailyRepeatEvery: "recurrenceEditorDailyRepeatEvery", recurrenceEditorWeeklyInterval: "recurrenceEditorWeeklyInterval", recurrenceEditorWeeklyRepeatEvery: "recurrenceEditorWeeklyRepeatEvery", recurrenceEditorWeeklyRepeatOn: "recurrenceEditorWeeklyRepeatOn", recurrenceEditorMonthlyDay: "recurrenceEditorMonthlyDay", recurrenceEditorMonthlyInterval: "recurrenceEditorMonthlyInterval", recurrenceEditorMonthlyRepeatEvery: "recurrenceEditorMonthlyRepeatEvery", recurrenceEditorMonthlyRepeatOn: "recurrenceEditorMonthlyRepeatOn", recurrenceEditorYearlyOf: "recurrenceEditorYearlyOf", recurrenceEditorYearlyRepeatEvery: "recurrenceEditorYearlyRepeatEvery", recurrenceEditorYearlyRepeatOn: "recurrenceEditorYearlyRepeatOn", recurrenceEditorYearlyInterval: "recurrenceEditorYearlyInterval", recurrenceEditorFrequenciesDaily: "recurrenceEditorFrequenciesDaily", recurrenceEditorFrequenciesMonthly: "recurrenceEditorFrequenciesMonthly", recurrenceEditorFrequenciesNever: "recurrenceEditorFrequenciesNever", recurrenceEditorFrequenciesWeekly: "recurrenceEditorFrequenciesWeekly", recurrenceEditorFrequenciesYearly: "recurrenceEditorFrequenciesYearly", recurrenceEditorOffsetPositionsFirst: "recurrenceEditorOffsetPositionsFirst", recurrenceEditorOffsetPositionsSecond: "recurrenceEditorOffsetPositionsSecond", recurrenceEditorOffsetPositionsThird: "recurrenceEditorOffsetPositionsThird", recurrenceEditorOffsetPositionsFourth: "recurrenceEditorOffsetPositionsFourth", recurrenceEditorOffsetPositionsLast: "recurrenceEditorOffsetPositionsLast", recurrenceEditorWeekdaysDay: "recurrenceEditorWeekdaysDay", recurrenceEditorWeekdaysWeekday: "recurrenceEditorWeekdaysWeekday", recurrenceEditorWeekdaysWeekendday: "recurrenceEditorWeekdaysWeekendday", recurrenceEditorEndAfter: "recurrenceEditorEndAfter", recurrenceEditorEndOccurrence: "recurrenceEditorEndOccurrence", recurrenceEditorEndLabel: "recurrenceEditorEndLabel", recurrenceEditorEndNever: "recurrenceEditorEndNever", recurrenceEditorEndOn: "recurrenceEditorEndOn", editorTitle: "editorTitle", destroy: "destroy", deleteConfirmation: "deleteConfirmation", editRecurringConfirmation: "editRecurringConfirmation", editOccurrence: "editOccurrence", editSeries: "editSeries", deleteRecurringConfirmation: "deleteRecurringConfirmation", deleteOccurrence: "deleteOccurrence", deleteSeries: "deleteSeries", deleteDialogTitle: "deleteDialogTitle", deleteRecurringDialogTitle: "deleteRecurringDialogTitle", editRecurringDialogTitle: "editRecurringDialogTitle", selectView: "selectView" }, usesInheritance: true, ngImport: i0 });
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, decorators: [{
|
|
16
16
|
type: Directive
|
|
17
17
|
}], propDecorators: { allEvents: [{
|
|
@@ -58,6 +58,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
58
58
|
type: Input
|
|
59
59
|
}], agendaViewTitle: [{
|
|
60
60
|
type: Input
|
|
61
|
+
}], yearViewTitle: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], yearViewNoEvents: [{
|
|
64
|
+
type: Input
|
|
61
65
|
}], cancel: [{
|
|
62
66
|
type: Input
|
|
63
67
|
}], save: [{
|
|
@@ -22,6 +22,7 @@ import * as i3 from "./focus.service";
|
|
|
22
22
|
import * as i4 from "../views/view-state.service";
|
|
23
23
|
import * as i5 from "../editing/dialogs.service";
|
|
24
24
|
const isContentWrapper = element => hasClasses(element, 'k-scheduler-content');
|
|
25
|
+
const CALENDAR_TAG = 'KENDO-CALENDAR-HORIZONTAL';
|
|
25
26
|
/**
|
|
26
27
|
* @hidden
|
|
27
28
|
*/
|
|
@@ -114,6 +115,10 @@ export class ShortcutsDirective {
|
|
|
114
115
|
}, {
|
|
115
116
|
match: e => (e.keyCode === Keys.ArrowUp || e.keyCode === Keys.ArrowLeft) && noModifiers(e) && !isContentWrapper(e.target),
|
|
116
117
|
action: e => {
|
|
118
|
+
//use the MultiViewCalendar navigation for Year View
|
|
119
|
+
if (e.target.tagName === CALENDAR_TAG) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
117
122
|
const prevented = this.scheduler.onNavigationAction({ type: 'focus-prev' });
|
|
118
123
|
if (!prevented) {
|
|
119
124
|
const item = this.focusService.activeItem;
|
|
@@ -127,6 +132,10 @@ export class ShortcutsDirective {
|
|
|
127
132
|
}, {
|
|
128
133
|
match: e => (e.keyCode === Keys.ArrowDown || e.keyCode === Keys.ArrowRight) && noModifiers(e) && !isContentWrapper(e.target),
|
|
129
134
|
action: e => {
|
|
135
|
+
//use the MultiViewCalendar navigation for Year View
|
|
136
|
+
if (e.target.tagName === CALENDAR_TAG) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
130
139
|
const prevented = this.scheduler.onNavigationAction({ type: 'focus-next' });
|
|
131
140
|
if (!prevented) {
|
|
132
141
|
const isInToolbar = this.focusService.activeItem.containerType === 'toolbar';
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-scheduler',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '14.4.0-develop.
|
|
12
|
+
publishDate: 1706192872,
|
|
13
|
+
version: '14.4.0-develop.17',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -961,6 +961,12 @@ SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
961
961
|
i18n-agendaViewTitle="kendo.scheduler.agendaViewTitle|The agenda view title."
|
|
962
962
|
agendaViewTitle="Agenda"
|
|
963
963
|
|
|
964
|
+
i18n-yearViewTitle="kendo.scheduler.yearViewTitle|The year view title."
|
|
965
|
+
yearViewTitle="Year"
|
|
966
|
+
|
|
967
|
+
i18n-yearViewNoEvents="kendo.scheduler.yearViewNoEvents|The year view no events message."
|
|
968
|
+
yearViewNoEvents="No events on this date."
|
|
969
|
+
|
|
964
970
|
i18n-cancel="kendo.scheduler.cancel|The text similar to 'Cancel' displayed in the Scheduler."
|
|
965
971
|
cancel="Cancel"
|
|
966
972
|
|
|
@@ -1302,6 +1308,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
1302
1308
|
i18n-agendaViewTitle="kendo.scheduler.agendaViewTitle|The agenda view title."
|
|
1303
1309
|
agendaViewTitle="Agenda"
|
|
1304
1310
|
|
|
1311
|
+
i18n-yearViewTitle="kendo.scheduler.yearViewTitle|The year view title."
|
|
1312
|
+
yearViewTitle="Year"
|
|
1313
|
+
|
|
1314
|
+
i18n-yearViewNoEvents="kendo.scheduler.yearViewNoEvents|The year view no events message."
|
|
1315
|
+
yearViewNoEvents="No events on this date."
|
|
1316
|
+
|
|
1305
1317
|
i18n-cancel="kendo.scheduler.cancel|The text similar to 'Cancel' displayed in the Scheduler."
|
|
1306
1318
|
cancel="Cancel"
|
|
1307
1319
|
|
|
@@ -57,6 +57,8 @@ import { SharedModule } from './shared.module';
|
|
|
57
57
|
import { ShortcutsDirective } from './navigation/shortcuts.directive';
|
|
58
58
|
import { SlotSelectableDirective } from './views/common/slot-selectable.directive';
|
|
59
59
|
import { LabelModule } from '@progress/kendo-angular-label';
|
|
60
|
+
import { YearViewModule } from './views/year/year-view.module';
|
|
61
|
+
import { YearViewComponent } from './views/year/year-view.component';
|
|
60
62
|
import * as i0 from "@angular/core";
|
|
61
63
|
import * as i1 from "./toolbar/navigation.component";
|
|
62
64
|
import * as i2 from "./toolbar/toolbar-template.directive";
|
|
@@ -106,6 +108,7 @@ const declarations = [
|
|
|
106
108
|
const publicDirectives = [
|
|
107
109
|
AgendaViewComponent,
|
|
108
110
|
MonthViewModule,
|
|
111
|
+
YearViewComponent,
|
|
109
112
|
MultiDayViewModule,
|
|
110
113
|
ReactiveEditingDirective,
|
|
111
114
|
TimelineViewModule,
|
|
@@ -190,7 +193,8 @@ SchedulerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
|
|
|
190
193
|
ResizeSensorModule,
|
|
191
194
|
MonthViewModule,
|
|
192
195
|
TimelineViewModule,
|
|
193
|
-
WatermarkModule,
|
|
196
|
+
WatermarkModule,
|
|
197
|
+
YearViewModule, ButtonsModule,
|
|
194
198
|
CheckBoxModule,
|
|
195
199
|
TextAreaModule,
|
|
196
200
|
DateInputsModule,
|
|
@@ -203,6 +207,7 @@ SchedulerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
|
|
|
203
207
|
LabelModule,
|
|
204
208
|
FormFieldModule], exports: [AgendaViewComponent,
|
|
205
209
|
MonthViewModule,
|
|
210
|
+
YearViewComponent,
|
|
206
211
|
MultiDayViewModule,
|
|
207
212
|
ReactiveEditingDirective,
|
|
208
213
|
TimelineViewModule, i1.ToolbarNavigationComponent, i2.ToolbarTemplateDirective, i3.ToolbarViewSelectorComponent, SchedulerComponent,
|
|
@@ -253,6 +258,7 @@ SchedulerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
253
258
|
MonthViewModule,
|
|
254
259
|
TimelineViewModule,
|
|
255
260
|
WatermarkModule,
|
|
261
|
+
YearViewModule,
|
|
256
262
|
...importedKendoModules
|
|
257
263
|
], MonthViewModule,
|
|
258
264
|
MultiDayViewModule,
|
|
@@ -269,6 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
269
275
|
MonthViewModule,
|
|
270
276
|
TimelineViewModule,
|
|
271
277
|
WatermarkModule,
|
|
278
|
+
YearViewModule,
|
|
272
279
|
...importedKendoModules
|
|
273
280
|
],
|
|
274
281
|
declarations: declarations,
|
|
@@ -191,7 +191,7 @@ export class ToolbarNavigationComponent {
|
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
ToolbarNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarNavigationComponent, deps: [{ token: i1.PopupService }, { token: i2.ToolbarService }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i4.ViewContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
194
|
-
ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max" }, host: { properties: { "class.k-toolbar-group": "this.hostClass" } }, providers: [
|
|
194
|
+
ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max", activeView: "activeView", bottomView: "bottomView" }, host: { properties: { "class.k-toolbar-group": "this.hostClass" } }, providers: [
|
|
195
195
|
PopupService
|
|
196
196
|
], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: `
|
|
197
197
|
<span class="k-scheduler-navigation k-button-group k-button-group-solid" role="group">
|
|
@@ -249,6 +249,8 @@ ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
249
249
|
<kendo-calendar
|
|
250
250
|
#calendar
|
|
251
251
|
(blur)="onBlur()"
|
|
252
|
+
[activeView]="activeView"
|
|
253
|
+
[bottomView]="bottomView"
|
|
252
254
|
(keydown.escape)="toggleSelectedDate({ nativeElement: anchor }, template); anchor.focus();"
|
|
253
255
|
(valueChange)="selectDate($event)"
|
|
254
256
|
[value]="ctx.selectedDate | async" [min]="min" [max]="max">
|
|
@@ -322,6 +324,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
322
324
|
<kendo-calendar
|
|
323
325
|
#calendar
|
|
324
326
|
(blur)="onBlur()"
|
|
327
|
+
[activeView]="activeView"
|
|
328
|
+
[bottomView]="bottomView"
|
|
325
329
|
(keydown.escape)="toggleSelectedDate({ nativeElement: anchor }, template); anchor.focus();"
|
|
326
330
|
(valueChange)="selectDate($event)"
|
|
327
331
|
[value]="ctx.selectedDate | async" [min]="min" [max]="max">
|
|
@@ -341,4 +345,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
341
345
|
type: Input
|
|
342
346
|
}], max: [{
|
|
343
347
|
type: Input
|
|
348
|
+
}], activeView: [{
|
|
349
|
+
type: Input
|
|
350
|
+
}], bottomView: [{
|
|
351
|
+
type: Input
|
|
344
352
|
}] } });
|
|
@@ -31,6 +31,18 @@ export class ToolbarComponent {
|
|
|
31
31
|
this.subs = new Subscription();
|
|
32
32
|
this.subs.add(service.action.subscribe(action => this.navigate.next(action)));
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* @hidden
|
|
36
|
+
*/
|
|
37
|
+
get activeView() {
|
|
38
|
+
return this.service.context.selectedView?.name === 'year' ? 'decade' : 'month';
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @hidden
|
|
42
|
+
*/
|
|
43
|
+
get bottomView() {
|
|
44
|
+
return this.service.context.selectedView?.name === 'year' ? 'decade' : 'month';
|
|
45
|
+
}
|
|
34
46
|
ngOnInit() {
|
|
35
47
|
this.subs.add(this.selectedDate.subscribe(date => this.templateContext.selectedDate = date));
|
|
36
48
|
this.subs.add(this.dateRange.subscribe(dateRange => this.templateContext.dateRange = dateRange));
|
|
@@ -70,13 +82,18 @@ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
70
82
|
</ng-template>
|
|
71
83
|
|
|
72
84
|
<ng-template #defaultTemplate>
|
|
73
|
-
<div kendoSchedulerToolbarNavigation
|
|
85
|
+
<div kendoSchedulerToolbarNavigation
|
|
86
|
+
[min]="min"
|
|
87
|
+
[max]="max"
|
|
88
|
+
[activeView]="activeView"
|
|
89
|
+
[bottomView]="bottomView">
|
|
90
|
+
</div>
|
|
74
91
|
<span class="k-spacer"></span>
|
|
75
92
|
<div kendoSchedulerToolbarViewSelector [toolbarWidth]="toolbarWidth"></div>
|
|
76
93
|
</ng-template>
|
|
77
94
|
|
|
78
95
|
<kendo-resize-sensor (resize)="resizeHandler()" [style]="'display: contents;'"></kendo-resize-sensor>
|
|
79
|
-
`, isInline: true, components: [{ type: i2.ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max"] }, { type: i3.ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", inputs: ["toolbarWidth", "responsiveBreakpoint"] }, { type: i4.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
96
|
+
`, isInline: true, components: [{ type: i2.ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max", "activeView", "bottomView"] }, { type: i3.ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", inputs: ["toolbarWidth", "responsiveBreakpoint"] }, { type: i4.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
80
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
81
98
|
type: Component,
|
|
82
99
|
args: [{
|
|
@@ -90,7 +107,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
90
107
|
</ng-template>
|
|
91
108
|
|
|
92
109
|
<ng-template #defaultTemplate>
|
|
93
|
-
<div kendoSchedulerToolbarNavigation
|
|
110
|
+
<div kendoSchedulerToolbarNavigation
|
|
111
|
+
[min]="min"
|
|
112
|
+
[max]="max"
|
|
113
|
+
[activeView]="activeView"
|
|
114
|
+
[bottomView]="bottomView">
|
|
115
|
+
</div>
|
|
94
116
|
<span class="k-spacer"></span>
|
|
95
117
|
<div kendoSchedulerToolbarViewSelector [toolbarWidth]="toolbarWidth"></div>
|
|
96
118
|
</ng-template>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { intersects, toUTCDate, toUTCDateTime } from '../utils';
|
|
6
|
+
import { sortTasksByTime } from '../../common/util';
|
|
7
|
+
import { addDays } from '@progress/kendo-date-math';
|
|
8
|
+
/**
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
export const createTasks = (periodStart, periodEnd, items, ranges) => {
|
|
12
|
+
const tasks = [];
|
|
13
|
+
const utcStart = toUTCDateTime(periodStart);
|
|
14
|
+
const utcEnd = toUTCDateTime(periodEnd);
|
|
15
|
+
for (let index = 0; index < items.length; index++) {
|
|
16
|
+
const item = items[index];
|
|
17
|
+
const data = {};
|
|
18
|
+
const startTime = item.start.toUTCDate();
|
|
19
|
+
const end = item.end;
|
|
20
|
+
const endTime = (item.end.getTime() !== end.getTime() ? end.addDays(1) : end).toUTCDate();
|
|
21
|
+
if (intersects(startTime, endTime, utcStart, utcEnd)) {
|
|
22
|
+
for (let rangeIdx = 0; rangeIdx < ranges.length; rangeIdx++) {
|
|
23
|
+
const range = ranges[rangeIdx];
|
|
24
|
+
const rangeStart = toUTCDate(range);
|
|
25
|
+
const rangeEnd = toUTCDate(addDays(range, 1));
|
|
26
|
+
if (intersects(startTime, endTime, rangeStart, rangeEnd)) {
|
|
27
|
+
const task = {
|
|
28
|
+
index,
|
|
29
|
+
startTime: startTime > rangeStart ? startTime : rangeStart,
|
|
30
|
+
endTime: endTime < rangeEnd ? endTime : rangeEnd,
|
|
31
|
+
start: item.start,
|
|
32
|
+
end: item.end,
|
|
33
|
+
event: item.event,
|
|
34
|
+
isAllDay: item.event.isAllDay,
|
|
35
|
+
rangeIndex: rangeIdx,
|
|
36
|
+
data: data
|
|
37
|
+
};
|
|
38
|
+
task.head = endTime > rangeEnd && startTime > rangeStart;
|
|
39
|
+
task.tail = startTime < rangeStart && endTime < rangeEnd;
|
|
40
|
+
task.mid = endTime > rangeEnd && startTime < rangeStart;
|
|
41
|
+
task.isMultiDay = task.head || task.mid || task.tail;
|
|
42
|
+
tasks.push(task);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return sortTasksByTime(tasks);
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* @hidden
|
|
51
|
+
*/
|
|
52
|
+
export const noop = (_) => { };
|
|
53
|
+
/**
|
|
54
|
+
* @hidden
|
|
55
|
+
*/
|
|
56
|
+
export const yearEnd = (year) => new Date(year, 11, 31, 23, 59, 59, 999);
|
|
57
|
+
/**
|
|
58
|
+
* @hidden
|
|
59
|
+
*/
|
|
60
|
+
export const yearStart = (year) => new Date(year, 0, 1, 0, 0, 0, 0);
|