@progress/kendo-angular-scheduler 4.0.0-next.202204011528 → 4.0.0
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/bundles/kendo-angular-scheduler.umd.js +1 -1
- package/editing-directives/base-edit.service.d.ts +18 -0
- package/esm2015/editing/edit-dialog.component.js +1 -1
- package/esm2015/editing/recurrence/recurrence-frequency-editor.component.js +1 -1
- package/esm2015/editing/recurrence/recurrence-weekday-rule-editor.component.js +1 -1
- package/esm2015/editing-directives/base-edit.service.js +18 -0
- package/esm2015/package-metadata.js +1 -1
- package/esm2015/scheduler.component.js +8 -1
- package/esm2015/toolbar/navigation.component.js +1 -1
- package/esm2015/toolbar/view-selector.component.js +1 -1
- package/esm2015/types/ongoing-events-settings.interface.js +5 -0
- package/esm2015/views/common/base-view.js +3 -0
- package/esm2015/views/common/configuration-view-base.js +9 -1
- package/esm2015/views/common/view-footer.component.js +1 -1
- package/esm2015/views/constants.js +6 -0
- package/esm2015/views/day-time/day-time-view-base.js +10 -1
- package/esm2015/views/day-time/day-time-view.component.js +32 -3
- package/esm2015/views/month/month-view-renderer.component.js +44 -7
- package/esm2015/views/month/month-view.component.js +3 -1
- package/esm2015/views/multi-day/day-view.component.js +2 -0
- package/esm2015/views/multi-day/multi-day-view.component.js +2 -0
- package/esm2015/views/multi-day/week-view.component.js +2 -0
- package/esm2015/views/multi-day/work-week-view.component.js +2 -0
- package/esm2015/views/timeline/timeline-month-view.component.js +2 -0
- package/esm2015/views/timeline/timeline-view.component.js +2 -0
- package/esm2015/views/timeline/timeline-week-view.component.js +2 -0
- package/esm2015/views/utils.js +5 -1
- package/fesm2015/kendo-angular-scheduler.js +257 -124
- package/package.json +16 -18
- package/scheduler.component.d.ts +6 -2
- package/schematics/ngAdd/index.js +1 -1
- package/types/ongoing-events-settings.interface.d.ts +23 -0
- package/types.d.ts +1 -0
- package/views/common/base-view.d.ts +6 -0
- package/views/common/configuration-view-base.d.ts +10 -2
- package/views/constants.d.ts +6 -0
- package/views/day-time/day-time-view-base.d.ts +10 -2
- package/views/day-time/day-time-view.component.d.ts +7 -1
- package/views/month/month-view-renderer.component.d.ts +11 -2
|
@@ -43,7 +43,7 @@ const packageMetadata = {
|
|
|
43
43
|
name: '@progress/kendo-angular-scheduler',
|
|
44
44
|
productName: 'Kendo UI for Angular',
|
|
45
45
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
46
|
-
publishDate:
|
|
46
|
+
publishDate: 1650441034,
|
|
47
47
|
version: '',
|
|
48
48
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
49
49
|
};
|
|
@@ -2066,7 +2066,11 @@ function eventResources(event, { taskResources, hasGroups, spans, allResources =
|
|
|
2066
2066
|
for (let valueIdx = 0; valueIdx < values.length; valueIdx++) {
|
|
2067
2067
|
const dataIdx = getDataIdx(values[valueIdx], resource);
|
|
2068
2068
|
if (dataIdx < 0) {
|
|
2069
|
-
|
|
2069
|
+
if (hasGroups) {
|
|
2070
|
+
// No match for this resource, but the event might still match other resources.
|
|
2071
|
+
continue;
|
|
2072
|
+
}
|
|
2073
|
+
return [{ leafIdx: 0, resources: [] }];
|
|
2070
2074
|
}
|
|
2071
2075
|
const item = resource.data[dataIdx];
|
|
2072
2076
|
// has groups - need all copies of the multiple resource
|
|
@@ -2440,7 +2444,7 @@ ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
2440
2444
|
</kendo-calendar-messages>
|
|
2441
2445
|
</kendo-calendar>
|
|
2442
2446
|
</ng-template>
|
|
2443
|
-
`, isInline: true, components: [{ type: i4.CalendarComponent, selector: "kendo-calendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "valueChange"], exportAs: ["kendo-calendar"] }, { type: i4.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "
|
|
2447
|
+
`, isInline: true, components: [{ type: i4.CalendarComponent, selector: "kendo-calendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "valueChange"], exportAs: ["kendo-calendar"] }, { type: i4.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], pipes: { "async": i10.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2444
2448
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarNavigationComponent, decorators: [{
|
|
2445
2449
|
type: Component,
|
|
2446
2450
|
args: [{
|
|
@@ -2602,7 +2606,7 @@ ToolbarViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
2602
2606
|
</span>
|
|
2603
2607
|
</button>
|
|
2604
2608
|
</span>
|
|
2605
|
-
`, isInline: true, directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "
|
|
2609
|
+
`, isInline: true, directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
2606
2610
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarViewSelectorComponent, decorators: [{
|
|
2607
2611
|
type: Component,
|
|
2608
2612
|
args: [{
|
|
@@ -3484,7 +3488,7 @@ RecurrenceFrequencyEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersio
|
|
|
3484
3488
|
>{{ freq.text }}</button>
|
|
3485
3489
|
</kendo-buttongroup>
|
|
3486
3490
|
</div>
|
|
3487
|
-
`, isInline: true, components: [{ type: i3.ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }], directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "
|
|
3491
|
+
`, isInline: true, components: [{ type: i3.ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }], directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
3488
3492
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RecurrenceFrequencyEditorComponent, decorators: [{
|
|
3489
3493
|
type: Component,
|
|
3490
3494
|
args: [{
|
|
@@ -3708,7 +3712,7 @@ RecurrenceWeekdayRuleEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVers
|
|
|
3708
3712
|
>{{ capitalize(day.text) }}</button>
|
|
3709
3713
|
</kendo-buttongroup>
|
|
3710
3714
|
</div>
|
|
3711
|
-
`, isInline: true, components: [{ type: i3.ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }], directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "
|
|
3715
|
+
`, isInline: true, components: [{ type: i3.ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }], directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
3712
3716
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RecurrenceWeekdayRuleEditorComponent, decorators: [{
|
|
3713
3717
|
type: Component,
|
|
3714
3718
|
args: [{
|
|
@@ -5357,7 +5361,7 @@ EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
5357
5361
|
<button kendoButton themeColor="primary" (click)="onSave($event)" [disabled]="!formGroup.valid">{{ textFor('save') }}</button>
|
|
5358
5362
|
</kendo-dialog-actions>
|
|
5359
5363
|
</kendo-dialog>
|
|
5360
|
-
`, isInline: true, components: [{ type: i1.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: SchedulerDateTimePickerComponent, selector: "kendo-scheduler-datetime-picker", inputs: ["isAllDay"], outputs: ["valueChange"] }, { type: TimeZoneEditorComponent, selector: "kendo-timezone-editor", inputs: ["width"], outputs: ["valueChange"] }, { type: RecurrenceEditorComponent, selector: "kendo-recurrence-editor", inputs: ["start", "timezone", "weekStart", "repeatEveryOptions", "endAfterOptions", "repeatOnOptions", "endOnOptions"], outputs: ["valueChange"], exportAs: ["kendoRecurrenceEditor"] }, { type: MultipleResourceEditorComponent, selector: "kendo-multiple-resource-editor" }, { type: SingleResourceEditorComponent, selector: "kendo-single-resource-editor" }, { type: i1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i11.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i11.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i12.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i11.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i12.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i11.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i12.TextAreaDirective, selector: "textarea[kendoTextArea]", inputs: ["autoSize", "value"], outputs: ["valueChange"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "
|
|
5364
|
+
`, isInline: true, components: [{ type: i1.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: SchedulerDateTimePickerComponent, selector: "kendo-scheduler-datetime-picker", inputs: ["isAllDay"], outputs: ["valueChange"] }, { type: TimeZoneEditorComponent, selector: "kendo-timezone-editor", inputs: ["width"], outputs: ["valueChange"] }, { type: RecurrenceEditorComponent, selector: "kendo-recurrence-editor", inputs: ["start", "timezone", "weekStart", "repeatEveryOptions", "endAfterOptions", "repeatOnOptions", "endOnOptions"], outputs: ["valueChange"], exportAs: ["kendoRecurrenceEditor"] }, { type: MultipleResourceEditorComponent, selector: "kendo-multiple-resource-editor" }, { type: SingleResourceEditorComponent, selector: "kendo-single-resource-editor" }, { type: i1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i11.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i11.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i12.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i11.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i12.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i11.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i12.TextAreaDirective, selector: "textarea[kendoTextArea]", inputs: ["autoSize", "value"], outputs: ["valueChange"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
5361
5365
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditDialogComponent, decorators: [{
|
|
5362
5366
|
type: Component,
|
|
5363
5367
|
args: [{
|
|
@@ -5803,6 +5807,10 @@ class SchedulerComponent {
|
|
|
5803
5807
|
* Specifies the Scheduler current time marker settings.
|
|
5804
5808
|
*/
|
|
5805
5809
|
this.currentTimeMarker = true;
|
|
5810
|
+
/**
|
|
5811
|
+
* Specifies the settings for the ongoing events highlight of the Scheduler.
|
|
5812
|
+
*/
|
|
5813
|
+
this.highlightOngoingEvents = true;
|
|
5806
5814
|
/**
|
|
5807
5815
|
* A callback that executes for each slot of the Scheduler view.
|
|
5808
5816
|
* If it returns `true`, the `k-state-selected` CSS class will be added to the cell, making it visibly selected.
|
|
@@ -6374,6 +6382,7 @@ class SchedulerComponent {
|
|
|
6374
6382
|
selectable: this.selectable,
|
|
6375
6383
|
timezone: this.timezone,
|
|
6376
6384
|
currentTimeMarker: this.currentTimeMarker,
|
|
6385
|
+
highlightOngoingEvents: this.highlightOngoingEvents,
|
|
6377
6386
|
slotClass: this.slotClass,
|
|
6378
6387
|
slotFill: this.slotFill,
|
|
6379
6388
|
columnWidth: this.columnWidth,
|
|
@@ -6505,7 +6514,7 @@ class SchedulerComponent {
|
|
|
6505
6514
|
}
|
|
6506
6515
|
}
|
|
6507
6516
|
SchedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SchedulerComponent, deps: [{ token: i0.ElementRef }, { token: ViewContextService }, { token: ViewStateService }, { token: EditService }, { token: DialogsService }, { token: i1$4.IntlService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: PDFService }, { token: i1$1.LocalizationService }, { token: DomEventsService }, { token: i0.Renderer2 }, { token: FocusService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6508
|
-
SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SchedulerComponent, selector: "kendo-scheduler", inputs: { selectedViewIndex: "selectedViewIndex", editable: "editable", selectable: "selectable", min: "min", max: "max", eventHeight: "eventHeight", columnWidth: "columnWidth", showWorkHours: "showWorkHours", startTime: "startTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", weekStart: "weekStart", slotDuration: "slotDuration", slotDivisions: "slotDivisions", slotFill: "slotFill", scrollTime: "scrollTime", group: "group", resources: "resources", loading: "loading", timezone: "timezone", events: "events", selectedDate: "selectedDate", modelFields: "modelFields", currentTimeMarker: "currentTimeMarker", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", isSlotSelected: "isSlotSelected" }, outputs: { selectedViewIndexChange: "selectedViewIndexChange", navigate: "navigate", dateChange: "dateChange", slotClick: "slotClick", slotDblClick: "slotDblClick", create: "create", eventClick: "eventClick", eventDblClick: "eventDblClick", eventKeydown: "eventKeydown", cancel: "cancel", save: "save", remove: "remove", resizeStart: "resizeStart", resize: "resize", resizeEnd: "resizeEnd", dragStart: "dragStart", drag: "drag", dragEnd: "dragEnd", slotDragStart: "slotDragStart", slotDrag: "slotDrag", slotDragEnd: "slotDragEnd", pdfExport: "pdfExport" }, host: { properties: { "class.k-widget": "this.hostClasses", "class.k-scheduler": "this.hostClasses", "class.k-floatwrap": "this.hostClasses", "class.k-rtl": "this.rtl", "attr.dir": "this.dir" } }, providers: [
|
|
6517
|
+
SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SchedulerComponent, selector: "kendo-scheduler", inputs: { selectedViewIndex: "selectedViewIndex", editable: "editable", selectable: "selectable", min: "min", max: "max", eventHeight: "eventHeight", columnWidth: "columnWidth", showWorkHours: "showWorkHours", startTime: "startTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", weekStart: "weekStart", slotDuration: "slotDuration", slotDivisions: "slotDivisions", slotFill: "slotFill", scrollTime: "scrollTime", group: "group", resources: "resources", loading: "loading", timezone: "timezone", events: "events", selectedDate: "selectedDate", modelFields: "modelFields", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", isSlotSelected: "isSlotSelected" }, outputs: { selectedViewIndexChange: "selectedViewIndexChange", navigate: "navigate", dateChange: "dateChange", slotClick: "slotClick", slotDblClick: "slotDblClick", create: "create", eventClick: "eventClick", eventDblClick: "eventDblClick", eventKeydown: "eventKeydown", cancel: "cancel", save: "save", remove: "remove", resizeStart: "resizeStart", resize: "resize", resizeEnd: "resizeEnd", dragStart: "dragStart", drag: "drag", dragEnd: "dragEnd", slotDragStart: "slotDragStart", slotDrag: "slotDrag", slotDragEnd: "slotDragEnd", pdfExport: "pdfExport" }, host: { properties: { "class.k-widget": "this.hostClasses", "class.k-scheduler": "this.hostClasses", "class.k-floatwrap": "this.hostClasses", "class.k-rtl": "this.rtl", "attr.dir": "this.dir" } }, providers: [
|
|
6509
6518
|
EditService,
|
|
6510
6519
|
DialogsService,
|
|
6511
6520
|
DomEventsService,
|
|
@@ -7146,6 +7155,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
7146
7155
|
type: Input
|
|
7147
7156
|
}], currentTimeMarker: [{
|
|
7148
7157
|
type: Input
|
|
7158
|
+
}], highlightOngoingEvents: [{
|
|
7159
|
+
type: Input
|
|
7149
7160
|
}], slotClass: [{
|
|
7150
7161
|
type: Input
|
|
7151
7162
|
}], eventClass: [{
|
|
@@ -7506,6 +7517,12 @@ class ConfigurationViewBase extends SchedulerView {
|
|
|
7506
7517
|
get viewEventStyles() {
|
|
7507
7518
|
return isPresent(this.eventStyles) ? this.eventStyles : this.schedulerOptions.eventStyles;
|
|
7508
7519
|
}
|
|
7520
|
+
/**
|
|
7521
|
+
* @hidden
|
|
7522
|
+
*/
|
|
7523
|
+
get viewHighlightOngoingEvents() {
|
|
7524
|
+
return isPresent(this.highlightOngoingEvents) ? this.highlightOngoingEvents : this.schedulerOptions.highlightOngoingEvents;
|
|
7525
|
+
}
|
|
7509
7526
|
/**
|
|
7510
7527
|
* @hidden
|
|
7511
7528
|
*/
|
|
@@ -7523,7 +7540,7 @@ class ConfigurationViewBase extends SchedulerView {
|
|
|
7523
7540
|
}
|
|
7524
7541
|
}
|
|
7525
7542
|
ConfigurationViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationViewBase, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7526
|
-
ConfigurationViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ConfigurationViewBase, inputs: { slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles" }, queries: [{ propertyName: "eventTemplate", first: true, predicate: EventTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: GroupHeaderTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
7543
|
+
ConfigurationViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ConfigurationViewBase, inputs: { slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", highlightOngoingEvents: "highlightOngoingEvents" }, queries: [{ propertyName: "eventTemplate", first: true, predicate: EventTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: GroupHeaderTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
7527
7544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationViewBase, decorators: [{
|
|
7528
7545
|
type: Directive
|
|
7529
7546
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: ViewContextService }, { type: ViewStateService }]; }, propDecorators: { slotClass: [{
|
|
@@ -7532,6 +7549,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
7532
7549
|
type: Input
|
|
7533
7550
|
}], eventStyles: [{
|
|
7534
7551
|
type: Input
|
|
7552
|
+
}], highlightOngoingEvents: [{
|
|
7553
|
+
type: Input
|
|
7535
7554
|
}], template: [{
|
|
7536
7555
|
type: ViewChild,
|
|
7537
7556
|
args: ['content', { static: true }]
|
|
@@ -8932,6 +8951,12 @@ const MS_PER_HOUR = 60 * MS_PER_MINUTE;
|
|
|
8932
8951
|
const BORDER_WIDTH = 1;
|
|
8933
8952
|
/** @hidden */
|
|
8934
8953
|
const DEFAULT_EVENT_HEIGHT = 25;
|
|
8954
|
+
/** @hidden */
|
|
8955
|
+
const ONGOING_EVENT_CSS_CLASS = 'k-event-ongoing';
|
|
8956
|
+
/** @hidden */
|
|
8957
|
+
const DAYS_IN_WEEK_COUNT = 7;
|
|
8958
|
+
/** @hidden */
|
|
8959
|
+
const WEEKS_COUNT = 6;
|
|
8935
8960
|
|
|
8936
8961
|
//better try to measure this one
|
|
8937
8962
|
const MORE_BUTTON_HEIGHT = 13;
|
|
@@ -9351,6 +9376,9 @@ class BaseView {
|
|
|
9351
9376
|
this.pdfService = pdfService;
|
|
9352
9377
|
this.localization = localization;
|
|
9353
9378
|
this.cdr = cdr;
|
|
9379
|
+
/**
|
|
9380
|
+
* The non-all-day events.
|
|
9381
|
+
*/
|
|
9354
9382
|
this.items = new BehaviorSubject(null);
|
|
9355
9383
|
this.horizontalResources = [];
|
|
9356
9384
|
this.verticalResources = [];
|
|
@@ -10646,8 +10674,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
10646
10674
|
}]
|
|
10647
10675
|
}] });
|
|
10648
10676
|
|
|
10649
|
-
const DAYS_IN_WEEK_COUNT = 7;
|
|
10650
|
-
const WEEKS_COUNT = 6;
|
|
10651
10677
|
/**
|
|
10652
10678
|
* @hidden
|
|
10653
10679
|
*/
|
|
@@ -10656,6 +10682,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
10656
10682
|
super(viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, changeDetector);
|
|
10657
10683
|
this.resizeHintFormat = { skeleton: 'Md' };
|
|
10658
10684
|
this.weeks = [];
|
|
10685
|
+
this.updateOngoingEvents = this.updateOngoingEvents.bind(this);
|
|
10659
10686
|
}
|
|
10660
10687
|
get monthDaySlotTemplateRef() {
|
|
10661
10688
|
return this.monthDaySlotTemplate || (this.schedulerMonthDaySlotTemplate || {}).templateRef;
|
|
@@ -10666,6 +10693,14 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
10666
10693
|
}
|
|
10667
10694
|
super.ngOnChanges(changes);
|
|
10668
10695
|
}
|
|
10696
|
+
ngAfterViewInit() {
|
|
10697
|
+
this.updateOngoingEvents();
|
|
10698
|
+
super.ngAfterViewInit();
|
|
10699
|
+
}
|
|
10700
|
+
ngOnDestroy() {
|
|
10701
|
+
clearTimeout(this.ongoingEventsTimeout);
|
|
10702
|
+
super.ngOnDestroy();
|
|
10703
|
+
}
|
|
10669
10704
|
horizontalColspan(resourceIndex) {
|
|
10670
10705
|
const resources = this.horizontalResources;
|
|
10671
10706
|
let result = DAYS_IN_WEEK_COUNT;
|
|
@@ -10793,6 +10828,28 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
10793
10828
|
slotByPosition(x, y) {
|
|
10794
10829
|
return this.slotService.slotByPosition(x, y);
|
|
10795
10830
|
}
|
|
10831
|
+
updateOngoingEvents() {
|
|
10832
|
+
const disabled = !this.highlightOngoingEvents || this.highlightOngoingEvents.enabled === false;
|
|
10833
|
+
if (!isDocumentAvailable() || disabled) {
|
|
10834
|
+
return;
|
|
10835
|
+
}
|
|
10836
|
+
clearTimeout(this.ongoingEventsTimeout);
|
|
10837
|
+
this.zone.runOutsideAngular(() => {
|
|
10838
|
+
this.ongoingEventsTimeout = setTimeout(this.updateOngoingEvents, this.highlightOngoingEvents.updateInterval || MS_PER_MINUTE);
|
|
10839
|
+
});
|
|
10840
|
+
this.toggleOngoingClass();
|
|
10841
|
+
}
|
|
10842
|
+
currentTime() {
|
|
10843
|
+
return new Date();
|
|
10844
|
+
}
|
|
10845
|
+
toggleOngoingClass() {
|
|
10846
|
+
const now = this.currentTime();
|
|
10847
|
+
const cssClass = isPresent(this.highlightOngoingEvents.cssClass) ? this.highlightOngoingEvents.cssClass : ONGOING_EVENT_CSS_CLASS;
|
|
10848
|
+
this.eventElements.forEach((event) => {
|
|
10849
|
+
const isOngoing = dateInRange(now, event.item.start, event.item.end);
|
|
10850
|
+
this.renderer[isOngoing ? 'addClass' : 'removeClass'](event.nativeElement, cssClass);
|
|
10851
|
+
});
|
|
10852
|
+
}
|
|
10796
10853
|
createDaySlots({ start }) {
|
|
10797
10854
|
const weeks = [];
|
|
10798
10855
|
let date = start;
|
|
@@ -10808,9 +10865,9 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
10808
10865
|
}
|
|
10809
10866
|
}
|
|
10810
10867
|
MonthViewRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MonthViewRendererComponent, deps: [{ token: ViewContextService }, { token: ViewStateService }, { token: i1$4.IntlService }, { token: MonthSlotService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: PDFService }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
10811
|
-
MonthViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MonthViewRendererComponent, selector: "month-view", inputs: { monthDaySlotTemplate: "monthDaySlotTemplate" }, providers: [
|
|
10868
|
+
MonthViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MonthViewRendererComponent, selector: "month-view", inputs: { monthDaySlotTemplate: "monthDaySlotTemplate", highlightOngoingEvents: "highlightOngoingEvents" }, providers: [
|
|
10812
10869
|
MonthSlotService
|
|
10813
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
10870
|
+
], viewQueries: [{ propertyName: "eventElements", predicate: MonthViewItemComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
10814
10871
|
<div class="k-scheduler-layout k-scheduler-monthview k-scheduler-flex-layout">
|
|
10815
10872
|
<div class="k-scheduler-pane">
|
|
10816
10873
|
<div class="k-scheduler-times" #timesHeader *ngIf="verticalResources.length">
|
|
@@ -11057,6 +11114,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
11057
11114
|
}]
|
|
11058
11115
|
}], ctorParameters: function () { return [{ type: ViewContextService }, { type: ViewStateService }, { type: i1$4.IntlService }, { type: MonthSlotService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: PDFService }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { monthDaySlotTemplate: [{
|
|
11059
11116
|
type: Input
|
|
11117
|
+
}], highlightOngoingEvents: [{
|
|
11118
|
+
type: Input
|
|
11119
|
+
}], eventElements: [{
|
|
11120
|
+
type: ViewChildren,
|
|
11121
|
+
args: [MonthViewItemComponent]
|
|
11060
11122
|
}] } });
|
|
11061
11123
|
|
|
11062
11124
|
/**
|
|
@@ -11110,10 +11172,11 @@ MonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
11110
11172
|
[monthDaySlotTemplate]="monthDaySlotTemplate?.templateRef"
|
|
11111
11173
|
[selectedDateFormat]="selectedDateFormat"
|
|
11112
11174
|
[selectedShortDateFormat]="selectedShortDateFormat"
|
|
11175
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
11113
11176
|
[weekStart]="viewWeekStart">
|
|
11114
11177
|
</month-view>
|
|
11115
11178
|
</ng-template>
|
|
11116
|
-
`, isInline: true, components: [{ type: MonthViewRendererComponent, selector: "month-view", inputs: ["monthDaySlotTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11179
|
+
`, isInline: true, components: [{ type: MonthViewRendererComponent, selector: "month-view", inputs: ["monthDaySlotTemplate", "highlightOngoingEvents"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11117
11180
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MonthViewComponent, decorators: [{
|
|
11118
11181
|
type: Component,
|
|
11119
11182
|
args: [{
|
|
@@ -11135,6 +11198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
11135
11198
|
[monthDaySlotTemplate]="monthDaySlotTemplate?.templateRef"
|
|
11136
11199
|
[selectedDateFormat]="selectedDateFormat"
|
|
11137
11200
|
[selectedShortDateFormat]="selectedShortDateFormat"
|
|
11201
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
11138
11202
|
[weekStart]="viewWeekStart">
|
|
11139
11203
|
</month-view>
|
|
11140
11204
|
</ng-template>
|
|
@@ -11175,7 +11239,7 @@ ViewFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
11175
11239
|
<span class="k-button-icon k-icon" [ngClass]="item.iconClass"></span>
|
|
11176
11240
|
<span class="k-button-text">{{ item.text }}</span>
|
|
11177
11241
|
</button>
|
|
11178
|
-
`, isInline: true, directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "
|
|
11242
|
+
`, isInline: true, directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
11179
11243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewFooterComponent, decorators: [{
|
|
11180
11244
|
type: Component,
|
|
11181
11245
|
args: [{
|
|
@@ -11323,6 +11387,7 @@ const WORK_WEEK_END = 'workWeekEnd';
|
|
|
11323
11387
|
const SLOT_DURATION = 'slotDuration';
|
|
11324
11388
|
const SLOT_DIVISIONS = 'slotDivisions';
|
|
11325
11389
|
const CURRENT_TIME_MARKER = 'currentTimeMarker';
|
|
11390
|
+
const HIGHLIGHT_ONGOING_EVENTS = 'highlightOngoingEvents';
|
|
11326
11391
|
/**
|
|
11327
11392
|
* @hidden
|
|
11328
11393
|
*/
|
|
@@ -11396,6 +11461,12 @@ class DayTimeViewBase extends ConfigurationViewBase {
|
|
|
11396
11461
|
get viewCurrentTimeMarker() {
|
|
11397
11462
|
return this.optionValue(CURRENT_TIME_MARKER);
|
|
11398
11463
|
}
|
|
11464
|
+
/**
|
|
11465
|
+
* @hidden
|
|
11466
|
+
*/
|
|
11467
|
+
get viewHighlightOngoingEvents() {
|
|
11468
|
+
return this.optionValue(HIGHLIGHT_ONGOING_EVENTS);
|
|
11469
|
+
}
|
|
11399
11470
|
/**
|
|
11400
11471
|
* @hidden
|
|
11401
11472
|
*/
|
|
@@ -11407,7 +11478,7 @@ class DayTimeViewBase extends ConfigurationViewBase {
|
|
|
11407
11478
|
}
|
|
11408
11479
|
}
|
|
11409
11480
|
DayTimeViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewBase, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
11410
|
-
DayTimeViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: DayTimeViewBase, inputs: { showWorkHours: "showWorkHours", eventHeight: "eventHeight", startTime: "startTime", scrollTime: "scrollTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", slotDuration: "slotDuration", slotDivisions: "slotDivisions", currentTimeMarker: "currentTimeMarker" }, queries: [{ propertyName: "timeSlotTemplate", first: true, predicate: TimeSlotTemplateDirective, descendants: true }, { propertyName: "dateHeaderTemplate", first: true, predicate: DateHeaderTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
11481
|
+
DayTimeViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: DayTimeViewBase, inputs: { showWorkHours: "showWorkHours", eventHeight: "eventHeight", startTime: "startTime", scrollTime: "scrollTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", slotDuration: "slotDuration", slotDivisions: "slotDivisions", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents" }, queries: [{ propertyName: "timeSlotTemplate", first: true, predicate: TimeSlotTemplateDirective, descendants: true }, { propertyName: "dateHeaderTemplate", first: true, predicate: DateHeaderTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
11411
11482
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewBase, decorators: [{
|
|
11412
11483
|
type: Directive
|
|
11413
11484
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: ViewContextService }, { type: ViewStateService }]; }, propDecorators: { timeSlotTemplate: [{
|
|
@@ -11440,6 +11511,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
11440
11511
|
type: Input
|
|
11441
11512
|
}], currentTimeMarker: [{
|
|
11442
11513
|
type: Input
|
|
11514
|
+
}], highlightOngoingEvents: [{
|
|
11515
|
+
type: Input
|
|
11443
11516
|
}] } });
|
|
11444
11517
|
|
|
11445
11518
|
const SLOT_FILL = 'slotFill';
|
|
@@ -12140,6 +12213,113 @@ function createTimeSlots(intlService, { showWorkHours, startTime, endTime, workD
|
|
|
12140
12213
|
return slots;
|
|
12141
12214
|
}
|
|
12142
12215
|
|
|
12216
|
+
/**
|
|
12217
|
+
* @hidden
|
|
12218
|
+
*/
|
|
12219
|
+
class DayTimeViewItemComponent extends BaseViewItem {
|
|
12220
|
+
constructor(intlService, slotService, localization, focusService, element, renderer, localeId) {
|
|
12221
|
+
super(slotService, localization, focusService, element, renderer, localeId);
|
|
12222
|
+
this.intlService = intlService;
|
|
12223
|
+
this.localeId = localeId;
|
|
12224
|
+
}
|
|
12225
|
+
get eventTime() {
|
|
12226
|
+
return this.intlService.format('{0:t}–{1:t}', toLocalDate(this.item.startTime), toLocalDate(this.item.endTime));
|
|
12227
|
+
}
|
|
12228
|
+
}
|
|
12229
|
+
DayTimeViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewItemComponent, deps: [{ token: i1$4.IntlService }, { token: DayTimeSlotService }, { token: i1$1.LocalizationService }, { token: FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
12230
|
+
DayTimeViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DayTimeViewItemComponent, selector: "[dayTimeViewItem]", inputs: { vertical: "vertical", isAllDay: "isAllDay" }, usesInheritance: true, ngImport: i0, template: `
|
|
12231
|
+
<span class="k-event-actions">
|
|
12232
|
+
<span class="k-icon k-i-arrow-60-left" *ngIf="item.tail && !vertical"></span>
|
|
12233
|
+
<span class="k-icon k-i-reload" *ngIf="isRecurrence"></span>
|
|
12234
|
+
<span class="k-icon k-i-non-recurrence" *ngIf="isRecurrenceException"></span>
|
|
12235
|
+
</span>
|
|
12236
|
+
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
12237
|
+
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
12238
|
+
</ng-container>
|
|
12239
|
+
<div *ngIf="!eventTemplate" [attr.title]="eventTitle">
|
|
12240
|
+
<div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div>
|
|
12241
|
+
<div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div>
|
|
12242
|
+
</div>
|
|
12243
|
+
|
|
12244
|
+
<span class="k-event-actions">
|
|
12245
|
+
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
12246
|
+
<span class="k-icon k-i-close"></span>
|
|
12247
|
+
</span>
|
|
12248
|
+
<span class="k-icon k-i-arrow-60-right" *ngIf="item.head && !vertical"></span>
|
|
12249
|
+
</span>
|
|
12250
|
+
|
|
12251
|
+
<span class="k-event-top-actions" *ngIf="item.tail && vertical">
|
|
12252
|
+
<span class="k-icon k-i-arrow-60-up"></span>
|
|
12253
|
+
</span>
|
|
12254
|
+
|
|
12255
|
+
<span class="k-event-bottom-actions" *ngIf="item.head && vertical">
|
|
12256
|
+
<span class="k-icon k-i-arrow-60-down"></span>
|
|
12257
|
+
</span>
|
|
12258
|
+
|
|
12259
|
+
<ng-container *ngIf="resizable && vertical">
|
|
12260
|
+
<span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span>
|
|
12261
|
+
<span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span>
|
|
12262
|
+
</ng-container>
|
|
12263
|
+
|
|
12264
|
+
<ng-container *ngIf="resizable && !vertical">
|
|
12265
|
+
<span class="k-resize-handle k-resize-w"></span>
|
|
12266
|
+
<span class="k-resize-handle k-resize-e"></span>
|
|
12267
|
+
</ng-container>
|
|
12268
|
+
`, isInline: true, directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
12269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewItemComponent, decorators: [{
|
|
12270
|
+
type: Component,
|
|
12271
|
+
args: [{
|
|
12272
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
12273
|
+
selector: '[dayTimeViewItem]',
|
|
12274
|
+
template: `
|
|
12275
|
+
<span class="k-event-actions">
|
|
12276
|
+
<span class="k-icon k-i-arrow-60-left" *ngIf="item.tail && !vertical"></span>
|
|
12277
|
+
<span class="k-icon k-i-reload" *ngIf="isRecurrence"></span>
|
|
12278
|
+
<span class="k-icon k-i-non-recurrence" *ngIf="isRecurrenceException"></span>
|
|
12279
|
+
</span>
|
|
12280
|
+
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
12281
|
+
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
12282
|
+
</ng-container>
|
|
12283
|
+
<div *ngIf="!eventTemplate" [attr.title]="eventTitle">
|
|
12284
|
+
<div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div>
|
|
12285
|
+
<div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div>
|
|
12286
|
+
</div>
|
|
12287
|
+
|
|
12288
|
+
<span class="k-event-actions">
|
|
12289
|
+
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
12290
|
+
<span class="k-icon k-i-close"></span>
|
|
12291
|
+
</span>
|
|
12292
|
+
<span class="k-icon k-i-arrow-60-right" *ngIf="item.head && !vertical"></span>
|
|
12293
|
+
</span>
|
|
12294
|
+
|
|
12295
|
+
<span class="k-event-top-actions" *ngIf="item.tail && vertical">
|
|
12296
|
+
<span class="k-icon k-i-arrow-60-up"></span>
|
|
12297
|
+
</span>
|
|
12298
|
+
|
|
12299
|
+
<span class="k-event-bottom-actions" *ngIf="item.head && vertical">
|
|
12300
|
+
<span class="k-icon k-i-arrow-60-down"></span>
|
|
12301
|
+
</span>
|
|
12302
|
+
|
|
12303
|
+
<ng-container *ngIf="resizable && vertical">
|
|
12304
|
+
<span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span>
|
|
12305
|
+
<span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span>
|
|
12306
|
+
</ng-container>
|
|
12307
|
+
|
|
12308
|
+
<ng-container *ngIf="resizable && !vertical">
|
|
12309
|
+
<span class="k-resize-handle k-resize-w"></span>
|
|
12310
|
+
<span class="k-resize-handle k-resize-e"></span>
|
|
12311
|
+
</ng-container>
|
|
12312
|
+
`
|
|
12313
|
+
}]
|
|
12314
|
+
}], ctorParameters: function () { return [{ type: i1$4.IntlService }, { type: DayTimeSlotService }, { type: i1$1.LocalizationService }, { type: FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
12315
|
+
type: Inject,
|
|
12316
|
+
args: [LOCALE_ID]
|
|
12317
|
+
}] }]; }, propDecorators: { vertical: [{
|
|
12318
|
+
type: Input
|
|
12319
|
+
}], isAllDay: [{
|
|
12320
|
+
type: Input
|
|
12321
|
+
}] } });
|
|
12322
|
+
|
|
12143
12323
|
const getStartDate = date => getDate(date);
|
|
12144
12324
|
const getEndDate = (start, numberOfDays) => getDate(addDays(start, numberOfDays || 1));
|
|
12145
12325
|
const getNextDate = (date, count, numberOfDays) => getDate(addDays(date, numberOfDays * count));
|
|
@@ -12170,6 +12350,8 @@ class DayTimeViewComponent extends BaseView {
|
|
|
12170
12350
|
this.verticalTime = true;
|
|
12171
12351
|
this.initialUpdate = true;
|
|
12172
12352
|
this.updateCurrentTime = this.updateCurrentTime.bind(this);
|
|
12353
|
+
this.toggleOngoingClass = this.toggleOngoingClass.bind(this);
|
|
12354
|
+
this.updateOngoingEvents = this.updateOngoingEvents.bind(this);
|
|
12173
12355
|
}
|
|
12174
12356
|
get classNames() {
|
|
12175
12357
|
return `k-scheduler-${this.name}view`;
|
|
@@ -12198,6 +12380,7 @@ class DayTimeViewComponent extends BaseView {
|
|
|
12198
12380
|
ngOnDestroy() {
|
|
12199
12381
|
super.ngOnDestroy();
|
|
12200
12382
|
clearTimeout(this.currentTimeTimeout);
|
|
12383
|
+
clearTimeout(this.ongoingEventsTimeout);
|
|
12201
12384
|
}
|
|
12202
12385
|
verticalItem(leafIndex, resourceIndex) {
|
|
12203
12386
|
const data = this.verticalResources[resourceIndex].data || [];
|
|
@@ -12218,6 +12401,14 @@ class DayTimeViewComponent extends BaseView {
|
|
|
12218
12401
|
});
|
|
12219
12402
|
}
|
|
12220
12403
|
}
|
|
12404
|
+
toggleOngoingClass() {
|
|
12405
|
+
const now = this.currentTime();
|
|
12406
|
+
const cssClass = isPresent(this.highlightOngoingEvents.cssClass) ? this.highlightOngoingEvents.cssClass : ONGOING_EVENT_CSS_CLASS;
|
|
12407
|
+
this.eventElements.forEach((event) => {
|
|
12408
|
+
const isOngoing = dateInRange(now, event.item.start, event.item.end);
|
|
12409
|
+
this.renderer[isOngoing ? 'addClass' : 'removeClass'](event.nativeElement, cssClass);
|
|
12410
|
+
});
|
|
12411
|
+
}
|
|
12221
12412
|
scrollToTime(time = this.scrollTime) {
|
|
12222
12413
|
let date;
|
|
12223
12414
|
if (typeof time === 'string') {
|
|
@@ -12245,6 +12436,7 @@ class DayTimeViewComponent extends BaseView {
|
|
|
12245
12436
|
updateView() {
|
|
12246
12437
|
super.updateView();
|
|
12247
12438
|
this.updateCurrentTime();
|
|
12439
|
+
this.updateOngoingEvents();
|
|
12248
12440
|
if (this.initialUpdate) {
|
|
12249
12441
|
this.scrollToTime();
|
|
12250
12442
|
this.initialUpdate = false;
|
|
@@ -12283,6 +12475,17 @@ class DayTimeViewComponent extends BaseView {
|
|
|
12283
12475
|
this.positionCurrentTime();
|
|
12284
12476
|
}
|
|
12285
12477
|
}
|
|
12478
|
+
updateOngoingEvents() {
|
|
12479
|
+
const disabled = !this.highlightOngoingEvents || this.highlightOngoingEvents.enabled === false;
|
|
12480
|
+
if (!isDocumentAvailable() || disabled) {
|
|
12481
|
+
return;
|
|
12482
|
+
}
|
|
12483
|
+
clearTimeout(this.ongoingEventsTimeout);
|
|
12484
|
+
this.zone.runOutsideAngular(() => {
|
|
12485
|
+
this.ongoingEventsTimeout = setTimeout(this.updateOngoingEvents, this.highlightOngoingEvents.updateInterval || MS_PER_MINUTE);
|
|
12486
|
+
});
|
|
12487
|
+
this.toggleOngoingClass();
|
|
12488
|
+
}
|
|
12286
12489
|
positionCurrentTime() {
|
|
12287
12490
|
if (this.currentTimeElements && this.currentTimeElements.length) {
|
|
12288
12491
|
const date = this.currentDate.toUTCDate();
|
|
@@ -12429,7 +12632,7 @@ class DayTimeViewComponent extends BaseView {
|
|
|
12429
12632
|
}
|
|
12430
12633
|
}
|
|
12431
12634
|
DayTimeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }, { token: i1$4.IntlService }, { token: DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: PDFService }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
12432
|
-
DayTimeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DayTimeViewComponent, selector: "kendo-day-time-view", inputs: { timeSlotTemplate: "timeSlotTemplate", dateHeaderTemplate: "dateHeaderTemplate", numberOfDays: "numberOfDays", scrollTime: "scrollTime", startTime: "startTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", slotDuration: "slotDuration", slotDivisions: "slotDivisions", showWorkHours: "showWorkHours", getStartDate: "getStartDate", getEndDate: "getEndDate", getNextDate: "getNextDate", currentTimeMarker: "currentTimeMarker" }, viewQueries: [{ propertyName: "currentTimeElements", predicate: ["currentTimeMarker"], descendants: true }, { propertyName: "currentTimeArrows", predicate: ["currentTimeArrow"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
12635
|
+
DayTimeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DayTimeViewComponent, selector: "kendo-day-time-view", inputs: { timeSlotTemplate: "timeSlotTemplate", dateHeaderTemplate: "dateHeaderTemplate", numberOfDays: "numberOfDays", scrollTime: "scrollTime", startTime: "startTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", slotDuration: "slotDuration", slotDivisions: "slotDivisions", showWorkHours: "showWorkHours", getStartDate: "getStartDate", getEndDate: "getEndDate", getNextDate: "getNextDate", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents" }, viewQueries: [{ propertyName: "currentTimeElements", predicate: ["currentTimeMarker"], descendants: true }, { propertyName: "eventElements", predicate: DayTimeViewItemComponent, descendants: true }, { propertyName: "currentTimeArrows", predicate: ["currentTimeArrow"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
12433
12636
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewComponent, decorators: [{
|
|
12434
12637
|
type: Component,
|
|
12435
12638
|
args: [{ selector: 'kendo-day-time-view', template: '' }]
|
|
@@ -12467,121 +12670,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
12467
12670
|
type: Input
|
|
12468
12671
|
}], currentTimeMarker: [{
|
|
12469
12672
|
type: Input
|
|
12673
|
+
}], highlightOngoingEvents: [{
|
|
12674
|
+
type: Input
|
|
12470
12675
|
}], currentTimeElements: [{
|
|
12471
12676
|
type: ViewChildren,
|
|
12472
12677
|
args: ['currentTimeMarker']
|
|
12678
|
+
}], eventElements: [{
|
|
12679
|
+
type: ViewChildren,
|
|
12680
|
+
args: [DayTimeViewItemComponent]
|
|
12473
12681
|
}], currentTimeArrows: [{
|
|
12474
12682
|
type: ViewChildren,
|
|
12475
12683
|
args: ['currentTimeArrow']
|
|
12476
12684
|
}] } });
|
|
12477
12685
|
|
|
12478
|
-
/**
|
|
12479
|
-
* @hidden
|
|
12480
|
-
*/
|
|
12481
|
-
class DayTimeViewItemComponent extends BaseViewItem {
|
|
12482
|
-
constructor(intlService, slotService, localization, focusService, element, renderer, localeId) {
|
|
12483
|
-
super(slotService, localization, focusService, element, renderer, localeId);
|
|
12484
|
-
this.intlService = intlService;
|
|
12485
|
-
this.localeId = localeId;
|
|
12486
|
-
}
|
|
12487
|
-
get eventTime() {
|
|
12488
|
-
return this.intlService.format('{0:t}–{1:t}', toLocalDate(this.item.startTime), toLocalDate(this.item.endTime));
|
|
12489
|
-
}
|
|
12490
|
-
}
|
|
12491
|
-
DayTimeViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewItemComponent, deps: [{ token: i1$4.IntlService }, { token: DayTimeSlotService }, { token: i1$1.LocalizationService }, { token: FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
12492
|
-
DayTimeViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DayTimeViewItemComponent, selector: "[dayTimeViewItem]", inputs: { vertical: "vertical", isAllDay: "isAllDay" }, usesInheritance: true, ngImport: i0, template: `
|
|
12493
|
-
<span class="k-event-actions">
|
|
12494
|
-
<span class="k-icon k-i-arrow-60-left" *ngIf="item.tail && !vertical"></span>
|
|
12495
|
-
<span class="k-icon k-i-reload" *ngIf="isRecurrence"></span>
|
|
12496
|
-
<span class="k-icon k-i-non-recurrence" *ngIf="isRecurrenceException"></span>
|
|
12497
|
-
</span>
|
|
12498
|
-
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
12499
|
-
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
12500
|
-
</ng-container>
|
|
12501
|
-
<div *ngIf="!eventTemplate" [attr.title]="eventTitle">
|
|
12502
|
-
<div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div>
|
|
12503
|
-
<div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div>
|
|
12504
|
-
</div>
|
|
12505
|
-
|
|
12506
|
-
<span class="k-event-actions">
|
|
12507
|
-
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
12508
|
-
<span class="k-icon k-i-close"></span>
|
|
12509
|
-
</span>
|
|
12510
|
-
<span class="k-icon k-i-arrow-60-right" *ngIf="item.head && !vertical"></span>
|
|
12511
|
-
</span>
|
|
12512
|
-
|
|
12513
|
-
<span class="k-event-top-actions" *ngIf="item.tail && vertical">
|
|
12514
|
-
<span class="k-icon k-i-arrow-60-up"></span>
|
|
12515
|
-
</span>
|
|
12516
|
-
|
|
12517
|
-
<span class="k-event-bottom-actions" *ngIf="item.head && vertical">
|
|
12518
|
-
<span class="k-icon k-i-arrow-60-down"></span>
|
|
12519
|
-
</span>
|
|
12520
|
-
|
|
12521
|
-
<ng-container *ngIf="resizable && vertical">
|
|
12522
|
-
<span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span>
|
|
12523
|
-
<span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span>
|
|
12524
|
-
</ng-container>
|
|
12525
|
-
|
|
12526
|
-
<ng-container *ngIf="resizable && !vertical">
|
|
12527
|
-
<span class="k-resize-handle k-resize-w"></span>
|
|
12528
|
-
<span class="k-resize-handle k-resize-e"></span>
|
|
12529
|
-
</ng-container>
|
|
12530
|
-
`, isInline: true, directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
12531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DayTimeViewItemComponent, decorators: [{
|
|
12532
|
-
type: Component,
|
|
12533
|
-
args: [{
|
|
12534
|
-
// eslint-disable-next-line @angular-eslint/component-selector
|
|
12535
|
-
selector: '[dayTimeViewItem]',
|
|
12536
|
-
template: `
|
|
12537
|
-
<span class="k-event-actions">
|
|
12538
|
-
<span class="k-icon k-i-arrow-60-left" *ngIf="item.tail && !vertical"></span>
|
|
12539
|
-
<span class="k-icon k-i-reload" *ngIf="isRecurrence"></span>
|
|
12540
|
-
<span class="k-icon k-i-non-recurrence" *ngIf="isRecurrenceException"></span>
|
|
12541
|
-
</span>
|
|
12542
|
-
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
12543
|
-
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
12544
|
-
</ng-container>
|
|
12545
|
-
<div *ngIf="!eventTemplate" [attr.title]="eventTitle">
|
|
12546
|
-
<div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div>
|
|
12547
|
-
<div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div>
|
|
12548
|
-
</div>
|
|
12549
|
-
|
|
12550
|
-
<span class="k-event-actions">
|
|
12551
|
-
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
12552
|
-
<span class="k-icon k-i-close"></span>
|
|
12553
|
-
</span>
|
|
12554
|
-
<span class="k-icon k-i-arrow-60-right" *ngIf="item.head && !vertical"></span>
|
|
12555
|
-
</span>
|
|
12556
|
-
|
|
12557
|
-
<span class="k-event-top-actions" *ngIf="item.tail && vertical">
|
|
12558
|
-
<span class="k-icon k-i-arrow-60-up"></span>
|
|
12559
|
-
</span>
|
|
12560
|
-
|
|
12561
|
-
<span class="k-event-bottom-actions" *ngIf="item.head && vertical">
|
|
12562
|
-
<span class="k-icon k-i-arrow-60-down"></span>
|
|
12563
|
-
</span>
|
|
12564
|
-
|
|
12565
|
-
<ng-container *ngIf="resizable && vertical">
|
|
12566
|
-
<span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span>
|
|
12567
|
-
<span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span>
|
|
12568
|
-
</ng-container>
|
|
12569
|
-
|
|
12570
|
-
<ng-container *ngIf="resizable && !vertical">
|
|
12571
|
-
<span class="k-resize-handle k-resize-w"></span>
|
|
12572
|
-
<span class="k-resize-handle k-resize-e"></span>
|
|
12573
|
-
</ng-container>
|
|
12574
|
-
`
|
|
12575
|
-
}]
|
|
12576
|
-
}], ctorParameters: function () { return [{ type: i1$4.IntlService }, { type: DayTimeSlotService }, { type: i1$1.LocalizationService }, { type: FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
12577
|
-
type: Inject,
|
|
12578
|
-
args: [LOCALE_ID]
|
|
12579
|
-
}] }]; }, propDecorators: { vertical: [{
|
|
12580
|
-
type: Input
|
|
12581
|
-
}], isAllDay: [{
|
|
12582
|
-
type: Input
|
|
12583
|
-
}] } });
|
|
12584
|
-
|
|
12585
12686
|
/**
|
|
12586
12687
|
* @hidden
|
|
12587
12688
|
*/
|
|
@@ -13491,6 +13592,7 @@ DayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
13491
13592
|
[name]="name"
|
|
13492
13593
|
[eventHeight]="viewEventHeight"
|
|
13493
13594
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
13595
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
13494
13596
|
[showWorkHours]="shouldShowWorkHours"
|
|
13495
13597
|
[scrollTime]="viewScrollTime"
|
|
13496
13598
|
[startTime]="viewStartTime"
|
|
@@ -13534,6 +13636,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
13534
13636
|
[name]="name"
|
|
13535
13637
|
[eventHeight]="viewEventHeight"
|
|
13536
13638
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
13639
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
13537
13640
|
[showWorkHours]="shouldShowWorkHours"
|
|
13538
13641
|
[scrollTime]="viewScrollTime"
|
|
13539
13642
|
[startTime]="viewStartTime"
|
|
@@ -13646,6 +13749,7 @@ MultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
13646
13749
|
[numberOfDays]="numberOfDays"
|
|
13647
13750
|
[eventHeight]="viewEventHeight"
|
|
13648
13751
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
13752
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
13649
13753
|
[showWorkHours]="shouldShowWorkHours"
|
|
13650
13754
|
[scrollTime]="viewScrollTime"
|
|
13651
13755
|
[startTime]="viewStartTime"
|
|
@@ -13691,6 +13795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
13691
13795
|
[numberOfDays]="numberOfDays"
|
|
13692
13796
|
[eventHeight]="viewEventHeight"
|
|
13693
13797
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
13798
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
13694
13799
|
[showWorkHours]="shouldShowWorkHours"
|
|
13695
13800
|
[scrollTime]="viewScrollTime"
|
|
13696
13801
|
[startTime]="viewStartTime"
|
|
@@ -13782,6 +13887,7 @@ WeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
13782
13887
|
[getStartDate]="getStartDate"
|
|
13783
13888
|
[eventHeight]="viewEventHeight"
|
|
13784
13889
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
13890
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
13785
13891
|
[showWorkHours]="shouldShowWorkHours"
|
|
13786
13892
|
[scrollTime]="viewScrollTime"
|
|
13787
13893
|
[startTime]="viewStartTime"
|
|
@@ -13828,6 +13934,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
13828
13934
|
[getStartDate]="getStartDate"
|
|
13829
13935
|
[eventHeight]="viewEventHeight"
|
|
13830
13936
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
13937
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
13831
13938
|
[showWorkHours]="shouldShowWorkHours"
|
|
13832
13939
|
[scrollTime]="viewScrollTime"
|
|
13833
13940
|
[startTime]="viewStartTime"
|
|
@@ -13931,6 +14038,7 @@ WorkWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
13931
14038
|
[getNextDate]="getNextDate"
|
|
13932
14039
|
[eventHeight]="viewEventHeight"
|
|
13933
14040
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
14041
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
13934
14042
|
[showWorkHours]="shouldShowWorkHours"
|
|
13935
14043
|
[scrollTime]="viewScrollTime"
|
|
13936
14044
|
[startTime]="viewStartTime"
|
|
@@ -13978,6 +14086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
13978
14086
|
[getNextDate]="getNextDate"
|
|
13979
14087
|
[eventHeight]="viewEventHeight"
|
|
13980
14088
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
14089
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
13981
14090
|
[showWorkHours]="shouldShowWorkHours"
|
|
13982
14091
|
[scrollTime]="viewScrollTime"
|
|
13983
14092
|
[startTime]="viewStartTime"
|
|
@@ -14642,6 +14751,7 @@ TimelineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
14642
14751
|
[eventHeight]="viewEventHeight"
|
|
14643
14752
|
[columnWidth]="viewColumnWidth"
|
|
14644
14753
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
14754
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
14645
14755
|
[showWorkHours]="shouldShowWorkHours"
|
|
14646
14756
|
[scrollTime]="viewScrollTime"
|
|
14647
14757
|
[startTime]="viewStartTime"
|
|
@@ -14681,6 +14791,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
14681
14791
|
[eventHeight]="viewEventHeight"
|
|
14682
14792
|
[columnWidth]="viewColumnWidth"
|
|
14683
14793
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
14794
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
14684
14795
|
[showWorkHours]="shouldShowWorkHours"
|
|
14685
14796
|
[scrollTime]="viewScrollTime"
|
|
14686
14797
|
[startTime]="viewStartTime"
|
|
@@ -14765,6 +14876,7 @@ TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
14765
14876
|
[eventHeight]="viewEventHeight"
|
|
14766
14877
|
[columnWidth]="viewColumnWidth"
|
|
14767
14878
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
14879
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
14768
14880
|
[showWorkHours]="shouldShowWorkHours"
|
|
14769
14881
|
[scrollTime]="viewScrollTime"
|
|
14770
14882
|
[startTime]="viewStartTime"
|
|
@@ -14808,6 +14920,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
14808
14920
|
[eventHeight]="viewEventHeight"
|
|
14809
14921
|
[columnWidth]="viewColumnWidth"
|
|
14810
14922
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
14923
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
14811
14924
|
[showWorkHours]="shouldShowWorkHours"
|
|
14812
14925
|
[scrollTime]="viewScrollTime"
|
|
14813
14926
|
[startTime]="viewStartTime"
|
|
@@ -14904,6 +15017,7 @@ TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
14904
15017
|
[eventHeight]="viewEventHeight"
|
|
14905
15018
|
[columnWidth]="viewColumnWidth"
|
|
14906
15019
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
15020
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
14907
15021
|
[showWorkHours]="shouldShowWorkHours"
|
|
14908
15022
|
[scrollTime]="viewScrollTime"
|
|
14909
15023
|
[startTime]="viewStartTime"
|
|
@@ -14947,6 +15061,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
14947
15061
|
[eventHeight]="viewEventHeight"
|
|
14948
15062
|
[columnWidth]="viewColumnWidth"
|
|
14949
15063
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
15064
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
14950
15065
|
[showWorkHours]="shouldShowWorkHours"
|
|
14951
15066
|
[scrollTime]="viewScrollTime"
|
|
14952
15067
|
[startTime]="viewStartTime"
|
|
@@ -16064,6 +16179,12 @@ class BaseEditService {
|
|
|
16064
16179
|
this.logRemoveOccurrence(event);
|
|
16065
16180
|
this.saveChanges();
|
|
16066
16181
|
}
|
|
16182
|
+
/**
|
|
16183
|
+
* Returns the master recurring event for a specified recurring event.
|
|
16184
|
+
*
|
|
16185
|
+
* @param event - An event from the recurrence series.
|
|
16186
|
+
* @returns the master recurring event for the series.
|
|
16187
|
+
*/
|
|
16067
16188
|
findRecurrenceMaster(event) {
|
|
16068
16189
|
const id = this.getId(event);
|
|
16069
16190
|
const recurrenceId = this.getRecurrenceId(event);
|
|
@@ -16071,9 +16192,21 @@ class BaseEditService {
|
|
|
16071
16192
|
const index = this.itemIndex(headId, this.data);
|
|
16072
16193
|
return this.data[index];
|
|
16073
16194
|
}
|
|
16195
|
+
/**
|
|
16196
|
+
* Checks if the event is part of the recurrence series.
|
|
16197
|
+
*
|
|
16198
|
+
* @param event - The event that will be checked.
|
|
16199
|
+
* @returns `true` if the event is an occurrence, an exception, or a master event. Otherwise, returns `false`.
|
|
16200
|
+
*/
|
|
16074
16201
|
isRecurring(event) {
|
|
16075
16202
|
return isRecurring(event, this.fields);
|
|
16076
16203
|
}
|
|
16204
|
+
/**
|
|
16205
|
+
* Checks if the event is a recurrence exception.
|
|
16206
|
+
*
|
|
16207
|
+
* @param event - The event that will be checked.
|
|
16208
|
+
* @returns `true` if the event is a unique event which belongs to a recurrence series. Otherwise, returns `false`.
|
|
16209
|
+
*/
|
|
16077
16210
|
isException(event) {
|
|
16078
16211
|
return isException(event, this.fields);
|
|
16079
16212
|
}
|