@syncfusion/ej2-schedule 21.1.37 → 21.1.39

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/ej2-schedule.min.js +2 -2
  3. package/dist/ej2-schedule.umd.min.js +2 -2
  4. package/dist/ej2-schedule.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-schedule.es2015.js +32 -34
  6. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  7. package/dist/es6/ej2-schedule.es5.js +39 -41
  8. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  9. package/dist/global/ej2-schedule.min.js +2 -2
  10. package/dist/global/ej2-schedule.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +12 -12
  13. package/src/schedule/base/schedule.d.ts +1 -0
  14. package/src/schedule/base/schedule.js +3 -2
  15. package/src/schedule/event-renderer/timeline-view.js +7 -14
  16. package/src/schedule/event-renderer/vertical-view.js +3 -9
  17. package/src/schedule/exports/print.js +13 -3
  18. package/src/schedule/renderer/month.js +2 -2
  19. package/src/schedule/renderer/renderer.js +1 -0
  20. package/src/schedule/renderer/timeline-year.js +4 -6
  21. package/src/schedule/renderer/vertical-view.js +5 -4
  22. package/src/schedule/renderer/view-base.js +1 -1
  23. package/styles/bootstrap-dark.css +10 -4
  24. package/styles/bootstrap.css +10 -4
  25. package/styles/bootstrap4.css +10 -4
  26. package/styles/bootstrap5-dark.css +10 -4
  27. package/styles/bootstrap5.css +10 -4
  28. package/styles/fabric-dark.css +10 -4
  29. package/styles/fabric.css +10 -4
  30. package/styles/fluent-dark.css +10 -4
  31. package/styles/fluent.css +10 -4
  32. package/styles/highcontrast-light.css +10 -4
  33. package/styles/highcontrast.css +10 -4
  34. package/styles/material-dark.css +10 -4
  35. package/styles/material.css +10 -4
  36. package/styles/schedule/_layout.scss +6 -2
  37. package/styles/schedule/_theme.scss +4 -2
  38. package/styles/schedule/bootstrap-dark.css +10 -4
  39. package/styles/schedule/bootstrap.css +10 -4
  40. package/styles/schedule/bootstrap4.css +10 -4
  41. package/styles/schedule/bootstrap5-dark.css +10 -4
  42. package/styles/schedule/bootstrap5.css +10 -4
  43. package/styles/schedule/fabric-dark.css +10 -4
  44. package/styles/schedule/fabric.css +10 -4
  45. package/styles/schedule/fluent-dark.css +10 -4
  46. package/styles/schedule/fluent.css +10 -4
  47. package/styles/schedule/highcontrast-light.css +10 -4
  48. package/styles/schedule/highcontrast.css +10 -4
  49. package/styles/schedule/material-dark.css +10 -4
  50. package/styles/schedule/material.css +10 -4
  51. package/styles/schedule/tailwind-dark.css +10 -4
  52. package/styles/schedule/tailwind.css +10 -4
  53. package/styles/tailwind-dark.css +10 -4
  54. package/styles/tailwind.css +10 -4
@@ -7131,7 +7131,7 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
7131
7131
  return;
7132
7132
  }
7133
7133
  if (eStart <= eEnd && isValidEvent && this.isWorkDayAvailable(resource, eStart)) {
7134
- var appHeight_1 = this.getHeight(eStart, eEnd);
7134
+ var appHeight = this.getHeight(eStart, eEnd);
7135
7135
  if (eStart.getTime() > schedule.startHour.getTime()) {
7136
7136
  topValue = this.getTopValue(eStart, dayIndex, resource);
7137
7137
  }
@@ -7168,10 +7168,10 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
7168
7168
  }
7169
7169
  setStyleAttribute(appointmentElement, {
7170
7170
  'width': (this.parent.eventSettings.enableMaxHeight ? '100%' : tempData.appWidth),
7171
- 'height': appHeight_1 + 'px', 'top': topValue + 'px'
7171
+ 'height': appHeight + 'px', 'top': topValue + 'px'
7172
7172
  });
7173
7173
  var iconHeight = appointmentElement.querySelectorAll('.' + EVENT_INDICATOR_CLASS).length * 15;
7174
- var maxHeight = appHeight_1 - 40 - iconHeight;
7174
+ var maxHeight = appHeight - 40 - iconHeight;
7175
7175
  var subjectElement = appointmentElement.querySelector('.' + SUBJECT_CLASS);
7176
7176
  if (!this.parent.isAdaptive && subjectElement) {
7177
7177
  subjectElement.style.maxHeight = formatUnit(maxHeight);
@@ -7183,12 +7183,6 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
7183
7183
  record.data = eventData;
7184
7184
  this.appendEvent(record, appointmentElement, index, tempData.appLeft);
7185
7185
  this.wireAppointmentEvents(appointmentElement, eventObj);
7186
- if (appHeight_1 < this.cellHeight) {
7187
- var resizeHandlers = [].slice.call(appointmentElement.querySelectorAll('.' + EVENT_RESIZE_CLASS));
7188
- resizeHandlers.forEach(function (resizeHandler) {
7189
- resizeHandler.style.height = Math.ceil(appHeight_1 / resizeHandler.offsetHeight) + 'px';
7190
- });
7191
- }
7192
7186
  }
7193
7187
  };
7194
7188
  VerticalEvent.prototype.getEventWidth = function () {
@@ -8307,12 +8301,12 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8307
8301
  isValidEvent = this.isValidEvent(eventObj, startTime, endTime, schedule);
8308
8302
  }
8309
8303
  if (startTime <= endTime && isValidEvent) {
8310
- var appWidth_1 = this.getEventWidth(startTime, endTime, event[this.fields.isAllDay], diffInDays);
8311
- appWidth_1 = this.renderType === 'day' ? appWidth_1 - 2 : appWidth_1;
8304
+ var appWidth = this.getEventWidth(startTime, endTime, event[this.fields.isAllDay], diffInDays);
8305
+ appWidth = this.renderType === 'day' ? appWidth - 2 : appWidth;
8312
8306
  var appLeft = 0;
8313
8307
  var appRight = 0;
8314
8308
  var position = this.getPosition(startTime, endTime, event[this.fields.isAllDay], this.day);
8315
- appWidth_1 = (appWidth_1 <= 0) ? this.cellWidth : appWidth_1; // appWidth 0 when start and end time as same
8309
+ appWidth = (appWidth <= 0) ? this.cellWidth : appWidth; // appWidth 0 when start and end time as same
8316
8310
  this.renderedEvents.push(extend({}, event, null, true));
8317
8311
  if (isNullOrUndefined(this.cellTops[parseInt(resIndex.toString(), 10)])) {
8318
8312
  this.cellTops[parseInt(resIndex.toString(), 10)] = this.getRowTop(resIndex);
@@ -8333,7 +8327,7 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8333
8327
  }
8334
8328
  this.applyResourceColor(appointmentElement, event, 'backgroundColor', this.groupOrder);
8335
8329
  setStyleAttribute(appointmentElement, {
8336
- 'width': appWidth_1 + 'px', 'left': appLeft + 'px', 'right': appRight + 'px', 'top': appTop + 'px'
8330
+ 'width': appWidth + 'px', 'left': appLeft + 'px', 'right': appRight + 'px', 'top': appTop + 'px'
8337
8331
  });
8338
8332
  this.wireAppointmentEvents(appointmentElement, event);
8339
8333
  this.renderEventElement(event, appointmentElement, cellTd);
@@ -8341,13 +8335,6 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8341
8335
  var firstChild = this.getFirstChild(resIndex);
8342
8336
  this.updateCellHeight(firstChild, height);
8343
8337
  }
8344
- if (this.parent.activeViewOptions.option !== 'TimelineMonth' && this.parent.activeViewOptions.timeScale.enable
8345
- && appWidth_1 < this.cellWidth) {
8346
- var resizeHandlers = [].slice.call(appointmentElement.querySelectorAll('.' + EVENT_RESIZE_CLASS));
8347
- resizeHandlers.forEach(function (resizeHandler) {
8348
- resizeHandler.style.width = Math.ceil(appWidth_1 / resizeHandler.getBoundingClientRect().width) + 'px';
8349
- });
8350
- }
8351
8338
  }
8352
8339
  else {
8353
8340
  for (var i = 0; i < diffInDays; i++) {
@@ -8387,7 +8374,7 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8387
8374
  TimelineEvent.prototype.renderTimelineMoreIndicator = function (startTime, startDate, endDate, appHeight, interval, resIndex, appointmentsList, top, appLeft, appRight, cellTd, moreIndicator, appPos, position) {
8388
8375
  appLeft = (this.parent.enableRtl) ? appRight = position : position;
8389
8376
  appPos = (this.parent.enableRtl) ? appRight : appLeft;
8390
- appPos = (Math.floor(appPos / this.cellWidth) * this.cellWidth);
8377
+ appPos = (Math.round(appPos / this.cellWidth) * this.cellWidth);
8391
8378
  if ((cellTd && isNullOrUndefined(moreIndicator)) ||
8392
8379
  (!this.isAlreadyAvail(appPos, cellTd))) {
8393
8380
  var startDateTime = (this.parent.activeViewOptions.option === 'TimelineMonth' || this.renderType === 'day') ? new Date(+startTime) : startDate;
@@ -8414,8 +8401,8 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8414
8401
  }
8415
8402
  moreIndicatorElement.style.top = top + appArea + 'px';
8416
8403
  moreIndicatorElement.style.width = this.cellWidth + 'px';
8417
- moreIndicatorElement.style.left = (Math.floor(appLeft / this.cellWidth) * this.cellWidth) + 'px';
8418
- moreIndicatorElement.style.right = (Math.floor(appRight / this.cellWidth) * this.cellWidth) + 'px';
8404
+ moreIndicatorElement.style.left = ((appLeft / this.cellWidth) * this.cellWidth) + 'px';
8405
+ moreIndicatorElement.style.right = ((appRight / this.cellWidth) * this.cellWidth) + 'px';
8419
8406
  this.renderElement(cellTd, moreIndicatorElement);
8420
8407
  EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
8421
8408
  }
@@ -14088,6 +14075,7 @@ var Render = /** @__PURE__ @class */ (function () {
14088
14075
  }
14089
14076
  }
14090
14077
  this.updateHeader();
14078
+ this.parent.currentTimezoneDate = this.parent.getCurrentTime();
14091
14079
  this.parent.activeView.renderLayout(CURRENT_PANEL_CLASS);
14092
14080
  this.parent.renderTemplates();
14093
14081
  if (this.parent.eventTooltip) {
@@ -17236,7 +17224,8 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
17236
17224
  isIgnoreOccurrence: false, groupIndex: 0, action: false, isBlock: false, isCustomMonth: true, isPreventTimezone: false
17237
17225
  };
17238
17226
  }
17239
- this.activeCellsData = { startTime: this.getCurrentTime(), endTime: this.getCurrentTime(), isAllDay: false };
17227
+ this.currentTimezoneDate = this.getCurrentTime();
17228
+ this.activeCellsData = { startTime: new Date(this.currentTimezoneDate), endTime: new Date(this.currentTimezoneDate), isAllDay: false };
17240
17229
  this.activeEventData = { event: undefined, element: undefined };
17241
17230
  this.getDefaultLocale();
17242
17231
  this.localeObj = new L10n(this.getModuleName(), this.defaultLocale, this.locale);
@@ -17686,7 +17675,7 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
17686
17675
  */
17687
17676
  Schedule.prototype.getStartEndTime = function (startEndTime) {
17688
17677
  if (!isNullOrUndefined(startEndTime) && startEndTime !== '') {
17689
- var startEndDate = resetTime(this.getCurrentTime());
17678
+ var startEndDate = resetTime(new Date(this.currentTimezoneDate) || this.getCurrentTime());
17690
17679
  var timeString = startEndTime.split(':');
17691
17680
  if (timeString.length === 2) {
17692
17681
  startEndDate.setHours(parseInt(timeString[0], 10), parseInt(timeString[1], 10), 0);
@@ -22686,7 +22675,7 @@ var ViewBase = /** @__PURE__ @class */ (function () {
22686
22675
  return endHour;
22687
22676
  };
22688
22677
  ViewBase.prototype.isCurrentDate = function (date) {
22689
- return date.setHours(0, 0, 0, 0) === this.parent.getCurrentTime().setHours(0, 0, 0, 0);
22678
+ return date.setHours(0, 0, 0, 0) === new Date(this.parent.currentTimezoneDate).setHours(0, 0, 0, 0);
22690
22679
  };
22691
22680
  ViewBase.prototype.isCurrentMonth = function (date) {
22692
22681
  if (this.parent.activeViewOptions.displayDate || this.parent.activeViewOptions.numberOfWeeks > 0) {
@@ -23294,7 +23283,8 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
23294
23283
  this.parent.activeViewOptions.headerRows.slice(-1)[0].option !== 'Hour') {
23295
23284
  return;
23296
23285
  }
23297
- if (this.parent.showTimeIndicator && this.isWorkHourRange(this.parent.getCurrentTime())) {
23286
+ var currentDate = this.parent.getCurrentTime();
23287
+ if (this.parent.showTimeIndicator && this.isWorkHourRange(currentDate)) {
23298
23288
  var currentDateIndex = this.getCurrentTimeIndicatorIndex();
23299
23289
  if (currentDateIndex.length > 0) {
23300
23290
  var workCells = [].slice.call(this.element.querySelectorAll('.' + WORK_CELLS_CLASS));
@@ -23302,7 +23292,6 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
23302
23292
  this.changeCurrentTimePosition();
23303
23293
  }
23304
23294
  if (isNullOrUndefined(this.currentTimeIndicatorTimer)) {
23305
- var currentDate = this.parent.getCurrentTime();
23306
23295
  var interval = MS_PER_MINUTE - ((currentDate.getSeconds() * 1000) + currentDate.getMilliseconds());
23307
23296
  if (interval <= (MS_PER_MINUTE - 1000)) {
23308
23297
  window.setTimeout(function () {
@@ -23329,11 +23318,12 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
23329
23318
  if (!isNullOrUndefined(this.parent.resourceBase) && (this.parent.activeViewOptions.group.resources.length > 0) &&
23330
23319
  !this.parent.uiStateValues.isGroupAdaptive) {
23331
23320
  var count = 0;
23321
+ var currentDate = resetTime(this.parent.getCurrentTime());
23332
23322
  if (this.parent.virtualScrollModule && this.parent.activeViewOptions.allowVirtualScrolling &&
23333
23323
  this.parent.activeViewOptions.group.byDate) {
23334
23324
  for (var _i = 0, _a = this.parent.resourceBase.expandedResources; _i < _a.length; _i++) {
23335
23325
  var resource = _a[_i];
23336
- if (resetTime(resource.date).getTime() === resetTime(this.parent.getCurrentTime()).getTime()) {
23326
+ if (resetTime(resource.date).getTime() === currentDate.getTime()) {
23337
23327
  currentDateIndex.push(count);
23338
23328
  }
23339
23329
  count += 1;
@@ -23342,7 +23332,7 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
23342
23332
  else {
23343
23333
  for (var _b = 0, _c = this.parent.resourceBase.renderedResources; _b < _c.length; _b++) {
23344
23334
  var resource = _c[_b];
23345
- var index = this.parent.getIndexOfDate(resource.renderDates, resetTime(this.parent.getCurrentTime()));
23335
+ var index = this.parent.getIndexOfDate(resource.renderDates, currentDate);
23346
23336
  if (index >= 0) {
23347
23337
  var resIndex = this.parent.activeViewOptions.group.byDate ?
23348
23338
  (this.parent.resourceBase.lastResourceLevel.length * index) + count : count + index;
@@ -24190,7 +24180,7 @@ var Month = /** @__PURE__ @class */ (function (_super) {
24190
24180
  for (var col = 0; col < count; col++) {
24191
24181
  var classList$$1 = [HEADER_CELLS_CLASS];
24192
24182
  var currentDateIndex = renderDates.slice(0, count).map(function (date) { return date.getDay(); });
24193
- if (isCurrentMonth && currentDateIndex.indexOf(this.parent.getCurrentTime().getDay()) === col) {
24183
+ if (isCurrentMonth && currentDateIndex.indexOf(this.parent.currentTimezoneDate.getDay()) === col) {
24194
24184
  classList$$1.push(CURRENT_DAY_CLASS);
24195
24185
  }
24196
24186
  dateSlots.push({ date: renderDates[parseInt(col.toString(), 10)], type: 'monthDay', className: classList$$1, colSpan: 1, workDays: workDays });
@@ -24562,7 +24552,7 @@ var Month = /** @__PURE__ @class */ (function (_super) {
24562
24552
  addClass([dateHeader], NAVIGATE_CLASS);
24563
24553
  var skeleton = 'full';
24564
24554
  var announcementText = this.parent.globalize.formatDate(data.date, { skeleton: skeleton, calendar: this.parent.getCalendarMode() });
24565
- dateHeader.setAttribute('aria-label', announcementText);
24555
+ ntd.setAttribute('aria-label', announcementText);
24566
24556
  }
24567
24557
  };
24568
24558
  Month.prototype.getMonthStart = function (currentDate) {
@@ -27005,8 +26995,11 @@ var TimelineYear = /** @__PURE__ @class */ (function (_super) {
27005
26995
  else {
27006
26996
  isDateAvail = column >= monthStart.getDay() && date.getTime() < monthEnd.getTime();
27007
26997
  }
26998
+ var announcementText = this.parent.globalize.formatDate(date, {
26999
+ skeleton: 'full', calendar: this.parent.getCalendarMode()
27000
+ });
27008
27001
  var td = createElement('td', {
27009
- className: WORK_CELLS_CLASS, attrs: { 'aria-selected': 'false' }
27002
+ className: WORK_CELLS_CLASS, attrs: { 'aria-selected': 'false', 'aria-label': announcementText }
27010
27003
  });
27011
27004
  contentTr.appendChild(td);
27012
27005
  var dateHeader = createElement('div', {
@@ -27014,11 +27007,6 @@ var TimelineYear = /** @__PURE__ @class */ (function (_super) {
27014
27007
  innerHTML: (isDateAvail) ?
27015
27008
  this.parent.globalize.formatDate(date, { skeleton: 'd', calendar: this.parent.getCalendarMode() }) : ''
27016
27009
  });
27017
- var skeleton = 'full';
27018
- var announcementText = this.parent.globalize.formatDate(date, {
27019
- skeleton: skeleton, calendar: this.parent.getCalendarMode()
27020
- });
27021
- dateHeader.setAttribute('aria-label', announcementText);
27022
27010
  if (isDateAvail) {
27023
27011
  var tds = [td];
27024
27012
  var classList$$1 = [];
@@ -27761,10 +27749,13 @@ var Print = /** @__PURE__ @class */ (function () {
27761
27749
  'resources', 'rowAutoHeight', 'selectedDate', 'showHeaderBar', 'showTimeIndicator', 'showWeekNumber',
27762
27750
  'showWeekend', 'startHour', 'timeFormat', 'timeScale', 'timezone', 'views', 'width', 'workDays', 'workHours',
27763
27751
  'dateHeaderTemplate', 'dateRangeTemplate', 'cellHeaderTemplate', 'dayHeaderTemplate', 'monthHeaderTemplate',
27764
- 'cellTemplate', 'resourceHeaderTemplate', 'headerIndentTemplate'
27752
+ 'cellTemplate', 'resourceHeaderTemplate', 'headerIndentTemplate', 'actionBegin', 'actionComplete', 'actionFailure',
27753
+ 'created', 'dataBinding', 'dataBound', 'destroyed', 'eventRendered', 'moreEventsClick', 'navigating', 'popupOpen', 'popupClose', 'renderCell'
27765
27754
  ];
27766
27755
  var scheduleTemplates = ['cellHeaderTemplate', 'dayHeaderTemplate', 'monthHeaderTemplate', 'cellTemplate',
27767
27756
  'dateHeaderTemplate', 'dateRangeTemplate', 'eventTemplate', 'resourceHeaderTemplate', 'headerIndentTemplate'];
27757
+ var scheduleEvents = ['actionBegin', 'actionComplete', 'actionFailure', 'created', 'dataBinding', 'dataBound',
27758
+ 'destroyed', 'eventRendered', 'moreEventsClick', 'navigating', 'popupOpen', 'popupClose', 'renderCell'];
27768
27759
  var eventSettings;
27769
27760
  var group;
27770
27761
  var timeScale;
@@ -27772,12 +27763,15 @@ var Print = /** @__PURE__ @class */ (function () {
27772
27763
  for (var _i = 0, scheduleProps_1 = scheduleProps; _i < scheduleProps_1.length; _i++) {
27773
27764
  var key = scheduleProps_1[_i];
27774
27765
  switch (key) {
27775
- case 'eventSettings':
27766
+ case 'eventSettings': {
27776
27767
  eventSettings = Object.assign({}, this.parent.eventSettings.properties);
27777
27768
  eventSettings.dataSource = this.parent.eventsData;
27778
- eventSettings.template = typeof (eventSettings.template) === 'function' ? null : eventSettings.template;
27769
+ var eventTemplate = !isNullOrUndefined(printOptions.eventSettings) &&
27770
+ !isNullOrUndefined(printOptions.eventSettings.template) ? printOptions.eventSettings.template : eventSettings.template;
27771
+ eventSettings.template = typeof (eventTemplate) === 'function' ? null : eventTemplate;
27779
27772
  printModel.eventSettings = eventSettings;
27780
27773
  break;
27774
+ }
27781
27775
  case 'group':
27782
27776
  group = isNullOrUndefined(printOptions.group) ? this.parent.group : printOptions.group;
27783
27777
  group.headerTooltipTemplate = null;
@@ -27813,6 +27807,10 @@ var Print = /** @__PURE__ @class */ (function () {
27813
27807
  (typeof (printOptions["" + key]) === 'function' ? null : printOptions["" + key]);
27814
27808
  break;
27815
27809
  }
27810
+ if (scheduleEvents.indexOf(key) > -1) {
27811
+ printModel["" + key] = printOptions["" + key];
27812
+ break;
27813
+ }
27816
27814
  printModel["" + key] = isNullOrUndefined(printOptions["" + key]) ?
27817
27815
  this.parent["" + key] : printOptions["" + key];
27818
27816
  break;