@syncfusion/ej2-schedule 20.1.59 → 20.1.61

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 (51) hide show
  1. package/CHANGELOG.md +12 -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 +34 -8
  5. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es5.js +34 -8
  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 +10 -10
  12. package/src/schedule/actions/action-base.d.ts +1 -0
  13. package/src/schedule/actions/action-base.js +3 -2
  14. package/src/schedule/actions/drag.js +1 -1
  15. package/src/schedule/event-renderer/event-base.js +3 -0
  16. package/src/schedule/event-renderer/month.js +1 -3
  17. package/src/schedule/popups/quick-popups.js +2 -1
  18. package/src/schedule/renderer/vertical-view.d.ts +1 -0
  19. package/src/schedule/renderer/vertical-view.js +16 -1
  20. package/src/schedule/renderer/view-base.js +8 -0
  21. package/styles/bootstrap-dark.css +1 -4
  22. package/styles/bootstrap.css +1 -4
  23. package/styles/bootstrap4.css +1 -4
  24. package/styles/bootstrap5-dark.css +0 -2
  25. package/styles/bootstrap5.css +1 -4
  26. package/styles/fabric-dark.css +1 -4
  27. package/styles/fabric.css +1 -4
  28. package/styles/fluent-dark.css +0 -2
  29. package/styles/fluent.css +1 -4
  30. package/styles/highcontrast-light.css +1 -4
  31. package/styles/highcontrast.css +1 -4
  32. package/styles/material-dark.css +1 -4
  33. package/styles/material.css +1 -4
  34. package/styles/schedule/_layout.scss +0 -1
  35. package/styles/schedule/bootstrap-dark.css +1 -4
  36. package/styles/schedule/bootstrap.css +1 -4
  37. package/styles/schedule/bootstrap4.css +1 -4
  38. package/styles/schedule/bootstrap5-dark.css +0 -2
  39. package/styles/schedule/bootstrap5.css +1 -4
  40. package/styles/schedule/fabric-dark.css +1 -4
  41. package/styles/schedule/fabric.css +1 -4
  42. package/styles/schedule/fluent-dark.css +0 -2
  43. package/styles/schedule/fluent.css +1 -4
  44. package/styles/schedule/highcontrast-light.css +1 -4
  45. package/styles/schedule/highcontrast.css +1 -4
  46. package/styles/schedule/material-dark.css +1 -4
  47. package/styles/schedule/material.css +1 -4
  48. package/styles/schedule/tailwind-dark.css +0 -2
  49. package/styles/schedule/tailwind.css +1 -4
  50. package/styles/tailwind-dark.css +0 -2
  51. package/styles/tailwind.css +1 -4
@@ -5737,6 +5737,7 @@ class EventBase {
5737
5737
  }
5738
5738
  else if (!closest(element, '.' + POPUP_OPEN)) {
5739
5739
  this.removeSelectedAppointmentClass();
5740
+ this.parent.selectedElements = [];
5740
5741
  }
5741
5742
  }
5742
5743
  wireAppointmentEvents(element, event, isPreventCrud = false) {
@@ -5838,6 +5839,7 @@ class EventBase {
5838
5839
  this.parent.trigger(eventClick, args, (eventClickArgs) => {
5839
5840
  if (eventClickArgs.cancel) {
5840
5841
  this.removeSelectedAppointmentClass();
5842
+ this.parent.selectedElements = [];
5841
5843
  if (this.parent.quickPopup) {
5842
5844
  this.parent.quickPopup.quickPopupHide();
5843
5845
  }
@@ -5869,6 +5871,7 @@ class EventBase {
5869
5871
  this.activeEventData(e, true);
5870
5872
  }
5871
5873
  this.removeSelectedAppointmentClass();
5874
+ this.parent.selectedElements = [];
5872
5875
  if (this.parent.activeEventData.element.classList.contains(INLINE_APPOINTMENT_CLASS) ||
5873
5876
  this.parent.activeEventData.element.querySelector('.' + INLINE_SUBJECT_CLASS)) {
5874
5877
  return;
@@ -7229,9 +7232,7 @@ class MonthEvent extends EventBase {
7229
7232
  this.sortByDateTime(blockList);
7230
7233
  if (this.parent.currentView === 'Month' && this.parent.rowAutoHeight && this.parent.activeViewOptions.group.resources.length === 0) {
7231
7234
  const totalCells = [].slice.call(this.parent.element.querySelectorAll('.e-content-wrap table tr td:first-child'));
7232
- const height = this.parent.height === 'auto' ? (this.parent.element.querySelector('.e-content-wrap').clientHeight +
7233
- this.parent.element.querySelector('.e-date-header-wrap').clientHeight) / totalCells.length
7234
- : this.parent.element.querySelector('.e-schedule-table').clientHeight / totalCells.length;
7235
+ const height = this.parent.element.querySelector('.' + CONTENT_TABLE_CLASS).clientHeight / totalCells.length;
7235
7236
  totalCells.forEach((cell) => {
7236
7237
  setStyleAttribute(cell, { 'height': height + 'px' });
7237
7238
  });
@@ -9080,6 +9081,7 @@ class QuickPopups {
9080
9081
  }
9081
9082
  else {
9082
9083
  const isSameTarget = this.isSameEventClick(events);
9084
+ this.parent.selectedElements = [];
9083
9085
  if (isSameTarget) {
9084
9086
  return;
9085
9087
  }
@@ -9145,7 +9147,7 @@ class QuickPopups {
9145
9147
  `<button class="${DELETE_CLASS + ' ' + ICON}" title="${this.l10n.getConstant('delete')}"></button>` +
9146
9148
  `<button class="${CLOSE_CLASS}" title="${this.l10n.getConstant('close')}"></button></div>` +
9147
9149
  `<div class="${SUBJECT_WRAP}"><div class="${SUBJECT_CLASS} ${TEXT_ELLIPSIS}" ` +
9148
- `title="${args.eventSubject}">${args.eventSubject}</div></div >`;
9150
+ `title="${args.eventSubject ? args.eventSubject.replaceAll('"', '\'') : args.eventSubject}">${args.eventSubject}</div></div >`;
9149
9151
  break;
9150
9152
  }
9151
9153
  const templateWrapper = createElement('div', { innerHTML: header });
@@ -18294,6 +18296,7 @@ class ActionBase {
18294
18296
  }
18295
18297
  }
18296
18298
  updateScrollPosition(e) {
18299
+ this.scrollEventArgs = e;
18297
18300
  if (this.actionObj.scroll.enable && isNullOrUndefined(this.actionObj.scrollInterval)) {
18298
18301
  this.actionObj.scrollInterval = window.setInterval(() => {
18299
18302
  if (this.autoScrollValidation() && !this.actionObj.clone.classList.contains(ALLDAY_APPOINTMENT_CLASS)) {
@@ -18303,10 +18306,10 @@ class ActionBase {
18303
18306
  }
18304
18307
  this.autoScroll();
18305
18308
  if (this.actionObj.action === 'drag') {
18306
- this.parent.dragAndDropModule.updateDraggingDateTime(e);
18309
+ this.parent.dragAndDropModule.updateDraggingDateTime(this.scrollEventArgs);
18307
18310
  }
18308
18311
  else {
18309
- this.parent.resizeModule.updateResizingDirection(e);
18312
+ this.parent.resizeModule.updateResizingDirection(this.scrollEventArgs);
18310
18313
  }
18311
18314
  }
18312
18315
  }, this.actionObj.scroll.timeDelay);
@@ -20686,7 +20689,7 @@ class DragAndDrop extends ActionBase {
20686
20689
  const cursorElement = this.getCursorElement(e);
20687
20690
  if (cursorElement) {
20688
20691
  top = cursorElement.classList.contains(WORK_CELLS_CLASS) ? cursorElement.offsetTop :
20689
- cursorElement.offsetParent.classList.contains(APPOINTMENT_CLASS) ?
20692
+ (cursorElement.offsetParent && cursorElement.offsetParent.classList.contains(APPOINTMENT_CLASS)) ?
20690
20693
  cursorElement.offsetParent.offsetTop : top;
20691
20694
  }
20692
20695
  }
@@ -21225,6 +21228,14 @@ class ViewBase {
21225
21228
  const tdDate = new Date(resetTime(new Date(+scrollDate)).getTime()).getTime();
21226
21229
  const dateElement = scrollWrap.querySelector(`.${WORK_CELLS_CLASS}[data-date="${tdDate}"]`);
21227
21230
  if (this.parent.currentView === 'Month' && dateElement) {
21231
+ if (scrollWrap.scrollWidth > scrollWrap.clientWidth) {
21232
+ if (!this.parent.enableRtl) {
21233
+ scrollWrap.scrollLeft = dateElement.offsetLeft;
21234
+ }
21235
+ else {
21236
+ scrollWrap.scrollLeft = -(this.parent.getContentTable().offsetWidth - dateElement.offsetLeft - dateElement.offsetWidth);
21237
+ }
21238
+ }
21228
21239
  scrollWrap.scrollTop = dateElement.offsetTop;
21229
21240
  }
21230
21241
  if (this.parent.currentView === 'TimelineMonth' && dateElement) {
@@ -21413,11 +21424,26 @@ class VerticalView extends ViewBase {
21413
21424
  }
21414
21425
  scrollToHour(hour, scrollDate) {
21415
21426
  const date = this.parent.getStartEndTime(hour);
21416
- if (isNullOrUndefined(date) || !isNullOrUndefined(scrollDate)) {
21427
+ if (!isNullOrUndefined(scrollDate)) {
21428
+ const headerElement = this.element.querySelector('.' + HEADER_CELLS_CLASS + '[data-date="' + new Date(resetTime(scrollDate)).getTime() + '"]');
21429
+ if (headerElement) {
21430
+ if (this.parent.enableRtl) {
21431
+ const conWrap = this.element.querySelector('.' + CONTENT_TABLE_CLASS);
21432
+ this.getScrollableElement().scrollLeft = -(conWrap.offsetWidth - headerElement.offsetLeft - headerElement.offsetWidth);
21433
+ }
21434
+ else {
21435
+ this.getScrollableElement().scrollLeft = headerElement.offsetLeft;
21436
+ }
21437
+ }
21438
+ }
21439
+ if (isNullOrUndefined(date)) {
21417
21440
  return;
21418
21441
  }
21419
21442
  this.getScrollableElement().scrollTop = this.getTopFromDateTime(date);
21420
21443
  }
21444
+ scrollToDate(scrollDate) {
21445
+ this.scrollToHour(null, scrollDate);
21446
+ }
21421
21447
  generateColumnLevels() {
21422
21448
  const level = this.getDateSlots(this.renderDates, this.parent.activeViewOptions.workDays);
21423
21449
  let columnLevels = [];