@syncfusion/ej2-schedule 20.1.52 → 20.1.57
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/CHANGELOG.md +53 -11
- package/dist/ej2-schedule.umd.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +167 -71
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +165 -69
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +2 -2
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +15 -15
- package/src/recurrence-editor/date-generator.js +11 -1
- package/src/schedule/actions/drag.js +9 -9
- package/src/schedule/base/schedule.js +9 -1
- package/src/schedule/event-renderer/agenda-base.js +4 -1
- package/src/schedule/event-renderer/event-base.js +16 -11
- package/src/schedule/event-renderer/month.d.ts +1 -0
- package/src/schedule/event-renderer/month.js +38 -29
- package/src/schedule/event-renderer/vertical-view.js +3 -0
- package/src/schedule/event-renderer/year.js +3 -1
- package/src/schedule/exports/calendar-export.js +1 -1
- package/src/schedule/popups/event-window.js +4 -2
- package/src/schedule/popups/quick-popups.js +2 -2
- package/src/schedule/renderer/month.js +8 -5
- package/src/schedule/renderer/renderer.js +2 -1
- package/src/schedule/renderer/timeline-year.d.ts +2 -1
- package/src/schedule/renderer/timeline-year.js +49 -4
- package/src/schedule/renderer/vertical-view.js +2 -1
- package/src/schedule/renderer/year.js +4 -0
- package/styles/bootstrap-dark.css +83 -968
- package/styles/bootstrap.css +83 -967
- package/styles/bootstrap4.css +83 -990
- package/styles/bootstrap5-dark.css +83 -988
- package/styles/bootstrap5.css +83 -988
- package/styles/fabric-dark.css +83 -968
- package/styles/fabric.css +83 -970
- package/styles/fluent-dark.css +83 -968
- package/styles/fluent.css +83 -968
- package/styles/highcontrast-light.css +83 -967
- package/styles/highcontrast.css +83 -972
- package/styles/material-dark.css +83 -967
- package/styles/material.css +83 -967
- package/styles/recurrence-editor/bootstrap-dark.css +6 -94
- package/styles/recurrence-editor/bootstrap.css +6 -94
- package/styles/recurrence-editor/bootstrap4.css +6 -94
- package/styles/recurrence-editor/bootstrap5-dark.css +6 -94
- package/styles/recurrence-editor/bootstrap5.css +6 -94
- package/styles/recurrence-editor/fabric-dark.css +6 -94
- package/styles/recurrence-editor/fabric.css +6 -94
- package/styles/recurrence-editor/fluent-dark.css +6 -94
- package/styles/recurrence-editor/fluent.css +6 -94
- package/styles/recurrence-editor/highcontrast-light.css +6 -94
- package/styles/recurrence-editor/highcontrast.css +6 -94
- package/styles/recurrence-editor/material-dark.css +6 -94
- package/styles/recurrence-editor/material.css +6 -94
- package/styles/recurrence-editor/tailwind-dark.css +6 -94
- package/styles/recurrence-editor/tailwind.css +6 -94
- package/styles/schedule/bootstrap-dark.css +78 -875
- package/styles/schedule/bootstrap.css +78 -874
- package/styles/schedule/bootstrap4.css +78 -897
- package/styles/schedule/bootstrap5-dark.css +78 -895
- package/styles/schedule/bootstrap5.css +78 -895
- package/styles/schedule/fabric-dark.css +78 -875
- package/styles/schedule/fabric.css +78 -877
- package/styles/schedule/fluent-dark.css +78 -875
- package/styles/schedule/fluent.css +78 -875
- package/styles/schedule/highcontrast-light.css +78 -874
- package/styles/schedule/highcontrast.css +78 -879
- package/styles/schedule/material-dark.css +78 -874
- package/styles/schedule/material.css +78 -874
- package/styles/schedule/tailwind-dark.css +78 -895
- package/styles/schedule/tailwind.css +78 -895
- package/styles/tailwind-dark.css +83 -988
- package/styles/tailwind.css +83 -988
|
@@ -3660,6 +3660,10 @@ function generate(startDate, rule, excludeDate, startDayOfWeek, maximumCount, vi
|
|
|
3660
3660
|
}
|
|
3661
3661
|
maxOccurrence = maximumCount;
|
|
3662
3662
|
setFirstDayOfWeek(DAYINDEX[startDayOfWeek]);
|
|
3663
|
+
if (ruleObject.until) {
|
|
3664
|
+
var end = resetTime(ruleObject.until);
|
|
3665
|
+
ruleObject.until = new Date(end.getFullYear(), end.getMonth(), end.getDate(), 23, 59, 59);
|
|
3666
|
+
}
|
|
3663
3667
|
switch (ruleObject.freq) {
|
|
3664
3668
|
case 'DAILY':
|
|
3665
3669
|
dailyType(modifiedDate, ruleObject.until, data, ruleObject);
|
|
@@ -3756,6 +3760,9 @@ function dailyType(startDate, endDate, data, ruleObject) {
|
|
|
3756
3760
|
}
|
|
3757
3761
|
}
|
|
3758
3762
|
tempDate.setDate(tempDate.getDate() + interval);
|
|
3763
|
+
if (tempDate.getHours() !== startDate.getHours()) {
|
|
3764
|
+
tempDate.setHours(startDate.getHours());
|
|
3765
|
+
}
|
|
3759
3766
|
}
|
|
3760
3767
|
}
|
|
3761
3768
|
/**
|
|
@@ -3800,6 +3807,9 @@ function weeklyType(startDate, endDate, data, ruleObject) {
|
|
|
3800
3807
|
break;
|
|
3801
3808
|
}
|
|
3802
3809
|
tempDate.setDate(tempDate.getDate() + 1);
|
|
3810
|
+
if (tempDate.getHours() !== startDate.getHours()) {
|
|
3811
|
+
tempDate.setHours(startDate.getHours());
|
|
3812
|
+
}
|
|
3803
3813
|
compareTempDate = new Date(tempDate.getTime());
|
|
3804
3814
|
compareTempDate = resetTime(compareTempDate);
|
|
3805
3815
|
}
|
|
@@ -4682,7 +4692,7 @@ function insertDateCollection(state, startDate, endDate, data, ruleObject, dayDa
|
|
|
4682
4692
|
function weekCount(year, startDayOfWeek, monthCollection, week, ruleObject) {
|
|
4683
4693
|
var firstDayOfWeek = startDayOfWeek || 0;
|
|
4684
4694
|
var firstOfMonth = new Date(year, ruleObject.month[0] - 1, 1);
|
|
4685
|
-
var lastOfMonth = new Date(year, ruleObject.month[0]
|
|
4695
|
+
var lastOfMonth = new Date(year, ruleObject.month[0], 0);
|
|
4686
4696
|
var numberOfDaysInMonth = lastOfMonth.getDate();
|
|
4687
4697
|
var firstWeekDay = (firstOfMonth.getDay() - firstDayOfWeek + 7) % 7;
|
|
4688
4698
|
var used = firstWeekDay + numberOfDaysInMonth;
|
|
@@ -5672,6 +5682,9 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
5672
5682
|
this.parent.removeSelectedClass();
|
|
5673
5683
|
}
|
|
5674
5684
|
addClass(cells, APPOINTMENT_BORDER);
|
|
5685
|
+
if (cells.length > 0) {
|
|
5686
|
+
cells[cells.length - 1].focus();
|
|
5687
|
+
}
|
|
5675
5688
|
};
|
|
5676
5689
|
EventBase.prototype.getSelectedAppointments = function () {
|
|
5677
5690
|
return [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_BORDER + ',.' + APPOINTMENT_CLASS + ':focus'));
|
|
@@ -5772,7 +5785,7 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
5772
5785
|
EventBase.prototype.isAllDayAppointment = function (event) {
|
|
5773
5786
|
var fieldMapping = this.parent.eventFields;
|
|
5774
5787
|
var isAllDay = event[fieldMapping.isAllDay];
|
|
5775
|
-
var isFullDay = ((event[fieldMapping.endTime]
|
|
5788
|
+
var isFullDay = ((getUniversalTime(event[fieldMapping.endTime]) - getUniversalTime(event[fieldMapping.startTime]))
|
|
5776
5789
|
/ MS_PER_DAY) >= 1;
|
|
5777
5790
|
return (isAllDay || (this.parent.eventSettings.spannedEventPlacement !== 'TimeSlot' && isFullDay)) ? true : false;
|
|
5778
5791
|
};
|
|
@@ -6355,16 +6368,18 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
6355
6368
|
}
|
|
6356
6369
|
};
|
|
6357
6370
|
EventBase.prototype.updateEventMinimumDuration = function (startEndHours, startTime, endTime) {
|
|
6358
|
-
|
|
6359
|
-
|
|
6360
|
-
|
|
6361
|
-
|
|
6362
|
-
|
|
6363
|
-
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
|
|
6371
|
+
if (startTime.getTime() < endTime.getTime()) {
|
|
6372
|
+
var eventDuration = (getUniversalTime(endTime) - getUniversalTime(startTime)) / MS_PER_MINUTE;
|
|
6373
|
+
if (eventDuration < this.parent.eventSettings.minimumEventDuration) {
|
|
6374
|
+
var tempEnd = new Date(startTime);
|
|
6375
|
+
tempEnd.setMinutes(tempEnd.getMinutes() + this.parent.eventSettings.minimumEventDuration);
|
|
6376
|
+
endTime = tempEnd;
|
|
6377
|
+
if (endTime.getTime() > startEndHours.endHour.getTime()) {
|
|
6378
|
+
var tempStart = new Date(startEndHours.endHour.getTime());
|
|
6379
|
+
tempStart.setMinutes(tempStart.getMinutes() - this.parent.eventSettings.minimumEventDuration);
|
|
6380
|
+
startTime = tempStart;
|
|
6381
|
+
endTime = startEndHours.endHour;
|
|
6382
|
+
}
|
|
6368
6383
|
}
|
|
6369
6384
|
}
|
|
6370
6385
|
return { startDate: startTime, endDate: endTime };
|
|
@@ -6910,6 +6925,9 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
6910
6925
|
var currentDate = resetTime(new Date(this.dateRender[resource][dayIndex].getTime()));
|
|
6911
6926
|
var schedule = getStartEndHours(currentDate, this.startHour, this.endHour);
|
|
6912
6927
|
var isValidEvent = this.isValidEvent(eventObj, eStart, eEnd, schedule);
|
|
6928
|
+
if ((eStart.getTime() < this.parent.minDate.getTime()) || (eEnd.getTime() > this.parent.maxDate.getTime())) {
|
|
6929
|
+
return;
|
|
6930
|
+
}
|
|
6913
6931
|
if (eStart <= eEnd && isValidEvent) {
|
|
6914
6932
|
var appHeight_1 = this.getHeight(eStart, eEnd);
|
|
6915
6933
|
if (eStart.getTime() > schedule.startHour.getTime()) {
|
|
@@ -7262,7 +7280,7 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
7262
7280
|
appElement = (this.parent.currentView === 'Month') ? appElement : [appElement[0]];
|
|
7263
7281
|
for (var _i = 0, appElement_1 = appElement; _i < appElement_1.length; _i++) {
|
|
7264
7282
|
var wrap = appElement_1[_i];
|
|
7265
|
-
if (
|
|
7283
|
+
if (wrap.parentElement && wrap.parentElement.parentNode) {
|
|
7266
7284
|
remove(wrap.parentElement);
|
|
7267
7285
|
}
|
|
7268
7286
|
}
|
|
@@ -7393,12 +7411,19 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
7393
7411
|
var filteredDates = this.getRenderedDates(dateRender);
|
|
7394
7412
|
this.getSlotDates(workDays || this.parent.activeViewOptions.workDays);
|
|
7395
7413
|
this.processBlockEvents(blockList, resIndex, resData);
|
|
7414
|
+
var events = [];
|
|
7396
7415
|
for (var _i = 0, eventsList_1 = eventsList; _i < eventsList_1.length; _i++) {
|
|
7397
7416
|
var event_1 = eventsList_1[_i];
|
|
7398
7417
|
if (this.parent.resourceBase && !resData) {
|
|
7399
7418
|
this.cssClass = this.parent.resourceBase.getCssClass(event_1);
|
|
7400
7419
|
}
|
|
7401
|
-
|
|
7420
|
+
events = events.concat(this.splitEvent(event_1, filteredDates || this.dateRender));
|
|
7421
|
+
}
|
|
7422
|
+
for (var level = 0; level < this.slots.length; level++) {
|
|
7423
|
+
this.renderedEvents = [];
|
|
7424
|
+
var slot = this.slots[level];
|
|
7425
|
+
var endDate = addDays(new Date(slot[slot.length - 1]), 1);
|
|
7426
|
+
var spannedEvents = this.filterEvents(new Date(slot[0]), endDate, events);
|
|
7402
7427
|
for (var _a = 0, spannedEvents_1 = spannedEvents; _a < spannedEvents_1.length; _a++) {
|
|
7403
7428
|
var event_2 = spannedEvents_1[_a];
|
|
7404
7429
|
if (this.maxHeight) {
|
|
@@ -7700,24 +7725,20 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
7700
7725
|
var startTime = event[this.fields.startTime];
|
|
7701
7726
|
var endTime = event[this.fields.endTime];
|
|
7702
7727
|
var day = this.parent.getIndexOfDate(this.dateRender, resetTime(startTime));
|
|
7703
|
-
if (day < 0) {
|
|
7704
|
-
return;
|
|
7705
|
-
}
|
|
7706
|
-
if ((startTime.getTime() < this.parent.minDate.getTime()) || (endTime.getTime() > this.parent.maxDate.getTime())) {
|
|
7728
|
+
if ((day < 0) || (startTime.getTime() < this.parent.minDate.getTime()) || (endTime.getTime() > this.parent.maxDate.getTime())) {
|
|
7707
7729
|
return;
|
|
7708
7730
|
}
|
|
7709
7731
|
var overlapCount = this.getIndex(startTime);
|
|
7710
7732
|
event.Index = overlapCount;
|
|
7711
|
-
var appHeight = this.eventHeight;
|
|
7712
|
-
this.renderedEvents.push(extend({}, event, null, true));
|
|
7713
7733
|
var diffInDays = event.data.count;
|
|
7714
7734
|
if (startTime.getTime() <= endTime.getTime()) {
|
|
7715
7735
|
var appWidth = (diffInDays * this.cellWidth) - 5;
|
|
7716
7736
|
var cellTd = this.workCells[day];
|
|
7717
|
-
var appTop = (overlapCount * (
|
|
7718
|
-
var height = this.monthHeaderHeight + ((overlapCount + 1) * (
|
|
7737
|
+
var appTop = (overlapCount * (this.eventHeight + EVENT_GAP));
|
|
7738
|
+
var height = this.monthHeaderHeight + ((overlapCount + 1) * (this.eventHeight + EVENT_GAP)) + this.moreIndicatorHeight;
|
|
7719
7739
|
var enableAppRender = this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
|
|
7720
7740
|
if (this.parent.rowAutoHeight || enableAppRender) {
|
|
7741
|
+
this.renderedEvents.push(extend({}, event, null, true));
|
|
7721
7742
|
var appointmentElement = void 0;
|
|
7722
7743
|
if (this.inlineValue) {
|
|
7723
7744
|
appointmentElement = this.parent.inlineModule.createInlineAppointmentElement();
|
|
@@ -7736,24 +7757,26 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
7736
7757
|
}
|
|
7737
7758
|
else {
|
|
7738
7759
|
for (var i = 0; i < diffInDays; i++) {
|
|
7739
|
-
|
|
7740
|
-
|
|
7741
|
-
|
|
7742
|
-
|
|
7743
|
-
|
|
7744
|
-
|
|
7745
|
-
|
|
7746
|
-
|
|
7747
|
-
|
|
7748
|
-
|
|
7749
|
-
|
|
7750
|
-
|
|
7751
|
-
|
|
7760
|
+
if (this.workCells[day + i]) {
|
|
7761
|
+
var indicator = this.workCells[day + i].querySelector('.' + MORE_INDICATOR_CLASS);
|
|
7762
|
+
if (indicator) {
|
|
7763
|
+
var count = parseInt(indicator.getAttribute('data-count'), 10) + 1;
|
|
7764
|
+
indicator.setAttribute('data-count', count.toString());
|
|
7765
|
+
indicator.innerHTML = this.getMoreIndicatorText(count);
|
|
7766
|
+
}
|
|
7767
|
+
else {
|
|
7768
|
+
var startDate = new Date(this.dateRender[day + i].getTime());
|
|
7769
|
+
var endDate = addDays(this.dateRender[day + i], 1);
|
|
7770
|
+
var groupIndex = this.workCells[day + i].getAttribute('data-group-index');
|
|
7771
|
+
var moreIndicatorElement = this.getMoreIndicatorElement(1, startDate, endDate);
|
|
7772
|
+
if (!isNullOrUndefined(groupIndex)) {
|
|
7773
|
+
moreIndicatorElement.setAttribute('data-group-index', groupIndex);
|
|
7774
|
+
}
|
|
7775
|
+
moreIndicatorElement.style.top = (this.cellHeight - this.monthHeaderHeight - this.moreIndicatorHeight) + 'px';
|
|
7776
|
+
moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
|
|
7777
|
+
this.renderElement(this.workCells[day + i], moreIndicatorElement);
|
|
7778
|
+
EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
|
|
7752
7779
|
}
|
|
7753
|
-
moreIndicatorElement.style.top = appArea + 'px';
|
|
7754
|
-
moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
|
|
7755
|
-
this.renderElement(cellTd_1, moreIndicatorElement);
|
|
7756
|
-
EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
|
|
7757
7780
|
}
|
|
7758
7781
|
}
|
|
7759
7782
|
}
|
|
@@ -7790,9 +7813,9 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
7790
7813
|
};
|
|
7791
7814
|
MonthEvent.prototype.getOverlapEvents = function (date, appointments) {
|
|
7792
7815
|
var appointmentsList = [];
|
|
7816
|
+
var dateTime = resetTime(date).getTime();
|
|
7793
7817
|
for (var _i = 0, appointments_1 = appointments; _i < appointments_1.length; _i++) {
|
|
7794
7818
|
var app = appointments_1[_i];
|
|
7795
|
-
var dateTime = resetTime(date).getTime();
|
|
7796
7819
|
if ((resetTime(app[this.fields.startTime]).getTime() <= dateTime) &&
|
|
7797
7820
|
(resetTime(app[this.fields.endTime]).getTime() >= dateTime)) {
|
|
7798
7821
|
appointmentsList.push(app);
|
|
@@ -7876,9 +7899,10 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
7876
7899
|
MonthEvent.prototype.getMoreIndicatorElement = function (count, startDate, endDate) {
|
|
7877
7900
|
var moreIndicatorElement = createElement('div', {
|
|
7878
7901
|
className: MORE_INDICATOR_CLASS,
|
|
7879
|
-
innerHTML:
|
|
7902
|
+
innerHTML: this.getMoreIndicatorText(count),
|
|
7880
7903
|
attrs: {
|
|
7881
7904
|
'tabindex': '0',
|
|
7905
|
+
'data-count': count.toString(),
|
|
7882
7906
|
'data-start-date': startDate.getTime().toString(),
|
|
7883
7907
|
'data-end-date': endDate.getTime().toString(),
|
|
7884
7908
|
'role': 'list'
|
|
@@ -7886,6 +7910,9 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
7886
7910
|
});
|
|
7887
7911
|
return moreIndicatorElement;
|
|
7888
7912
|
};
|
|
7913
|
+
MonthEvent.prototype.getMoreIndicatorText = function (count) {
|
|
7914
|
+
return '+' + this.parent.globalize.formatNumber(count) + ' ' + (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more'));
|
|
7915
|
+
};
|
|
7889
7916
|
MonthEvent.prototype.removeHeightProperty = function (selector) {
|
|
7890
7917
|
var rows = [].slice.call(this.element.querySelectorAll('.' + selector + ' tbody tr'));
|
|
7891
7918
|
for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {
|
|
@@ -9523,11 +9550,11 @@ var QuickPopups = /** @__PURE__ @class */ (function () {
|
|
|
9523
9550
|
(endDate.getTime() - startDate.getTime()) / (60 * 60 * 1000) < 24 ? 1 : 0;
|
|
9524
9551
|
if (eventData[fields.isAllDay]) {
|
|
9525
9552
|
details = startDateDetails + ' (' + this.l10n.getConstant('allDay') + ')';
|
|
9526
|
-
if (((endDate
|
|
9553
|
+
if (((getUniversalTime(endDate) - getUniversalTime(startDate)) / MS_PER_DAY) > 1) {
|
|
9527
9554
|
details += ' - ' + endDateDetails + ' (' + this.l10n.getConstant('allDay') + ')';
|
|
9528
9555
|
}
|
|
9529
9556
|
}
|
|
9530
|
-
else if ((((endDate
|
|
9557
|
+
else if ((((getUniversalTime(endDate) - getUniversalTime(startDate)) / MS_PER_DAY) >= 1) || spanLength > 0) {
|
|
9531
9558
|
details = startDateDetails + ' (' + startTimeDetail + ')' + ' - ' + endDateDetails + ' (' + endTimeDetail + ')';
|
|
9532
9559
|
}
|
|
9533
9560
|
else {
|
|
@@ -12008,7 +12035,8 @@ var EventWindow = /** @__PURE__ @class */ (function () {
|
|
|
12008
12035
|
return labelText;
|
|
12009
12036
|
};
|
|
12010
12037
|
EventWindow.prototype.onChange = function (args) {
|
|
12011
|
-
var
|
|
12038
|
+
var targetSelector = "." + EVENT_WINDOW_ALL_DAY_CLASS + ",." + TIME_ZONE_CLASS + ",." + EVENT_WINDOW_REPEAT_CLASS;
|
|
12039
|
+
var target = closest(args.event.target, targetSelector);
|
|
12012
12040
|
if (target.classList.contains(EVENT_WINDOW_ALL_DAY_CLASS)) {
|
|
12013
12041
|
this.onAllDayChange(args.checked);
|
|
12014
12042
|
}
|
|
@@ -12174,7 +12202,8 @@ var EventWindow = /** @__PURE__ @class */ (function () {
|
|
|
12174
12202
|
};
|
|
12175
12203
|
EventWindow.prototype.showDetails = function (eventData) {
|
|
12176
12204
|
var eventObj = extend({}, eventData, null, true);
|
|
12177
|
-
if (
|
|
12205
|
+
if ((!this.cellClickAction || this.cellClickAction && !isNullOrUndefined(this.parent.editorTemplate)) &&
|
|
12206
|
+
eventObj[this.fields.endTime].getHours() === 0 && eventObj[this.fields.endTime].getMinutes() === 0) {
|
|
12178
12207
|
this.trimAllDay(eventObj);
|
|
12179
12208
|
}
|
|
12180
12209
|
this.eventData = eventObj;
|
|
@@ -13489,7 +13518,8 @@ var Render = /** @__PURE__ @class */ (function () {
|
|
|
13489
13518
|
this.parent.virtualScrollModule.destroy();
|
|
13490
13519
|
this.parent.virtualScrollModule = null;
|
|
13491
13520
|
}
|
|
13492
|
-
if (this.parent.currentView.indexOf('Timeline') !== -1 && this.parent.currentView.indexOf('Year') === -1
|
|
13521
|
+
if (this.parent.currentView.indexOf('Timeline') !== -1 && (this.parent.currentView.indexOf('Year') === -1 ||
|
|
13522
|
+
(this.parent.currentView === 'TimelineYear' && this.parent.activeViewOptions.orientation === 'Vertical'))
|
|
13493
13523
|
&& this.parent.activeViewOptions.allowVirtualScrolling
|
|
13494
13524
|
&& this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
13495
13525
|
this.parent.virtualScrollModule = new VirtualScroll(this.parent);
|
|
@@ -16325,6 +16355,7 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
|
|
|
16325
16355
|
};
|
|
16326
16356
|
_this.trigger(navigating, navArgs, function (navigationArgs) {
|
|
16327
16357
|
if (!navigationArgs.cancel) {
|
|
16358
|
+
_this.uiStateValues.isInitial = view.indexOf('Timeline') > -1 || _this.currentView.indexOf('Timeline') > -1 ? true : _this.uiStateValues.isInitial;
|
|
16328
16359
|
_this.viewIndex = navigationArgs.viewIndex;
|
|
16329
16360
|
_this.setProperties({ currentView: view }, true);
|
|
16330
16361
|
if (_this.headerModule) {
|
|
@@ -16949,6 +16980,9 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
|
|
|
16949
16980
|
if (document.querySelectorAll(template).length) {
|
|
16950
16981
|
return compile(document.querySelector(template).innerHTML.trim());
|
|
16951
16982
|
}
|
|
16983
|
+
else {
|
|
16984
|
+
return compile(template);
|
|
16985
|
+
}
|
|
16952
16986
|
}
|
|
16953
16987
|
catch (error) {
|
|
16954
16988
|
return compile(template);
|
|
@@ -17128,8 +17162,12 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
|
|
|
17128
17162
|
this.refreshEvents(false);
|
|
17129
17163
|
}
|
|
17130
17164
|
break;
|
|
17131
|
-
case 'showWeekend':
|
|
17132
17165
|
case 'workDays':
|
|
17166
|
+
if (JSON.stringify(oldProp.workDays) !== JSON.stringify(newProp.workDays)) {
|
|
17167
|
+
state.isLayout = true;
|
|
17168
|
+
}
|
|
17169
|
+
break;
|
|
17170
|
+
case 'showWeekend':
|
|
17133
17171
|
case 'startHour':
|
|
17134
17172
|
case 'endHour':
|
|
17135
17173
|
case 'workHours':
|
|
@@ -19834,7 +19872,9 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
19834
19872
|
this.eventHeight = getElementHeightFromClass(eventTable, APPOINTMENT_CLASS);
|
|
19835
19873
|
var wrapperCollection = [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_CONTAINER_CLASS));
|
|
19836
19874
|
var resources = this.parent.uiStateValues.isGroupAdaptive ?
|
|
19837
|
-
[this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] :
|
|
19875
|
+
[this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] :
|
|
19876
|
+
this.parent.activeViewOptions.allowVirtualScrolling ? this.parent.resourceBase.renderedResources :
|
|
19877
|
+
this.parent.resourceBase.lastResourceLevel;
|
|
19838
19878
|
var months = this.getMonths();
|
|
19839
19879
|
if (this.parent.activeViewOptions.orientation === 'Horizontal') {
|
|
19840
19880
|
for (var month = 0; month < months.length; month++) {
|
|
@@ -20694,7 +20734,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
|
|
|
20694
20734
|
var eventObj = extend({}, this.actionObj.event, null, true);
|
|
20695
20735
|
var eventStart = eventObj[this.parent.eventFields.startTime];
|
|
20696
20736
|
var eventEnd = eventObj[this.parent.eventFields.endTime];
|
|
20697
|
-
var eventDuration = eventEnd
|
|
20737
|
+
var eventDuration = getUniversalTime(eventEnd) - getUniversalTime(eventStart);
|
|
20698
20738
|
var offsetTop = Math.floor(parseInt(this.actionObj.clone.style.top, 10) / this.actionObj.cellHeight)
|
|
20699
20739
|
* this.actionObj.cellHeight;
|
|
20700
20740
|
offsetTop = offsetTop < 0 ? 0 : offsetTop;
|
|
@@ -21053,8 +21093,8 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
|
|
|
21053
21093
|
if (isNullOrUndefined(this.parent.eventDragArea)) {
|
|
21054
21094
|
this.removeCloneElement();
|
|
21055
21095
|
}
|
|
21056
|
-
var eventDuration = eventObj[this.parent.eventFields.endTime]
|
|
21057
|
-
eventObj[this.parent.eventFields.startTime]
|
|
21096
|
+
var eventDuration = getUniversalTime(eventObj[this.parent.eventFields.endTime]) -
|
|
21097
|
+
getUniversalTime(eventObj[this.parent.eventFields.startTime]);
|
|
21058
21098
|
var td = closest(this.actionObj.target, 'td');
|
|
21059
21099
|
if (!isNullOrUndefined(td)) {
|
|
21060
21100
|
var tr = td.parentElement;
|
|
@@ -21068,11 +21108,11 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
|
|
|
21068
21108
|
}
|
|
21069
21109
|
var timeString = new Date(currentDate.setDate(currentDate.getDate() - this.daysVariation));
|
|
21070
21110
|
var dragStart$$1 = new Date(timeString.getTime());
|
|
21111
|
+
var startTimeDiff = getUniversalTime(eventObj[this.parent.eventFields.startTime]) -
|
|
21112
|
+
getUniversalTime(resetTime(new Date(+eventObj[this.parent.eventFields.startTime])));
|
|
21113
|
+
dragStart$$1.setMilliseconds(startTimeDiff);
|
|
21071
21114
|
var dragEnd = new Date(dragStart$$1.getTime());
|
|
21072
|
-
|
|
21073
|
-
(resetTime(new Date(+eventObj[this.parent.eventFields.startTime]))).getTime();
|
|
21074
|
-
dragStart$$1 = new Date(dragStart$$1.getTime() + startTimeDiff);
|
|
21075
|
-
dragEnd = new Date(dragStart$$1.getTime() + eventDuration);
|
|
21115
|
+
dragEnd.setMilliseconds(eventDuration);
|
|
21076
21116
|
this.actionObj.start = new Date(dragStart$$1.getTime());
|
|
21077
21117
|
this.actionObj.end = new Date(dragEnd.getTime());
|
|
21078
21118
|
}
|
|
@@ -21128,8 +21168,8 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
|
|
|
21128
21168
|
};
|
|
21129
21169
|
DragAndDrop.prototype.calculateTimelineTime = function (e) {
|
|
21130
21170
|
var eventObj = extend({}, this.actionObj.event, null, true);
|
|
21131
|
-
var eventDuration = eventObj[this.parent.eventFields.endTime]
|
|
21132
|
-
eventObj[this.parent.eventFields.startTime]
|
|
21171
|
+
var eventDuration = getUniversalTime(eventObj[this.parent.eventFields.endTime]) -
|
|
21172
|
+
getUniversalTime(eventObj[this.parent.eventFields.startTime]);
|
|
21133
21173
|
var offsetLeft = this.parent.enableRtl ? Math.abs(this.actionObj.clone.offsetLeft) - this.actionObj.clone.offsetWidth :
|
|
21134
21174
|
parseInt(this.actionObj.clone.style.left, 10);
|
|
21135
21175
|
offsetLeft = Math.floor(offsetLeft / this.actionObj.cellWidth) * this.actionObj.cellWidth;
|
|
@@ -22685,8 +22725,9 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
|
|
|
22685
22725
|
var msStartHour = startHour.getTime();
|
|
22686
22726
|
var msEndHour = endHour.getTime();
|
|
22687
22727
|
if (msStartHour !== msEndHour) {
|
|
22728
|
+
var duration = this.parent.activeViewOptions.timeScale.interval / this.parent.activeViewOptions.timeScale.slotCount;
|
|
22688
22729
|
length = (Math.abs(msEndHour - msStartHour) / msInterval) - ((new Date(msEndHour).getTimezoneOffset()
|
|
22689
|
-
- new Date(msStartHour).getTimezoneOffset()) /
|
|
22730
|
+
- new Date(msStartHour).getTimezoneOffset()) / duration);
|
|
22690
22731
|
}
|
|
22691
22732
|
if (!this.parent.activeViewOptions.timeScale.enable) {
|
|
22692
22733
|
length = 1;
|
|
@@ -22960,16 +23001,16 @@ var Month = /** @__PURE__ @class */ (function (_super) {
|
|
|
22960
23001
|
}
|
|
22961
23002
|
this.setColWidth(content);
|
|
22962
23003
|
if (args.scrollPosition || !args.isPreventScrollUpdate && this.parent.currentView === 'TimelineMonth') {
|
|
23004
|
+
var top_1 = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.top : args.scrollPosition.top;
|
|
23005
|
+
if (leftPanel) {
|
|
23006
|
+
leftPanel.scrollTop = top_1;
|
|
23007
|
+
}
|
|
23008
|
+
content.scrollTop = top_1;
|
|
22963
23009
|
if (this.parent.uiStateValues.isInitial) {
|
|
22964
23010
|
this.scrollToSelectedDate();
|
|
22965
23011
|
this.parent.uiStateValues.isInitial = false;
|
|
22966
23012
|
}
|
|
22967
23013
|
else {
|
|
22968
|
-
var top_1 = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.top : args.scrollPosition.top;
|
|
22969
|
-
if (leftPanel) {
|
|
22970
|
-
leftPanel.scrollTop = top_1;
|
|
22971
|
-
}
|
|
22972
|
-
content.scrollTop = top_1;
|
|
22973
23014
|
content.scrollLeft = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.left :
|
|
22974
23015
|
args.scrollPosition.left;
|
|
22975
23016
|
}
|
|
@@ -22990,6 +23031,9 @@ var Month = /** @__PURE__ @class */ (function (_super) {
|
|
|
22990
23031
|
else {
|
|
22991
23032
|
content.scrollLeft = 0;
|
|
22992
23033
|
}
|
|
23034
|
+
if (content.scrollLeft === 0 && this.parent.uiStateValues.isInitial) {
|
|
23035
|
+
this.parent.uiStateValues.left = 0;
|
|
23036
|
+
}
|
|
22993
23037
|
};
|
|
22994
23038
|
Month.prototype.setContentHeight = function (content, leftPanelElement, height) {
|
|
22995
23039
|
content.style.height = 'auto';
|
|
@@ -23564,6 +23608,9 @@ var Year = /** @__PURE__ @class */ (function (_super) {
|
|
|
23564
23608
|
var viewTypeClass = this.parent.activeViewOptions.orientation === 'Horizontal' ? 'e-horizontal' : 'e-vertical';
|
|
23565
23609
|
addClass([this.element], [this.viewClass, viewTypeClass, className]);
|
|
23566
23610
|
this.renderPanel(className);
|
|
23611
|
+
if (this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
23612
|
+
addClass([this.element], [VIRTUAL_SCROLL_CLASS]);
|
|
23613
|
+
}
|
|
23567
23614
|
var calendarTable = this.createTableLayout(OUTER_TABLE_CLASS);
|
|
23568
23615
|
this.element.appendChild(calendarTable);
|
|
23569
23616
|
this.element.querySelector('table').setAttribute('role', 'presentation');
|
|
@@ -23784,6 +23831,7 @@ var Year = /** @__PURE__ @class */ (function (_super) {
|
|
|
23784
23831
|
Year.prototype.onContentScroll = function (e) {
|
|
23785
23832
|
var target = e.target;
|
|
23786
23833
|
var headerWrapper = this.getDatesHeaderElement();
|
|
23834
|
+
this.parent.notify(virtualScroll, e);
|
|
23787
23835
|
if (headerWrapper) {
|
|
23788
23836
|
headerWrapper.firstElementChild.scrollLeft = target.scrollLeft;
|
|
23789
23837
|
}
|
|
@@ -23956,8 +24004,11 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
|
|
|
23956
24004
|
moduleName: 'agenda',
|
|
23957
24005
|
listClass: this.parent.activeView.viewClass,
|
|
23958
24006
|
itemClass: this.parent.activeView.viewClass,
|
|
23959
|
-
template:
|
|
24007
|
+
template: "<div class=\"" + AGENDA_NO_EVENT_CLASS + "\">" + this.parent.localeObj.getConstant('noEvents') + "</div>"
|
|
23960
24008
|
});
|
|
24009
|
+
if (listElement.querySelector('.e-agenda-item').children.length === 0) {
|
|
24010
|
+
listElement.firstElementChild.appendChild(createElement('div', { className: AGENDA_NO_EVENT_CLASS, innerHTML: this.parent.localeObj.getConstant('noEvents') }));
|
|
24011
|
+
}
|
|
23961
24012
|
}
|
|
23962
24013
|
else {
|
|
23963
24014
|
listElement = ListBase.createList(this.parent.createElement, listData, {
|
|
@@ -25608,7 +25659,7 @@ var TimelineYear = /** @__PURE__ @class */ (function (_super) {
|
|
|
25608
25659
|
!this.parent.uiStateValues.isGroupAdaptive) {
|
|
25609
25660
|
tdCollection.push(firstTd);
|
|
25610
25661
|
firstTd.appendChild(this.parent.resourceBase.createResourceColumn());
|
|
25611
|
-
this.rowCount = this.parent.resourceBase.
|
|
25662
|
+
this.rowCount = this.parent.resourceBase.renderedResources.length;
|
|
25612
25663
|
}
|
|
25613
25664
|
else {
|
|
25614
25665
|
tdCollection.push(firstTd);
|
|
@@ -25625,6 +25676,9 @@ var TimelineYear = /** @__PURE__ @class */ (function (_super) {
|
|
|
25625
25676
|
content.appendChild(contentTable);
|
|
25626
25677
|
var eventWrapper = createElement('div', { className: EVENT_TABLE_CLASS });
|
|
25627
25678
|
content.appendChild(eventWrapper);
|
|
25679
|
+
if (this.parent.virtualScrollModule) {
|
|
25680
|
+
this.parent.virtualScrollModule.renderVirtualTrack(content);
|
|
25681
|
+
}
|
|
25628
25682
|
var contentTBody = contentTable.querySelector('tbody');
|
|
25629
25683
|
if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
25630
25684
|
if (this.parent.rowAutoHeight) {
|
|
@@ -25742,6 +25796,47 @@ var TimelineYear = /** @__PURE__ @class */ (function (_super) {
|
|
|
25742
25796
|
}
|
|
25743
25797
|
}
|
|
25744
25798
|
};
|
|
25799
|
+
TimelineYear.prototype.getContentRows = function () {
|
|
25800
|
+
var tRow = [];
|
|
25801
|
+
var monthCells = this.getMonths();
|
|
25802
|
+
for (var row = 0; row < this.parent.resourceBase.renderedResources.length; row++) {
|
|
25803
|
+
var tr = createElement('tr', { attrs: { 'role': 'row' } });
|
|
25804
|
+
tRow.push(tr);
|
|
25805
|
+
var resData = void 0;
|
|
25806
|
+
if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
25807
|
+
resData = this.parent.resourceBase.renderedResources[row];
|
|
25808
|
+
}
|
|
25809
|
+
var monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[row], 1);
|
|
25810
|
+
var date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
|
|
25811
|
+
for (var month = 0; month < this.columnCount; month++) {
|
|
25812
|
+
var classList$$1 = [];
|
|
25813
|
+
var groupIndex = resData.groupIndex;
|
|
25814
|
+
classList$$1 = classList$$1.concat(resData.className);
|
|
25815
|
+
if (classList$$1.indexOf(RESOURCE_PARENT_CLASS) > -1) {
|
|
25816
|
+
classList$$1.push(RESOURCE_GROUP_CELLS_CLASS);
|
|
25817
|
+
}
|
|
25818
|
+
else {
|
|
25819
|
+
classList$$1.push(WORKDAY_CLASS);
|
|
25820
|
+
}
|
|
25821
|
+
monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[month], 1);
|
|
25822
|
+
date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
|
|
25823
|
+
var tdELe = createElement('td', {
|
|
25824
|
+
className: WORK_CELLS_CLASS,
|
|
25825
|
+
attrs: {
|
|
25826
|
+
'role': 'gridcell', 'aria-selected': 'false',
|
|
25827
|
+
'data-date': date.getTime().toString()
|
|
25828
|
+
}
|
|
25829
|
+
});
|
|
25830
|
+
addClass([tdELe], classList$$1);
|
|
25831
|
+
tdELe.setAttribute('data-group-index', groupIndex.toString());
|
|
25832
|
+
this.renderCellTemplate({ date: date, type: 'resourceGroupCells', groupIndex: groupIndex }, tdELe);
|
|
25833
|
+
this.wireEvents(tdELe, 'cell');
|
|
25834
|
+
this.parent.trigger(renderCell, { elementType: 'resourceGroupCells', element: tdELe, date: date });
|
|
25835
|
+
tr.appendChild(tdELe);
|
|
25836
|
+
}
|
|
25837
|
+
}
|
|
25838
|
+
return tRow;
|
|
25839
|
+
};
|
|
25745
25840
|
TimelineYear.prototype.renderResourceContent = function (wrapper, monthBody, contentBody) {
|
|
25746
25841
|
var months = this.getMonths();
|
|
25747
25842
|
for (var row = 0; row < this.rowCount; row++) {
|
|
@@ -25749,8 +25844,8 @@ var TimelineYear = /** @__PURE__ @class */ (function (_super) {
|
|
|
25749
25844
|
var tr = createElement('tr', { attrs: { 'role': 'row' } });
|
|
25750
25845
|
contentBody.appendChild(tr);
|
|
25751
25846
|
var resData = void 0;
|
|
25752
|
-
if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
25753
|
-
resData = this.parent.resourceBase.
|
|
25847
|
+
if (this.parent.activeViewOptions.orientation === 'Vertical' && this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
25848
|
+
resData = this.parent.resourceBase.renderedResources[row];
|
|
25754
25849
|
}
|
|
25755
25850
|
var monthDate = new Date(this.parent.selectedDate.getFullYear(), months[row], 1);
|
|
25756
25851
|
var date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
|
|
@@ -25771,8 +25866,9 @@ var TimelineYear = /** @__PURE__ @class */ (function (_super) {
|
|
|
25771
25866
|
}
|
|
25772
25867
|
for (var month = 0; month < this.columnCount; month++) {
|
|
25773
25868
|
var classList$$1 = [];
|
|
25774
|
-
var groupIndex =
|
|
25869
|
+
var groupIndex = void 0;
|
|
25775
25870
|
if (this.parent.activeViewOptions.orientation === 'Vertical') {
|
|
25871
|
+
groupIndex = resData.groupIndex;
|
|
25776
25872
|
classList$$1 = classList$$1.concat(resData.className);
|
|
25777
25873
|
if (classList$$1.indexOf(RESOURCE_PARENT_CLASS) > -1) {
|
|
25778
25874
|
classList$$1.push(RESOURCE_GROUP_CELLS_CLASS);
|
|
@@ -25876,7 +25972,7 @@ var ICalendarExport = /** @__PURE__ @class */ (function () {
|
|
|
25876
25972
|
var editedExDate = [];
|
|
25877
25973
|
if (eventObj[fields.recurrenceID]) {
|
|
25878
25974
|
var filter = _this.filterEvents(filterCollection, fields.id, eventObj[fields.recurrenceID]);
|
|
25879
|
-
uId = filter[0].UID;
|
|
25975
|
+
uId = filter.length > 0 ? filter[0].UID : uId;
|
|
25880
25976
|
}
|
|
25881
25977
|
if (!eventObj[fields.recurrenceID] && eventObj[fields.recurrenceRule] && eventObj[fields.recurrenceException]) {
|
|
25882
25978
|
var exDate = (eventObj[fields.recurrenceException]).split(',');
|