@progress/kendo-angular-scheduler 2.2.0-dev.202111260859 → 2.2.0-dev.202112171600
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/events/slot-drag-end-event.js +17 -0
- package/dist/es/events/slot-drag-event.js +18 -0
- package/dist/es/events/slot-drag-start-event.js +24 -0
- package/dist/es/events.js +3 -0
- package/dist/es/index.js +1 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/scheduler.component.js +73 -1
- package/dist/es/scheduler.module.js +2 -0
- package/dist/es/types/slot-selection.js +23 -0
- package/dist/es/types.js +1 -0
- package/dist/es/views/common/base-view.js +102 -8
- package/dist/es/views/common/slot-selectable.directive.js +117 -0
- package/dist/es/views/day-time/day-time-view.component.js +1 -1
- package/dist/es/views/day-time/day-time.module.js +2 -1
- package/dist/es/views/month/month-view-renderer.component.js +9 -5
- package/dist/es/views/multi-day/multi-day-view-renderer.component.js +3 -3
- package/dist/es/views/timeline/timeline-multi-day-view.component.js +1 -1
- package/dist/es/views/utils.js +49 -0
- package/dist/es/views/view-state.service.js +18 -0
- package/dist/es2015/events/slot-drag-end-event.d.ts +10 -0
- package/dist/es2015/events/slot-drag-end-event.js +10 -0
- package/dist/es2015/events/slot-drag-event.d.ts +39 -0
- package/dist/es2015/events/slot-drag-event.js +16 -0
- package/dist/es2015/events/slot-drag-start-event.d.ts +41 -0
- package/dist/es2015/events/slot-drag-start-event.js +19 -0
- package/dist/es2015/events.d.ts +3 -0
- package/dist/es2015/events.js +3 -0
- package/dist/es2015/index.d.ts +2 -0
- package/dist/es2015/index.js +1 -0
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/scheduler.component.d.ts +27 -0
- package/dist/es2015/scheduler.component.js +73 -1
- package/dist/es2015/scheduler.module.js +2 -0
- package/dist/es2015/types/datepicker-options.interface.d.ts +5 -5
- package/dist/es2015/types/slot-selection.d.ts +71 -0
- package/dist/es2015/types/slot-selection.js +19 -0
- package/dist/es2015/types.d.ts +2 -0
- package/dist/es2015/types.js +1 -0
- package/dist/es2015/views/common/base-view.d.ts +26 -5
- package/dist/es2015/views/common/base-view.js +102 -8
- package/dist/es2015/views/common/slot-selectable.directive.d.ts +45 -0
- package/dist/es2015/views/common/slot-selectable.directive.js +112 -0
- package/dist/es2015/views/day-time/day-time-view.component.js +1 -1
- package/dist/es2015/views/day-time/day-time.module.js +2 -1
- package/dist/es2015/views/month/month-view-renderer.component.d.ts +3 -2
- package/dist/es2015/views/month/month-view-renderer.component.js +17 -7
- package/dist/es2015/views/multi-day/multi-day-view-renderer.component.d.ts +1 -1
- package/dist/es2015/views/multi-day/multi-day-view-renderer.component.js +22 -4
- package/dist/es2015/views/timeline/timeline-multi-day-view.component.js +8 -1
- package/dist/es2015/views/utils.d.ts +29 -0
- package/dist/es2015/views/utils.js +49 -0
- package/dist/es2015/views/view-state.service.d.ts +24 -1
- package/dist/es2015/views/view-state.service.js +18 -0
- package/dist/fesm2015/index.js +1636 -1221
- package/dist/fesm5/index.js +1785 -1384
- package/dist/npm/events/slot-drag-end-event.js +19 -0
- package/dist/npm/events/slot-drag-event.js +20 -0
- package/dist/npm/events/slot-drag-start-event.js +26 -0
- package/dist/npm/events.js +6 -0
- package/dist/npm/index.js +2 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/scheduler.component.js +73 -1
- package/dist/npm/scheduler.module.js +2 -0
- package/dist/npm/types/slot-selection.js +25 -0
- package/dist/npm/types.js +2 -0
- package/dist/npm/views/common/base-view.js +101 -7
- package/dist/npm/views/common/slot-selectable.directive.js +119 -0
- package/dist/npm/views/day-time/day-time-view.component.js +1 -1
- package/dist/npm/views/day-time/day-time.module.js +2 -1
- package/dist/npm/views/month/month-view-renderer.component.js +8 -4
- package/dist/npm/views/multi-day/multi-day-view-renderer.component.js +3 -3
- package/dist/npm/views/timeline/timeline-multi-day-view.component.js +1 -1
- package/dist/npm/views/utils.js +53 -0
- package/dist/npm/views/view-state.service.js +18 -0
- package/dist/systemjs/kendo-angular-scheduler.js +1 -1
- package/package.json +9 -7
|
@@ -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 * as tslib_1 from "tslib";
|
|
6
|
-
import { Component, Input, NgZone, ElementRef, Renderer2, TemplateRef } from '@angular/core';
|
|
6
|
+
import { Component, Input, NgZone, ElementRef, Renderer2, TemplateRef, ChangeDetectorRef } from '@angular/core';
|
|
7
7
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
8
8
|
import { isChanged } from '@progress/kendo-angular-common';
|
|
9
9
|
import { addDays, addMonths, firstDayInWeek, firstDayOfMonth, getDate, toLocalDate } from '@progress/kendo-date-math';
|
|
@@ -23,8 +23,8 @@ var WEEKS_COUNT = 6;
|
|
|
23
23
|
*/
|
|
24
24
|
var MonthViewRendererComponent = /** @class */ (function (_super) {
|
|
25
25
|
tslib_1.__extends(MonthViewRendererComponent, _super);
|
|
26
|
-
function MonthViewRendererComponent(viewContext, viewState, intl, slotService, zone, element, renderer, pdfService, localization) {
|
|
27
|
-
var _this = _super.call(this, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization) || this;
|
|
26
|
+
function MonthViewRendererComponent(viewContext, viewState, intl, slotService, zone, element, renderer, pdfService, localization, changeDetector) {
|
|
27
|
+
var _this = _super.call(this, viewContext, viewState, intl, slotService, zone, renderer, element, pdfService, localization, changeDetector) || this;
|
|
28
28
|
_this.resizeHintFormat = { skeleton: 'Md' };
|
|
29
29
|
_this.weeks = [];
|
|
30
30
|
return _this;
|
|
@@ -80,6 +80,9 @@ var MonthViewRendererComponent = /** @class */ (function (_super) {
|
|
|
80
80
|
MonthViewRendererComponent.prototype.cellTitle = function (value) {
|
|
81
81
|
return this.intl.formatDate(value, 'D');
|
|
82
82
|
};
|
|
83
|
+
MonthViewRendererComponent.prototype.addDay = function (dayStart) {
|
|
84
|
+
return addDays(dayStart, 1);
|
|
85
|
+
};
|
|
83
86
|
MonthViewRendererComponent.prototype.optionsChange = function (changes) {
|
|
84
87
|
this.schedulerMonthDaySlotTemplate = changes.monthDaySlotTemplate;
|
|
85
88
|
_super.prototype.optionsChange.call(this, changes);
|
|
@@ -194,7 +197,7 @@ var MonthViewRendererComponent = /** @class */ (function (_super) {
|
|
|
194
197
|
providers: [
|
|
195
198
|
MonthSlotService
|
|
196
199
|
],
|
|
197
|
-
template: "\n <div class=\"k-scheduler-layout k-scheduler-monthview k-scheduler-flex-layout\">\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #timesHeader *ngIf=\"verticalResources.length\">\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr>\n <th></th>\n </tr>\n </table>\n </div>\n <div class=\"k-scheduler-header k-state-default\" #header>\n <div class=\"k-scheduler-header-wrap\" #headerWrap>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr *ngFor=\"let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex\">\n <th *ngFor=\"let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex\"\n class=\"k-slot-cell\" [attr.colspan]=\"horizontalColspan(resourceIndex)\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ resource: item }\"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex\">\n <th *ngFor=\"let day of weeks[0]; trackBy: itemIndex\">\n {{ day | kendoDate: 'EEEE' }}\n </th>\n </ng-container>\n </tr>\n </table>\n </div>\n </div>\n </div>\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times k-scheduler-resources\" #times *ngIf=\"verticalResources.length\">\n <table class=\"k-scheduler-table\" #timesTable aria-hidden=\"true\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex\">\n <tr>\n <ng-container *ngFor=\"let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex\">\n <th *ngIf=\"verticalItem(leafIndex, resourceIndex)\" [attr.rowspan]=\"verticalRowspan(resourceIndex)\" class=\"k-slot-cell\" [ngClass]=\"{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\"\n [ngTemplateOutletContext]=\"{ resource: verticalItem(leafIndex, resourceIndex) }\"></ng-container>\n </th>\n </ng-container>\n <th class=\"k-slot-cell k-empty-slot\">\n </th>\n </tr>\n <tr *ngFor=\"let index of 5 | repeat; trackBy: itemIndex\">\n <th class=\"k-slot-cell k-empty-slot\"></th>\n </tr>\n </ng-container>\n </table>\n </div>\n <div class=\"k-scheduler-content\" #content>\n <table class=\"k-scheduler-table\" #contentTable role=\"presentation\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex\">\n <tr *ngFor=\"let week of weeks; let rangeIndex = index; trackBy: itemIndex\">\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex\">\n <td *ngFor=\"let day of week; let index = index; trackBy: itemIndex\"\n monthSlot\n [ngClass]=\"daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)\"\n [start]=\"day\"\n [id]=\"{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }\"\n [title]=\"cellTitle(day)\"\n >\n <span aria-hidden=\"true\" class=\"k-link k-nav-day\" *ngIf=\"!monthDaySlotTemplateRef\"
|
|
200
|
+
template: "\n <div class=\"k-scheduler-layout k-scheduler-monthview k-scheduler-flex-layout\">\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #timesHeader *ngIf=\"verticalResources.length\">\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr>\n <th></th>\n </tr>\n </table>\n </div>\n <div class=\"k-scheduler-header k-state-default\" #header>\n <div class=\"k-scheduler-header-wrap\" #headerWrap>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr *ngFor=\"let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex\">\n <th *ngFor=\"let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex\"\n class=\"k-slot-cell\" [attr.colspan]=\"horizontalColspan(resourceIndex)\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ resource: item }\"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex\">\n <th *ngFor=\"let day of weeks[0]; trackBy: itemIndex\">\n {{ day | kendoDate: 'EEEE' }}\n </th>\n </ng-container>\n </tr>\n </table>\n </div>\n </div>\n </div>\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times k-scheduler-resources\" #times *ngIf=\"verticalResources.length\">\n <table class=\"k-scheduler-table\" #timesTable aria-hidden=\"true\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex\">\n <tr>\n <ng-container *ngFor=\"let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex\">\n <th *ngIf=\"verticalItem(leafIndex, resourceIndex)\" [attr.rowspan]=\"verticalRowspan(resourceIndex)\" class=\"k-slot-cell\" [ngClass]=\"{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\"\n [ngTemplateOutletContext]=\"{ resource: verticalItem(leafIndex, resourceIndex) }\"></ng-container>\n </th>\n </ng-container>\n <th class=\"k-slot-cell k-empty-slot\">\n </th>\n </tr>\n <tr *ngFor=\"let index of 5 | repeat; trackBy: itemIndex\">\n <th class=\"k-slot-cell k-empty-slot\"></th>\n </tr>\n </ng-container>\n </table>\n </div>\n <div class=\"k-scheduler-content\" #content>\n <table class=\"k-scheduler-table k-user-select-none\" #contentTable role=\"presentation\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex\">\n <tr *ngFor=\"let week of weeks; let rangeIndex = index; trackBy: itemIndex\">\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex\">\n <td *ngFor=\"let day of week; let index = index; trackBy: itemIndex\"\n monthSlot\n [ngClass]=\"daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)\"\n [start]=\"day\"\n [id]=\"{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }\"\n [title]=\"cellTitle(day)\"\n [class.k-state-selected]=\"isSlotSelected({\n start: toPlainDate(day),\n end: addDay(toPlainDate(day)),\n isAllDay: true,\n resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)\n })\"\n >\n <span aria-hidden=\"true\" class=\"k-link k-nav-day\" *ngIf=\"!monthDaySlotTemplateRef\">{{ day | kendoDate: 'dd' }}</span>\n <ng-container *ngIf=\"monthDaySlotTemplateRef\" [ngTemplateOutlet]=\"monthDaySlotTemplateRef\"\n [ngTemplateOutletContext]=\"{ date: day, resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex) }\"></ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </table>\n <ng-container *ngFor=\"let item of items | async; trackBy: itemIndex\">\n <div *ngFor=\"let itemResource of item.resources; trackBy: itemIndex\"\n [ngClass]=\"getEventClasses(item, itemResource.resources)\"\n [ngStyle]=\"getEventStyles(item, itemResource)\"\n [kendoSchedulerFocusIndex]=\"itemResource.leafIdx\"\n monthViewItem\n [editable]=\"editable\"\n [item]=\"item\"\n [index]=\"item.index\"\n [rangeIndex]=\"item.rangeIndex\"\n [eventTemplate]=\"eventTemplateRef\"\n [resources]=\"itemResource.resources\"\n [resourceIndex]=\"itemResource.leafIdx\">\n </div>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngFor=\"let hint of dragHints; trackBy: itemIndex;\"\n class=\"k-event-drag-hint\"\n monthViewItem\n [ngStyle]=\"hint.style\"\n [ngClass]=\"hint.class\"\n [dragHint]=\"true\"\n [eventTemplate]=\"eventTemplateRef\"\n [item]=\"hint.item\"\n [resources]=\"hint.resources\">\n </div>\n\n <div *ngFor=\"let hint of resizeHints; trackBy: itemIndex;\"\n kendoResizeHint\n [hint]=\"hint\"\n [ngClass]=\"hint.class\"\n [format]=\"resizeHintFormat\">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n "
|
|
198
201
|
}),
|
|
199
202
|
tslib_1.__metadata("design:paramtypes", [ViewContextService,
|
|
200
203
|
ViewStateService,
|
|
@@ -204,7 +207,8 @@ var MonthViewRendererComponent = /** @class */ (function (_super) {
|
|
|
204
207
|
ElementRef,
|
|
205
208
|
Renderer2,
|
|
206
209
|
PDFService,
|
|
207
|
-
LocalizationService
|
|
210
|
+
LocalizationService,
|
|
211
|
+
ChangeDetectorRef])
|
|
208
212
|
], MonthViewRendererComponent);
|
|
209
213
|
return MonthViewRendererComponent;
|
|
210
214
|
}(BaseView));
|
|
@@ -175,8 +175,8 @@ var MultiDayViewRendererComponent = /** @class */ (function (_super) {
|
|
|
175
175
|
}
|
|
176
176
|
_super.prototype.updateHintContainer.call(this);
|
|
177
177
|
};
|
|
178
|
-
MultiDayViewRendererComponent.prototype.onRelease = function () {
|
|
179
|
-
_super.prototype.onRelease.call(this);
|
|
178
|
+
MultiDayViewRendererComponent.prototype.onRelease = function (args) {
|
|
179
|
+
_super.prototype.onRelease.call(this, args);
|
|
180
180
|
this.dragContainers = null;
|
|
181
181
|
};
|
|
182
182
|
MultiDayViewRendererComponent.prototype.updateDragContainer = function (args) {
|
|
@@ -305,7 +305,7 @@ var MultiDayViewRendererComponent = /** @class */ (function (_super) {
|
|
|
305
305
|
providers: [
|
|
306
306
|
DayTimeSlotService
|
|
307
307
|
],
|
|
308
|
-
template: "\n <div class=\"k-scheduler-layout k-scheduler-flex-layout\" [ngClass]=\"classNames\">\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #timesHeader>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr *ngFor=\"let resource of horizontalResources; trackBy: itemIndex;\">\n <th></th>\n </tr>\n <tr>\n <th>\u200B</th>\n </tr>\n <tr *ngIf=\"!verticalResources.length\">\n <th class=\"k-scheduler-times-all-day\" #allDayCell>{{ allDayMessage }}</th>\n </tr>\n </table>\n </div>\n <div class=\"k-scheduler-header k-state-default\" #header>\n <div class=\"k-scheduler-header-wrap\" #headerWrap>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr *ngFor=\"let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;\">\n <th *ngFor=\"let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;\"\n class=\"k-slot-cell\" [attr.colspan]=\"horizontalColspan(resourceIndex)\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ resource: item }\"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex;\">\n <th *ngFor=\"let slot of daySlots; let index = index; trackBy: itemIndex\">\n <span *ngIf=\"!dateHeaderTemplateRef\" class=\"k-link k-nav-day\" [attr.data-dayslot-index]=\"index\">{{ slot.start | kendoDate: dateFormat }}</span>\n <ng-container *ngIf=\"dateHeaderTemplateRef\" [ngTemplateOutlet]=\"dateHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ date: slot.start }\"></ng-container>\n </th>\n </ng-container>\n </tr>\n </table>\n <div style=\"position: relative;\" *ngIf=\"!verticalResources.length\">\n <table class=\"k-scheduler-table k-scheduler-header-all-day\" aria-hidden=\"true\">\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;\">\n <td *ngFor=\"let slot of daySlots; let index = index; trackBy: itemIndex\"\n daySlot\n [start]=\"slot.start\"\n [end]=\"slot.end\"\n [id]=\"{ resourceIndex: resourceIndex, rangeIndex: 0, index: index }\"\n [ngClass]=\"allDaySlotClass(slot, resourceIndex)\">\n <ng-container *ngIf=\"allDaySlotTemplateRef\" [ngTemplateOutlet]=\"allDaySlotTemplateRef\"\n [ngTemplateOutletContext]=\"{ date: slot.start, resources: resourcesByIndex(resourceIndex) }\"></ng-container>\n </td>\n </ng-container>\n </tr>\n </table>\n <ng-container *ngFor=\"let item of allDayItems | async; trackBy: itemIndex;\">\n <div *ngFor=\"let itemResource of item.resources; trackBy: itemIndex;\"\n [ngClass]=\"getEventClasses(item, itemResource.resources, true)\"\n [ngStyle]=\"getEventStyles(item, itemResource, true)\"\n [kendoSchedulerFocusIndex]=\"itemResource.leafIdx\"\n dayTimeViewItem\n [isAllDay]=\"true\"\n [editable]=\"editable\"\n [eventTemplate]=\"allDayEventTemplateRef\"\n [item]=\"item\"\n [index]=\"item.index\"\n [rangeIndex]=\"item.rangeIndex\"\n [resources]=\"itemResource.resources\"\n [resourceIndex]=\"itemResource.leafIdx\">\n </div>\n </ng-container>\n <kendo-hint-container #headerHintContainer>\n <ng-template>\n <div *ngIf=\"dragHints.length && allDayDragHint\"\n class=\"k-event-drag-hint\"\n dayTimeViewItem\n [isAllDay]=\"true\"\n [ngStyle]=\"dragHints[0].style\"\n [ngClass]=\"dragHints[0].class\"\n [dragHint]=\"true\"\n [eventTemplate]=\"eventTemplateRef\"\n [item]=\"dragHints[0].item\"\n [resources]=\"dragHints[0].resources\">\n </div>\n\n <div *ngIf=\"resizeHints.length && allDayResizeHint\"\n kendoResizeHint\n [hint]=\"resizeHints[0]\"\n [ngClass]=\"resizeHints[0].class\"\n [format]=\"allDayResizeHintFormat\">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #times>\n <ng-container *ngIf=\"showCurrentTime\">\n <div *ngFor=\"let resource of verticalResources | resourceIterator; trackBy: itemIndex;\"\n #currentTimeArrow class=\"k-current-time k-current-time-arrow-right\">\n </div>\n </ng-container>\n <table class=\"k-scheduler-table\" #timesTable aria-hidden=\"true\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;\">\n <tr *ngIf=\"verticalResources.length\">\n <ng-container *ngFor=\"let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;\">\n <th *ngIf=\"verticalItem(leafIndex, resourceIndex)\" [attr.rowspan]=\"verticalRowspan(resourceIndex)\" class=\"k-slot-cell\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\"\n [ngTemplateOutletContext]=\"{ resource: verticalItem(leafIndex, resourceIndex) }\"></ng-container>\n </th>\n </ng-container>\n <th class=\"k-scheduler-times-all-day\" #allDayCell>{{ allDayMessage }}</th>\n </tr>\n <tr *ngFor=\"let slot of timeSlots; let timeSlotIndex = index;trackBy: itemIndex\">\n <th *ngIf=\"slot.isMajor\" [ngClass]=\"{ 'k-slot-cell': slotDivisions === 1 }\">\n <ng-container *ngIf=\"!majorTimeHeaderTemplateRef\">{{ slot.start | kendoDate: 't' }}</ng-container>\n <ng-container *ngIf=\"majorTimeHeaderTemplateRef\" [ngTemplateOutlet]=\"majorTimeHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ date: slot.start }\"></ng-container>\n </th>\n <th *ngIf=\"!slot.isMajor\" [ngClass]=\"{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }\">\n <ng-container *ngIf=\"minorTimeHeaderTemplateRef\" [ngTemplateOutlet]=\"minorTimeHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ date: slot.start }\">\n </ng-container>\n </th>\n </tr>\n </ng-container>\n </table>\n </div>\n <div class=\"k-scheduler-content\" #content>\n <ng-container *ngIf=\"showCurrentTime\">\n <div *ngFor=\"let resource of verticalResources | resourceIterator; trackBy: itemIndex;\"\n #currentTimeMarker class=\"k-current-time\">\n </div>\n </ng-container>\n <table class=\"k-scheduler-table\" #contentTable role=\"presentation\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;\">\n <tr class=\"k-scheduler-header-all-day\" *ngIf=\"verticalResources.length\">\n <td *ngFor=\"let slot of daySlots; let index = index; trackBy: itemIndex\"\n daySlot\n [start]=\"slot.start\"\n [end]=\"slot.end\"\n [id]=\"{ resourceIndex: verticalIndex, rangeIndex: 0, index: index }\">\n <ng-container *ngIf=\"allDaySlotTemplateRef\" [ngTemplateOutlet]=\"allDaySlotTemplateRef\"\n [ngTemplateOutletContext]=\"{ date: slot.start, resources: resourcesByIndex(verticalIndex) }\"></ng-container>\n </td>\n </tr>\n <tr *ngFor=\"let slot of timeSlots; index as index; trackBy: itemIndex\" [class.k-middle-row]=\"slot.isMajor\">\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;\">\n <td *ngFor=\"let daySlot of daySlots; index as rangeIndex; trackBy: itemIndex\"\n [ngClass]=\"timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)\"\n timeSlot #timeSlot=\"timeSlot\"\n [date]=\"daySlot.start\"\n [invariantStart]=\"slot.start\"\n [invariantEnd]=\"slot.end\"\n [workDayStart]=\"workDayStartTime\"\n [workDayEnd]=\"workDayEndTime\"\n [workWeekStart]=\"workWeekStart\"\n [workWeekEnd]=\"workWeekEnd\"\n [id]=\"{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }\"\n >\n <ng-container *ngIf=\"timeSlotTemplateRef\" [ngTemplateOutlet]=\"timeSlotTemplateRef\"\n [ngTemplateOutletContext]=\"{ date: timeSlot.startLocalTime, resources: resourcesByIndex(timeSlot.id.resourceIndex) }\">\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </table>\n <ng-container *ngFor=\"let item of items | async; trackBy: itemIndex;\">\n <div *ngFor=\"let itemResource of item.resources; trackBy: itemIndex;\"\n [ngClass]=\"getEventClasses(item, itemResource.resources)\"\n [ngStyle]=\"getEventStyles(item, itemResource)\"\n [kendoSchedulerFocusIndex]=\"itemResource.leafIdx\"\n dayTimeViewItem\n [editable]=\"editable\"\n [vertical]=\"true\"\n [eventTemplate]=\"eventTemplateRef\"\n [item]=\"item\"\n [index]=\"item.index\"\n [rangeIndex]=\"item.rangeIndex\"\n [resources]=\"itemResource.resources\"\n [resourceIndex]=\"itemResource.leafIdx\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"verticalResources.length\">\n <ng-container *ngFor=\"let item of allDayItems | async; trackBy: itemIndex;\">\n <div *ngFor=\"let itemResource of item.resources; trackBy: itemIndex;\"\n [ngClass]=\"getEventClasses(item, itemResource.resources, true)\"\n [ngStyle]=\"getEventStyles(item, itemResource, true)\"\n [kendoSchedulerFocusIndex]=\"itemResource.leafIdx\"\n dayTimeViewItem\n [isAllDay]=\"true\"\n [editable]=\"editable\"\n [eventTemplate]=\"allDayEventTemplateRef\"\n [item]=\"item\"\n [index]=\"item.index\"\n [rangeIndex]=\"item.rangeIndex\"\n [resources]=\"itemResource.resources\"\n [resourceIndex]=\"itemResource.leafIdx\">\n </div>\n </ng-container>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngIf=\"dragHints.length && (!allDayDragHint || verticalResources.length)\"\n class=\"k-event-drag-hint\"\n dayTimeViewItem\n [isAllDay]=\"allDayDragHint\"\n [ngStyle]=\"dragHints[0].style\"\n [ngClass]=\"dragHints[0].class\"\n [dragHint]=\"true\"\n [eventTemplate]=\"eventTemplateRef\"\n [resources]=\"dragHints[0].resources\"\n [item]=\"dragHints[0].item\">\n </div>\n\n <ng-container *ngIf=\"resizeHints.length && (!allDayResizeHint || verticalResources.length)\">\n <div *ngFor=\"let hint of resizeHints; trackBy: itemIndex;\"\n kendoResizeHint\n [hint]=\"hint\"\n [ngClass]=\"hint.class\"\n [format]=\"allDayResizeHint ? allDayResizeHintFormat : resizeHintFormat\">\n </div>\n </ng-container>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n "
|
|
308
|
+
template: "\n <div class=\"k-scheduler-layout k-scheduler-flex-layout\" [ngClass]=\"classNames\">\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #timesHeader>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr *ngFor=\"let resource of horizontalResources; trackBy: itemIndex;\">\n <th></th>\n </tr>\n <tr>\n <th>\u200B</th>\n </tr>\n <tr *ngIf=\"!verticalResources.length\">\n <th class=\"k-scheduler-times-all-day\" #allDayCell>{{ allDayMessage }}</th>\n </tr>\n </table>\n </div>\n <div class=\"k-scheduler-header k-state-default\" #header>\n <div class=\"k-scheduler-header-wrap\" #headerWrap>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr *ngFor=\"let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;\">\n <th *ngFor=\"let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;\"\n class=\"k-slot-cell\" [attr.colspan]=\"horizontalColspan(resourceIndex)\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ resource: item }\"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex;\">\n <th *ngFor=\"let slot of daySlots; let index = index; trackBy: itemIndex\">\n <span *ngIf=\"!dateHeaderTemplateRef\" class=\"k-link k-nav-day\" [attr.data-dayslot-index]=\"index\">{{ slot.start | kendoDate: dateFormat }}</span>\n <ng-container *ngIf=\"dateHeaderTemplateRef\" [ngTemplateOutlet]=\"dateHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ date: slot.start }\"></ng-container>\n </th>\n </ng-container>\n </tr>\n </table>\n <div style=\"position: relative;\" *ngIf=\"!verticalResources.length\">\n <table class=\"k-scheduler-table k-scheduler-header-all-day k-user-select-none\" aria-hidden=\"true\">\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;\">\n <td *ngFor=\"let slot of daySlots; let index = index; trackBy: itemIndex\"\n daySlot\n [start]=\"slot.start\"\n [end]=\"slot.end\"\n [id]=\"{ resourceIndex: resourceIndex, rangeIndex: 0, index: index }\"\n [class.k-state-selected]=\"isSlotSelected({\n start: toPlainDate(slot.start),\n end: toPlainDate(slot.end),\n isAllDay: true,\n resources: resourcesByIndex(resourceIndex)\n })\"\n [ngClass]=\"allDaySlotClass(slot, resourceIndex)\">\n <ng-container *ngIf=\"allDaySlotTemplateRef\" [ngTemplateOutlet]=\"allDaySlotTemplateRef\"\n [ngTemplateOutletContext]=\"{ date: slot.start, resources: resourcesByIndex(resourceIndex) }\"></ng-container>\n </td>\n </ng-container>\n </tr>\n </table>\n <ng-container *ngFor=\"let item of allDayItems | async; trackBy: itemIndex;\">\n <div *ngFor=\"let itemResource of item.resources; trackBy: itemIndex;\"\n [ngClass]=\"getEventClasses(item, itemResource.resources, true)\"\n [ngStyle]=\"getEventStyles(item, itemResource, true)\"\n [kendoSchedulerFocusIndex]=\"itemResource.leafIdx\"\n dayTimeViewItem\n [isAllDay]=\"true\"\n [editable]=\"editable\"\n [eventTemplate]=\"allDayEventTemplateRef\"\n [item]=\"item\"\n [index]=\"item.index\"\n [rangeIndex]=\"item.rangeIndex\"\n [resources]=\"itemResource.resources\"\n [resourceIndex]=\"itemResource.leafIdx\">\n </div>\n </ng-container>\n <kendo-hint-container #headerHintContainer>\n <ng-template>\n <div *ngIf=\"dragHints.length && allDayDragHint\"\n class=\"k-event-drag-hint\"\n dayTimeViewItem\n [isAllDay]=\"true\"\n [ngStyle]=\"dragHints[0].style\"\n [ngClass]=\"dragHints[0].class\"\n [dragHint]=\"true\"\n [eventTemplate]=\"eventTemplateRef\"\n [item]=\"dragHints[0].item\"\n [resources]=\"dragHints[0].resources\">\n </div>\n\n <div *ngIf=\"resizeHints.length && allDayResizeHint\"\n kendoResizeHint\n [hint]=\"resizeHints[0]\"\n [ngClass]=\"resizeHints[0].class\"\n [format]=\"allDayResizeHintFormat\">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #times>\n <ng-container *ngIf=\"showCurrentTime\">\n <div *ngFor=\"let resource of verticalResources | resourceIterator; trackBy: itemIndex;\"\n #currentTimeArrow class=\"k-current-time k-current-time-arrow-right\">\n </div>\n </ng-container>\n <table class=\"k-scheduler-table\" #timesTable aria-hidden=\"true\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;\">\n <tr *ngIf=\"verticalResources.length\">\n <ng-container *ngFor=\"let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;\">\n <th *ngIf=\"verticalItem(leafIndex, resourceIndex)\" [attr.rowspan]=\"verticalRowspan(resourceIndex)\" class=\"k-slot-cell\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\"\n [ngTemplateOutletContext]=\"{ resource: verticalItem(leafIndex, resourceIndex) }\"></ng-container>\n </th>\n </ng-container>\n <th class=\"k-scheduler-times-all-day\" #allDayCell>{{ allDayMessage }}</th>\n </tr>\n <tr *ngFor=\"let slot of timeSlots; let timeSlotIndex = index;trackBy: itemIndex\">\n <th *ngIf=\"slot.isMajor\" [ngClass]=\"{ 'k-slot-cell': slotDivisions === 1 }\">\n <ng-container *ngIf=\"!majorTimeHeaderTemplateRef\">{{ slot.start | kendoDate: 't' }}</ng-container>\n <ng-container *ngIf=\"majorTimeHeaderTemplateRef\" [ngTemplateOutlet]=\"majorTimeHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ date: slot.start }\"></ng-container>\n </th>\n <th *ngIf=\"!slot.isMajor\" [ngClass]=\"{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }\">\n <ng-container *ngIf=\"minorTimeHeaderTemplateRef\" [ngTemplateOutlet]=\"minorTimeHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ date: slot.start }\">\n </ng-container>\n </th>\n </tr>\n </ng-container>\n </table>\n </div>\n <div class=\"k-scheduler-content k-user-select-none\" #content>\n <ng-container *ngIf=\"showCurrentTime\">\n <div *ngFor=\"let resource of verticalResources | resourceIterator; trackBy: itemIndex;\"\n #currentTimeMarker class=\"k-current-time\">\n </div>\n </ng-container>\n <table class=\"k-scheduler-table\" #contentTable role=\"presentation\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;\">\n <tr class=\"k-scheduler-header-all-day\" *ngIf=\"verticalResources.length\">\n <td *ngFor=\"let slot of daySlots; let index = index; trackBy: itemIndex\"\n daySlot\n [start]=\"slot.start\"\n [end]=\"slot.end\"\n [class.k-state-selected]=\"isSlotSelected({\n start: toPlainDate(slot.start),\n end: toPlainDate(slot.end),\n isAllDay: true,\n resources: resourcesByIndex(verticalIndex)\n })\"\n [id]=\"{ resourceIndex: verticalIndex, rangeIndex: 0, index: index }\">\n <ng-container *ngIf=\"allDaySlotTemplateRef\" [ngTemplateOutlet]=\"allDaySlotTemplateRef\"\n [ngTemplateOutletContext]=\"{ date: slot.start, resources: resourcesByIndex(verticalIndex) }\"></ng-container>\n </td>\n </tr>\n <tr *ngFor=\"let slot of timeSlots; index as index; trackBy: itemIndex\" [class.k-middle-row]=\"slot.isMajor\">\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;\">\n <td *ngFor=\"let daySlot of daySlots; index as rangeIndex; trackBy: itemIndex\"\n [ngClass]=\"timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)\"\n timeSlot #timeSlot=\"timeSlot\"\n [date]=\"daySlot.start\"\n [invariantStart]=\"slot.start\"\n [invariantEnd]=\"slot.end\"\n [workDayStart]=\"workDayStartTime\"\n [workDayEnd]=\"workDayEndTime\"\n [workWeekStart]=\"workWeekStart\"\n [workWeekEnd]=\"workWeekEnd\"\n [id]=\"{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }\"\n [class.k-state-selected]=\"isSlotSelected({\n start: toPlainDateTime(daySlot.start, slot.start),\n end: toPlainDateTime(daySlot.start, slot.end),\n isAllDay: false,\n resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)\n })\"\n >\n <ng-container *ngIf=\"timeSlotTemplateRef\" [ngTemplateOutlet]=\"timeSlotTemplateRef\"\n [ngTemplateOutletContext]=\"{ date: timeSlot.startLocalTime, resources: resourcesByIndex(timeSlot.id.resourceIndex) }\">\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </table>\n <ng-container *ngFor=\"let item of items | async; trackBy: itemIndex;\">\n <div *ngFor=\"let itemResource of item.resources; trackBy: itemIndex;\"\n [ngClass]=\"getEventClasses(item, itemResource.resources)\"\n [ngStyle]=\"getEventStyles(item, itemResource)\"\n [kendoSchedulerFocusIndex]=\"itemResource.leafIdx\"\n dayTimeViewItem\n [editable]=\"editable\"\n [vertical]=\"true\"\n [eventTemplate]=\"eventTemplateRef\"\n [item]=\"item\"\n [index]=\"item.index\"\n [rangeIndex]=\"item.rangeIndex\"\n [resources]=\"itemResource.resources\"\n [resourceIndex]=\"itemResource.leafIdx\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"verticalResources.length\">\n <ng-container *ngFor=\"let item of allDayItems | async; trackBy: itemIndex;\">\n <div *ngFor=\"let itemResource of item.resources; trackBy: itemIndex;\"\n [ngClass]=\"getEventClasses(item, itemResource.resources, true)\"\n [ngStyle]=\"getEventStyles(item, itemResource, true)\"\n [kendoSchedulerFocusIndex]=\"itemResource.leafIdx\"\n dayTimeViewItem\n [isAllDay]=\"true\"\n [editable]=\"editable\"\n [eventTemplate]=\"allDayEventTemplateRef\"\n [item]=\"item\"\n [index]=\"item.index\"\n [rangeIndex]=\"item.rangeIndex\"\n [resources]=\"itemResource.resources\"\n [resourceIndex]=\"itemResource.leafIdx\">\n </div>\n </ng-container>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngIf=\"dragHints.length && (!allDayDragHint || verticalResources.length)\"\n class=\"k-event-drag-hint\"\n dayTimeViewItem\n [isAllDay]=\"allDayDragHint\"\n [ngStyle]=\"dragHints[0].style\"\n [ngClass]=\"dragHints[0].class\"\n [dragHint]=\"true\"\n [eventTemplate]=\"eventTemplateRef\"\n [resources]=\"dragHints[0].resources\"\n [item]=\"dragHints[0].item\">\n </div>\n\n <ng-container *ngIf=\"resizeHints.length && (!allDayResizeHint || verticalResources.length)\">\n <div *ngFor=\"let hint of resizeHints; trackBy: itemIndex;\"\n kendoResizeHint\n [hint]=\"hint\"\n [ngClass]=\"hint.class\"\n [format]=\"allDayResizeHint ? allDayResizeHintFormat : resizeHintFormat\">\n </div>\n </ng-container>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n "
|
|
309
309
|
}),
|
|
310
310
|
tslib_1.__metadata("design:paramtypes", [LocalizationService,
|
|
311
311
|
ViewContextService,
|
|
@@ -142,7 +142,7 @@ var TimelineMultiDayViewComponent = /** @class */ (function (_super) {
|
|
|
142
142
|
providers: [
|
|
143
143
|
DayTimeSlotService
|
|
144
144
|
],
|
|
145
|
-
template: "\n <div class=\"k-scheduler-layout k-scheduler-flex-layout\" [ngClass]=\"classNames\">\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #timesHeader>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr><th></th></tr>\n <tr><th class=\"k-slot-cell\"></th></tr>\n <tr *ngFor=\"let resource of horizontalResources; trackBy: itemIndex;\">\n <th></th>\n </tr>\n </table>\n </div>\n <div class=\"k-scheduler-header k-state-default\" #header >\n <div class=\"k-scheduler-header-wrap\" #headerWrap>\n <ng-container *ngIf=\"showCurrentTime\">\n <div *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex;\"\n #currentTimeArrow class=\"k-current-time k-current-time-arrow-down\">\n </div>\n </ng-container>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <colgroup>\n <col *ngFor=\"let slotIndex of slotsCount | repeat; trackBy: itemIndex;\" [ngStyle]=\"{ 'width.px': columnWidth }\" />\n </colgroup>\n <tr *ngFor=\"let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;\">\n <th *ngFor=\"let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;\"\n class=\"k-slot-cell\" [attr.colspan]=\"horizontalColspan(resourceIndex)\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\"\n [ngTemplateOutletContext]=\"{ resource: item }\"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let daySlot of daySlots; let index = index; trackBy: itemIndex;\">\n <th [attr.colspan]=\"timeSlots.length\" class=\"k-slot-cell\">\n <span *ngIf=\"!dateHeaderTemplateRef\" class=\"k-link\" [ngClass]=\"{ 'k-nav-day': numberOfDays > 1 }\" [attr.data-dayslot-index]=\"index\">{{ daySlot.start | kendoDate: 'm'}}</span>\n <ng-container *ngIf=\"dateHeaderTemplateRef\" [ngTemplateOutlet]=\"dateHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ date: daySlot.start }\"></ng-container>\n </th>\n </ng-container>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let daySlot of daySlots; let rangeIndex = index; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let timeSlot of timeSlots; let index = index; trackBy: itemIndex;\">\n <th *ngIf=\"timeSlot.isMajor\" [attr.colspan]=\"timeColspan(index)\" >{{ timeSlot.start | kendoDate: 't' }}</th>\n </ng-container>\n </ng-container>\n </ng-container>\n </tr>\n </table>\n </div>\n </div>\n </div>\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #times>\n <table class=\"k-scheduler-table\" #timesTable aria-hidden=\"true\">\n <tr *ngIf=\"!verticalResources.length\">\n <th rowspan=\"1\" #titleCell>\n {{ allEventsMessage }}\n </th>\n </tr>\n <ng-container *ngIf=\"verticalResources.length\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;\">\n <tr #verticalResourceRows>\n <ng-container *ngFor=\"let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;\">\n <th *ngIf=\"verticalItem(leafIndex, resourceIndex)\" [attr.rowspan]=\"verticalRowspan(resourceIndex)\" class=\"k-slot-cell\">\n <div>\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\"\n [ngTemplateOutletContext]=\"{ resource: verticalItem(leafIndex, resourceIndex) }\"></ng-container>\n </div>\n </th>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </table>\n </div>\n <div class=\"k-scheduler-content\" #content>\n <ng-container *ngIf=\"showCurrentTime\">\n <div *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex;\"\n class=\"k-current-time\" #currentTimeMarker>\n </div>\n </ng-container>\n <table class=\"k-scheduler-table\" #contentTable role=\"presentation\">\n <colgroup>\n <col *ngFor=\"let slotIndex of slotsCount | repeat; trackBy: itemIndex;\" [ngStyle]=\"{ 'width.px': columnWidth }\" />\n </colgroup>\n <tr *ngFor=\"let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let daySlot of daySlots; let rangeIndex = index; trackBy: itemIndex;\">\n <td *ngFor=\"let slot of timeSlots; let index = index; trackBy: itemIndex;\"\n [ngClass]=\"timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)\"\n timeSlot #timeSlot=\"timeSlot\"\n [date]=\"daySlot.start\"\n [invariantStart]=\"slot.start\"\n [invariantEnd]=\"slot.end\"\n [workDayStart]=\"workDayStartTime\"\n [workDayEnd]=\"workDayEndTime\"\n [workWeekStart]=\"workWeekStart\"\n [workWeekEnd]=\"workWeekEnd\"\n [id]=\"{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }\"\n >\n <ng-container *ngIf=\"timeSlotTemplateRef\" [ngTemplateOutlet]=\"timeSlotTemplateRef\"\n [ngTemplateOutletContext]=\"{ date: timeSlot.start, resources: resourcesByIndex(timeSlot.id.resourceIndex ) }\">\n </ng-container>\n </td>\n </ng-container>\n </ng-container>\n </tr>\n </table>\n <ng-container *ngFor=\"let item of items | async; trackBy: itemIndex;\">\n <div *ngFor=\"let itemResource of item.resources; trackBy: itemIndex;\"\n [ngClass]=\"getEventClasses(item, itemResource.resources)\"\n [ngStyle]=\"getEventStyles(item, itemResource)\"\n [kendoSchedulerFocusIndex]=\"itemResource.leafIdx\"\n dayTimeViewItem\n [editable]=\"editable\"\n [item]=\"item\"\n [index]=\"item.index\"\n [rangeIndex]=\"item.rangeIndex\"\n [eventTemplate]=\"eventTemplateRef\"\n [resources]=\"itemResource.resources\"\n [resourceIndex]=\"itemResource.leafIdx\">\n </div>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngFor=\"let hint of dragHints; trackBy: itemIndex;\"\n class=\"k-event-drag-hint\"\n dayTimeViewItem\n [ngStyle]=\"hint.style\"\n [ngClass]=\"hint.class\"\n [dragHint]=\"true\"\n [eventTemplate]=\"eventTemplateRef\"\n [item]=\"hint.item\"\n [resources]=\"hint.resources\">\n </div>\n <div *ngIf=\"resizeHints && resizeHints.length\"\n kendoResizeHint\n [hint]=\"resizeHints[0]\"\n [ngClass]=\"resizeHints[0].class\"\n [format]=\"resizeHintFormat\">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n "
|
|
145
|
+
template: "\n <div class=\"k-scheduler-layout k-scheduler-flex-layout\" [ngClass]=\"classNames\">\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #timesHeader>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <tr><th></th></tr>\n <tr><th class=\"k-slot-cell\"></th></tr>\n <tr *ngFor=\"let resource of horizontalResources; trackBy: itemIndex;\">\n <th></th>\n </tr>\n </table>\n </div>\n <div class=\"k-scheduler-header k-state-default\" #header >\n <div class=\"k-scheduler-header-wrap\" #headerWrap>\n <ng-container *ngIf=\"showCurrentTime\">\n <div *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex;\"\n #currentTimeArrow class=\"k-current-time k-current-time-arrow-down\">\n </div>\n </ng-container>\n <table class=\"k-scheduler-table\" aria-hidden=\"true\">\n <colgroup>\n <col *ngFor=\"let slotIndex of slotsCount | repeat; trackBy: itemIndex;\" [ngStyle]=\"{ 'width.px': columnWidth }\" />\n </colgroup>\n <tr *ngFor=\"let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;\">\n <th *ngFor=\"let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;\"\n class=\"k-slot-cell\" [attr.colspan]=\"horizontalColspan(resourceIndex)\">\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\"\n [ngTemplateOutletContext]=\"{ resource: item }\"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let daySlot of daySlots; let index = index; trackBy: itemIndex;\">\n <th [attr.colspan]=\"timeSlots.length\" class=\"k-slot-cell\">\n <span *ngIf=\"!dateHeaderTemplateRef\" class=\"k-link\" [ngClass]=\"{ 'k-nav-day': numberOfDays > 1 }\" [attr.data-dayslot-index]=\"index\">{{ daySlot.start | kendoDate: 'm'}}</span>\n <ng-container *ngIf=\"dateHeaderTemplateRef\" [ngTemplateOutlet]=\"dateHeaderTemplateRef\" [ngTemplateOutletContext]=\"{ date: daySlot.start }\"></ng-container>\n </th>\n </ng-container>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let daySlot of daySlots; let rangeIndex = index; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let timeSlot of timeSlots; let index = index; trackBy: itemIndex;\">\n <th *ngIf=\"timeSlot.isMajor\" [attr.colspan]=\"timeColspan(index)\" >{{ timeSlot.start | kendoDate: 't' }}</th>\n </ng-container>\n </ng-container>\n </ng-container>\n </tr>\n </table>\n </div>\n </div>\n </div>\n <div class=\"k-scheduler-pane\">\n <div class=\"k-scheduler-times\" #times>\n <table class=\"k-scheduler-table\" #timesTable aria-hidden=\"true\">\n <tr *ngIf=\"!verticalResources.length\">\n <th rowspan=\"1\" #titleCell>\n {{ allEventsMessage }}\n </th>\n </tr>\n <ng-container *ngIf=\"verticalResources.length\">\n <ng-container *ngFor=\"let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;\">\n <tr #verticalResourceRows>\n <ng-container *ngFor=\"let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;\">\n <th *ngIf=\"verticalItem(leafIndex, resourceIndex)\" [attr.rowspan]=\"verticalRowspan(resourceIndex)\" class=\"k-slot-cell\">\n <div>\n <ng-container *ngIf=\"!groupHeaderTemplateRef\">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf=\"groupHeaderTemplateRef\" [ngTemplateOutlet]=\"groupHeaderTemplateRef\"\n [ngTemplateOutletContext]=\"{ resource: verticalItem(leafIndex, resourceIndex) }\"></ng-container>\n </div>\n </th>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </table>\n </div>\n <div class=\"k-scheduler-content\" #content>\n <ng-container *ngIf=\"showCurrentTime\">\n <div *ngFor=\"let resource of horizontalResources | resourceIterator; trackBy: itemIndex;\"\n class=\"k-current-time\" #currentTimeMarker>\n </div>\n </ng-container>\n <table class=\"k-scheduler-table k-user-select-none\" #contentTable role=\"presentation\">\n <colgroup>\n <col *ngFor=\"let slotIndex of slotsCount | repeat; trackBy: itemIndex;\" [ngStyle]=\"{ 'width.px': columnWidth }\" />\n </colgroup>\n <tr *ngFor=\"let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;\">\n <ng-container *ngFor=\"let daySlot of daySlots; let rangeIndex = index; trackBy: itemIndex;\">\n <td *ngFor=\"let slot of timeSlots; let index = index; trackBy: itemIndex;\"\n [ngClass]=\"timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)\"\n timeSlot #timeSlot=\"timeSlot\"\n [date]=\"daySlot.start\"\n [invariantStart]=\"slot.start\"\n [invariantEnd]=\"slot.end\"\n [workDayStart]=\"workDayStartTime\"\n [workDayEnd]=\"workDayEndTime\"\n [workWeekStart]=\"workWeekStart\"\n [workWeekEnd]=\"workWeekEnd\"\n selectableSlot\n [id]=\"{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }\"\n [class.k-state-selected]=\"isSlotSelected({\n start: toPlainDateTime(daySlot.start, slot.start),\n end: toPlainDateTime(daySlot.start, slot.end),\n isAllDay: false,\n resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)\n })\"\n >\n <ng-container *ngIf=\"timeSlotTemplateRef\" [ngTemplateOutlet]=\"timeSlotTemplateRef\"\n [ngTemplateOutletContext]=\"{ date: timeSlot.start, resources: resourcesByIndex(timeSlot.id.resourceIndex ) }\">\n </ng-container>\n </td>\n </ng-container>\n </ng-container>\n </tr>\n </table>\n <ng-container *ngFor=\"let item of items | async; trackBy: itemIndex;\">\n <div *ngFor=\"let itemResource of item.resources; trackBy: itemIndex;\"\n [ngClass]=\"getEventClasses(item, itemResource.resources)\"\n [ngStyle]=\"getEventStyles(item, itemResource)\"\n [kendoSchedulerFocusIndex]=\"itemResource.leafIdx\"\n dayTimeViewItem\n [editable]=\"editable\"\n [item]=\"item\"\n [index]=\"item.index\"\n [rangeIndex]=\"item.rangeIndex\"\n [eventTemplate]=\"eventTemplateRef\"\n [resources]=\"itemResource.resources\"\n [resourceIndex]=\"itemResource.leafIdx\">\n </div>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngFor=\"let hint of dragHints; trackBy: itemIndex;\"\n class=\"k-event-drag-hint\"\n dayTimeViewItem\n [ngStyle]=\"hint.style\"\n [ngClass]=\"hint.class\"\n [dragHint]=\"true\"\n [eventTemplate]=\"eventTemplateRef\"\n [item]=\"hint.item\"\n [resources]=\"hint.resources\">\n </div>\n <div *ngIf=\"resizeHints && resizeHints.length\"\n kendoResizeHint\n [hint]=\"resizeHints[0]\"\n [ngClass]=\"resizeHints[0].class\"\n [format]=\"resizeHintFormat\">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n "
|
|
146
146
|
}),
|
|
147
147
|
tslib_1.__metadata("design:paramtypes", [LocalizationService,
|
|
148
148
|
ChangeDetectorRef,
|
package/dist/es/views/utils.js
CHANGED
|
@@ -72,6 +72,24 @@ export function toUTCDateTime(localDate) {
|
|
|
72
72
|
export function dateWithTime(target, time) {
|
|
73
73
|
return new Date(target.getFullYear(), target.getMonth(), target.getDate(), time.getHours(), time.getMinutes());
|
|
74
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* @hidden
|
|
77
|
+
* Flips the start and end values of a slot selection based on whether
|
|
78
|
+
* the last dragged-over slot is before or after the slot where the selection began.
|
|
79
|
+
*/
|
|
80
|
+
export function normaliseRangeStartAndEnd(selectionOrigin, currentSlot) {
|
|
81
|
+
var start;
|
|
82
|
+
var end;
|
|
83
|
+
if (currentSlot.end <= selectionOrigin.end) {
|
|
84
|
+
end = selectionOrigin.end;
|
|
85
|
+
start = currentSlot.start;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
start = selectionOrigin.start;
|
|
89
|
+
end = currentSlot.end;
|
|
90
|
+
}
|
|
91
|
+
return { start: start, end: end };
|
|
92
|
+
}
|
|
75
93
|
function getDataIdx(value, resource) {
|
|
76
94
|
var data = resource.data;
|
|
77
95
|
for (var dataIdx = 0; dataIdx < data.length; dataIdx++) {
|
|
@@ -180,6 +198,33 @@ export function assignTasksResources(tasks, options) {
|
|
|
180
198
|
task.resources = eventResources(task.event, options);
|
|
181
199
|
}
|
|
182
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* @hidden
|
|
203
|
+
*/
|
|
204
|
+
export function areValidResources(resources) {
|
|
205
|
+
return Array.isArray(resources) && resources.length > 0 && resources[0] !== undefined;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* @hidden
|
|
209
|
+
*/
|
|
210
|
+
export function resourcesMatch(res1, res2, strict) {
|
|
211
|
+
if (res1.length !== res2.length) {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
if (!strict && !areValidResources(res1) || !areValidResources(res2)) {
|
|
215
|
+
return true;
|
|
216
|
+
}
|
|
217
|
+
return res1.every(function (r1) { return res2.some(function (r2) { return r2.value === r1.value; }); });
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* @hidden
|
|
221
|
+
*/
|
|
222
|
+
export function isSameRange(range1, range2) {
|
|
223
|
+
return (range1.start.getTime() === range2.start.getTime() &&
|
|
224
|
+
range1.end.getTime() === range2.end.getTime() &&
|
|
225
|
+
range1.isAllDay === range2.isAllDay &&
|
|
226
|
+
resourcesMatch(range1.resources, range2.resources, true));
|
|
227
|
+
}
|
|
183
228
|
/** @hidden */
|
|
184
229
|
export function findRowIndex(events, data) {
|
|
185
230
|
if (data.rowIndex !== undefined) {
|
|
@@ -284,3 +329,7 @@ export var isWorkWeekDay = function (day, start, end) {
|
|
|
284
329
|
}
|
|
285
330
|
return start <= day && day <= end;
|
|
286
331
|
};
|
|
332
|
+
/**
|
|
333
|
+
* @hidden
|
|
334
|
+
*/
|
|
335
|
+
export var alwaysFalse = function () { return false; };
|
|
@@ -23,12 +23,18 @@ var ViewStateService = /** @class */ (function () {
|
|
|
23
23
|
this.viewEventSource = new Subject();
|
|
24
24
|
this.layoutEndSource = new Subject();
|
|
25
25
|
this.optionsChangeSource = new Subject();
|
|
26
|
+
this.slotSelectionStartSource = new Subject();
|
|
27
|
+
this.slotSelectionStartDragSource = new Subject();
|
|
28
|
+
this.slotSelectionStartEndSource = new Subject();
|
|
26
29
|
this.dateRange = this.dateRangeSource.asObservable();
|
|
27
30
|
this.nextDate = this.nextDateSource.asObservable();
|
|
28
31
|
this.navigate = this.navigateSource.asObservable();
|
|
29
32
|
this.viewEvent = this.viewEventSource.asObservable();
|
|
30
33
|
this.layoutEnd = this.layoutEndSource.asObservable();
|
|
31
34
|
this.optionsChange = this.optionsChangeSource.asObservable();
|
|
35
|
+
this.slotSelectionStart = this.slotSelectionStartSource.asObservable();
|
|
36
|
+
this.slotSelectionDrag = this.slotSelectionStartDragSource.asObservable();
|
|
37
|
+
this.slotSelectionEnd = this.slotSelectionStartEndSource.asObservable();
|
|
32
38
|
}
|
|
33
39
|
/**
|
|
34
40
|
* Publishes the date that will be displayed by the Scheduler
|
|
@@ -72,6 +78,18 @@ var ViewStateService = /** @class */ (function () {
|
|
|
72
78
|
args: args
|
|
73
79
|
});
|
|
74
80
|
};
|
|
81
|
+
/** @hidden */
|
|
82
|
+
ViewStateService.prototype.notifySlotSelectionStart = function (selection) {
|
|
83
|
+
this.slotSelectionStartSource.next(selection);
|
|
84
|
+
};
|
|
85
|
+
/** @hidden */
|
|
86
|
+
ViewStateService.prototype.notifySlotSelectionDrag = function (selection) {
|
|
87
|
+
this.slotSelectionStartDragSource.next(selection);
|
|
88
|
+
};
|
|
89
|
+
/** @hidden */
|
|
90
|
+
ViewStateService.prototype.notifySlotSelectionEnd = function (selection) {
|
|
91
|
+
this.slotSelectionStartEndSource.next(selection);
|
|
92
|
+
};
|
|
75
93
|
ViewStateService = tslib_1.__decorate([
|
|
76
94
|
Injectable(),
|
|
77
95
|
tslib_1.__metadata("design:paramtypes", [])
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { SlotDragEvent } from './slot-drag-event';
|
|
6
|
+
/**
|
|
7
|
+
* Arguments for the `slotDragEnd` event.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SlotDragEndEvent extends SlotDragEvent {
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { SlotDragEvent } from './slot-drag-event';
|
|
6
|
+
/**
|
|
7
|
+
* Arguments for the `slotDragEnd` event.
|
|
8
|
+
*/
|
|
9
|
+
export class SlotDragEndEvent extends SlotDragEvent {
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { SchedulerComponent } from '../scheduler.component';
|
|
6
|
+
import { ExtendedSlotRange } from '../types/slot-selection';
|
|
7
|
+
/**
|
|
8
|
+
* Arguments for the `slotDrag` event.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SlotDragEvent implements ExtendedSlotRange {
|
|
11
|
+
/**
|
|
12
|
+
* The start date of the slot selection.
|
|
13
|
+
*/
|
|
14
|
+
start: Date;
|
|
15
|
+
/**
|
|
16
|
+
* The end date of the slot selection.
|
|
17
|
+
*/
|
|
18
|
+
end: Date;
|
|
19
|
+
/**
|
|
20
|
+
* Indicates if the slot selection consists of all-day slots, or of time slots.
|
|
21
|
+
*/
|
|
22
|
+
isAllDay: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The resources for the slot, if grouping by resource; otherwise all Scheduler resources.
|
|
25
|
+
*/
|
|
26
|
+
resources: any[];
|
|
27
|
+
/**
|
|
28
|
+
* The original DOM event.
|
|
29
|
+
*/
|
|
30
|
+
originalEvent: PointerEvent;
|
|
31
|
+
/**
|
|
32
|
+
* A reference to the Scheduler instance that triggered the event.
|
|
33
|
+
*/
|
|
34
|
+
sender: SchedulerComponent;
|
|
35
|
+
/**
|
|
36
|
+
* @hidden
|
|
37
|
+
*/
|
|
38
|
+
constructor(sender: SchedulerComponent, args: ExtendedSlotRange);
|
|
39
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
/**
|
|
6
|
+
* Arguments for the `slotDrag` event.
|
|
7
|
+
*/
|
|
8
|
+
export class SlotDragEvent {
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
constructor(sender, args) {
|
|
13
|
+
this.sender = sender;
|
|
14
|
+
Object.assign(this, args);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { SchedulerComponent } from '../scheduler.component';
|
|
6
|
+
import { ExtendedSlotRange } from '../types/slot-selection';
|
|
7
|
+
import { PreventableEvent } from './preventable-event';
|
|
8
|
+
/**
|
|
9
|
+
* Arguments for the `slotDragStart` event.
|
|
10
|
+
* The event is preventable and if prevented, subsequent `slotDrag`, `slotDragEnd`, and `slotSelectionChange` will not be fired.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SlotDragStartEvent extends PreventableEvent implements ExtendedSlotRange {
|
|
13
|
+
/**
|
|
14
|
+
* The start date of the slot selection.
|
|
15
|
+
*/
|
|
16
|
+
start: Date;
|
|
17
|
+
/**
|
|
18
|
+
* The end date of the slot selection.
|
|
19
|
+
*/
|
|
20
|
+
end: Date;
|
|
21
|
+
/**
|
|
22
|
+
* Indicates if the slot selection consists of all-day slots, or of time slots.
|
|
23
|
+
*/
|
|
24
|
+
isAllDay: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The resources for the slot, if grouping by resource; otherwise all Scheduler resources.
|
|
27
|
+
*/
|
|
28
|
+
resources: any[];
|
|
29
|
+
/**
|
|
30
|
+
* The original DOM event.
|
|
31
|
+
*/
|
|
32
|
+
originalEvent: PointerEvent;
|
|
33
|
+
/**
|
|
34
|
+
* A reference to the Scheduler instance that triggered the event.
|
|
35
|
+
*/
|
|
36
|
+
sender: SchedulerComponent;
|
|
37
|
+
/**
|
|
38
|
+
* @hidden
|
|
39
|
+
*/
|
|
40
|
+
constructor(sender: SchedulerComponent, args: ExtendedSlotRange);
|
|
41
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { PreventableEvent } from './preventable-event';
|
|
6
|
+
/**
|
|
7
|
+
* Arguments for the `slotDragStart` event.
|
|
8
|
+
* The event is preventable and if prevented, subsequent `slotDrag`, `slotDragEnd`, and `slotSelectionChange` will not be fired.
|
|
9
|
+
*/
|
|
10
|
+
export class SlotDragStartEvent extends PreventableEvent {
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
14
|
+
constructor(sender, args) {
|
|
15
|
+
super();
|
|
16
|
+
this.sender = sender;
|
|
17
|
+
Object.assign(this, args);
|
|
18
|
+
}
|
|
19
|
+
}
|
package/dist/es2015/events.d.ts
CHANGED
|
@@ -20,3 +20,6 @@ export { DragEvent } from './events/drag-event';
|
|
|
20
20
|
export { DragEndEvent } from './events/drag-end-event';
|
|
21
21
|
export { EditEvent } from './events/edit-event';
|
|
22
22
|
export { AddEvent } from './events/add-event';
|
|
23
|
+
export { SlotDragStartEvent } from './events/slot-drag-start-event';
|
|
24
|
+
export { SlotDragEvent } from './events/slot-drag-event';
|
|
25
|
+
export { SlotDragEndEvent } from './events/slot-drag-end-event';
|
package/dist/es2015/events.js
CHANGED
|
@@ -20,3 +20,6 @@ export { DragEvent } from './events/drag-event';
|
|
|
20
20
|
export { DragEndEvent } from './events/drag-end-event';
|
|
21
21
|
export { EditEvent } from './events/edit-event';
|
|
22
22
|
export { AddEvent } from './events/add-event';
|
|
23
|
+
export { SlotDragStartEvent } from './events/slot-drag-start-event';
|
|
24
|
+
export { SlotDragEvent } from './events/slot-drag-event';
|
|
25
|
+
export { SlotDragEndEvent } from './events/slot-drag-end-event';
|
package/dist/es2015/index.d.ts
CHANGED
|
@@ -46,6 +46,7 @@ export { ToolbarTemplateDirective } from './toolbar/toolbar-template.directive';
|
|
|
46
46
|
export { ToolbarComponent } from './toolbar/toolbar.component';
|
|
47
47
|
export { ToolbarModule, publicDirectives } from './toolbar/toolbar.module';
|
|
48
48
|
export { ToolbarViewSelectorComponent } from './toolbar/view-selector.component';
|
|
49
|
+
export { ExtendedSlotRange } from './types/slot-selection';
|
|
49
50
|
export { AgendaHeaderItemComponent } from './views/agenda/agenda-header-item.component';
|
|
50
51
|
export { AgendaHeaderComponent } from './views/agenda/agenda-header.component';
|
|
51
52
|
export { AgendaTaskItemComponent } from './views/agenda/agenda-task-item.component';
|
|
@@ -59,6 +60,7 @@ export { HintContainerComponent } from './views/common/hint-container.component'
|
|
|
59
60
|
export { RepeatPipe } from './views/common/repeat.pipe';
|
|
60
61
|
export { ResizeHintComponent } from './views/common/resize-hint.component';
|
|
61
62
|
export { ResourceIteratorPipe } from './views/common/resource-iterator.pipe';
|
|
63
|
+
export { SlotSelectableDirective } from './views/common/slot-selectable.directive';
|
|
62
64
|
export { ViewFooterComponent } from './views/common/view-footer.component';
|
|
63
65
|
export { ViewsSharedModule } from './views/common/views-shared.module';
|
|
64
66
|
export { WorkHoursFooterDirective } from './views/common/work-hours-footer.directive';
|
package/dist/es2015/index.js
CHANGED
|
@@ -59,6 +59,7 @@ export { HintContainerComponent } from './views/common/hint-container.component'
|
|
|
59
59
|
export { RepeatPipe } from './views/common/repeat.pipe';
|
|
60
60
|
export { ResizeHintComponent } from './views/common/resize-hint.component';
|
|
61
61
|
export { ResourceIteratorPipe } from './views/common/resource-iterator.pipe';
|
|
62
|
+
export { SlotSelectableDirective } from './views/common/slot-selectable.directive';
|
|
62
63
|
export { ViewFooterComponent } from './views/common/view-footer.component';
|
|
63
64
|
export { ViewsSharedModule } from './views/common/views-shared.module';
|
|
64
65
|
export { WorkHoursFooterDirective } from './views/common/work-hours-footer.directive';
|