@progress/kendo-angular-scheduler 14.4.0-develop.15 → 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/NOTICE.txt +146 -593
- 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/timeline/timeline-month-view.component.mjs +13 -5
- package/esm2020/views/timeline/timeline-view.component.mjs +13 -5
- package/esm2020/views/timeline/timeline-week-view.component.mjs +12 -5
- 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 +696 -32
- package/fesm2020/progress-kendo-angular-scheduler.mjs +690 -32
- 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/timeline/timeline-month-view.component.d.ts +4 -1
- package/views/timeline/timeline-view.component.d.ts +4 -1
- package/views/timeline/timeline-week-view.component.d.ts +3 -1
- 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
|
@@ -8,11 +8,11 @@ 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
10
|
import { hasObservers, isDocumentAvailable, isVisible as isVisible$1, scrollbarWidth, isChanged, Keys, shouldShowValidationUI, anyChanged, ResizeSensorComponent, EventsModule, ResizeSensorModule, guid, WatermarkModule } from '@progress/kendo-angular-common';
|
|
11
|
-
import { isEqualDate, timezoneNames, ZonedDate, toLocalDate, getDate, Day, MS_PER_DAY as MS_PER_DAY$1, addDays, firstDayOfMonth, firstDayInWeek, addMonths, addWeeks } from '@progress/kendo-date-math';
|
|
11
|
+
import { isEqualDate, timezoneNames, ZonedDate, toLocalDate, getDate, Day, MS_PER_DAY as MS_PER_DAY$1, addDays, firstDayOfMonth, firstDayInWeek, addMonths, addWeeks, addYears } from '@progress/kendo-date-math';
|
|
12
12
|
import { auditTime, buffer, filter, map, debounceTime, take, switchMap, tap, distinctUntilChanged } from 'rxjs/operators';
|
|
13
13
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
14
14
|
import * as i2 from '@progress/kendo-angular-dateinputs';
|
|
15
|
-
import { PreventableEvent as PreventableEvent$1, CalendarModule, DateInputsModule } from '@progress/kendo-angular-dateinputs';
|
|
15
|
+
import { PreventableEvent as PreventableEvent$1, CalendarModule, MultiViewCalendarComponent, CalendarsModule, DateInputsModule } from '@progress/kendo-angular-dateinputs';
|
|
16
16
|
import { Subject, BehaviorSubject, fromEvent, Subscription, combineLatest, merge } from 'rxjs';
|
|
17
17
|
import * as i14 from '@angular/forms';
|
|
18
18
|
import { NG_VALUE_ACCESSOR, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
|
|
@@ -38,6 +38,8 @@ import { orderBy, groupBy } from '@progress/kendo-data-query';
|
|
|
38
38
|
import * as i4$1 from '@progress/kendo-angular-icons';
|
|
39
39
|
import { IconsModule } from '@progress/kendo-angular-icons';
|
|
40
40
|
import { Draggable } from '@progress/kendo-draggable';
|
|
41
|
+
import * as i11$1 from '@progress/kendo-angular-tooltip';
|
|
42
|
+
import { TooltipDirective, TooltipsModule } from '@progress/kendo-angular-tooltip';
|
|
41
43
|
import { drawDOM, exportPDF } from '@progress/kendo-drawing';
|
|
42
44
|
import { saveAs } from '@progress/kendo-file-saver';
|
|
43
45
|
|
|
@@ -48,8 +50,8 @@ const packageMetadata = {
|
|
|
48
50
|
name: '@progress/kendo-angular-scheduler',
|
|
49
51
|
productName: 'Kendo UI for Angular',
|
|
50
52
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
51
|
-
publishDate:
|
|
52
|
-
version: '14.4.0-develop.
|
|
53
|
+
publishDate: 1706192872,
|
|
54
|
+
version: '14.4.0-develop.17',
|
|
53
55
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
54
56
|
};
|
|
55
57
|
|
|
@@ -2424,7 +2426,7 @@ class ToolbarNavigationComponent {
|
|
|
2424
2426
|
}
|
|
2425
2427
|
}
|
|
2426
2428
|
ToolbarNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarNavigationComponent, deps: [{ token: i1$2.PopupService }, { token: ToolbarService }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2427
|
-
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: [
|
|
2429
|
+
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: [
|
|
2428
2430
|
PopupService
|
|
2429
2431
|
], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: `
|
|
2430
2432
|
<span class="k-scheduler-navigation k-button-group k-button-group-solid" role="group">
|
|
@@ -2482,6 +2484,8 @@ ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
2482
2484
|
<kendo-calendar
|
|
2483
2485
|
#calendar
|
|
2484
2486
|
(blur)="onBlur()"
|
|
2487
|
+
[activeView]="activeView"
|
|
2488
|
+
[bottomView]="bottomView"
|
|
2485
2489
|
(keydown.escape)="toggleSelectedDate({ nativeElement: anchor }, template); anchor.focus();"
|
|
2486
2490
|
(valueChange)="selectDate($event)"
|
|
2487
2491
|
[value]="ctx.selectedDate | async" [min]="min" [max]="max">
|
|
@@ -2555,6 +2559,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2555
2559
|
<kendo-calendar
|
|
2556
2560
|
#calendar
|
|
2557
2561
|
(blur)="onBlur()"
|
|
2562
|
+
[activeView]="activeView"
|
|
2563
|
+
[bottomView]="bottomView"
|
|
2558
2564
|
(keydown.escape)="toggleSelectedDate({ nativeElement: anchor }, template); anchor.focus();"
|
|
2559
2565
|
(valueChange)="selectDate($event)"
|
|
2560
2566
|
[value]="ctx.selectedDate | async" [min]="min" [max]="max">
|
|
@@ -2574,6 +2580,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2574
2580
|
type: Input
|
|
2575
2581
|
}], max: [{
|
|
2576
2582
|
type: Input
|
|
2583
|
+
}], activeView: [{
|
|
2584
|
+
type: Input
|
|
2585
|
+
}], bottomView: [{
|
|
2586
|
+
type: Input
|
|
2577
2587
|
}] } });
|
|
2578
2588
|
|
|
2579
2589
|
/**
|
|
@@ -2738,6 +2748,18 @@ class ToolbarComponent {
|
|
|
2738
2748
|
this.subs = new Subscription();
|
|
2739
2749
|
this.subs.add(service.action.subscribe(action => this.navigate.next(action)));
|
|
2740
2750
|
}
|
|
2751
|
+
/**
|
|
2752
|
+
* @hidden
|
|
2753
|
+
*/
|
|
2754
|
+
get activeView() {
|
|
2755
|
+
return this.service.context.selectedView?.name === 'year' ? 'decade' : 'month';
|
|
2756
|
+
}
|
|
2757
|
+
/**
|
|
2758
|
+
* @hidden
|
|
2759
|
+
*/
|
|
2760
|
+
get bottomView() {
|
|
2761
|
+
return this.service.context.selectedView?.name === 'year' ? 'decade' : 'month';
|
|
2762
|
+
}
|
|
2741
2763
|
ngOnInit() {
|
|
2742
2764
|
this.subs.add(this.selectedDate.subscribe(date => this.templateContext.selectedDate = date));
|
|
2743
2765
|
this.subs.add(this.dateRange.subscribe(dateRange => this.templateContext.dateRange = dateRange));
|
|
@@ -2777,13 +2799,18 @@ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
2777
2799
|
</ng-template>
|
|
2778
2800
|
|
|
2779
2801
|
<ng-template #defaultTemplate>
|
|
2780
|
-
<div kendoSchedulerToolbarNavigation
|
|
2802
|
+
<div kendoSchedulerToolbarNavigation
|
|
2803
|
+
[min]="min"
|
|
2804
|
+
[max]="max"
|
|
2805
|
+
[activeView]="activeView"
|
|
2806
|
+
[bottomView]="bottomView">
|
|
2807
|
+
</div>
|
|
2781
2808
|
<span class="k-spacer"></span>
|
|
2782
2809
|
<div kendoSchedulerToolbarViewSelector [toolbarWidth]="toolbarWidth"></div>
|
|
2783
2810
|
</ng-template>
|
|
2784
2811
|
|
|
2785
2812
|
<kendo-resize-sensor (resize)="resizeHandler()" [style]="'display: contents;'"></kendo-resize-sensor>
|
|
2786
|
-
`, isInline: true, components: [{ type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max"] }, { type: ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", inputs: ["toolbarWidth", "responsiveBreakpoint"] }, { type: i7.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
2813
|
+
`, isInline: true, components: [{ type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max", "activeView", "bottomView"] }, { type: ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", inputs: ["toolbarWidth", "responsiveBreakpoint"] }, { type: i7.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
2787
2814
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
2788
2815
|
type: Component,
|
|
2789
2816
|
args: [{
|
|
@@ -2797,7 +2824,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2797
2824
|
</ng-template>
|
|
2798
2825
|
|
|
2799
2826
|
<ng-template #defaultTemplate>
|
|
2800
|
-
<div kendoSchedulerToolbarNavigation
|
|
2827
|
+
<div kendoSchedulerToolbarNavigation
|
|
2828
|
+
[min]="min"
|
|
2829
|
+
[max]="max"
|
|
2830
|
+
[activeView]="activeView"
|
|
2831
|
+
[bottomView]="bottomView">
|
|
2832
|
+
</div>
|
|
2801
2833
|
<span class="k-spacer"></span>
|
|
2802
2834
|
<div kendoSchedulerToolbarViewSelector [toolbarWidth]="toolbarWidth"></div>
|
|
2803
2835
|
</ng-template>
|
|
@@ -5939,7 +5971,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5939
5971
|
class Messages extends ComponentMessages {
|
|
5940
5972
|
}
|
|
5941
5973
|
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
5942
|
-
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 });
|
|
5974
|
+
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 });
|
|
5943
5975
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, decorators: [{
|
|
5944
5976
|
type: Directive
|
|
5945
5977
|
}], propDecorators: { allEvents: [{
|
|
@@ -5986,6 +6018,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
5986
6018
|
type: Input
|
|
5987
6019
|
}], agendaViewTitle: [{
|
|
5988
6020
|
type: Input
|
|
6021
|
+
}], yearViewTitle: [{
|
|
6022
|
+
type: Input
|
|
6023
|
+
}], yearViewNoEvents: [{
|
|
6024
|
+
type: Input
|
|
5989
6025
|
}], cancel: [{
|
|
5990
6026
|
type: Input
|
|
5991
6027
|
}], save: [{
|
|
@@ -7058,6 +7094,12 @@ SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
7058
7094
|
i18n-agendaViewTitle="kendo.scheduler.agendaViewTitle|The agenda view title."
|
|
7059
7095
|
agendaViewTitle="Agenda"
|
|
7060
7096
|
|
|
7097
|
+
i18n-yearViewTitle="kendo.scheduler.yearViewTitle|The year view title."
|
|
7098
|
+
yearViewTitle="Year"
|
|
7099
|
+
|
|
7100
|
+
i18n-yearViewNoEvents="kendo.scheduler.yearViewNoEvents|The year view no events message."
|
|
7101
|
+
yearViewNoEvents="No events on this date."
|
|
7102
|
+
|
|
7061
7103
|
i18n-cancel="kendo.scheduler.cancel|The text similar to 'Cancel' displayed in the Scheduler."
|
|
7062
7104
|
cancel="Cancel"
|
|
7063
7105
|
|
|
@@ -7399,6 +7441,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7399
7441
|
i18n-agendaViewTitle="kendo.scheduler.agendaViewTitle|The agenda view title."
|
|
7400
7442
|
agendaViewTitle="Agenda"
|
|
7401
7443
|
|
|
7444
|
+
i18n-yearViewTitle="kendo.scheduler.yearViewTitle|The year view title."
|
|
7445
|
+
yearViewTitle="Year"
|
|
7446
|
+
|
|
7447
|
+
i18n-yearViewNoEvents="kendo.scheduler.yearViewNoEvents|The year view no events message."
|
|
7448
|
+
yearViewNoEvents="No events on this date."
|
|
7449
|
+
|
|
7402
7450
|
i18n-cancel="kendo.scheduler.cancel|The text similar to 'Cancel' displayed in the Scheduler."
|
|
7403
7451
|
cancel="Cancel"
|
|
7404
7452
|
|
|
@@ -8000,7 +8048,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
8000
8048
|
/**
|
|
8001
8049
|
* @hidden
|
|
8002
8050
|
*/
|
|
8003
|
-
const createTasks$
|
|
8051
|
+
const createTasks$3 = (periodStart, periodEnd, items) => {
|
|
8004
8052
|
const tasks = [];
|
|
8005
8053
|
const utcStart = toUTCDate(periodStart);
|
|
8006
8054
|
const utcEnd = toUTCDate(periodEnd);
|
|
@@ -10060,7 +10108,7 @@ const last = (arr) => arr[arr.length - 1];
|
|
|
10060
10108
|
/**
|
|
10061
10109
|
* @hidden
|
|
10062
10110
|
*/
|
|
10063
|
-
const createTasks$
|
|
10111
|
+
const createTasks$2 = (periodStart, periodEnd, items, ranges) => {
|
|
10064
10112
|
const tasks = [];
|
|
10065
10113
|
const utcStart = toUTCDate(periodStart);
|
|
10066
10114
|
const utcEnd = toUTCDate(periodEnd);
|
|
@@ -11581,7 +11629,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
11581
11629
|
}
|
|
11582
11630
|
createTasks(items, dateRange) {
|
|
11583
11631
|
this.weeks = this.createDaySlots(dateRange);
|
|
11584
|
-
return createTasks$
|
|
11632
|
+
return createTasks$2(dateRange.start, dateRange.end, items, this.weeks);
|
|
11585
11633
|
}
|
|
11586
11634
|
onTasksChange() {
|
|
11587
11635
|
updateTaskData(this.tasks);
|
|
@@ -13193,7 +13241,7 @@ const isMultiDay = ({ start, end }) => {
|
|
|
13193
13241
|
};
|
|
13194
13242
|
//check start and times or update day ranges to have them
|
|
13195
13243
|
/** @hidden */
|
|
13196
|
-
const createTasks = (periodStart, periodEnd, items, ranges) => {
|
|
13244
|
+
const createTasks$1 = (periodStart, periodEnd, items, ranges) => {
|
|
13197
13245
|
const tasks = [];
|
|
13198
13246
|
const utcStart = toUTCDate(periodStart);
|
|
13199
13247
|
const utcEnd = toUTCDate(periodEnd);
|
|
@@ -13987,7 +14035,7 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
13987
14035
|
start: toUTCTime(daySlot.start, startTimeSlot.start),
|
|
13988
14036
|
end: nextDateEnd ? toUTCDate(daySlot.end) : toUTCTime(daySlot.start, endTimeSlot)
|
|
13989
14037
|
}));
|
|
13990
|
-
return createTasks(dateRange.start, dateRange.end, items, ranges);
|
|
14038
|
+
return createTasks$1(dateRange.start, dateRange.end, items, ranges);
|
|
13991
14039
|
}
|
|
13992
14040
|
onTasksChange() {
|
|
13993
14041
|
this.items.next(this.tasks.filter(task => !task.isAllDay));
|
|
@@ -15412,7 +15460,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
15412
15460
|
return result;
|
|
15413
15461
|
}
|
|
15414
15462
|
createTasks(items, dateRange) {
|
|
15415
|
-
return createTasks$
|
|
15463
|
+
return createTasks$3(dateRange.start, dateRange.end, items);
|
|
15416
15464
|
}
|
|
15417
15465
|
onTasksChange() {
|
|
15418
15466
|
this.items.next(this.tasks);
|
|
@@ -15835,11 +15883,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15835
15883
|
class TimelineViewComponent extends TimelineBase {
|
|
15836
15884
|
constructor(localization, changeDetector, viewContext, viewState) {
|
|
15837
15885
|
super(localization, changeDetector, viewContext, viewState);
|
|
15838
|
-
|
|
15839
|
-
* Specifies the number of days that the view will render.
|
|
15840
|
-
* @default 1
|
|
15841
|
-
*/
|
|
15842
|
-
this.numberOfDays = 1;
|
|
15886
|
+
this._numberOfDays = 1;
|
|
15843
15887
|
/**
|
|
15844
15888
|
* The invariant name for this view.
|
|
15845
15889
|
* @default 'timeline'
|
|
@@ -15884,6 +15928,18 @@ class TimelineViewComponent extends TimelineBase {
|
|
|
15884
15928
|
}
|
|
15885
15929
|
return this.numberOfDays && this.numberOfDays > 1 ? '{0:d} - {1:d}' : '{0:d}';
|
|
15886
15930
|
}
|
|
15931
|
+
/**
|
|
15932
|
+
* Specifies the number of days that the view will render.
|
|
15933
|
+
* > Normalized to `1` if the provided value is <= 0.
|
|
15934
|
+
* @default 1
|
|
15935
|
+
*/
|
|
15936
|
+
set numberOfDays(days) {
|
|
15937
|
+
this._numberOfDays = days > 0 ? days : 1;
|
|
15938
|
+
}
|
|
15939
|
+
;
|
|
15940
|
+
get numberOfDays() {
|
|
15941
|
+
return this._numberOfDays;
|
|
15942
|
+
}
|
|
15887
15943
|
}
|
|
15888
15944
|
TimelineViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimelineViewComponent, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15889
15945
|
TimelineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimelineViewComponent, selector: "kendo-scheduler-timeline-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", numberOfDays: "numberOfDays" }, providers: [{
|
|
@@ -15999,11 +16055,7 @@ class TimelineWeekViewComponent extends TimelineBase {
|
|
|
15999
16055
|
* @default '{0:d} - {1:d}'
|
|
16000
16056
|
*/
|
|
16001
16057
|
this.selectedShortDateFormat = '{0:d} - {1:d}';
|
|
16002
|
-
|
|
16003
|
-
* Specifies the number of weeks that the view will render.
|
|
16004
|
-
* @default 1
|
|
16005
|
-
*/
|
|
16006
|
-
this.numberOfWeeks = 1;
|
|
16058
|
+
this._numberOfWeeks = 1;
|
|
16007
16059
|
/**
|
|
16008
16060
|
* The invariant name for this view.
|
|
16009
16061
|
* @default 'timelineWeek'
|
|
@@ -16022,6 +16074,17 @@ class TimelineWeekViewComponent extends TimelineBase {
|
|
|
16022
16074
|
get title() {
|
|
16023
16075
|
return this.localization.get('timelineWeekViewTitle');
|
|
16024
16076
|
}
|
|
16077
|
+
/**
|
|
16078
|
+
* Specifies the number of weeks that the view will render.
|
|
16079
|
+
* @default 1
|
|
16080
|
+
*/
|
|
16081
|
+
set numberOfWeeks(weeks) {
|
|
16082
|
+
this._numberOfWeeks = weeks > 0 ? weeks : 1;
|
|
16083
|
+
}
|
|
16084
|
+
;
|
|
16085
|
+
get numberOfWeeks() {
|
|
16086
|
+
return this._numberOfWeeks;
|
|
16087
|
+
}
|
|
16025
16088
|
}
|
|
16026
16089
|
TimelineWeekViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimelineWeekViewComponent, deps: [{ token: i1$4.IntlService }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16027
16090
|
TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimelineWeekViewComponent, selector: "kendo-scheduler-timeline-week-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", numberOfWeeks: "numberOfWeeks" }, providers: [{
|
|
@@ -16125,11 +16188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16125
16188
|
class TimelineMonthViewComponent extends TimelineBase {
|
|
16126
16189
|
constructor(localization, changeDetector, viewContext, viewState) {
|
|
16127
16190
|
super(localization, changeDetector, viewContext, viewState);
|
|
16128
|
-
|
|
16129
|
-
* Specifies the number of months that the view will render.
|
|
16130
|
-
* @default 1
|
|
16131
|
-
*/
|
|
16132
|
-
this.numberOfMonths = 1;
|
|
16191
|
+
this._numberOfMonths = 1;
|
|
16133
16192
|
/**
|
|
16134
16193
|
* The invariant name for this view.
|
|
16135
16194
|
* @default 'timelineMonth'
|
|
@@ -16192,6 +16251,18 @@ class TimelineMonthViewComponent extends TimelineBase {
|
|
|
16192
16251
|
}
|
|
16193
16252
|
return this.numberOfMonths && this.numberOfMonths > 1 ? '{0:y} - {1:y}' : '{0:y}';
|
|
16194
16253
|
}
|
|
16254
|
+
/**
|
|
16255
|
+
* Specifies the number of months that the view will render.
|
|
16256
|
+
* > Normalized to `1` if the provided value is <= 0.
|
|
16257
|
+
* @default 1
|
|
16258
|
+
*/
|
|
16259
|
+
set numberOfMonths(months) {
|
|
16260
|
+
this._numberOfMonths = months > 0 ? months : 1;
|
|
16261
|
+
}
|
|
16262
|
+
;
|
|
16263
|
+
get numberOfMonths() {
|
|
16264
|
+
return this._numberOfMonths;
|
|
16265
|
+
}
|
|
16195
16266
|
}
|
|
16196
16267
|
TimelineMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimelineMonthViewComponent, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16197
16268
|
TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimelineMonthViewComponent, selector: "kendo-scheduler-timeline-month-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", numberOfMonths: "numberOfMonths" }, providers: [{
|
|
@@ -16838,6 +16909,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
16838
16909
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
|
|
16839
16910
|
|
|
16840
16911
|
const isContentWrapper = element => hasClasses(element, 'k-scheduler-content');
|
|
16912
|
+
const CALENDAR_TAG = 'KENDO-CALENDAR-HORIZONTAL';
|
|
16841
16913
|
/**
|
|
16842
16914
|
* @hidden
|
|
16843
16915
|
*/
|
|
@@ -16930,6 +17002,10 @@ class ShortcutsDirective {
|
|
|
16930
17002
|
}, {
|
|
16931
17003
|
match: e => (e.keyCode === Keys.ArrowUp || e.keyCode === Keys.ArrowLeft) && noModifiers(e) && !isContentWrapper(e.target),
|
|
16932
17004
|
action: e => {
|
|
17005
|
+
//use the MultiViewCalendar navigation for Year View
|
|
17006
|
+
if (e.target.tagName === CALENDAR_TAG) {
|
|
17007
|
+
return;
|
|
17008
|
+
}
|
|
16933
17009
|
const prevented = this.scheduler.onNavigationAction({ type: 'focus-prev' });
|
|
16934
17010
|
if (!prevented) {
|
|
16935
17011
|
const item = this.focusService.activeItem;
|
|
@@ -16943,6 +17019,10 @@ class ShortcutsDirective {
|
|
|
16943
17019
|
}, {
|
|
16944
17020
|
match: e => (e.keyCode === Keys.ArrowDown || e.keyCode === Keys.ArrowRight) && noModifiers(e) && !isContentWrapper(e.target),
|
|
16945
17021
|
action: e => {
|
|
17022
|
+
//use the MultiViewCalendar navigation for Year View
|
|
17023
|
+
if (e.target.tagName === CALENDAR_TAG) {
|
|
17024
|
+
return;
|
|
17025
|
+
}
|
|
16946
17026
|
const prevented = this.scheduler.onNavigationAction({ type: 'focus-next' });
|
|
16947
17027
|
if (!prevented) {
|
|
16948
17028
|
const isInToolbar = this.focusService.activeItem.containerType === 'toolbar';
|
|
@@ -17104,6 +17184,579 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
17104
17184
|
type: Output
|
|
17105
17185
|
}] } });
|
|
17106
17186
|
|
|
17187
|
+
/**
|
|
17188
|
+
* @hidden
|
|
17189
|
+
*/
|
|
17190
|
+
const createTasks = (periodStart, periodEnd, items, ranges) => {
|
|
17191
|
+
const tasks = [];
|
|
17192
|
+
const utcStart = toUTCDateTime(periodStart);
|
|
17193
|
+
const utcEnd = toUTCDateTime(periodEnd);
|
|
17194
|
+
for (let index = 0; index < items.length; index++) {
|
|
17195
|
+
const item = items[index];
|
|
17196
|
+
const data = {};
|
|
17197
|
+
const startTime = item.start.toUTCDate();
|
|
17198
|
+
const end = item.end;
|
|
17199
|
+
const endTime = (item.end.getTime() !== end.getTime() ? end.addDays(1) : end).toUTCDate();
|
|
17200
|
+
if (intersects(startTime, endTime, utcStart, utcEnd)) {
|
|
17201
|
+
for (let rangeIdx = 0; rangeIdx < ranges.length; rangeIdx++) {
|
|
17202
|
+
const range = ranges[rangeIdx];
|
|
17203
|
+
const rangeStart = toUTCDate(range);
|
|
17204
|
+
const rangeEnd = toUTCDate(addDays(range, 1));
|
|
17205
|
+
if (intersects(startTime, endTime, rangeStart, rangeEnd)) {
|
|
17206
|
+
const task = {
|
|
17207
|
+
index,
|
|
17208
|
+
startTime: startTime > rangeStart ? startTime : rangeStart,
|
|
17209
|
+
endTime: endTime < rangeEnd ? endTime : rangeEnd,
|
|
17210
|
+
start: item.start,
|
|
17211
|
+
end: item.end,
|
|
17212
|
+
event: item.event,
|
|
17213
|
+
isAllDay: item.event.isAllDay,
|
|
17214
|
+
rangeIndex: rangeIdx,
|
|
17215
|
+
data: data
|
|
17216
|
+
};
|
|
17217
|
+
task.head = endTime > rangeEnd && startTime > rangeStart;
|
|
17218
|
+
task.tail = startTime < rangeStart && endTime < rangeEnd;
|
|
17219
|
+
task.mid = endTime > rangeEnd && startTime < rangeStart;
|
|
17220
|
+
task.isMultiDay = task.head || task.mid || task.tail;
|
|
17221
|
+
tasks.push(task);
|
|
17222
|
+
}
|
|
17223
|
+
}
|
|
17224
|
+
}
|
|
17225
|
+
}
|
|
17226
|
+
return sortTasksByTime(tasks);
|
|
17227
|
+
};
|
|
17228
|
+
/**
|
|
17229
|
+
* @hidden
|
|
17230
|
+
*/
|
|
17231
|
+
const noop = (_) => { };
|
|
17232
|
+
/**
|
|
17233
|
+
* @hidden
|
|
17234
|
+
*/
|
|
17235
|
+
const yearEnd = (year) => new Date(year, 11, 31, 23, 59, 59, 999);
|
|
17236
|
+
/**
|
|
17237
|
+
* @hidden
|
|
17238
|
+
*/
|
|
17239
|
+
const yearStart = (year) => new Date(year, 0, 1, 0, 0, 0, 0);
|
|
17240
|
+
|
|
17241
|
+
const today = new Date(Date.now());
|
|
17242
|
+
const getDateAttribute = (element) => element?.querySelector('span>span[date]')?.getAttribute('date');
|
|
17243
|
+
/**
|
|
17244
|
+
* @hidden
|
|
17245
|
+
*/
|
|
17246
|
+
class YearViewInternalComponent extends BaseView {
|
|
17247
|
+
constructor(localization, focusService, intl, viewContext, viewState, zone, renderer, pdfService, element, slotService, scrollBarWidthService, changeDetector, localeId) {
|
|
17248
|
+
super(viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, changeDetector, scrollBarWidthService);
|
|
17249
|
+
this.localization = localization;
|
|
17250
|
+
this.focusService = focusService;
|
|
17251
|
+
this.intl = intl;
|
|
17252
|
+
this.localeId = localeId;
|
|
17253
|
+
this.caretAltLeftIcon = caretAltLeftIcon;
|
|
17254
|
+
this.caretAltRightIcon = caretAltRightIcon;
|
|
17255
|
+
this.eventsPerSelectedDay = [];
|
|
17256
|
+
this.days = [];
|
|
17257
|
+
this.tds = [];
|
|
17258
|
+
this.isTooltipClicked = false;
|
|
17259
|
+
this.slotByIndex = (slotIndex, args) => noop(slotIndex);
|
|
17260
|
+
this.dragHintSize = (startSlot, endSlot) => noop(startSlot);
|
|
17261
|
+
this.dragRanges = (slot) => noop(slot);
|
|
17262
|
+
this.slotByPosition = (x, y, container) => noop(x);
|
|
17263
|
+
this.cachedTds = [];
|
|
17264
|
+
}
|
|
17265
|
+
get arrowIcons() {
|
|
17266
|
+
return !this.localization.rtl
|
|
17267
|
+
? ['caret-alt-left', 'caret-alt-right']
|
|
17268
|
+
: ['caret-alt-right', 'caret-alt-left'];
|
|
17269
|
+
}
|
|
17270
|
+
get arrowSVGIcons() {
|
|
17271
|
+
return !this.localization.rtl
|
|
17272
|
+
? [this.caretAltLeftIcon, this.caretAltRightIcon]
|
|
17273
|
+
: [this.caretAltRightIcon, this.caretAltLeftIcon];
|
|
17274
|
+
}
|
|
17275
|
+
ngAfterViewInit() {
|
|
17276
|
+
this.updateTds();
|
|
17277
|
+
super.ngAfterViewInit();
|
|
17278
|
+
}
|
|
17279
|
+
getSlotClass(date) {
|
|
17280
|
+
if (this.slotClass) {
|
|
17281
|
+
return this.slotClass({
|
|
17282
|
+
start: date,
|
|
17283
|
+
end: addDays(date, 1),
|
|
17284
|
+
events: this.eventsPerDay(date),
|
|
17285
|
+
});
|
|
17286
|
+
}
|
|
17287
|
+
}
|
|
17288
|
+
getEventClasses(item, resources, isAllDay) {
|
|
17289
|
+
if (this.eventClass) {
|
|
17290
|
+
return this.eventClass({
|
|
17291
|
+
event: item.event,
|
|
17292
|
+
resources,
|
|
17293
|
+
isAllDay,
|
|
17294
|
+
});
|
|
17295
|
+
}
|
|
17296
|
+
}
|
|
17297
|
+
onBlur() {
|
|
17298
|
+
if (!this.isTooltipClicked) {
|
|
17299
|
+
this.tooltip.hide();
|
|
17300
|
+
}
|
|
17301
|
+
this.isTooltipClicked = false;
|
|
17302
|
+
}
|
|
17303
|
+
getDate(element) {
|
|
17304
|
+
return new Date(getDateAttribute(element.nativeElement));
|
|
17305
|
+
}
|
|
17306
|
+
eventTitle(event) {
|
|
17307
|
+
const startTime = toLocalDate(event.startTime);
|
|
17308
|
+
const endTime = toLocalDate(event.endTime);
|
|
17309
|
+
const time = formatEventTime(startTime, endTime, event.isAllDay, this.localeId);
|
|
17310
|
+
return `${time}, ${event.event.title}`;
|
|
17311
|
+
}
|
|
17312
|
+
onClick(event) {
|
|
17313
|
+
if (event.target.tagName === 'SPAN') {
|
|
17314
|
+
const clickedDate = getDateAttribute(event.target.closest('td.k-calendar-td'));
|
|
17315
|
+
if (clickedDate === getDateAttribute(this.currentTd)) {
|
|
17316
|
+
this.tooltip.show(this.currentTd);
|
|
17317
|
+
}
|
|
17318
|
+
}
|
|
17319
|
+
else {
|
|
17320
|
+
this.tooltip.hide();
|
|
17321
|
+
}
|
|
17322
|
+
}
|
|
17323
|
+
onMouseDown() {
|
|
17324
|
+
this.isTooltipClicked = true;
|
|
17325
|
+
}
|
|
17326
|
+
onKeydown(event) {
|
|
17327
|
+
if (event.key === 'Backspace' || event.key === 'Delete') {
|
|
17328
|
+
this.tooltip.hide();
|
|
17329
|
+
}
|
|
17330
|
+
if (event.key === 'Enter' && !this.tooltip.popupRef) {
|
|
17331
|
+
this.tooltip.show(this.currentTd);
|
|
17332
|
+
return;
|
|
17333
|
+
}
|
|
17334
|
+
if (event.key === 'Enter' && this.tooltip.popupRef && (getDateAttribute(this.currentTd) === this.calendar.focusedDate.toString())) {
|
|
17335
|
+
this.navigateToDay(new Date(getDateAttribute(this.currentTd)));
|
|
17336
|
+
}
|
|
17337
|
+
}
|
|
17338
|
+
navigateToDay(date) {
|
|
17339
|
+
this.tooltip.hide();
|
|
17340
|
+
this.zone.run(() => {
|
|
17341
|
+
this.viewState.navigateTo({ viewName: 'day', date: new Date(date) });
|
|
17342
|
+
});
|
|
17343
|
+
}
|
|
17344
|
+
eventsPerDay(date) {
|
|
17345
|
+
return this.tasksPerDay(date)?.map((task) => task.event) || [];
|
|
17346
|
+
}
|
|
17347
|
+
tasksPerDay(date) {
|
|
17348
|
+
if (this.resources?.length > 0) {
|
|
17349
|
+
return this.tasks?.filter((event) => event.resources.length > 0 &&
|
|
17350
|
+
event.startTime.getUTCDate() === date.getDate() &&
|
|
17351
|
+
event.startTime.getUTCMonth() === date.getMonth());
|
|
17352
|
+
}
|
|
17353
|
+
else {
|
|
17354
|
+
return this.tasks?.filter((event) => event.startTime.getUTCDate() === date.getDate() && event.startTime.getUTCMonth() === date.getMonth());
|
|
17355
|
+
}
|
|
17356
|
+
}
|
|
17357
|
+
onValueChange(date) {
|
|
17358
|
+
this.eventsPerSelectedDay = this.tasksPerDay(date);
|
|
17359
|
+
this.currentTd = this.tds.find((td) => getDateAttribute(td) === date.toString());
|
|
17360
|
+
if (this.tooltip.popupRef) {
|
|
17361
|
+
this.tooltip.hide();
|
|
17362
|
+
}
|
|
17363
|
+
}
|
|
17364
|
+
hasEvent(date) {
|
|
17365
|
+
return this.tasksPerDay(date).length > 0;
|
|
17366
|
+
}
|
|
17367
|
+
createPDFElement() {
|
|
17368
|
+
const element = this.element.nativeElement.cloneNode(true);
|
|
17369
|
+
element.style.width = `${this.element.nativeElement.offsetWidth}px`;
|
|
17370
|
+
element.querySelector('.k-scheduler-layout').style.height = 'auto';
|
|
17371
|
+
this.pdfService.elementReady.emit({
|
|
17372
|
+
element: element,
|
|
17373
|
+
});
|
|
17374
|
+
}
|
|
17375
|
+
onSelectDate(date) {
|
|
17376
|
+
const year = date.getFullYear();
|
|
17377
|
+
this.focusedDate = new Date(year, today.getMonth(), today.getDate());
|
|
17378
|
+
const start = yearStart(year);
|
|
17379
|
+
this.selectedDate = start;
|
|
17380
|
+
const dateRange = this.dateRange(date);
|
|
17381
|
+
this.viewState.notifyDateRange(dateRange);
|
|
17382
|
+
this.days = this.createDaySlots(dateRange);
|
|
17383
|
+
if (this.calendar) {
|
|
17384
|
+
this.calendar.min = start;
|
|
17385
|
+
this.calendar.max = yearEnd(start.getFullYear());
|
|
17386
|
+
this.updateTds();
|
|
17387
|
+
}
|
|
17388
|
+
}
|
|
17389
|
+
onAction(e) {
|
|
17390
|
+
const now = this.selectedDate;
|
|
17391
|
+
if (e.type === 'next' || e.type === 'prev') {
|
|
17392
|
+
const offset = e.type === 'next' ? 1 : -1;
|
|
17393
|
+
const next = addYears(now, offset);
|
|
17394
|
+
this.viewState.notifyNextDate(next);
|
|
17395
|
+
this.calendar.min = next;
|
|
17396
|
+
this.calendar.max = yearEnd(next.getFullYear());
|
|
17397
|
+
this.focusedDate = new Date(next.getFullYear(), today.getMonth(), today.getDate());
|
|
17398
|
+
}
|
|
17399
|
+
}
|
|
17400
|
+
createTasks(items, dateRange) {
|
|
17401
|
+
this.days = this.createDaySlots(dateRange);
|
|
17402
|
+
return createTasks(dateRange.start, dateRange.end, items, this.days);
|
|
17403
|
+
}
|
|
17404
|
+
reflow() {
|
|
17405
|
+
this.updateContentHeight();
|
|
17406
|
+
const content = this.content.nativeElement;
|
|
17407
|
+
if (this.contentHeight === 'auto') {
|
|
17408
|
+
// bigger size changes cause the table to overflow the container and in horizontal scrollbars
|
|
17409
|
+
// this changes the table and slots size during rendering before the browser re-adjusts the 100% table width
|
|
17410
|
+
content.style.overflow = 'visible';
|
|
17411
|
+
}
|
|
17412
|
+
if (this.contentHeight === 'auto') {
|
|
17413
|
+
content.style.overflow = '';
|
|
17414
|
+
}
|
|
17415
|
+
}
|
|
17416
|
+
dateRange(date = this.selectedDate) {
|
|
17417
|
+
return this.dateRangeFn(date);
|
|
17418
|
+
}
|
|
17419
|
+
onTasksChange() {
|
|
17420
|
+
this.items.next(this.tasks);
|
|
17421
|
+
}
|
|
17422
|
+
createDaySlots({ start }) {
|
|
17423
|
+
const days = [];
|
|
17424
|
+
const monthsPerYear = 12;
|
|
17425
|
+
let date = start;
|
|
17426
|
+
for (let idx = 0; idx < monthsPerYear; idx++) {
|
|
17427
|
+
const monthTotalDays = this.getLastDayOfMonth(date.getFullYear(), date.getMonth());
|
|
17428
|
+
for (let dayIdx = 0; dayIdx < monthTotalDays; dayIdx++) {
|
|
17429
|
+
days.push(date);
|
|
17430
|
+
const nextDay = addDays(date, 1);
|
|
17431
|
+
date = nextDay;
|
|
17432
|
+
}
|
|
17433
|
+
}
|
|
17434
|
+
return days;
|
|
17435
|
+
}
|
|
17436
|
+
getLastDayOfMonth(year, month) {
|
|
17437
|
+
return new Date(year, month + 1, 0).getDate();
|
|
17438
|
+
}
|
|
17439
|
+
updateTds() {
|
|
17440
|
+
this.cachedTds.forEach((td) => {
|
|
17441
|
+
this.renderer.setAttribute(td, 'class', 'k-calendar-td');
|
|
17442
|
+
});
|
|
17443
|
+
this.cachedTds = [];
|
|
17444
|
+
this.tds = Array.from(this.calendar.element.nativeElement.querySelectorAll('.k-calendar-td:not(.k-other-month)'));
|
|
17445
|
+
if (this.slotClass) {
|
|
17446
|
+
this.tds.forEach((td) => {
|
|
17447
|
+
const date = toUTCDate(new Date(getDateAttribute(td)));
|
|
17448
|
+
const userClass = this.getSlotClass(date);
|
|
17449
|
+
if (userClass) {
|
|
17450
|
+
this.renderer.addClass(td, userClass);
|
|
17451
|
+
this.cachedTds.push(td);
|
|
17452
|
+
}
|
|
17453
|
+
});
|
|
17454
|
+
}
|
|
17455
|
+
}
|
|
17456
|
+
}
|
|
17457
|
+
YearViewInternalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: YearViewInternalComponent, deps: [{ token: i1$1.LocalizationService }, { token: FocusService }, { token: i1$4.IntlService }, { token: ViewContextService }, { token: ViewStateService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: PDFService }, { token: i0.ElementRef }, { token: MonthSlotService }, { token: i7.ScrollbarWidthService }, { token: i0.ChangeDetectorRef }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
17458
|
+
YearViewInternalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: YearViewInternalComponent, selector: "year-view-internal", inputs: { newRange: "newRange", dateRangeFn: "dateRangeFn", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, providers: [MonthSlotService], viewQueries: [{ propertyName: "calendar", first: true, predicate: MultiViewCalendarComponent, descendants: true }, { propertyName: "tooltip", first: true, predicate: TooltipDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
17459
|
+
<div #content class="k-scheduler-layout k-scheduler-layout-flex k-scheduler-yearview">
|
|
17460
|
+
<div class="k-scheduler-body">
|
|
17461
|
+
<kendo-multiviewcalendar
|
|
17462
|
+
[showOtherMonthDates]="false"
|
|
17463
|
+
[showCalendarHeader]="false"
|
|
17464
|
+
[showViewHeader]="true"
|
|
17465
|
+
[views]="12"
|
|
17466
|
+
[focusedDate]="focusedDate"
|
|
17467
|
+
kendoTooltip
|
|
17468
|
+
filter=".k-calendar-td"
|
|
17469
|
+
showOn="none"
|
|
17470
|
+
[tooltipTemplate]="template"
|
|
17471
|
+
position="right"
|
|
17472
|
+
tooltipContentClass="k-scheduler-tooltip"
|
|
17473
|
+
[tooltipWidth]="220"
|
|
17474
|
+
[collision]="{ horizontal: 'flip', vertical: 'flip' }"
|
|
17475
|
+
(valueChange)="onValueChange($event)"
|
|
17476
|
+
(blur)="onBlur()"
|
|
17477
|
+
>
|
|
17478
|
+
<ng-template kendoCalendarMonthCellTemplate let-date let-context="cellContext">
|
|
17479
|
+
<span *ngIf="!context.isOtherMonth" [attr.date]="date">{{ date.getDate() }}</span>
|
|
17480
|
+
<span *ngIf="!context.isOtherMonth && hasEvent(date)" class="k-day-indicator"></span>
|
|
17481
|
+
</ng-template>
|
|
17482
|
+
</kendo-multiviewcalendar>
|
|
17483
|
+
</div>
|
|
17484
|
+
</div>
|
|
17485
|
+
<ng-template #template let-anchor>
|
|
17486
|
+
<div
|
|
17487
|
+
class="k-tooltip-title k-text-center"
|
|
17488
|
+
(click)="navigateToDay(getDate(anchor))"
|
|
17489
|
+
(mousedown)="onMouseDown()"
|
|
17490
|
+
>
|
|
17491
|
+
<div class="k-month">{{ intl.formatDate(getDate(anchor), 'MMM') }}</div>
|
|
17492
|
+
<div class="k-link k-day k-text-primary">{{ intl.formatDate(getDate(anchor), 'dd') }}</div>
|
|
17493
|
+
</div>
|
|
17494
|
+
<div class="k-tooltip-events-container" (mousedown)="onMouseDown()">
|
|
17495
|
+
<div class="k-tooltip-events">
|
|
17496
|
+
<div
|
|
17497
|
+
*ngFor="let event of eventsPerSelectedDay"
|
|
17498
|
+
class="k-tooltip-event k-event"
|
|
17499
|
+
[title]="eventTitle(event)"
|
|
17500
|
+
[ngClass]="getEventClasses(event, event.resources)"
|
|
17501
|
+
[ngStyle]="getEventStyles(event, event.resources[0], event.isAllDay)"
|
|
17502
|
+
>
|
|
17503
|
+
<kendo-icon-wrapper
|
|
17504
|
+
*ngIf="event.tail || event.mid"
|
|
17505
|
+
[name]="arrowIcons[0]"
|
|
17506
|
+
[svgIcon]="arrowSVGIcons[0]"
|
|
17507
|
+
>
|
|
17508
|
+
</kendo-icon-wrapper>
|
|
17509
|
+
<div class="k-event-title k-text-ellipsis">{{ event.event.title }}</div>
|
|
17510
|
+
<span class="k-spacer"></span>
|
|
17511
|
+
<span
|
|
17512
|
+
class="k-event-time"
|
|
17513
|
+
*ngIf="(event.isMultiDay && event.head && !event.isAllDay) || !event.isMultiDay"
|
|
17514
|
+
>{{ intl.formatDate(event.start, 't') }}</span
|
|
17515
|
+
>
|
|
17516
|
+
<kendo-icon-wrapper
|
|
17517
|
+
*ngIf="event.head || event.mid"
|
|
17518
|
+
[name]="arrowIcons[1]"
|
|
17519
|
+
[svgIcon]="arrowSVGIcons[1]"
|
|
17520
|
+
>
|
|
17521
|
+
</kendo-icon-wrapper>
|
|
17522
|
+
</div>
|
|
17523
|
+
</div>
|
|
17524
|
+
</div>
|
|
17525
|
+
<div *ngIf="eventsPerSelectedDay.length === 0" class="k-no-data k-text-center">
|
|
17526
|
+
{{ localization.get('yearViewNoEvents') }}
|
|
17527
|
+
</div>
|
|
17528
|
+
</ng-template>
|
|
17529
|
+
`, isInline: true, components: [{ type: i2.MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["showOtherMonthDates", "showCalendarHeader", "id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: i4$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i11$1.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "tooltipContentClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { type: i2.MonthCellTemplateDirective, selector: "[kendoCalendarMonthCellTemplate]" }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
17530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: YearViewInternalComponent, decorators: [{
|
|
17531
|
+
type: Component,
|
|
17532
|
+
args: [{
|
|
17533
|
+
selector: 'year-view-internal',
|
|
17534
|
+
providers: [MonthSlotService],
|
|
17535
|
+
template: `
|
|
17536
|
+
<div #content class="k-scheduler-layout k-scheduler-layout-flex k-scheduler-yearview">
|
|
17537
|
+
<div class="k-scheduler-body">
|
|
17538
|
+
<kendo-multiviewcalendar
|
|
17539
|
+
[showOtherMonthDates]="false"
|
|
17540
|
+
[showCalendarHeader]="false"
|
|
17541
|
+
[showViewHeader]="true"
|
|
17542
|
+
[views]="12"
|
|
17543
|
+
[focusedDate]="focusedDate"
|
|
17544
|
+
kendoTooltip
|
|
17545
|
+
filter=".k-calendar-td"
|
|
17546
|
+
showOn="none"
|
|
17547
|
+
[tooltipTemplate]="template"
|
|
17548
|
+
position="right"
|
|
17549
|
+
tooltipContentClass="k-scheduler-tooltip"
|
|
17550
|
+
[tooltipWidth]="220"
|
|
17551
|
+
[collision]="{ horizontal: 'flip', vertical: 'flip' }"
|
|
17552
|
+
(valueChange)="onValueChange($event)"
|
|
17553
|
+
(blur)="onBlur()"
|
|
17554
|
+
>
|
|
17555
|
+
<ng-template kendoCalendarMonthCellTemplate let-date let-context="cellContext">
|
|
17556
|
+
<span *ngIf="!context.isOtherMonth" [attr.date]="date">{{ date.getDate() }}</span>
|
|
17557
|
+
<span *ngIf="!context.isOtherMonth && hasEvent(date)" class="k-day-indicator"></span>
|
|
17558
|
+
</ng-template>
|
|
17559
|
+
</kendo-multiviewcalendar>
|
|
17560
|
+
</div>
|
|
17561
|
+
</div>
|
|
17562
|
+
<ng-template #template let-anchor>
|
|
17563
|
+
<div
|
|
17564
|
+
class="k-tooltip-title k-text-center"
|
|
17565
|
+
(click)="navigateToDay(getDate(anchor))"
|
|
17566
|
+
(mousedown)="onMouseDown()"
|
|
17567
|
+
>
|
|
17568
|
+
<div class="k-month">{{ intl.formatDate(getDate(anchor), 'MMM') }}</div>
|
|
17569
|
+
<div class="k-link k-day k-text-primary">{{ intl.formatDate(getDate(anchor), 'dd') }}</div>
|
|
17570
|
+
</div>
|
|
17571
|
+
<div class="k-tooltip-events-container" (mousedown)="onMouseDown()">
|
|
17572
|
+
<div class="k-tooltip-events">
|
|
17573
|
+
<div
|
|
17574
|
+
*ngFor="let event of eventsPerSelectedDay"
|
|
17575
|
+
class="k-tooltip-event k-event"
|
|
17576
|
+
[title]="eventTitle(event)"
|
|
17577
|
+
[ngClass]="getEventClasses(event, event.resources)"
|
|
17578
|
+
[ngStyle]="getEventStyles(event, event.resources[0], event.isAllDay)"
|
|
17579
|
+
>
|
|
17580
|
+
<kendo-icon-wrapper
|
|
17581
|
+
*ngIf="event.tail || event.mid"
|
|
17582
|
+
[name]="arrowIcons[0]"
|
|
17583
|
+
[svgIcon]="arrowSVGIcons[0]"
|
|
17584
|
+
>
|
|
17585
|
+
</kendo-icon-wrapper>
|
|
17586
|
+
<div class="k-event-title k-text-ellipsis">{{ event.event.title }}</div>
|
|
17587
|
+
<span class="k-spacer"></span>
|
|
17588
|
+
<span
|
|
17589
|
+
class="k-event-time"
|
|
17590
|
+
*ngIf="(event.isMultiDay && event.head && !event.isAllDay) || !event.isMultiDay"
|
|
17591
|
+
>{{ intl.formatDate(event.start, 't') }}</span
|
|
17592
|
+
>
|
|
17593
|
+
<kendo-icon-wrapper
|
|
17594
|
+
*ngIf="event.head || event.mid"
|
|
17595
|
+
[name]="arrowIcons[1]"
|
|
17596
|
+
[svgIcon]="arrowSVGIcons[1]"
|
|
17597
|
+
>
|
|
17598
|
+
</kendo-icon-wrapper>
|
|
17599
|
+
</div>
|
|
17600
|
+
</div>
|
|
17601
|
+
</div>
|
|
17602
|
+
<div *ngIf="eventsPerSelectedDay.length === 0" class="k-no-data k-text-center">
|
|
17603
|
+
{{ localization.get('yearViewNoEvents') }}
|
|
17604
|
+
</div>
|
|
17605
|
+
</ng-template>
|
|
17606
|
+
`,
|
|
17607
|
+
}]
|
|
17608
|
+
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: FocusService }, { type: i1$4.IntlService }, { type: ViewContextService }, { type: ViewStateService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: PDFService }, { type: i0.ElementRef }, { type: MonthSlotService }, { type: i7.ScrollbarWidthService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
17609
|
+
type: Inject,
|
|
17610
|
+
args: [LOCALE_ID]
|
|
17611
|
+
}] }]; }, propDecorators: { newRange: [{
|
|
17612
|
+
type: Input
|
|
17613
|
+
}], dateRangeFn: [{
|
|
17614
|
+
type: Input
|
|
17615
|
+
}], calendar: [{
|
|
17616
|
+
type: ViewChild,
|
|
17617
|
+
args: [MultiViewCalendarComponent]
|
|
17618
|
+
}], tooltip: [{
|
|
17619
|
+
type: ViewChild,
|
|
17620
|
+
args: [TooltipDirective]
|
|
17621
|
+
}], selectedDateFormat: [{
|
|
17622
|
+
type: Input
|
|
17623
|
+
}], selectedShortDateFormat: [{
|
|
17624
|
+
type: Input
|
|
17625
|
+
}] } });
|
|
17626
|
+
|
|
17627
|
+
/**
|
|
17628
|
+
* The component for rendering the **Year** view.
|
|
17629
|
+
*/
|
|
17630
|
+
class YearViewComponent extends ConfigurationViewBase {
|
|
17631
|
+
constructor(localization, changeDetector, viewContext, viewState, intl) {
|
|
17632
|
+
super(localization, changeDetector, viewContext, viewState);
|
|
17633
|
+
this.intl = intl;
|
|
17634
|
+
/**
|
|
17635
|
+
* The long-date format for displaying the
|
|
17636
|
+
* selected year in the Scheduler toolbar.
|
|
17637
|
+
* For more information, see [Parsing and Formatting Dates and Numbers]({% slug parsingandformatting_intl %}#toc-date-formatting).
|
|
17638
|
+
* @default '{0:yyy}'
|
|
17639
|
+
*/
|
|
17640
|
+
this.selectedDateFormat = '{0:yyy}';
|
|
17641
|
+
/**
|
|
17642
|
+
* The short-date format for displaying the
|
|
17643
|
+
* selected year in the Scheduler toolbar.
|
|
17644
|
+
* For more information, see [Parsing and Formatting Dates and Numbers]({% slug parsingandformatting_intl %}#toc-date-formatting).
|
|
17645
|
+
* @default '{0:yyy}'
|
|
17646
|
+
*/
|
|
17647
|
+
this.selectedShortDateFormat = '{0:yyy}';
|
|
17648
|
+
/**
|
|
17649
|
+
* The invariant name for this view.
|
|
17650
|
+
* @default 'year'
|
|
17651
|
+
*/
|
|
17652
|
+
this.name = 'year';
|
|
17653
|
+
}
|
|
17654
|
+
/**
|
|
17655
|
+
* @hidden
|
|
17656
|
+
*/
|
|
17657
|
+
get title() {
|
|
17658
|
+
return this.localization.get('yearViewTitle');
|
|
17659
|
+
}
|
|
17660
|
+
/**
|
|
17661
|
+
* @hidden
|
|
17662
|
+
*/
|
|
17663
|
+
dateRange(date) {
|
|
17664
|
+
const year = date.getFullYear();
|
|
17665
|
+
const start = yearStart(year);
|
|
17666
|
+
const end = yearEnd(year);
|
|
17667
|
+
const text = this.intl.format(this.selectedDateFormat, start);
|
|
17668
|
+
const shortText = this.intl.format(this.selectedShortDateFormat, start);
|
|
17669
|
+
return { start, end, text, shortText };
|
|
17670
|
+
}
|
|
17671
|
+
/**
|
|
17672
|
+
* @hidden
|
|
17673
|
+
*/
|
|
17674
|
+
newRange(date, direction = 1) {
|
|
17675
|
+
return new Date(addYears(date, direction));
|
|
17676
|
+
}
|
|
17677
|
+
}
|
|
17678
|
+
YearViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: YearViewComponent, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }, { token: i1$4.IntlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
17679
|
+
YearViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: YearViewComponent, selector: "kendo-scheduler-year-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, providers: [{
|
|
17680
|
+
provide: SchedulerView,
|
|
17681
|
+
useExisting: forwardRef(() => YearViewComponent)
|
|
17682
|
+
}], usesInheritance: true, ngImport: i0, template: `
|
|
17683
|
+
<ng-template #content>
|
|
17684
|
+
<year-view-internal
|
|
17685
|
+
[selectedDateFormat]="selectedDateFormat"
|
|
17686
|
+
[selectedShortDateFormat]="selectedShortDateFormat"
|
|
17687
|
+
[slotClass]="viewSlotClass"
|
|
17688
|
+
[eventClass]="viewEventClass"
|
|
17689
|
+
[eventStyles]="viewEventStyles"
|
|
17690
|
+
[dateRangeFn]="dateRange"
|
|
17691
|
+
[newRange]="newRange">
|
|
17692
|
+
</year-view-internal>
|
|
17693
|
+
</ng-template>
|
|
17694
|
+
`, isInline: true, components: [{ type: YearViewInternalComponent, selector: "year-view-internal", inputs: ["newRange", "dateRangeFn", "selectedDateFormat", "selectedShortDateFormat"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17695
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: YearViewComponent, decorators: [{
|
|
17696
|
+
type: Component,
|
|
17697
|
+
args: [{
|
|
17698
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
17699
|
+
selector: 'kendo-scheduler-year-view',
|
|
17700
|
+
providers: [{
|
|
17701
|
+
provide: SchedulerView,
|
|
17702
|
+
useExisting: forwardRef(() => YearViewComponent)
|
|
17703
|
+
}],
|
|
17704
|
+
template: `
|
|
17705
|
+
<ng-template #content>
|
|
17706
|
+
<year-view-internal
|
|
17707
|
+
[selectedDateFormat]="selectedDateFormat"
|
|
17708
|
+
[selectedShortDateFormat]="selectedShortDateFormat"
|
|
17709
|
+
[slotClass]="viewSlotClass"
|
|
17710
|
+
[eventClass]="viewEventClass"
|
|
17711
|
+
[eventStyles]="viewEventStyles"
|
|
17712
|
+
[dateRangeFn]="dateRange"
|
|
17713
|
+
[newRange]="newRange">
|
|
17714
|
+
</year-view-internal>
|
|
17715
|
+
</ng-template>
|
|
17716
|
+
`
|
|
17717
|
+
}]
|
|
17718
|
+
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: ViewContextService }, { type: ViewStateService }, { type: i1$4.IntlService }]; }, propDecorators: { selectedDateFormat: [{
|
|
17719
|
+
type: Input
|
|
17720
|
+
}], selectedShortDateFormat: [{
|
|
17721
|
+
type: Input
|
|
17722
|
+
}] } });
|
|
17723
|
+
|
|
17724
|
+
/**
|
|
17725
|
+
* @hidden
|
|
17726
|
+
*/
|
|
17727
|
+
class YearViewModule {
|
|
17728
|
+
}
|
|
17729
|
+
YearViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: YearViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17730
|
+
YearViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: YearViewModule, declarations: [YearViewComponent,
|
|
17731
|
+
YearViewInternalComponent], imports: [ViewsSharedModule,
|
|
17732
|
+
CalendarsModule,
|
|
17733
|
+
TooltipsModule,
|
|
17734
|
+
IntlModule], exports: [YearViewComponent] });
|
|
17735
|
+
YearViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: YearViewModule, imports: [[
|
|
17736
|
+
ViewsSharedModule,
|
|
17737
|
+
CalendarsModule,
|
|
17738
|
+
TooltipsModule,
|
|
17739
|
+
IntlModule
|
|
17740
|
+
]] });
|
|
17741
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: YearViewModule, decorators: [{
|
|
17742
|
+
type: NgModule,
|
|
17743
|
+
args: [{
|
|
17744
|
+
imports: [
|
|
17745
|
+
ViewsSharedModule,
|
|
17746
|
+
CalendarsModule,
|
|
17747
|
+
TooltipsModule,
|
|
17748
|
+
IntlModule
|
|
17749
|
+
],
|
|
17750
|
+
exports: [
|
|
17751
|
+
YearViewComponent
|
|
17752
|
+
],
|
|
17753
|
+
declarations: [
|
|
17754
|
+
YearViewComponent,
|
|
17755
|
+
YearViewInternalComponent
|
|
17756
|
+
]
|
|
17757
|
+
}]
|
|
17758
|
+
}] });
|
|
17759
|
+
|
|
17107
17760
|
const TEMPLATES = [
|
|
17108
17761
|
AgendaDateTemplateDirective,
|
|
17109
17762
|
AgendaTimeTemplateDirective,
|
|
@@ -17149,6 +17802,7 @@ const declarations$1 = [
|
|
|
17149
17802
|
const publicDirectives = [
|
|
17150
17803
|
AgendaViewComponent,
|
|
17151
17804
|
MonthViewModule,
|
|
17805
|
+
YearViewComponent,
|
|
17152
17806
|
MultiDayViewModule,
|
|
17153
17807
|
ReactiveEditingDirective,
|
|
17154
17808
|
TimelineViewModule,
|
|
@@ -17233,7 +17887,8 @@ SchedulerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
|
|
|
17233
17887
|
ResizeSensorModule,
|
|
17234
17888
|
MonthViewModule,
|
|
17235
17889
|
TimelineViewModule,
|
|
17236
|
-
WatermarkModule,
|
|
17890
|
+
WatermarkModule,
|
|
17891
|
+
YearViewModule, ButtonsModule,
|
|
17237
17892
|
CheckBoxModule,
|
|
17238
17893
|
TextAreaModule,
|
|
17239
17894
|
DateInputsModule,
|
|
@@ -17246,6 +17901,7 @@ SchedulerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
|
|
|
17246
17901
|
LabelModule,
|
|
17247
17902
|
FormFieldModule], exports: [AgendaViewComponent,
|
|
17248
17903
|
MonthViewModule,
|
|
17904
|
+
YearViewComponent,
|
|
17249
17905
|
MultiDayViewModule,
|
|
17250
17906
|
ReactiveEditingDirective,
|
|
17251
17907
|
TimelineViewModule, ToolbarNavigationComponent, ToolbarTemplateDirective, ToolbarViewSelectorComponent, SchedulerComponent,
|
|
@@ -17296,6 +17952,7 @@ SchedulerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
17296
17952
|
MonthViewModule,
|
|
17297
17953
|
TimelineViewModule,
|
|
17298
17954
|
WatermarkModule,
|
|
17955
|
+
YearViewModule,
|
|
17299
17956
|
...importedKendoModules
|
|
17300
17957
|
], MonthViewModule,
|
|
17301
17958
|
MultiDayViewModule,
|
|
@@ -17312,6 +17969,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
17312
17969
|
MonthViewModule,
|
|
17313
17970
|
TimelineViewModule,
|
|
17314
17971
|
WatermarkModule,
|
|
17972
|
+
YearViewModule,
|
|
17315
17973
|
...importedKendoModules
|
|
17316
17974
|
],
|
|
17317
17975
|
declarations: declarations$1,
|
|
@@ -17868,5 +18526,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
17868
18526
|
* Generated bundle index. Do not edit.
|
|
17869
18527
|
*/
|
|
17870
18528
|
|
|
17871
|
-
export { AddEvent, AgendaDateTemplateDirective, AgendaTimeTemplateDirective, AgendaViewComponent, AllDayEventTemplateDirective, AllDaySlotTemplateDirective, BaseEditService, CancelEvent, CrudOperation, DataBindingDirective, DateChangeEvent, DateHeaderTemplateDirective, DaySlotDirective, DayTimeModule, DayTimeSlotService, DayTimeViewItemComponent, DayViewComponent, DragEndEvent, DragEvent, DragStartEvent, EditDialogComponent, EditDialogTemplateDirective, EditEvent, EditEventBase, EditMode, EndRuleRadioButtonDirective, EventClickEvent, EventKeydownEvent, EventTemplateDirective, FocusService, FocusableDirective, GroupHeaderTemplateDirective, HintContainerComponent, IsSlotSelectedArgs, LoadingComponent, LocalizedMessagesDirective, MajorTimeHeaderTemplateDirective, MinorTimeHeaderTemplateDirective, MonthDaySlotTemplateDirective, MonthViewComponent, MonthViewModule, MultiDayViewComponent, MultiDayViewModule, 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, SharedModule, ShortcutsDirective, SingleResourceEditorComponent, SlotClickEvent, SlotDragEndEvent, SlotDragEvent, SlotDragStartEvent, SlotSelectableDirective, SortPipe, TimeSlotDirective, TimeSlotTemplateDirective, TimeZoneEditorComponent, TimelineBase, TimelineMonthViewComponent, TimelineMultiDayViewComponent, TimelineViewComponent, TimelineViewModule, TimelineWeekViewComponent, ToolbarNavigationComponent, ToolbarService, ToolbarTemplateDirective, ToolbarViewSelectorComponent, VIEW_EVENT_MAP, ViewContextService, ViewFooterComponent, ViewStateService, ViewsSharedModule, WeekViewComponent, WorkHoursFooterDirective, WorkWeekViewComponent };
|
|
18529
|
+
export { AddEvent, AgendaDateTemplateDirective, AgendaTimeTemplateDirective, AgendaViewComponent, AllDayEventTemplateDirective, AllDaySlotTemplateDirective, BaseEditService, CancelEvent, CrudOperation, DataBindingDirective, DateChangeEvent, DateHeaderTemplateDirective, DaySlotDirective, DayTimeModule, DayTimeSlotService, DayTimeViewItemComponent, DayViewComponent, DragEndEvent, DragEvent, DragStartEvent, EditDialogComponent, EditDialogTemplateDirective, EditEvent, EditEventBase, EditMode, EndRuleRadioButtonDirective, EventClickEvent, EventKeydownEvent, EventTemplateDirective, FocusService, FocusableDirective, GroupHeaderTemplateDirective, HintContainerComponent, IsSlotSelectedArgs, LoadingComponent, LocalizedMessagesDirective, MajorTimeHeaderTemplateDirective, MinorTimeHeaderTemplateDirective, MonthDaySlotTemplateDirective, MonthViewComponent, MonthViewModule, MultiDayViewComponent, MultiDayViewModule, 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, SharedModule, ShortcutsDirective, SingleResourceEditorComponent, SlotClickEvent, SlotDragEndEvent, SlotDragEvent, SlotDragStartEvent, SlotSelectableDirective, SortPipe, TimeSlotDirective, TimeSlotTemplateDirective, TimeZoneEditorComponent, TimelineBase, TimelineMonthViewComponent, TimelineMultiDayViewComponent, TimelineViewComponent, TimelineViewModule, TimelineWeekViewComponent, ToolbarNavigationComponent, ToolbarService, ToolbarTemplateDirective, ToolbarViewSelectorComponent, VIEW_EVENT_MAP, ViewContextService, ViewFooterComponent, ViewStateService, ViewsSharedModule, WeekViewComponent, WorkHoursFooterDirective, WorkWeekViewComponent, YearViewComponent };
|
|
17872
18530
|
|