@progress/kendo-angular-scheduler 14.4.0-develop.16 → 14.4.0-develop.18
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/editing/recurrence/recurrence-end-rule-editor.component.mjs +1 -1
- package/esm2020/editing/recurrence/recurrence-interval-editor.component.mjs +1 -1
- package/esm2020/editing/recurrence/recurrence-monthly-yearly-editor.component.mjs +1 -1
- package/esm2020/editing/resource-multiple-editor.component.mjs +1 -1
- package/esm2020/editing/timezone-editor.component.mjs +1 -1
- 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 +663 -22
- package/fesm2020/progress-kendo-angular-scheduler.mjs +657 -22
- 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
|
@@ -211,7 +211,7 @@ RecurrenceEndRuleEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
211
211
|
</ul>
|
|
212
212
|
</div>
|
|
213
213
|
</div>
|
|
214
|
-
`, isInline: true, components: [{ type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i4.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }, { type: i5.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i5.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }], directives: [{ type: i6.EndRuleRadioButtonDirective, selector: "[kendoRecurrenceEndRuleRadioButton]", inputs: ["kendoRecurrenceEndRuleRadioButton"] }, { type: i3.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }] });
|
|
214
|
+
`, isInline: true, components: [{ type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { type: i4.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }, { type: i5.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i5.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }], directives: [{ type: i6.EndRuleRadioButtonDirective, selector: "[kendoRecurrenceEndRuleRadioButton]", inputs: ["kendoRecurrenceEndRuleRadioButton"] }, { type: i3.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }] });
|
|
215
215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RecurrenceEndRuleEditorComponent, decorators: [{
|
|
216
216
|
type: Component,
|
|
217
217
|
args: [{
|
|
@@ -114,7 +114,7 @@ RecurrenceIntervalEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion
|
|
|
114
114
|
<span> {{ textForFrequency() }}</span>
|
|
115
115
|
</div>
|
|
116
116
|
</div>
|
|
117
|
-
`, isInline: true, components: [{ type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i4.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }] });
|
|
117
|
+
`, isInline: true, components: [{ type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { type: i4.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }] });
|
|
118
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RecurrenceIntervalEditorComponent, decorators: [{
|
|
119
119
|
type: Component,
|
|
120
120
|
args: [{
|
|
@@ -338,7 +338,7 @@ RecurrenceMonthlyYearlyEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVe
|
|
|
338
338
|
</ul>
|
|
339
339
|
</div>
|
|
340
340
|
</div>
|
|
341
|
-
`, isInline: true, components: [{ type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i5.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i5.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }], directives: [{ type: i6.RepeatOnRadioButtonDirective, selector: "[kendoRecurrenceRepeatOnRadioButton]", inputs: ["kendoRecurrenceRepeatOnRadioButton"] }, { type: i3.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
341
|
+
`, isInline: true, components: [{ type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i5.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { type: i5.NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }], directives: [{ type: i6.RepeatOnRadioButtonDirective, selector: "[kendoRecurrenceRepeatOnRadioButton]", inputs: ["kendoRecurrenceRepeatOnRadioButton"] }, { type: i3.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
342
342
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RecurrenceMonthlyYearlyEditorComponent, decorators: [{
|
|
343
343
|
type: Component,
|
|
344
344
|
args: [{
|
|
@@ -54,7 +54,7 @@ MultipleResourceEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
54
54
|
{{ getField(dataItem, resource.textField) }}
|
|
55
55
|
</ng-template>
|
|
56
56
|
</kendo-multiselect>
|
|
57
|
-
`, isInline: true, components: [{ type: i1.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }], directives: [{ type: i1.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.TagTemplateDirective, selector: "[kendoMultiSelectTagTemplate],[kendoMultiSelectTreeTagTemplate]" }] });
|
|
57
|
+
`, isInline: true, components: [{ type: i1.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "removeTag"], exportAs: ["kendoMultiSelect"] }], directives: [{ type: i1.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.TagTemplateDirective, selector: "[kendoMultiSelectTagTemplate],[kendoMultiSelectTreeTagTemplate]" }] });
|
|
58
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultipleResourceEditorComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{
|
|
@@ -100,7 +100,7 @@ TimeZoneEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
100
100
|
(filterChange)="onTimeZoneFilterChange($event)"
|
|
101
101
|
(valueChange)="onTimeZoneChange($event)">
|
|
102
102
|
</kendo-combobox>
|
|
103
|
-
`, isInline: true, components: [{ type: i1.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoComboBox"] }] });
|
|
103
|
+
`, isInline: true, components: [{ type: i1.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoComboBox"] }] });
|
|
104
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
106
|
args: [{
|
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: 1706281562,
|
|
13
|
+
version: '14.4.0-develop.18',
|
|
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);
|