@syncfusion/ej2-schedule 20.1.48 → 20.1.55

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 (63) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/ej2-schedule.umd.min.js +2 -2
  3. package/dist/ej2-schedule.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-schedule.es2015.js +48 -41
  5. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es5.js +48 -41
  7. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  8. package/dist/global/ej2-schedule.min.js +2 -2
  9. package/dist/global/ej2-schedule.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +15 -15
  12. package/src/recurrence-editor/date-generator.js +7 -1
  13. package/src/schedule/base/schedule.js +1 -1
  14. package/src/schedule/event-renderer/event-base.js +3 -0
  15. package/src/schedule/event-renderer/month.d.ts +0 -2
  16. package/src/schedule/event-renderer/month.js +33 -38
  17. package/src/schedule/event-renderer/vertical-view.js +3 -0
  18. package/src/schedule/exports/calendar-export.js +1 -1
  19. package/styles/bootstrap-dark.css +83 -968
  20. package/styles/bootstrap.css +83 -967
  21. package/styles/bootstrap4.css +83 -990
  22. package/styles/bootstrap5-dark.css +83 -988
  23. package/styles/bootstrap5.css +83 -988
  24. package/styles/fabric-dark.css +83 -968
  25. package/styles/fabric.css +83 -970
  26. package/styles/fluent-dark.css +83 -968
  27. package/styles/fluent.css +83 -968
  28. package/styles/highcontrast-light.css +83 -967
  29. package/styles/highcontrast.css +83 -972
  30. package/styles/material-dark.css +83 -967
  31. package/styles/material.css +83 -967
  32. package/styles/recurrence-editor/bootstrap-dark.css +6 -94
  33. package/styles/recurrence-editor/bootstrap.css +6 -94
  34. package/styles/recurrence-editor/bootstrap4.css +6 -94
  35. package/styles/recurrence-editor/bootstrap5-dark.css +6 -94
  36. package/styles/recurrence-editor/bootstrap5.css +6 -94
  37. package/styles/recurrence-editor/fabric-dark.css +6 -94
  38. package/styles/recurrence-editor/fabric.css +6 -94
  39. package/styles/recurrence-editor/fluent-dark.css +6 -94
  40. package/styles/recurrence-editor/fluent.css +6 -94
  41. package/styles/recurrence-editor/highcontrast-light.css +6 -94
  42. package/styles/recurrence-editor/highcontrast.css +6 -94
  43. package/styles/recurrence-editor/material-dark.css +6 -94
  44. package/styles/recurrence-editor/material.css +6 -94
  45. package/styles/recurrence-editor/tailwind-dark.css +6 -94
  46. package/styles/recurrence-editor/tailwind.css +6 -94
  47. package/styles/schedule/bootstrap-dark.css +78 -875
  48. package/styles/schedule/bootstrap.css +78 -874
  49. package/styles/schedule/bootstrap4.css +78 -897
  50. package/styles/schedule/bootstrap5-dark.css +78 -895
  51. package/styles/schedule/bootstrap5.css +78 -895
  52. package/styles/schedule/fabric-dark.css +78 -875
  53. package/styles/schedule/fabric.css +78 -877
  54. package/styles/schedule/fluent-dark.css +78 -875
  55. package/styles/schedule/fluent.css +78 -875
  56. package/styles/schedule/highcontrast-light.css +78 -874
  57. package/styles/schedule/highcontrast.css +78 -879
  58. package/styles/schedule/material-dark.css +78 -874
  59. package/styles/schedule/material.css +78 -874
  60. package/styles/schedule/tailwind-dark.css +78 -895
  61. package/styles/schedule/tailwind.css +78 -895
  62. package/styles/tailwind-dark.css +83 -988
  63. package/styles/tailwind.css +83 -988
@@ -3760,6 +3760,9 @@ function dailyType(startDate, endDate, data, ruleObject) {
3760
3760
  }
3761
3761
  }
3762
3762
  tempDate.setDate(tempDate.getDate() + interval);
3763
+ if (tempDate.getHours() !== startDate.getHours()) {
3764
+ tempDate.setHours(startDate.getHours());
3765
+ }
3763
3766
  }
3764
3767
  }
3765
3768
  /**
@@ -3804,6 +3807,9 @@ function weeklyType(startDate, endDate, data, ruleObject) {
3804
3807
  break;
3805
3808
  }
3806
3809
  tempDate.setDate(tempDate.getDate() + 1);
3810
+ if (tempDate.getHours() !== startDate.getHours()) {
3811
+ tempDate.setHours(startDate.getHours());
3812
+ }
3807
3813
  compareTempDate = new Date(tempDate.getTime());
3808
3814
  compareTempDate = resetTime(compareTempDate);
3809
3815
  }
@@ -4686,7 +4692,7 @@ function insertDateCollection(state, startDate, endDate, data, ruleObject, dayDa
4686
4692
  function weekCount(year, startDayOfWeek, monthCollection, week, ruleObject) {
4687
4693
  var firstDayOfWeek = startDayOfWeek || 0;
4688
4694
  var firstOfMonth = new Date(year, ruleObject.month[0] - 1, 1);
4689
- var lastOfMonth = new Date(year, ruleObject.month[0] - 1, 0);
4695
+ var lastOfMonth = new Date(year, ruleObject.month[0], 0);
4690
4696
  var numberOfDaysInMonth = lastOfMonth.getDate();
4691
4697
  var firstWeekDay = (firstOfMonth.getDay() - firstDayOfWeek + 7) % 7;
4692
4698
  var used = firstWeekDay + numberOfDaysInMonth;
@@ -5676,6 +5682,9 @@ var EventBase = /** @__PURE__ @class */ (function () {
5676
5682
  this.parent.removeSelectedClass();
5677
5683
  }
5678
5684
  addClass(cells, APPOINTMENT_BORDER);
5685
+ if (cells.length > 0) {
5686
+ cells[cells.length - 1].focus();
5687
+ }
5679
5688
  };
5680
5689
  EventBase.prototype.getSelectedAppointments = function () {
5681
5690
  return [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_BORDER + ',.' + APPOINTMENT_CLASS + ':focus'));
@@ -6914,6 +6923,9 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
6914
6923
  var currentDate = resetTime(new Date(this.dateRender[resource][dayIndex].getTime()));
6915
6924
  var schedule = getStartEndHours(currentDate, this.startHour, this.endHour);
6916
6925
  var isValidEvent = this.isValidEvent(eventObj, eStart, eEnd, schedule);
6926
+ if ((eStart.getTime() < this.parent.minDate.getTime()) || (eEnd.getTime() > this.parent.maxDate.getTime())) {
6927
+ return;
6928
+ }
6917
6929
  if (eStart <= eEnd && isValidEvent) {
6918
6930
  var appHeight_1 = this.getHeight(eStart, eEnd);
6919
6931
  if (eStart.getTime() > schedule.startHour.getTime()) {
@@ -7246,7 +7258,6 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7246
7258
  function MonthEvent(parent) {
7247
7259
  var _this = _super.call(this, parent) || this;
7248
7260
  _this.renderedEvents = [];
7249
- _this.eventsRendered = [];
7250
7261
  _this.monthHeaderHeight = 0;
7251
7262
  _this.moreIndicatorHeight = 19;
7252
7263
  _this.renderType = 'day';
@@ -7363,7 +7374,6 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7363
7374
  };
7364
7375
  MonthEvent.prototype.renderEventsHandler = function (dateRender, workDays, resData) {
7365
7376
  this.renderedEvents = [];
7366
- this.eventsRendered = [];
7367
7377
  var eventsList;
7368
7378
  var blockList;
7369
7379
  var resIndex = 0;
@@ -7399,12 +7409,19 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7399
7409
  var filteredDates = this.getRenderedDates(dateRender);
7400
7410
  this.getSlotDates(workDays || this.parent.activeViewOptions.workDays);
7401
7411
  this.processBlockEvents(blockList, resIndex, resData);
7412
+ var events = [];
7402
7413
  for (var _i = 0, eventsList_1 = eventsList; _i < eventsList_1.length; _i++) {
7403
7414
  var event_1 = eventsList_1[_i];
7404
7415
  if (this.parent.resourceBase && !resData) {
7405
7416
  this.cssClass = this.parent.resourceBase.getCssClass(event_1);
7406
7417
  }
7407
- var spannedEvents = this.splitEvent(event_1, filteredDates || this.dateRender);
7418
+ events = events.concat(this.splitEvent(event_1, filteredDates || this.dateRender));
7419
+ }
7420
+ for (var level = 0; level < this.slots.length; level++) {
7421
+ this.renderedEvents = [];
7422
+ var slot = this.slots[level];
7423
+ var endDate = addDays(new Date(slot[slot.length - 1]), 1);
7424
+ var spannedEvents = this.filterEvents(new Date(slot[0]), endDate, events);
7408
7425
  for (var _a = 0, spannedEvents_1 = spannedEvents; _a < spannedEvents_1.length; _a++) {
7409
7426
  var event_2 = spannedEvents_1[_a];
7410
7427
  if (this.maxHeight) {
@@ -7706,15 +7723,11 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7706
7723
  var startTime = event[this.fields.startTime];
7707
7724
  var endTime = event[this.fields.endTime];
7708
7725
  var day = this.parent.getIndexOfDate(this.dateRender, resetTime(startTime));
7709
- if (day < 0) {
7710
- return;
7711
- }
7712
- if ((startTime.getTime() < this.parent.minDate.getTime()) || (endTime.getTime() > this.parent.maxDate.getTime())) {
7726
+ if ((day < 0) || (startTime.getTime() < this.parent.minDate.getTime()) || (endTime.getTime() > this.parent.maxDate.getTime())) {
7713
7727
  return;
7714
7728
  }
7715
7729
  var overlapCount = this.getIndex(startTime);
7716
7730
  event.Index = overlapCount;
7717
- this.renderedEvents.push(extend({}, event, null, true));
7718
7731
  var diffInDays = event.data.count;
7719
7732
  if (startTime.getTime() <= endTime.getTime()) {
7720
7733
  var appWidth = (diffInDays * this.cellWidth) - 5;
@@ -7723,7 +7736,7 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7723
7736
  var height = this.monthHeaderHeight + ((overlapCount + 1) * (this.eventHeight + EVENT_GAP)) + this.moreIndicatorHeight;
7724
7737
  var enableAppRender = this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
7725
7738
  if (this.parent.rowAutoHeight || enableAppRender) {
7726
- this.eventsRendered.push(extend({}, event, null, true));
7739
+ this.renderedEvents.push(extend({}, event, null, true));
7727
7740
  var appointmentElement = void 0;
7728
7741
  if (this.inlineValue) {
7729
7742
  appointmentElement = this.parent.inlineModule.createInlineAppointmentElement();
@@ -7739,37 +7752,30 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7739
7752
  var firstChild = cellTd.parentElement.firstElementChild;
7740
7753
  this.updateCellHeight(firstChild, height);
7741
7754
  }
7742
- else if (cellTd.querySelector('.' + MORE_INDICATOR_CLASS)) {
7743
- this.renderMoreIndicators(diffInDays, day);
7744
- }
7745
7755
  }
7746
7756
  else {
7747
- this.renderMoreIndicators(diffInDays, day);
7748
- }
7749
- }
7750
- };
7751
- MonthEvent.prototype.renderMoreIndicators = function (diffInDays, day) {
7752
- for (var i = 0; i < diffInDays; i++) {
7753
- if (this.workCells[day + i]) {
7754
- var startDate = new Date(this.dateRender[day + i].getTime());
7755
- var endDate = addDays(this.dateRender[day + i], 1);
7756
- var groupIndex = this.workCells[day + i].getAttribute('data-group-index');
7757
- var filterEvents = this.getFilteredEvents(startDate, endDate, groupIndex);
7758
- var renderedAppCount = this.getOverlapEvents(startDate, this.eventsRendered).length;
7759
- var count = (filterEvents.length - renderedAppCount) <= 0 ? 1 : (filterEvents.length - renderedAppCount);
7760
- var indicator = this.workCells[day + i].querySelector('.' + MORE_INDICATOR_CLASS);
7761
- if (indicator) {
7762
- indicator.innerHTML = this.getMoreIndicatorText(count);
7763
- }
7764
- else {
7765
- var moreIndicatorElement = this.getMoreIndicatorElement(count, startDate, endDate);
7766
- if (!isNullOrUndefined(groupIndex)) {
7767
- moreIndicatorElement.setAttribute('data-group-index', groupIndex);
7757
+ for (var i = 0; i < diffInDays; i++) {
7758
+ if (this.workCells[day + i]) {
7759
+ var indicator = this.workCells[day + i].querySelector('.' + MORE_INDICATOR_CLASS);
7760
+ if (indicator) {
7761
+ var count = parseInt(indicator.getAttribute('data-count'), 10) + 1;
7762
+ indicator.setAttribute('data-count', count.toString());
7763
+ indicator.innerHTML = this.getMoreIndicatorText(count);
7764
+ }
7765
+ else {
7766
+ var startDate = new Date(this.dateRender[day + i].getTime());
7767
+ var endDate = addDays(this.dateRender[day + i], 1);
7768
+ var groupIndex = this.workCells[day + i].getAttribute('data-group-index');
7769
+ var moreIndicatorElement = this.getMoreIndicatorElement(1, startDate, endDate);
7770
+ if (!isNullOrUndefined(groupIndex)) {
7771
+ moreIndicatorElement.setAttribute('data-group-index', groupIndex);
7772
+ }
7773
+ moreIndicatorElement.style.top = (this.cellHeight - this.monthHeaderHeight - this.moreIndicatorHeight) + 'px';
7774
+ moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
7775
+ this.renderElement(this.workCells[day + i], moreIndicatorElement);
7776
+ EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
7777
+ }
7768
7778
  }
7769
- moreIndicatorElement.style.top = (this.cellHeight - this.monthHeaderHeight - this.moreIndicatorHeight) + 'px';
7770
- moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
7771
- this.renderElement(this.workCells[day + i], moreIndicatorElement);
7772
- EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
7773
7779
  }
7774
7780
  }
7775
7781
  }
@@ -7805,9 +7811,9 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7805
7811
  };
7806
7812
  MonthEvent.prototype.getOverlapEvents = function (date, appointments) {
7807
7813
  var appointmentsList = [];
7814
+ var dateTime = resetTime(date).getTime();
7808
7815
  for (var _i = 0, appointments_1 = appointments; _i < appointments_1.length; _i++) {
7809
7816
  var app = appointments_1[_i];
7810
- var dateTime = resetTime(date).getTime();
7811
7817
  if ((resetTime(app[this.fields.startTime]).getTime() <= dateTime) &&
7812
7818
  (resetTime(app[this.fields.endTime]).getTime() >= dateTime)) {
7813
7819
  appointmentsList.push(app);
@@ -7894,6 +7900,7 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7894
7900
  innerHTML: this.getMoreIndicatorText(count),
7895
7901
  attrs: {
7896
7902
  'tabindex': '0',
7903
+ 'data-count': count.toString(),
7897
7904
  'data-start-date': startDate.getTime().toString(),
7898
7905
  'data-end-date': endDate.getTime().toString(),
7899
7906
  'role': 'list'
@@ -16346,7 +16353,7 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
16346
16353
  };
16347
16354
  _this.trigger(navigating, navArgs, function (navigationArgs) {
16348
16355
  if (!navigationArgs.cancel) {
16349
- _this.uiStateValues.isInitial = ['TimelineMonth', 'TimelineYear', 'Year'].indexOf(view) > -1 ? true : _this.uiStateValues.isInitial;
16356
+ _this.uiStateValues.isInitial = view.indexOf('Timeline') > -1 || _this.currentView.indexOf('Timeline') > -1 ? true : _this.uiStateValues.isInitial;
16350
16357
  _this.viewIndex = navigationArgs.viewIndex;
16351
16358
  _this.setProperties({ currentView: view }, true);
16352
16359
  if (_this.headerModule) {
@@ -25956,7 +25963,7 @@ var ICalendarExport = /** @__PURE__ @class */ (function () {
25956
25963
  var editedExDate = [];
25957
25964
  if (eventObj[fields.recurrenceID]) {
25958
25965
  var filter = _this.filterEvents(filterCollection, fields.id, eventObj[fields.recurrenceID]);
25959
- uId = filter[0].UID;
25966
+ uId = filter.length > 0 ? filter[0].UID : uId;
25960
25967
  }
25961
25968
  if (!eventObj[fields.recurrenceID] && eventObj[fields.recurrenceRule] && eventObj[fields.recurrenceException]) {
25962
25969
  var exDate = (eventObj[fields.recurrenceException]).split(',');