@syncfusion/ej2-schedule 27.1.55 → 27.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/dist/ej2-schedule.min.js +2 -2
- 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 +68 -13
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +68 -13
- 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 +9 -9
- package/src/recurrence-editor/date-generator.js +4 -3
- package/src/schedule/base/constant.d.ts +8 -0
- package/src/schedule/base/constant.js +8 -0
- package/src/schedule/event-renderer/agenda-base.d.ts +1 -1
- package/src/schedule/event-renderer/agenda-base.js +16 -1
- package/src/schedule/event-renderer/event-base.d.ts +2 -0
- package/src/schedule/event-renderer/event-base.js +32 -5
- package/src/schedule/renderer/agenda.js +5 -1
|
@@ -66,6 +66,14 @@ var cellSelect = 'cellSelect';
|
|
|
66
66
|
var virtualScrollStart = 'virtualScrollStart';
|
|
67
67
|
/** @private */
|
|
68
68
|
var virtualScrollStop = 'virtualScrollStop';
|
|
69
|
+
/** @private */
|
|
70
|
+
var noEvents = 'noEvents';
|
|
71
|
+
/** @private */
|
|
72
|
+
var agendaCells = 'agendaCells';
|
|
73
|
+
/** @private */
|
|
74
|
+
var resourceHeader = 'resourceHeader';
|
|
75
|
+
/** @private */
|
|
76
|
+
var dateHeader = 'dateHeader';
|
|
69
77
|
/**
|
|
70
78
|
* Specifies schedule internal events
|
|
71
79
|
*/
|
|
@@ -4071,7 +4079,7 @@ function generate(startDate, rule, excludeDate, startDayOfWeek, maximumCount, vi
|
|
|
4071
4079
|
dailyType(modifiedDate, ruleObject.until, data, ruleObject);
|
|
4072
4080
|
break;
|
|
4073
4081
|
case 'WEEKLY':
|
|
4074
|
-
weeklyType(modifiedDate, ruleObject.until, data, ruleObject);
|
|
4082
|
+
weeklyType(modifiedDate, ruleObject.until, data, ruleObject, startDayOfWeek);
|
|
4075
4083
|
break;
|
|
4076
4084
|
case 'MONTHLY':
|
|
4077
4085
|
monthlyType(modifiedDate, ruleObject.until, data, ruleObject);
|
|
@@ -4174,10 +4182,11 @@ function dailyType(startDate, endDate, data, ruleObject) {
|
|
|
4174
4182
|
* @param {Date} endDate Accepts the end date
|
|
4175
4183
|
* @param {number[]} data Accepts the collection of dates
|
|
4176
4184
|
* @param {RecRule} ruleObject Accepts the recurrence rule object
|
|
4185
|
+
* @param {number} startDayOfWeek Accepts the start day index of week
|
|
4177
4186
|
* @returns {void}
|
|
4178
4187
|
* @private
|
|
4179
4188
|
*/
|
|
4180
|
-
function weeklyType(startDate, endDate, data, ruleObject) {
|
|
4189
|
+
function weeklyType(startDate, endDate, data, ruleObject, startDayOfWeek) {
|
|
4181
4190
|
var tempDate = new Date(startDate.getTime());
|
|
4182
4191
|
if (!ruleObject.day.length) {
|
|
4183
4192
|
ruleObject.day.push(DAYINDEX[startDate.getDay()]);
|
|
@@ -4226,7 +4235,7 @@ function weeklyType(startDate, endDate, data, ruleObject) {
|
|
|
4226
4235
|
}
|
|
4227
4236
|
else {
|
|
4228
4237
|
tempDate = getStartDateForWeek(startDate, ruleObject.day);
|
|
4229
|
-
if (interval > 1 && dayIndex.indexOf(ruleObject.day[0]) < startDate.getDay()) {
|
|
4238
|
+
if (interval > 1 && dayIndex.indexOf(ruleObject.day[0]) < (startDate.getDay() - startDayOfWeek)) {
|
|
4230
4239
|
tempDate.setDate(tempDate.getDate() + ((interval - 1) * 7));
|
|
4231
4240
|
}
|
|
4232
4241
|
while (compareDates(tempDate, endDate)) {
|
|
@@ -6132,11 +6141,14 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
6132
6141
|
if (eventsData.length > 0) {
|
|
6133
6142
|
var selectedObject = eventsData[eventsData.length - 1];
|
|
6134
6143
|
var eventStartTime = selectedObject[this.parent.eventFields.startTime];
|
|
6135
|
-
var nearestTime =
|
|
6144
|
+
var nearestTime = void 0;
|
|
6136
6145
|
var isAllDay = this.isAllDayAppointment(selectedObject);
|
|
6137
|
-
if (this.parent.currentView === 'Month' || isAllDay) {
|
|
6146
|
+
if (this.parent.currentView === 'Month' || isAllDay || !this.parent.activeViewOptions.timeScale.enable) {
|
|
6138
6147
|
nearestTime = new Date(+eventStartTime).setHours(0, 0, 0, 0);
|
|
6139
6148
|
}
|
|
6149
|
+
else {
|
|
6150
|
+
nearestTime = this.findNearestSlot(eventStartTime);
|
|
6151
|
+
}
|
|
6140
6152
|
var targetArea = void 0;
|
|
6141
6153
|
if (isAllDay && ['Day', 'Week', 'WorkWeek'].indexOf(this.parent.currentView) !== -1) {
|
|
6142
6154
|
targetArea = this.parent.getAllDayRow();
|
|
@@ -6145,7 +6157,8 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
6145
6157
|
targetArea = this.parent.getContentTable();
|
|
6146
6158
|
}
|
|
6147
6159
|
var queryString = '[data-date="' + new Date(nearestTime).getTime() + '"]';
|
|
6148
|
-
if (this.parent.activeViewOptions.group.resources
|
|
6160
|
+
if (!isNullOrUndefined(this.parent.activeViewOptions.group.resources) &&
|
|
6161
|
+
this.parent.activeViewOptions.group.resources.length > 0) {
|
|
6149
6162
|
queryString += '[data-group-index="' + this.getGroupIndexFromEvent(selectedObject) + '"]';
|
|
6150
6163
|
}
|
|
6151
6164
|
target = targetArea.querySelector(queryString);
|
|
@@ -6159,6 +6172,25 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
6159
6172
|
}
|
|
6160
6173
|
return target;
|
|
6161
6174
|
};
|
|
6175
|
+
EventBase.prototype.findNearestSlot = function (appointmentTime) {
|
|
6176
|
+
var msMajorInterval = this.parent.activeViewOptions.timeScale.interval * MS_PER_MINUTE;
|
|
6177
|
+
var msInterval = msMajorInterval / this.parent.activeViewOptions.timeScale.slotCount;
|
|
6178
|
+
var numberOfSlots = Math.round(MS_PER_DAY / msInterval);
|
|
6179
|
+
var startTime = new Date(appointmentTime);
|
|
6180
|
+
startTime.setHours(0, 0, 0, 0);
|
|
6181
|
+
var slots = Array.from({ length: numberOfSlots }, function (_, i) {
|
|
6182
|
+
var slotTime = new Date(startTime.getTime() + i * msInterval);
|
|
6183
|
+
return slotTime;
|
|
6184
|
+
});
|
|
6185
|
+
var nearestSlot = slots.reduce(function (nearest, slot) {
|
|
6186
|
+
var difference = Math.abs(appointmentTime.getTime() - slot.getTime());
|
|
6187
|
+
if (!nearest || difference < Math.abs(appointmentTime.getTime() - nearest.getTime())) {
|
|
6188
|
+
return slot;
|
|
6189
|
+
}
|
|
6190
|
+
return nearest;
|
|
6191
|
+
}, null);
|
|
6192
|
+
return Math.trunc(nearestSlot.getTime() / 1000) * 1000;
|
|
6193
|
+
};
|
|
6162
6194
|
EventBase.prototype.getGroupIndexFromEvent = function (eventData) {
|
|
6163
6195
|
var levelIndex;
|
|
6164
6196
|
var resource;
|
|
@@ -6460,7 +6492,7 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
6460
6492
|
var newTimezone = this.parent.timezone || this.parent.tzModule.getLocalTimezoneName();
|
|
6461
6493
|
var firstDay = this.parent.activeViewOptions.firstDayOfWeek;
|
|
6462
6494
|
var calendarMode = this.parent.calendarMode;
|
|
6463
|
-
if (event[this.parent.eventFields.recurrenceRule] &&
|
|
6495
|
+
if (event[this.parent.eventFields.recurrenceRule] && this.isDayBasedRecurrence(event) &&
|
|
6464
6496
|
this.parent.timezone && event[this.parent.eventFields.startTimezone] && event[this.parent.eventFields.endTimezone]) {
|
|
6465
6497
|
startDate = this.parent.tzModule.convert(event[this.parent.eventFields.startTime], this.parent.timezone, event[this.parent.eventFields.startTimezone]);
|
|
6466
6498
|
}
|
|
@@ -6480,7 +6512,7 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
6480
6512
|
}
|
|
6481
6513
|
var isDSTAdjusted = false;
|
|
6482
6514
|
var convertedDates = [];
|
|
6483
|
-
if (event[this.parent.eventFields.recurrenceRule] &&
|
|
6515
|
+
if (event[this.parent.eventFields.recurrenceRule] && this.isDayBasedRecurrence(event) &&
|
|
6484
6516
|
this.parent.timezone && event[this.parent.eventFields.startTimezone] && event[this.parent.eventFields.endTimezone]) {
|
|
6485
6517
|
isDSTAdjusted = true;
|
|
6486
6518
|
convertedDates.push.apply(convertedDates, dates.map(function (date) {
|
|
@@ -6503,6 +6535,10 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
6503
6535
|
}
|
|
6504
6536
|
return occurrenceCollection;
|
|
6505
6537
|
};
|
|
6538
|
+
EventBase.prototype.isDayBasedRecurrence = function (event) {
|
|
6539
|
+
return (event[this.parent.eventFields.recurrenceRule].includes('BYMONTHDAY')
|
|
6540
|
+
|| event[this.parent.eventFields.recurrenceRule].includes('BYDAY'));
|
|
6541
|
+
};
|
|
6506
6542
|
EventBase.prototype.getDSTAdjustedTime = function (date, event) {
|
|
6507
6543
|
var occurDate = date;
|
|
6508
6544
|
if (this.parent.timezone &&
|
|
@@ -26886,12 +26922,24 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
|
|
|
26886
26922
|
}
|
|
26887
26923
|
else if (data.type === 'eventColumn') {
|
|
26888
26924
|
var elementType = (data.eventData.length === 0) ? 'noEvents' : 'data';
|
|
26925
|
+
for (var i = 0; i < ntr.childNodes.length; i++) {
|
|
26926
|
+
var currentElement = ntr.childNodes.item(i);
|
|
26927
|
+
var renderCellElementType = currentElement.classList.contains('e-resource-column') ?
|
|
26928
|
+
resourceHeader : dateHeader;
|
|
26929
|
+
this.parent.trigger(renderCell, {
|
|
26930
|
+
elementType: renderCellElementType, element: currentElement, date: data.date, groupIndex: data.groupIndex
|
|
26931
|
+
});
|
|
26932
|
+
}
|
|
26889
26933
|
ntd = this.createAgendaContentElement(elementType, data.eventData, ntd, data.groupOrder, data.groupIndex);
|
|
26890
26934
|
ntd.setAttribute('data-date', data.date.getTime().toString());
|
|
26891
26935
|
if (this.parent.activeViewOptions.group.byDate || this.parent.currentView === 'MonthAgenda') {
|
|
26892
26936
|
addClass([ntd], [AGENDA_CELLS_CLASS, AGENDA_DAY_PADDING_CLASS]);
|
|
26893
26937
|
}
|
|
26894
26938
|
ntr.appendChild(ntd);
|
|
26939
|
+
var renderCellType = (data.eventData.length === 0) ? noEvents : agendaCells;
|
|
26940
|
+
this.parent.trigger(renderCell, {
|
|
26941
|
+
elementType: renderCellType, element: ntd, date: data.date, groupIndex: data.groupIndex
|
|
26942
|
+
});
|
|
26895
26943
|
}
|
|
26896
26944
|
else {
|
|
26897
26945
|
ntd.setAttribute('rowspan', data.rowSpan.toString());
|
|
@@ -26932,15 +26980,18 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
|
|
|
26932
26980
|
}
|
|
26933
26981
|
return dateHeader;
|
|
26934
26982
|
};
|
|
26935
|
-
AgendaBase.prototype.renderEmptyContent = function (tBody, agendaDate) {
|
|
26983
|
+
AgendaBase.prototype.renderEmptyContent = function (tBody, agendaDate, hasNoEvents) {
|
|
26936
26984
|
var eTr = this.createTableRowElement(agendaDate, 'noEvents');
|
|
26937
26985
|
var eTd = eTr.children[0];
|
|
26938
|
-
var noEvents = createElement('div', {
|
|
26986
|
+
var noEvents$1 = createElement('div', {
|
|
26939
26987
|
className: AGENDA_EMPTY_EVENT_CLASS,
|
|
26940
26988
|
innerHTML: this.parent.localeObj.getConstant('noEvents')
|
|
26941
26989
|
});
|
|
26942
|
-
eTd.appendChild(noEvents);
|
|
26990
|
+
eTd.appendChild(noEvents$1);
|
|
26943
26991
|
tBody.appendChild(eTr);
|
|
26992
|
+
if (hasNoEvents) {
|
|
26993
|
+
this.parent.trigger(renderCell, { elementType: noEvents, element: eTd, date: agendaDate });
|
|
26994
|
+
}
|
|
26944
26995
|
};
|
|
26945
26996
|
AgendaBase.prototype.createTableRowElement = function (date, type) {
|
|
26946
26997
|
var daysCount = getDaysCount(this.parent.selectedDate.getTime(), date.getTime());
|
|
@@ -27104,7 +27155,7 @@ var Agenda = /** @__PURE__ @class */ (function (_super) {
|
|
|
27104
27155
|
}
|
|
27105
27156
|
}
|
|
27106
27157
|
if (tBody.childNodes.length <= 0) {
|
|
27107
|
-
this.renderEmptyContent(tBody, agendaDate);
|
|
27158
|
+
this.renderEmptyContent(tBody, agendaDate, true);
|
|
27108
27159
|
}
|
|
27109
27160
|
};
|
|
27110
27161
|
Agenda.prototype.renderContent = function (tBody, agendaDate, lastDate) {
|
|
@@ -27162,11 +27213,15 @@ var Agenda = /** @__PURE__ @class */ (function (_super) {
|
|
|
27162
27213
|
var elementType = (!this.parent.hideEmptyAgendaDays && filterData.length === 0) ? 'noEvents' : 'data';
|
|
27163
27214
|
dTd.appendChild(this.createDateHeaderElement(agendaDate));
|
|
27164
27215
|
nTr.appendChild(dTd);
|
|
27216
|
+
this.parent.trigger(renderCell, { elementType: dateHeader, element: dTd, date: agendaDate });
|
|
27165
27217
|
var cTd = this.createAgendaContentElement(elementType, filterData, aTd);
|
|
27166
27218
|
nTr.appendChild(cTd);
|
|
27167
27219
|
if (cTd.querySelectorAll('li').length > 0) {
|
|
27168
27220
|
tBody.appendChild(nTr);
|
|
27169
27221
|
}
|
|
27222
|
+
var renderCellElementType = (!this.parent.hideEmptyAgendaDays && filterData.length === 0) ?
|
|
27223
|
+
noEvents : agendaCells;
|
|
27224
|
+
this.parent.trigger(renderCell, { elementType: renderCellElementType, element: cTd, date: agendaDate });
|
|
27170
27225
|
}
|
|
27171
27226
|
else if (this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
27172
27227
|
day--;
|
|
@@ -29356,5 +29411,5 @@ var Print = /** @__PURE__ @class */ (function () {
|
|
|
29356
29411
|
return Print;
|
|
29357
29412
|
}());
|
|
29358
29413
|
|
|
29359
|
-
export { Agenda, DEFAULT_WEEKS, Day, DragAndDrop, ExcelExport, Gregorian, HeaderRenderer, ICalendarExport, ICalendarImport, Islamic, MS_PER_DAY, MS_PER_MINUTE, Month, MonthAgenda, Print, RecurrenceEditor, Resize, Schedule, TimelineMonth, TimelineViews, TimelineYear, Timezone, ViewBase, WEEK_LENGTH, Week, WorkWeek, Year, actionBegin, actionComplete, actionFailure, addDays, addMonths, addYears, capitalizeFirstWord, cellClick, cellDoubleClick, cellMouseDown, cellSelect, contentReady, dataBinding, dataBound, dataReady, documentClick, drag, dragStart, dragStop, eventClick, eventDoubleClick, eventRendered, eventsLoaded, extractObjectFromRule, findIndexInData, firstDateOfMonth, generate, generateSummary, getCalendarUtil, getDateCount, getDateFromRecurrenceDateString, getDateFromString, getDateInMs, getDaysCount, getElementHeight, getElementHeightFromClass, getElementTop, getElementWidth, getElementWidthFromClass, getMaxDays, getOuterHeight, getRecurrenceStringFromDate, getScrollBarWidth, getStartEndHours, getTranslateX, getTranslateY, getUniversalTime, getWeekFirstDate, getWeekLastDate, getWeekMiddleDate, getWeekNumber, hover, initialEnd, initialLoad, inlineClick, isDaylightSavingTime, isIPadDevice, isMobile, lastDateOfMonth, moreEventsClick, navigating, popupClose, popupOpen, print, removeChildren, renderCell, resetScrollbarWidth, resetTime, resizeStart, resizeStop, resizing, scroll, scrollUiUpdate, select, setTime, timezoneData, uiUpdate, virtualScroll, virtualScrollStart, virtualScrollStop };
|
|
29414
|
+
export { Agenda, DEFAULT_WEEKS, Day, DragAndDrop, ExcelExport, Gregorian, HeaderRenderer, ICalendarExport, ICalendarImport, Islamic, MS_PER_DAY, MS_PER_MINUTE, Month, MonthAgenda, Print, RecurrenceEditor, Resize, Schedule, TimelineMonth, TimelineViews, TimelineYear, Timezone, ViewBase, WEEK_LENGTH, Week, WorkWeek, Year, actionBegin, actionComplete, actionFailure, addDays, addMonths, addYears, agendaCells, capitalizeFirstWord, cellClick, cellDoubleClick, cellMouseDown, cellSelect, contentReady, dataBinding, dataBound, dataReady, dateHeader, documentClick, drag, dragStart, dragStop, eventClick, eventDoubleClick, eventRendered, eventsLoaded, extractObjectFromRule, findIndexInData, firstDateOfMonth, generate, generateSummary, getCalendarUtil, getDateCount, getDateFromRecurrenceDateString, getDateFromString, getDateInMs, getDaysCount, getElementHeight, getElementHeightFromClass, getElementTop, getElementWidth, getElementWidthFromClass, getMaxDays, getOuterHeight, getRecurrenceStringFromDate, getScrollBarWidth, getStartEndHours, getTranslateX, getTranslateY, getUniversalTime, getWeekFirstDate, getWeekLastDate, getWeekMiddleDate, getWeekNumber, hover, initialEnd, initialLoad, inlineClick, isDaylightSavingTime, isIPadDevice, isMobile, lastDateOfMonth, moreEventsClick, navigating, noEvents, popupClose, popupOpen, print, removeChildren, renderCell, resetScrollbarWidth, resetTime, resizeStart, resizeStop, resizing, resourceHeader, scroll, scrollUiUpdate, select, setTime, timezoneData, uiUpdate, virtualScroll, virtualScrollStart, virtualScrollStop };
|
|
29360
29415
|
//# sourceMappingURL=ej2-schedule.es5.js.map
|