@progress/kendo-angular-scheduler 3.0.2 → 3.1.0-dev.202204121440
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/dist/cdn/js/kendo-angular-scheduler.js +2 -2
- package/dist/cdn/main.js +1 -1
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/scheduler.component.js +9 -0
- package/dist/es/types/ongoing-events-settings.interface.js +4 -0
- package/dist/es/views/common/base-view.js +3 -0
- package/dist/es/views/common/configuration-view-base.js +14 -0
- package/dist/es/views/constants.js +6 -0
- package/dist/es/views/day-time/day-time-view-base.js +15 -0
- package/dist/es/views/day-time/day-time-view.component.js +36 -2
- package/dist/es/views/month/month-view-renderer.component.js +47 -5
- package/dist/es/views/month/month-view.component.js +1 -1
- package/dist/es/views/multi-day/day-view.component.js +1 -1
- package/dist/es/views/multi-day/multi-day-view.component.js +1 -1
- package/dist/es/views/multi-day/week-view.component.js +1 -1
- package/dist/es/views/multi-day/work-week-view.component.js +1 -1
- package/dist/es/views/timeline/timeline-month-view.component.js +1 -1
- package/dist/es/views/timeline/timeline-view.component.js +1 -1
- package/dist/es/views/timeline/timeline-week-view.component.js +1 -1
- package/dist/es/views/utils.js +5 -1
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/scheduler.component.d.ts +5 -1
- package/dist/es2015/scheduler.component.js +9 -0
- package/dist/es2015/types/ongoing-events-settings.interface.d.ts +23 -0
- package/dist/es2015/types/ongoing-events-settings.interface.js +4 -0
- package/dist/es2015/types.d.ts +1 -0
- package/dist/es2015/views/common/base-view.d.ts +6 -0
- package/dist/es2015/views/common/base-view.js +3 -0
- package/dist/es2015/views/common/configuration-view-base.d.ts +9 -1
- package/dist/es2015/views/common/configuration-view-base.js +10 -0
- package/dist/es2015/views/constants.d.ts +6 -0
- package/dist/es2015/views/constants.js +6 -0
- package/dist/es2015/views/day-time/day-time-view-base.d.ts +9 -1
- package/dist/es2015/views/day-time/day-time-view-base.js +11 -0
- package/dist/es2015/views/day-time/day-time-view.component.d.ts +6 -0
- package/dist/es2015/views/day-time/day-time-view.component.js +34 -2
- package/dist/es2015/views/month/month-view-renderer.component.d.ts +10 -1
- package/dist/es2015/views/month/month-view-renderer.component.js +45 -5
- package/dist/es2015/views/month/month-view.component.js +1 -0
- package/dist/es2015/views/multi-day/day-view.component.js +1 -0
- package/dist/es2015/views/multi-day/multi-day-view.component.js +1 -0
- package/dist/es2015/views/multi-day/week-view.component.js +1 -0
- package/dist/es2015/views/multi-day/work-week-view.component.js +1 -0
- package/dist/es2015/views/timeline/timeline-month-view.component.js +1 -0
- package/dist/es2015/views/timeline/timeline-view.component.js +1 -0
- package/dist/es2015/views/timeline/timeline-week-view.component.js +1 -0
- package/dist/es2015/views/utils.js +5 -1
- package/dist/fesm2015/index.js +198 -79
- package/dist/fesm5/index.js +179 -56
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/scheduler.component.js +9 -0
- package/dist/npm/types/ongoing-events-settings.interface.js +6 -0
- package/dist/npm/views/common/base-view.js +3 -0
- package/dist/npm/views/common/configuration-view-base.js +14 -0
- package/dist/npm/views/constants.js +6 -0
- package/dist/npm/views/day-time/day-time-view-base.js +15 -0
- package/dist/npm/views/day-time/day-time-view.component.js +34 -0
- package/dist/npm/views/month/month-view-renderer.component.js +49 -7
- package/dist/npm/views/month/month-view.component.js +1 -1
- package/dist/npm/views/multi-day/day-view.component.js +1 -1
- package/dist/npm/views/multi-day/multi-day-view.component.js +1 -1
- package/dist/npm/views/multi-day/week-view.component.js +1 -1
- package/dist/npm/views/multi-day/work-week-view.component.js +1 -1
- package/dist/npm/views/timeline/timeline-month-view.component.js +1 -1
- package/dist/npm/views/timeline/timeline-view.component.js +1 -1
- package/dist/npm/views/timeline/timeline-week-view.component.js +1 -1
- package/dist/npm/views/utils.js +5 -1
- package/dist/systemjs/kendo-angular-scheduler.js +1 -1
- package/package.json +2 -2
package/dist/fesm2015/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { __decorate, __param, __metadata } from 'tslib';
|
|
6
|
-
import { Directive, Optional, TemplateRef, Injectable, EventEmitter, NgZone, Input, Renderer2, ElementRef, ChangeDetectorRef, Inject, isDevMode, HostBinding, Component, Output, ContentChild, ContentChildren, QueryList, ViewChild, ViewContainerRef, ChangeDetectionStrategy, ViewEncapsulation, forwardRef, NgModule, LOCALE_ID,
|
|
6
|
+
import { Directive, Optional, TemplateRef, Injectable, EventEmitter, NgZone, Input, Renderer2, ElementRef, ChangeDetectorRef, Inject, isDevMode, HostBinding, Component, Output, ContentChild, ContentChildren, QueryList, ViewChild, ViewContainerRef, ChangeDetectionStrategy, ViewEncapsulation, forwardRef, NgModule, LOCALE_ID, ViewChildren, Pipe, HostListener } from '@angular/core';
|
|
7
7
|
import { LocalizationService, L10N_PREFIX, RTL, MessageService, ComponentMessages } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { hasObservers, isDocumentAvailable, isChanged, anyChanged, ResizeSensorComponent, EventsModule, guid, Keys, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
9
9
|
import { isEqualDate, getDate, Day, ZonedDate, toLocalDate, MS_PER_DAY, addDays, firstDayOfMonth, addMonths, firstDayInWeek, timezoneNames } from '@progress/kendo-date-math';
|
|
@@ -32,7 +32,7 @@ const packageMetadata = {
|
|
|
32
32
|
name: '@progress/kendo-angular-scheduler',
|
|
33
33
|
productName: 'Kendo UI for Angular',
|
|
34
34
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
35
|
-
publishDate:
|
|
35
|
+
publishDate: 1649774242,
|
|
36
36
|
version: '',
|
|
37
37
|
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'
|
|
38
38
|
};
|
|
@@ -1948,7 +1948,11 @@ function eventResources(event, { taskResources, hasGroups, spans, allResources =
|
|
|
1948
1948
|
for (let valueIdx = 0; valueIdx < values.length; valueIdx++) {
|
|
1949
1949
|
const dataIdx = getDataIdx(values[valueIdx], resource);
|
|
1950
1950
|
if (dataIdx < 0) {
|
|
1951
|
-
|
|
1951
|
+
if (hasGroups) {
|
|
1952
|
+
// No match for this resource, but the event might still match other resources.
|
|
1953
|
+
continue;
|
|
1954
|
+
}
|
|
1955
|
+
return [{ leafIdx: 0, resources: [] }];
|
|
1952
1956
|
}
|
|
1953
1957
|
const item = resource.data[dataIdx];
|
|
1954
1958
|
// has groups - need all copies of the multiple resource
|
|
@@ -2224,6 +2228,10 @@ let SchedulerComponent = class SchedulerComponent {
|
|
|
2224
2228
|
* Specifies the Scheduler current time marker settings.
|
|
2225
2229
|
*/
|
|
2226
2230
|
this.currentTimeMarker = true;
|
|
2231
|
+
/**
|
|
2232
|
+
* Specifies the settings for the ongoing events highlight of the Scheduler.
|
|
2233
|
+
*/
|
|
2234
|
+
this.highlightOngoingEvents = true;
|
|
2227
2235
|
/**
|
|
2228
2236
|
* A callback that executes for each slot of the Scheduler view.
|
|
2229
2237
|
* If it returns `true`, the `k-state-selected` CSS class will be added to the cell, making it visibly selected.
|
|
@@ -2795,6 +2803,7 @@ let SchedulerComponent = class SchedulerComponent {
|
|
|
2795
2803
|
selectable: this.selectable,
|
|
2796
2804
|
timezone: this.timezone,
|
|
2797
2805
|
currentTimeMarker: this.currentTimeMarker,
|
|
2806
|
+
highlightOngoingEvents: this.highlightOngoingEvents,
|
|
2798
2807
|
slotClass: this.slotClass,
|
|
2799
2808
|
slotFill: this.slotFill,
|
|
2800
2809
|
columnWidth: this.columnWidth,
|
|
@@ -3054,6 +3063,10 @@ __decorate([
|
|
|
3054
3063
|
Input(),
|
|
3055
3064
|
__metadata("design:type", Object)
|
|
3056
3065
|
], SchedulerComponent.prototype, "currentTimeMarker", void 0);
|
|
3066
|
+
__decorate([
|
|
3067
|
+
Input(),
|
|
3068
|
+
__metadata("design:type", Object)
|
|
3069
|
+
], SchedulerComponent.prototype, "highlightOngoingEvents", void 0);
|
|
3057
3070
|
__decorate([
|
|
3058
3071
|
Input(),
|
|
3059
3072
|
__metadata("design:type", Function)
|
|
@@ -4525,6 +4538,12 @@ class ConfigurationViewBase extends SchedulerView {
|
|
|
4525
4538
|
get viewEventStyles() {
|
|
4526
4539
|
return isPresent(this.eventStyles) ? this.eventStyles : this.schedulerOptions.eventStyles;
|
|
4527
4540
|
}
|
|
4541
|
+
/**
|
|
4542
|
+
* @hidden
|
|
4543
|
+
*/
|
|
4544
|
+
get viewHighlightOngoingEvents() {
|
|
4545
|
+
return isPresent(this.highlightOngoingEvents) ? this.highlightOngoingEvents : this.schedulerOptions.highlightOngoingEvents;
|
|
4546
|
+
}
|
|
4528
4547
|
/**
|
|
4529
4548
|
* @hidden
|
|
4530
4549
|
*/
|
|
@@ -4553,6 +4572,10 @@ __decorate([
|
|
|
4553
4572
|
Input(),
|
|
4554
4573
|
__metadata("design:type", Function)
|
|
4555
4574
|
], ConfigurationViewBase.prototype, "eventStyles", void 0);
|
|
4575
|
+
__decorate([
|
|
4576
|
+
Input(),
|
|
4577
|
+
__metadata("design:type", Object)
|
|
4578
|
+
], ConfigurationViewBase.prototype, "highlightOngoingEvents", void 0);
|
|
4556
4579
|
__decorate([
|
|
4557
4580
|
ViewChild('content', { static: true }),
|
|
4558
4581
|
__metadata("design:type", TemplateRef)
|
|
@@ -5730,6 +5753,12 @@ const MS_PER_MINUTE = 60 * MS_PER_SECOND;
|
|
|
5730
5753
|
const BORDER_WIDTH = 1;
|
|
5731
5754
|
/** @hidden */
|
|
5732
5755
|
const DEFAULT_EVENT_HEIGHT = 25;
|
|
5756
|
+
/** @hidden */
|
|
5757
|
+
const ONGOING_EVENT_CSS_CLASS = 'k-event-ongoing';
|
|
5758
|
+
/** @hidden */
|
|
5759
|
+
const DAYS_IN_WEEK_COUNT = 7;
|
|
5760
|
+
/** @hidden */
|
|
5761
|
+
const WEEKS_COUNT = 6;
|
|
5733
5762
|
|
|
5734
5763
|
//better try to measure this one
|
|
5735
5764
|
const MORE_BUTTON_HEIGHT = 13;
|
|
@@ -6293,6 +6322,7 @@ MonthViewComponent = MonthViewComponent_1 = __decorate([
|
|
|
6293
6322
|
[monthDaySlotTemplate]="monthDaySlotTemplate?.templateRef"
|
|
6294
6323
|
[selectedDateFormat]="selectedDateFormat"
|
|
6295
6324
|
[selectedShortDateFormat]="selectedShortDateFormat"
|
|
6325
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
6296
6326
|
[weekStart]="viewWeekStart">
|
|
6297
6327
|
</month-view>
|
|
6298
6328
|
</ng-template>
|
|
@@ -6407,6 +6437,9 @@ class BaseView {
|
|
|
6407
6437
|
this.pdfService = pdfService;
|
|
6408
6438
|
this.localization = localization;
|
|
6409
6439
|
this.cdr = cdr;
|
|
6440
|
+
/**
|
|
6441
|
+
* The non-all-day events.
|
|
6442
|
+
*/
|
|
6410
6443
|
this.items = new BehaviorSubject(null);
|
|
6411
6444
|
this.horizontalResources = [];
|
|
6412
6445
|
this.verticalResources = [];
|
|
@@ -7389,8 +7422,6 @@ __decorate([
|
|
|
7389
7422
|
__metadata("design:type", HintContainerComponent)
|
|
7390
7423
|
], BaseView.prototype, "hintContainer", void 0);
|
|
7391
7424
|
|
|
7392
|
-
const DAYS_IN_WEEK_COUNT = 7;
|
|
7393
|
-
const WEEKS_COUNT = 6;
|
|
7394
7425
|
/**
|
|
7395
7426
|
* @hidden
|
|
7396
7427
|
*/
|
|
@@ -7399,6 +7430,7 @@ let MonthViewRendererComponent = class MonthViewRendererComponent extends BaseVi
|
|
|
7399
7430
|
super(viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, changeDetector);
|
|
7400
7431
|
this.resizeHintFormat = { skeleton: 'Md' };
|
|
7401
7432
|
this.weeks = [];
|
|
7433
|
+
this.updateOngoingEvents = this.updateOngoingEvents.bind(this);
|
|
7402
7434
|
}
|
|
7403
7435
|
get monthDaySlotTemplateRef() {
|
|
7404
7436
|
return this.monthDaySlotTemplate || (this.schedulerMonthDaySlotTemplate || {}).templateRef;
|
|
@@ -7409,6 +7441,14 @@ let MonthViewRendererComponent = class MonthViewRendererComponent extends BaseVi
|
|
|
7409
7441
|
}
|
|
7410
7442
|
super.ngOnChanges(changes);
|
|
7411
7443
|
}
|
|
7444
|
+
ngAfterViewInit() {
|
|
7445
|
+
this.updateOngoingEvents();
|
|
7446
|
+
super.ngAfterViewInit();
|
|
7447
|
+
}
|
|
7448
|
+
ngOnDestroy() {
|
|
7449
|
+
clearTimeout(this.ongoingEventsTimeout);
|
|
7450
|
+
super.ngOnDestroy();
|
|
7451
|
+
}
|
|
7412
7452
|
horizontalColspan(resourceIndex) {
|
|
7413
7453
|
const resources = this.horizontalResources;
|
|
7414
7454
|
let result = DAYS_IN_WEEK_COUNT;
|
|
@@ -7536,6 +7576,28 @@ let MonthViewRendererComponent = class MonthViewRendererComponent extends BaseVi
|
|
|
7536
7576
|
slotByPosition(x, y) {
|
|
7537
7577
|
return this.slotService.slotByPosition(x, y);
|
|
7538
7578
|
}
|
|
7579
|
+
updateOngoingEvents() {
|
|
7580
|
+
const disabled = !this.highlightOngoingEvents || this.highlightOngoingEvents.enabled === false;
|
|
7581
|
+
if (!isDocumentAvailable() || disabled) {
|
|
7582
|
+
return;
|
|
7583
|
+
}
|
|
7584
|
+
clearTimeout(this.ongoingEventsTimeout);
|
|
7585
|
+
this.zone.runOutsideAngular(() => {
|
|
7586
|
+
this.ongoingEventsTimeout = setTimeout(this.updateOngoingEvents, this.highlightOngoingEvents.updateInterval || MS_PER_MINUTE);
|
|
7587
|
+
});
|
|
7588
|
+
this.toggleOngoingClass();
|
|
7589
|
+
}
|
|
7590
|
+
currentTime() {
|
|
7591
|
+
return new Date();
|
|
7592
|
+
}
|
|
7593
|
+
toggleOngoingClass() {
|
|
7594
|
+
const now = this.currentTime();
|
|
7595
|
+
const cssClass = isPresent(this.highlightOngoingEvents.cssClass) ? this.highlightOngoingEvents.cssClass : ONGOING_EVENT_CSS_CLASS;
|
|
7596
|
+
this.eventElements.forEach((event) => {
|
|
7597
|
+
const isOngoing = dateInRange(now, event.item.start, event.item.end);
|
|
7598
|
+
this.renderer[isOngoing ? 'addClass' : 'removeClass'](event.nativeElement, cssClass);
|
|
7599
|
+
});
|
|
7600
|
+
}
|
|
7539
7601
|
createDaySlots({ start }) {
|
|
7540
7602
|
const weeks = [];
|
|
7541
7603
|
let date = start;
|
|
@@ -7554,6 +7616,14 @@ __decorate([
|
|
|
7554
7616
|
Input(),
|
|
7555
7617
|
__metadata("design:type", TemplateRef)
|
|
7556
7618
|
], MonthViewRendererComponent.prototype, "monthDaySlotTemplate", void 0);
|
|
7619
|
+
__decorate([
|
|
7620
|
+
Input(),
|
|
7621
|
+
__metadata("design:type", Object)
|
|
7622
|
+
], MonthViewRendererComponent.prototype, "highlightOngoingEvents", void 0);
|
|
7623
|
+
__decorate([
|
|
7624
|
+
ViewChildren(MonthViewItemComponent),
|
|
7625
|
+
__metadata("design:type", QueryList)
|
|
7626
|
+
], MonthViewRendererComponent.prototype, "eventElements", void 0);
|
|
7557
7627
|
MonthViewRendererComponent = __decorate([
|
|
7558
7628
|
Component({
|
|
7559
7629
|
// tslint:disable-next-line:component-selector
|
|
@@ -8122,6 +8192,7 @@ const WORK_WEEK_END = 'workWeekEnd';
|
|
|
8122
8192
|
const SLOT_DURATION = 'slotDuration';
|
|
8123
8193
|
const SLOT_DIVISIONS = 'slotDivisions';
|
|
8124
8194
|
const CURRENT_TIME_MARKER = 'currentTimeMarker';
|
|
8195
|
+
const HIGHLIGHT_ONGOING_EVENTS = 'highlightOngoingEvents';
|
|
8125
8196
|
/**
|
|
8126
8197
|
* @hidden
|
|
8127
8198
|
*/
|
|
@@ -8195,6 +8266,12 @@ class DayTimeViewBase extends ConfigurationViewBase {
|
|
|
8195
8266
|
get viewCurrentTimeMarker() {
|
|
8196
8267
|
return this.optionValue(CURRENT_TIME_MARKER);
|
|
8197
8268
|
}
|
|
8269
|
+
/**
|
|
8270
|
+
* @hidden
|
|
8271
|
+
*/
|
|
8272
|
+
get viewHighlightOngoingEvents() {
|
|
8273
|
+
return this.optionValue(HIGHLIGHT_ONGOING_EVENTS);
|
|
8274
|
+
}
|
|
8198
8275
|
/**
|
|
8199
8276
|
* @hidden
|
|
8200
8277
|
*/
|
|
@@ -8261,6 +8338,10 @@ __decorate([
|
|
|
8261
8338
|
Input(),
|
|
8262
8339
|
__metadata("design:type", Object)
|
|
8263
8340
|
], DayTimeViewBase.prototype, "currentTimeMarker", void 0);
|
|
8341
|
+
__decorate([
|
|
8342
|
+
Input(),
|
|
8343
|
+
__metadata("design:type", Object)
|
|
8344
|
+
], DayTimeViewBase.prototype, "highlightOngoingEvents", void 0);
|
|
8264
8345
|
|
|
8265
8346
|
const SLOT_FILL = 'slotFill';
|
|
8266
8347
|
/**
|
|
@@ -8354,6 +8435,7 @@ DayViewComponent = DayViewComponent_1 = __decorate([
|
|
|
8354
8435
|
[name]="name"
|
|
8355
8436
|
[eventHeight]="viewEventHeight"
|
|
8356
8437
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
8438
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
8357
8439
|
[showWorkHours]="shouldShowWorkHours"
|
|
8358
8440
|
[scrollTime]="viewScrollTime"
|
|
8359
8441
|
[startTime]="viewStartTime"
|
|
@@ -8471,6 +8553,7 @@ MultiDayViewComponent = MultiDayViewComponent_1 = __decorate([
|
|
|
8471
8553
|
[numberOfDays]="numberOfDays"
|
|
8472
8554
|
[eventHeight]="viewEventHeight"
|
|
8473
8555
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
8556
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
8474
8557
|
[showWorkHours]="shouldShowWorkHours"
|
|
8475
8558
|
[scrollTime]="viewScrollTime"
|
|
8476
8559
|
[startTime]="viewStartTime"
|
|
@@ -8587,6 +8670,7 @@ WeekViewComponent = WeekViewComponent_1 = __decorate([
|
|
|
8587
8670
|
[getStartDate]="getStartDate"
|
|
8588
8671
|
[eventHeight]="viewEventHeight"
|
|
8589
8672
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
8673
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
8590
8674
|
[showWorkHours]="shouldShowWorkHours"
|
|
8591
8675
|
[scrollTime]="viewScrollTime"
|
|
8592
8676
|
[startTime]="viewStartTime"
|
|
@@ -8685,6 +8769,7 @@ WorkWeekViewComponent = WorkWeekViewComponent_1 = __decorate([
|
|
|
8685
8769
|
[getNextDate]="getNextDate"
|
|
8686
8770
|
[eventHeight]="viewEventHeight"
|
|
8687
8771
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
8772
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
8688
8773
|
[showWorkHours]="shouldShowWorkHours"
|
|
8689
8774
|
[scrollTime]="viewScrollTime"
|
|
8690
8775
|
[startTime]="viewStartTime"
|
|
@@ -9397,6 +9482,80 @@ function createTimeSlots(intlService, { showWorkHours, startTime, endTime, workD
|
|
|
9397
9482
|
return slots;
|
|
9398
9483
|
}
|
|
9399
9484
|
|
|
9485
|
+
/**
|
|
9486
|
+
* @hidden
|
|
9487
|
+
*/
|
|
9488
|
+
let DayTimeViewItemComponent = class DayTimeViewItemComponent extends BaseViewItem {
|
|
9489
|
+
constructor(intlService, slotService, localization, focusService, element, renderer, localeId) {
|
|
9490
|
+
super(slotService, localization, focusService, element, renderer, localeId);
|
|
9491
|
+
this.intlService = intlService;
|
|
9492
|
+
this.localeId = localeId;
|
|
9493
|
+
}
|
|
9494
|
+
get eventTime() {
|
|
9495
|
+
return this.intlService.format('{0:t}–{1:t}', toLocalDate(this.item.startTime), toLocalDate(this.item.endTime));
|
|
9496
|
+
}
|
|
9497
|
+
};
|
|
9498
|
+
__decorate([
|
|
9499
|
+
Input(),
|
|
9500
|
+
__metadata("design:type", Boolean)
|
|
9501
|
+
], DayTimeViewItemComponent.prototype, "vertical", void 0);
|
|
9502
|
+
__decorate([
|
|
9503
|
+
Input(),
|
|
9504
|
+
__metadata("design:type", Boolean)
|
|
9505
|
+
], DayTimeViewItemComponent.prototype, "isAllDay", void 0);
|
|
9506
|
+
DayTimeViewItemComponent = __decorate([
|
|
9507
|
+
Component({
|
|
9508
|
+
// tslint:disable-next-line:component-selector
|
|
9509
|
+
selector: '[dayTimeViewItem]',
|
|
9510
|
+
template: `
|
|
9511
|
+
<span class="k-event-actions">
|
|
9512
|
+
<span class="k-icon k-i-arrow-60-left" *ngIf="item.tail && !vertical"></span>
|
|
9513
|
+
<span class="k-icon k-i-reload" *ngIf="isRecurrence"></span>
|
|
9514
|
+
<span class="k-icon k-i-non-recurrence" *ngIf="isRecurrenceException"></span>
|
|
9515
|
+
</span>
|
|
9516
|
+
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
9517
|
+
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
9518
|
+
</ng-container>
|
|
9519
|
+
<div *ngIf="!eventTemplate" [attr.title]="eventTitle">
|
|
9520
|
+
<div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div>
|
|
9521
|
+
<div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div>
|
|
9522
|
+
</div>
|
|
9523
|
+
|
|
9524
|
+
<span class="k-event-actions">
|
|
9525
|
+
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
9526
|
+
<span class="k-icon k-i-close"></span>
|
|
9527
|
+
</span>
|
|
9528
|
+
<span class="k-icon k-i-arrow-60-right" *ngIf="item.head && !vertical"></span>
|
|
9529
|
+
</span>
|
|
9530
|
+
|
|
9531
|
+
<span class="k-event-top-actions" *ngIf="item.tail && vertical">
|
|
9532
|
+
<span class="k-icon k-i-arrow-60-up"></span>
|
|
9533
|
+
</span>
|
|
9534
|
+
|
|
9535
|
+
<span class="k-event-bottom-actions" *ngIf="item.head && vertical">
|
|
9536
|
+
<span class="k-icon k-i-arrow-60-down"></span>
|
|
9537
|
+
</span>
|
|
9538
|
+
|
|
9539
|
+
<ng-container *ngIf="resizable && vertical">
|
|
9540
|
+
<span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span>
|
|
9541
|
+
<span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span>
|
|
9542
|
+
</ng-container>
|
|
9543
|
+
|
|
9544
|
+
<ng-container *ngIf="resizable && !vertical">
|
|
9545
|
+
<span class="k-resize-handle k-resize-w"></span>
|
|
9546
|
+
<span class="k-resize-handle k-resize-e"></span>
|
|
9547
|
+
</ng-container>
|
|
9548
|
+
`
|
|
9549
|
+
}),
|
|
9550
|
+
__param(6, Inject(LOCALE_ID)),
|
|
9551
|
+
__metadata("design:paramtypes", [IntlService,
|
|
9552
|
+
DayTimeSlotService,
|
|
9553
|
+
LocalizationService,
|
|
9554
|
+
FocusService,
|
|
9555
|
+
ElementRef,
|
|
9556
|
+
Renderer2, String])
|
|
9557
|
+
], DayTimeViewItemComponent);
|
|
9558
|
+
|
|
9400
9559
|
const getStartDate = date => getDate(date);
|
|
9401
9560
|
const getEndDate = (start, numberOfDays) => getDate(addDays(start, numberOfDays || 1));
|
|
9402
9561
|
const getNextDate = (date, count, numberOfDays) => getDate(addDays(date, numberOfDays * count));
|
|
@@ -9427,6 +9586,8 @@ class DayTimeViewComponent extends BaseView {
|
|
|
9427
9586
|
this.verticalTime = true;
|
|
9428
9587
|
this.initialUpdate = true;
|
|
9429
9588
|
this.updateCurrentTime = this.updateCurrentTime.bind(this);
|
|
9589
|
+
this.toggleOngoingClass = this.toggleOngoingClass.bind(this);
|
|
9590
|
+
this.updateOngoingEvents = this.updateOngoingEvents.bind(this);
|
|
9430
9591
|
}
|
|
9431
9592
|
get classNames() {
|
|
9432
9593
|
return `k-scheduler-${this.name}view`;
|
|
@@ -9455,6 +9616,7 @@ class DayTimeViewComponent extends BaseView {
|
|
|
9455
9616
|
ngOnDestroy() {
|
|
9456
9617
|
super.ngOnDestroy();
|
|
9457
9618
|
clearTimeout(this.currentTimeTimeout);
|
|
9619
|
+
clearTimeout(this.ongoingEventsTimeout);
|
|
9458
9620
|
}
|
|
9459
9621
|
verticalItem(leafIndex, resourceIndex) {
|
|
9460
9622
|
const data = this.verticalResources[resourceIndex].data || [];
|
|
@@ -9475,6 +9637,14 @@ class DayTimeViewComponent extends BaseView {
|
|
|
9475
9637
|
});
|
|
9476
9638
|
}
|
|
9477
9639
|
}
|
|
9640
|
+
toggleOngoingClass() {
|
|
9641
|
+
const now = this.currentTime();
|
|
9642
|
+
const cssClass = isPresent(this.highlightOngoingEvents.cssClass) ? this.highlightOngoingEvents.cssClass : ONGOING_EVENT_CSS_CLASS;
|
|
9643
|
+
this.eventElements.forEach((event) => {
|
|
9644
|
+
const isOngoing = dateInRange(now, event.item.start, event.item.end);
|
|
9645
|
+
this.renderer[isOngoing ? 'addClass' : 'removeClass'](event.nativeElement, cssClass);
|
|
9646
|
+
});
|
|
9647
|
+
}
|
|
9478
9648
|
scrollToTime(time = this.scrollTime) {
|
|
9479
9649
|
let date;
|
|
9480
9650
|
if (typeof time === 'string') {
|
|
@@ -9502,6 +9672,7 @@ class DayTimeViewComponent extends BaseView {
|
|
|
9502
9672
|
updateView() {
|
|
9503
9673
|
super.updateView();
|
|
9504
9674
|
this.updateCurrentTime();
|
|
9675
|
+
this.updateOngoingEvents();
|
|
9505
9676
|
if (this.initialUpdate) {
|
|
9506
9677
|
this.scrollToTime();
|
|
9507
9678
|
this.initialUpdate = false;
|
|
@@ -9540,6 +9711,17 @@ class DayTimeViewComponent extends BaseView {
|
|
|
9540
9711
|
this.positionCurrentTime();
|
|
9541
9712
|
}
|
|
9542
9713
|
}
|
|
9714
|
+
updateOngoingEvents() {
|
|
9715
|
+
const disabled = !this.highlightOngoingEvents || this.highlightOngoingEvents.enabled === false;
|
|
9716
|
+
if (!isDocumentAvailable() || disabled) {
|
|
9717
|
+
return;
|
|
9718
|
+
}
|
|
9719
|
+
clearTimeout(this.ongoingEventsTimeout);
|
|
9720
|
+
this.zone.runOutsideAngular(() => {
|
|
9721
|
+
this.ongoingEventsTimeout = setTimeout(this.updateOngoingEvents, this.highlightOngoingEvents.updateInterval || MS_PER_MINUTE);
|
|
9722
|
+
});
|
|
9723
|
+
this.toggleOngoingClass();
|
|
9724
|
+
}
|
|
9543
9725
|
positionCurrentTime() {
|
|
9544
9726
|
if (this.currentTimeElements && this.currentTimeElements.length) {
|
|
9545
9727
|
const date = this.currentDate.toUTCDate();
|
|
@@ -9753,10 +9935,18 @@ __decorate([
|
|
|
9753
9935
|
Input(),
|
|
9754
9936
|
__metadata("design:type", Object)
|
|
9755
9937
|
], DayTimeViewComponent.prototype, "currentTimeMarker", void 0);
|
|
9938
|
+
__decorate([
|
|
9939
|
+
Input(),
|
|
9940
|
+
__metadata("design:type", Object)
|
|
9941
|
+
], DayTimeViewComponent.prototype, "highlightOngoingEvents", void 0);
|
|
9756
9942
|
__decorate([
|
|
9757
9943
|
ViewChildren('currentTimeMarker'),
|
|
9758
9944
|
__metadata("design:type", QueryList)
|
|
9759
9945
|
], DayTimeViewComponent.prototype, "currentTimeElements", void 0);
|
|
9946
|
+
__decorate([
|
|
9947
|
+
ViewChildren(DayTimeViewItemComponent),
|
|
9948
|
+
__metadata("design:type", QueryList)
|
|
9949
|
+
], DayTimeViewComponent.prototype, "eventElements", void 0);
|
|
9760
9950
|
__decorate([
|
|
9761
9951
|
ViewChildren('currentTimeArrow'),
|
|
9762
9952
|
__metadata("design:type", QueryList)
|
|
@@ -10414,80 +10604,6 @@ DaySlotDirective = __decorate([
|
|
|
10414
10604
|
LocalizationService])
|
|
10415
10605
|
], DaySlotDirective);
|
|
10416
10606
|
|
|
10417
|
-
/**
|
|
10418
|
-
* @hidden
|
|
10419
|
-
*/
|
|
10420
|
-
let DayTimeViewItemComponent = class DayTimeViewItemComponent extends BaseViewItem {
|
|
10421
|
-
constructor(intlService, slotService, localization, focusService, element, renderer, localeId) {
|
|
10422
|
-
super(slotService, localization, focusService, element, renderer, localeId);
|
|
10423
|
-
this.intlService = intlService;
|
|
10424
|
-
this.localeId = localeId;
|
|
10425
|
-
}
|
|
10426
|
-
get eventTime() {
|
|
10427
|
-
return this.intlService.format('{0:t}–{1:t}', toLocalDate(this.item.startTime), toLocalDate(this.item.endTime));
|
|
10428
|
-
}
|
|
10429
|
-
};
|
|
10430
|
-
__decorate([
|
|
10431
|
-
Input(),
|
|
10432
|
-
__metadata("design:type", Boolean)
|
|
10433
|
-
], DayTimeViewItemComponent.prototype, "vertical", void 0);
|
|
10434
|
-
__decorate([
|
|
10435
|
-
Input(),
|
|
10436
|
-
__metadata("design:type", Boolean)
|
|
10437
|
-
], DayTimeViewItemComponent.prototype, "isAllDay", void 0);
|
|
10438
|
-
DayTimeViewItemComponent = __decorate([
|
|
10439
|
-
Component({
|
|
10440
|
-
// tslint:disable-next-line:component-selector
|
|
10441
|
-
selector: '[dayTimeViewItem]',
|
|
10442
|
-
template: `
|
|
10443
|
-
<span class="k-event-actions">
|
|
10444
|
-
<span class="k-icon k-i-arrow-60-left" *ngIf="item.tail && !vertical"></span>
|
|
10445
|
-
<span class="k-icon k-i-reload" *ngIf="isRecurrence"></span>
|
|
10446
|
-
<span class="k-icon k-i-non-recurrence" *ngIf="isRecurrenceException"></span>
|
|
10447
|
-
</span>
|
|
10448
|
-
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
10449
|
-
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
10450
|
-
</ng-container>
|
|
10451
|
-
<div *ngIf="!eventTemplate" [attr.title]="eventTitle">
|
|
10452
|
-
<div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div>
|
|
10453
|
-
<div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div>
|
|
10454
|
-
</div>
|
|
10455
|
-
|
|
10456
|
-
<span class="k-event-actions">
|
|
10457
|
-
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
10458
|
-
<span class="k-icon k-i-close"></span>
|
|
10459
|
-
</span>
|
|
10460
|
-
<span class="k-icon k-i-arrow-60-right" *ngIf="item.head && !vertical"></span>
|
|
10461
|
-
</span>
|
|
10462
|
-
|
|
10463
|
-
<span class="k-event-top-actions" *ngIf="item.tail && vertical">
|
|
10464
|
-
<span class="k-icon k-i-arrow-60-up"></span>
|
|
10465
|
-
</span>
|
|
10466
|
-
|
|
10467
|
-
<span class="k-event-bottom-actions" *ngIf="item.head && vertical">
|
|
10468
|
-
<span class="k-icon k-i-arrow-60-down"></span>
|
|
10469
|
-
</span>
|
|
10470
|
-
|
|
10471
|
-
<ng-container *ngIf="resizable && vertical">
|
|
10472
|
-
<span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span>
|
|
10473
|
-
<span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span>
|
|
10474
|
-
</ng-container>
|
|
10475
|
-
|
|
10476
|
-
<ng-container *ngIf="resizable && !vertical">
|
|
10477
|
-
<span class="k-resize-handle k-resize-w"></span>
|
|
10478
|
-
<span class="k-resize-handle k-resize-e"></span>
|
|
10479
|
-
</ng-container>
|
|
10480
|
-
`
|
|
10481
|
-
}),
|
|
10482
|
-
__param(6, Inject(LOCALE_ID)),
|
|
10483
|
-
__metadata("design:paramtypes", [IntlService,
|
|
10484
|
-
DayTimeSlotService,
|
|
10485
|
-
LocalizationService,
|
|
10486
|
-
FocusService,
|
|
10487
|
-
ElementRef,
|
|
10488
|
-
Renderer2, String])
|
|
10489
|
-
], DayTimeViewItemComponent);
|
|
10490
|
-
|
|
10491
10607
|
const DIRECTIVES = [TimeSlotDirective, DaySlotDirective, DayTimeViewItemComponent];
|
|
10492
10608
|
/**
|
|
10493
10609
|
* @hidden
|
|
@@ -10969,6 +11085,7 @@ TimelineViewComponent = TimelineViewComponent_1 = __decorate([
|
|
|
10969
11085
|
[eventHeight]="viewEventHeight"
|
|
10970
11086
|
[columnWidth]="viewColumnWidth"
|
|
10971
11087
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
11088
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
10972
11089
|
[showWorkHours]="shouldShowWorkHours"
|
|
10973
11090
|
[scrollTime]="viewScrollTime"
|
|
10974
11091
|
[startTime]="viewStartTime"
|
|
@@ -11065,6 +11182,7 @@ TimelineWeekViewComponent = TimelineWeekViewComponent_1 = __decorate([
|
|
|
11065
11182
|
[eventHeight]="viewEventHeight"
|
|
11066
11183
|
[columnWidth]="viewColumnWidth"
|
|
11067
11184
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
11185
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
11068
11186
|
[showWorkHours]="shouldShowWorkHours"
|
|
11069
11187
|
[scrollTime]="viewScrollTime"
|
|
11070
11188
|
[startTime]="viewStartTime"
|
|
@@ -11176,6 +11294,7 @@ TimelineMonthViewComponent = TimelineMonthViewComponent_1 = __decorate([
|
|
|
11176
11294
|
[eventHeight]="viewEventHeight"
|
|
11177
11295
|
[columnWidth]="viewColumnWidth"
|
|
11178
11296
|
[currentTimeMarker]="viewCurrentTimeMarker"
|
|
11297
|
+
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
11179
11298
|
[showWorkHours]="shouldShowWorkHours"
|
|
11180
11299
|
[scrollTime]="viewScrollTime"
|
|
11181
11300
|
[startTime]="viewStartTime"
|