@syncfusion/ej2-schedule 20.1.56 → 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 (53) hide show
  1. package/CHANGELOG.md +20 -1
  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 +68 -33
  5. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es5.js +66 -31
  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 +12 -12
  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 +10 -10
  15. package/src/schedule/base/schedule.js +5 -1
  16. package/src/schedule/event-renderer/agenda-base.js +3 -0
  17. package/src/schedule/event-renderer/event-base.js +16 -11
  18. package/src/schedule/event-renderer/month.js +1 -3
  19. package/src/schedule/popups/quick-popups.js +4 -3
  20. package/src/schedule/renderer/vertical-view.d.ts +1 -0
  21. package/src/schedule/renderer/vertical-view.js +16 -1
  22. package/src/schedule/renderer/view-base.js +8 -0
  23. package/styles/bootstrap-dark.css +1 -4
  24. package/styles/bootstrap.css +1 -4
  25. package/styles/bootstrap4.css +1 -4
  26. package/styles/bootstrap5-dark.css +0 -2
  27. package/styles/bootstrap5.css +1 -4
  28. package/styles/fabric-dark.css +1 -4
  29. package/styles/fabric.css +1 -4
  30. package/styles/fluent-dark.css +0 -2
  31. package/styles/fluent.css +1 -4
  32. package/styles/highcontrast-light.css +1 -4
  33. package/styles/highcontrast.css +1 -4
  34. package/styles/material-dark.css +1 -4
  35. package/styles/material.css +1 -4
  36. package/styles/schedule/_layout.scss +0 -1
  37. package/styles/schedule/bootstrap-dark.css +1 -4
  38. package/styles/schedule/bootstrap.css +1 -4
  39. package/styles/schedule/bootstrap4.css +1 -4
  40. package/styles/schedule/bootstrap5-dark.css +0 -2
  41. package/styles/schedule/bootstrap5.css +1 -4
  42. package/styles/schedule/fabric-dark.css +1 -4
  43. package/styles/schedule/fabric.css +1 -4
  44. package/styles/schedule/fluent-dark.css +0 -2
  45. package/styles/schedule/fluent.css +1 -4
  46. package/styles/schedule/highcontrast-light.css +1 -4
  47. package/styles/schedule/highcontrast.css +1 -4
  48. package/styles/schedule/material-dark.css +1 -4
  49. package/styles/schedule/material.css +1 -4
  50. package/styles/schedule/tailwind-dark.css +0 -2
  51. package/styles/schedule/tailwind.css +1 -4
  52. package/styles/tailwind-dark.css +0 -2
  53. package/styles/tailwind.css +1 -4
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.1.56
3
+ * version : 20.1.61
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-schedule@*",
3
- "_id": "@syncfusion/ej2-schedule@20.1.52",
3
+ "_id": "@syncfusion/ej2-schedule@20.1.59",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-qtFM7akIbheekvc1bALoRXscem+S6iYvN7WNF5oJbZEsoEePiXdWtSosjCutVqWUSjZFmZm04+if9DqS5rGI3w==",
5
+ "_integrity": "sha512-gDP6/wsghpQtUJ49UTmIPeJx5aTHUJKd00EBl1b0VT9McWpp3ZQJ/tK5J2vPCkHWGhhwbQrPt+ycSbySV7uEFw==",
6
6
  "_location": "/@syncfusion/ej2-schedule",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,8 +23,8 @@
23
23
  "/@syncfusion/ej2-react-schedule",
24
24
  "/@syncfusion/ej2-vue-schedule"
25
25
  ],
26
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-20.1.52.tgz",
27
- "_shasum": "3b89c078a1653001bf46f6af13fa7fef95b90fb1",
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-20.1.59.tgz",
27
+ "_shasum": "add165639e70831957429402aa630c7bf8e0262b",
28
28
  "_spec": "@syncfusion/ej2-schedule@*",
29
29
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
30
30
  "author": {
@@ -35,16 +35,16 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~20.1.56",
39
- "@syncfusion/ej2-buttons": "~20.1.55",
40
- "@syncfusion/ej2-calendars": "~20.1.56",
38
+ "@syncfusion/ej2-base": "~20.1.61",
39
+ "@syncfusion/ej2-buttons": "~20.1.61",
40
+ "@syncfusion/ej2-calendars": "~20.1.58",
41
41
  "@syncfusion/ej2-data": "~20.1.55",
42
- "@syncfusion/ej2-dropdowns": "~20.1.56",
42
+ "@syncfusion/ej2-dropdowns": "~20.1.61",
43
43
  "@syncfusion/ej2-excel-export": "~20.1.55",
44
- "@syncfusion/ej2-inputs": "~20.1.55",
44
+ "@syncfusion/ej2-inputs": "~20.1.61",
45
45
  "@syncfusion/ej2-lists": "~20.1.55",
46
- "@syncfusion/ej2-navigations": "~20.1.56",
47
- "@syncfusion/ej2-popups": "~20.1.55"
46
+ "@syncfusion/ej2-navigations": "~20.1.61",
47
+ "@syncfusion/ej2-popups": "~20.1.58"
48
48
  },
49
49
  "deprecated": false,
50
50
  "description": "Flexible scheduling library with more built-in features and enhanced customization options similar to outlook and google calendar, allowing the users to plan and manage their appointments with efficient data-binding support.",
@@ -81,6 +81,6 @@
81
81
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
82
82
  },
83
83
  "typings": "index.d.ts",
84
- "version": "20.1.56",
84
+ "version": "20.1.61",
85
85
  "sideEffects": false
86
86
  }
@@ -16,6 +16,7 @@ export declare class ActionBase {
16
16
  verticalEvent: VerticalEvent;
17
17
  yearEvent: YearEvent;
18
18
  daysVariation: number;
19
+ private scrollEventArgs;
19
20
  constructor(parent: Schedule);
20
21
  getChangedData(multiData?: Record<string, any>[]): Record<string, any>;
21
22
  saveChangedData(eventArgs: DragEventArgs | ResizeEventArgs, isMultiSelect?: boolean): void;
@@ -300,6 +300,7 @@ var ActionBase = /** @class */ (function () {
300
300
  };
301
301
  ActionBase.prototype.updateScrollPosition = function (e) {
302
302
  var _this = this;
303
+ this.scrollEventArgs = e;
303
304
  if (this.actionObj.scroll.enable && isNullOrUndefined(this.actionObj.scrollInterval)) {
304
305
  this.actionObj.scrollInterval = window.setInterval(function () {
305
306
  if (_this.autoScrollValidation() && !_this.actionObj.clone.classList.contains(cls.ALLDAY_APPOINTMENT_CLASS)) {
@@ -309,10 +310,10 @@ var ActionBase = /** @class */ (function () {
309
310
  }
310
311
  _this.autoScroll();
311
312
  if (_this.actionObj.action === 'drag') {
312
- _this.parent.dragAndDropModule.updateDraggingDateTime(e);
313
+ _this.parent.dragAndDropModule.updateDraggingDateTime(_this.scrollEventArgs);
313
314
  }
314
315
  else {
315
- _this.parent.resizeModule.updateResizingDirection(e);
316
+ _this.parent.resizeModule.updateResizingDirection(_this.scrollEventArgs);
316
317
  }
317
318
  }
318
319
  }, this.actionObj.scroll.timeDelay);
@@ -570,7 +570,7 @@ var DragAndDrop = /** @class */ (function (_super) {
570
570
  var eventObj = extend({}, this.actionObj.event, null, true);
571
571
  var eventStart = eventObj[this.parent.eventFields.startTime];
572
572
  var eventEnd = eventObj[this.parent.eventFields.endTime];
573
- var eventDuration = eventEnd.getTime() - eventStart.getTime();
573
+ var eventDuration = util.getUniversalTime(eventEnd) - util.getUniversalTime(eventStart);
574
574
  var offsetTop = Math.floor(parseInt(this.actionObj.clone.style.top, 10) / this.actionObj.cellHeight)
575
575
  * this.actionObj.cellHeight;
576
576
  offsetTop = offsetTop < 0 ? 0 : offsetTop;
@@ -929,8 +929,8 @@ var DragAndDrop = /** @class */ (function (_super) {
929
929
  if (isNullOrUndefined(this.parent.eventDragArea)) {
930
930
  this.removeCloneElement();
931
931
  }
932
- var eventDuration = eventObj[this.parent.eventFields.endTime].getTime() -
933
- eventObj[this.parent.eventFields.startTime].getTime();
932
+ var eventDuration = util.getUniversalTime(eventObj[this.parent.eventFields.endTime]) -
933
+ util.getUniversalTime(eventObj[this.parent.eventFields.startTime]);
934
934
  var td = closest(this.actionObj.target, 'td');
935
935
  if (!isNullOrUndefined(td)) {
936
936
  var tr = td.parentElement;
@@ -944,11 +944,11 @@ var DragAndDrop = /** @class */ (function (_super) {
944
944
  }
945
945
  var timeString = new Date(currentDate.setDate(currentDate.getDate() - this.daysVariation));
946
946
  var dragStart = new Date(timeString.getTime());
947
+ var startTimeDiff = util.getUniversalTime(eventObj[this.parent.eventFields.startTime]) -
948
+ util.getUniversalTime(util.resetTime(new Date(+eventObj[this.parent.eventFields.startTime])));
949
+ dragStart.setMilliseconds(startTimeDiff);
947
950
  var dragEnd = new Date(dragStart.getTime());
948
- var startTimeDiff = eventObj[this.parent.eventFields.startTime].getTime() -
949
- (util.resetTime(new Date(+eventObj[this.parent.eventFields.startTime]))).getTime();
950
- dragStart = new Date(dragStart.getTime() + startTimeDiff);
951
- dragEnd = new Date(dragStart.getTime() + eventDuration);
951
+ dragEnd.setMilliseconds(eventDuration);
952
952
  this.actionObj.start = new Date(dragStart.getTime());
953
953
  this.actionObj.end = new Date(dragEnd.getTime());
954
954
  }
@@ -1004,8 +1004,8 @@ var DragAndDrop = /** @class */ (function (_super) {
1004
1004
  };
1005
1005
  DragAndDrop.prototype.calculateTimelineTime = function (e) {
1006
1006
  var eventObj = extend({}, this.actionObj.event, null, true);
1007
- var eventDuration = eventObj[this.parent.eventFields.endTime].getTime() -
1008
- eventObj[this.parent.eventFields.startTime].getTime();
1007
+ var eventDuration = util.getUniversalTime(eventObj[this.parent.eventFields.endTime]) -
1008
+ util.getUniversalTime(eventObj[this.parent.eventFields.startTime]);
1009
1009
  var offsetLeft = this.parent.enableRtl ? Math.abs(this.actionObj.clone.offsetLeft) - this.actionObj.clone.offsetWidth :
1010
1010
  parseInt(this.actionObj.clone.style.left, 10);
1011
1011
  offsetLeft = Math.floor(offsetLeft / this.actionObj.cellWidth) * this.actionObj.cellWidth;
@@ -1238,7 +1238,7 @@ var DragAndDrop = /** @class */ (function (_super) {
1238
1238
  var cursorElement = this.getCursorElement(e);
1239
1239
  if (cursorElement) {
1240
1240
  top = cursorElement.classList.contains(cls.WORK_CELLS_CLASS) ? cursorElement.offsetTop :
1241
- cursorElement.offsetParent.classList.contains(cls.APPOINTMENT_CLASS) ?
1241
+ (cursorElement.offsetParent && cursorElement.offsetParent.classList.contains(cls.APPOINTMENT_CLASS)) ?
1242
1242
  cursorElement.offsetParent.offsetTop : top;
1243
1243
  }
1244
1244
  }
@@ -1324,8 +1324,12 @@ var Schedule = /** @class */ (function (_super) {
1324
1324
  this.refreshEvents(false);
1325
1325
  }
1326
1326
  break;
1327
- case 'showWeekend':
1328
1327
  case 'workDays':
1328
+ if (JSON.stringify(oldProp.workDays) !== JSON.stringify(newProp.workDays)) {
1329
+ state.isLayout = true;
1330
+ }
1331
+ break;
1332
+ case 'showWeekend':
1329
1333
  case 'startHour':
1330
1334
  case 'endHour':
1331
1335
  case 'workHours':
@@ -36,6 +36,9 @@ var AgendaBase = /** @class */ (function (_super) {
36
36
  itemClass: this.parent.activeView.viewClass,
37
37
  template: "<div class=\"" + cls.AGENDA_NO_EVENT_CLASS + "\">" + this.parent.localeObj.getConstant('noEvents') + "</div>"
38
38
  });
39
+ if (listElement.querySelector('.e-agenda-item').children.length === 0) {
40
+ listElement.firstElementChild.appendChild(createElement('div', { className: cls.AGENDA_NO_EVENT_CLASS, innerHTML: this.parent.localeObj.getConstant('noEvents') }));
41
+ }
39
42
  }
40
43
  else {
41
44
  listElement = ListBase.createList(this.parent.createElement, listData, {
@@ -641,7 +641,7 @@ var EventBase = /** @class */ (function () {
641
641
  EventBase.prototype.isAllDayAppointment = function (event) {
642
642
  var fieldMapping = this.parent.eventFields;
643
643
  var isAllDay = event[fieldMapping.isAllDay];
644
- var isFullDay = ((event[fieldMapping.endTime].getTime() - event[fieldMapping.startTime].getTime())
644
+ var isFullDay = ((util.getUniversalTime(event[fieldMapping.endTime]) - util.getUniversalTime(event[fieldMapping.startTime]))
645
645
  / util.MS_PER_DAY) >= 1;
646
646
  return (isAllDay || (this.parent.eventSettings.spannedEventPlacement !== 'TimeSlot' && isFullDay)) ? true : false;
647
647
  };
@@ -660,6 +660,7 @@ var EventBase = /** @class */ (function () {
660
660
  }
661
661
  else if (!closest(element, '.' + cls.POPUP_OPEN)) {
662
662
  this.removeSelectedAppointmentClass();
663
+ this.parent.selectedElements = [];
663
664
  }
664
665
  };
665
666
  EventBase.prototype.wireAppointmentEvents = function (element, event, isPreventCrud) {
@@ -765,6 +766,7 @@ var EventBase = /** @class */ (function () {
765
766
  this.parent.trigger(event.eventClick, args, function (eventClickArgs) {
766
767
  if (eventClickArgs.cancel) {
767
768
  _this.removeSelectedAppointmentClass();
769
+ _this.parent.selectedElements = [];
768
770
  if (_this.parent.quickPopup) {
769
771
  _this.parent.quickPopup.quickPopupHide();
770
772
  }
@@ -796,6 +798,7 @@ var EventBase = /** @class */ (function () {
796
798
  this.activeEventData(e, true);
797
799
  }
798
800
  this.removeSelectedAppointmentClass();
801
+ this.parent.selectedElements = [];
799
802
  if (this.parent.activeEventData.element.classList.contains(cls.INLINE_APPOINTMENT_CLASS) ||
800
803
  this.parent.activeEventData.element.querySelector('.' + cls.INLINE_SUBJECT_CLASS)) {
801
804
  return;
@@ -1224,16 +1227,18 @@ var EventBase = /** @class */ (function () {
1224
1227
  }
1225
1228
  };
1226
1229
  EventBase.prototype.updateEventMinimumDuration = function (startEndHours, startTime, endTime) {
1227
- var eventDuration = (util.getUniversalTime(endTime) - util.getUniversalTime(startTime)) / util.MS_PER_MINUTE;
1228
- if (eventDuration < this.parent.eventSettings.minimumEventDuration) {
1229
- var tempEnd = new Date(startTime);
1230
- tempEnd.setMinutes(tempEnd.getMinutes() + this.parent.eventSettings.minimumEventDuration);
1231
- endTime = tempEnd;
1232
- if (endTime.getTime() > startEndHours.endHour.getTime()) {
1233
- var tempStart = new Date(startEndHours.endHour.getTime());
1234
- tempStart.setMinutes(tempStart.getMinutes() - this.parent.eventSettings.minimumEventDuration);
1235
- startTime = tempStart;
1236
- endTime = startEndHours.endHour;
1230
+ if (startTime.getTime() < endTime.getTime()) {
1231
+ var eventDuration = (util.getUniversalTime(endTime) - util.getUniversalTime(startTime)) / util.MS_PER_MINUTE;
1232
+ if (eventDuration < this.parent.eventSettings.minimumEventDuration) {
1233
+ var tempEnd = new Date(startTime);
1234
+ tempEnd.setMinutes(tempEnd.getMinutes() + this.parent.eventSettings.minimumEventDuration);
1235
+ endTime = tempEnd;
1236
+ if (endTime.getTime() > startEndHours.endHour.getTime()) {
1237
+ var tempStart = new Date(startEndHours.endHour.getTime());
1238
+ tempStart.setMinutes(tempStart.getMinutes() - this.parent.eventSettings.minimumEventDuration);
1239
+ startTime = tempStart;
1240
+ endTime = startEndHours.endHour;
1241
+ }
1237
1242
  }
1238
1243
  }
1239
1244
  return { startDate: startTime, endDate: endTime };
@@ -163,9 +163,7 @@ var MonthEvent = /** @class */ (function (_super) {
163
163
  this.sortByDateTime(blockList);
164
164
  if (this.parent.currentView === 'Month' && this.parent.rowAutoHeight && this.parent.activeViewOptions.group.resources.length === 0) {
165
165
  var totalCells = [].slice.call(this.parent.element.querySelectorAll('.e-content-wrap table tr td:first-child'));
166
- var height_1 = this.parent.height === 'auto' ? (this.parent.element.querySelector('.e-content-wrap').clientHeight +
167
- this.parent.element.querySelector('.e-date-header-wrap').clientHeight) / totalCells.length
168
- : this.parent.element.querySelector('.e-schedule-table').clientHeight / totalCells.length;
166
+ var height_1 = this.parent.element.querySelector('.' + cls.CONTENT_TABLE_CLASS).clientHeight / totalCells.length;
169
167
  totalCells.forEach(function (cell) {
170
168
  setStyleAttribute(cell, { 'height': height_1 + 'px' });
171
169
  });
@@ -511,6 +511,7 @@ var QuickPopups = /** @class */ (function () {
511
511
  }
512
512
  else {
513
513
  var isSameTarget = this.isSameEventClick(events);
514
+ this.parent.selectedElements = [];
514
515
  if (isSameTarget) {
515
516
  return;
516
517
  }
@@ -576,7 +577,7 @@ var QuickPopups = /** @class */ (function () {
576
577
  ("<button class=\"" + (cls.DELETE_CLASS + ' ' + cls.ICON) + "\" title=\"" + this.l10n.getConstant('delete') + "\"></button>") +
577
578
  ("<button class=\"" + cls.CLOSE_CLASS + "\" title=\"" + this.l10n.getConstant('close') + "\"></button></div>") +
578
579
  ("<div class=\"" + cls.SUBJECT_WRAP + "\"><div class=\"" + cls.SUBJECT_CLASS + " " + cls.TEXT_ELLIPSIS + "\" ") +
579
- ("title=\"" + args.eventSubject + "\">" + args.eventSubject + "</div></div >");
580
+ ("title=\"" + (args.eventSubject ? args.eventSubject.replaceAll('"', '\'') : args.eventSubject) + "\">" + args.eventSubject + "</div></div >");
580
581
  break;
581
582
  }
582
583
  var templateWrapper = createElement('div', { innerHTML: header });
@@ -764,11 +765,11 @@ var QuickPopups = /** @class */ (function () {
764
765
  (endDate.getTime() - startDate.getTime()) / (60 * 60 * 1000) < 24 ? 1 : 0;
765
766
  if (eventData[fields.isAllDay]) {
766
767
  details = startDateDetails + ' (' + this.l10n.getConstant('allDay') + ')';
767
- if (((endDate.getTime() - startDate.getTime()) / util.MS_PER_DAY) > 1) {
768
+ if (((util.getUniversalTime(endDate) - util.getUniversalTime(startDate)) / util.MS_PER_DAY) > 1) {
768
769
  details += '&nbsp;-&nbsp;' + endDateDetails + ' (' + this.l10n.getConstant('allDay') + ')';
769
770
  }
770
771
  }
771
- else if ((((endDate.getTime() - startDate.getTime()) / util.MS_PER_DAY) >= 1) || spanLength > 0) {
772
+ else if ((((util.getUniversalTime(endDate) - util.getUniversalTime(startDate)) / util.MS_PER_DAY) >= 1) || spanLength > 0) {
772
773
  details = startDateDetails + ' (' + startTimeDetail + ')' + '&nbsp;-&nbsp;' + endDateDetails + ' (' + endTimeDetail + ')';
773
774
  }
774
775
  else {
@@ -23,6 +23,7 @@ export declare class VerticalView extends ViewBase implements IRenderer {
23
23
  setContentHeight(element: HTMLElement, leftPanelElement: HTMLElement, height: number): void;
24
24
  scrollToWorkHour(): void;
25
25
  scrollToHour(hour: string, scrollDate?: Date): void;
26
+ scrollToDate(scrollDate: Date): void;
26
27
  generateColumnLevels(): TdData[][];
27
28
  getDateSlots(renderDates: Date[], workDays: number[], workStartHour?: string, workEndHour?: string): TdData[];
28
29
  private isWorkHourRange;
@@ -156,11 +156,26 @@ var VerticalView = /** @class */ (function (_super) {
156
156
  };
157
157
  VerticalView.prototype.scrollToHour = function (hour, scrollDate) {
158
158
  var date = this.parent.getStartEndTime(hour);
159
- if (isNullOrUndefined(date) || !isNullOrUndefined(scrollDate)) {
159
+ if (!isNullOrUndefined(scrollDate)) {
160
+ var headerElement = this.element.querySelector('.' + cls.HEADER_CELLS_CLASS + '[data-date="' + new Date(util.resetTime(scrollDate)).getTime() + '"]');
161
+ if (headerElement) {
162
+ if (this.parent.enableRtl) {
163
+ var conWrap = this.element.querySelector('.' + cls.CONTENT_TABLE_CLASS);
164
+ this.getScrollableElement().scrollLeft = -(conWrap.offsetWidth - headerElement.offsetLeft - headerElement.offsetWidth);
165
+ }
166
+ else {
167
+ this.getScrollableElement().scrollLeft = headerElement.offsetLeft;
168
+ }
169
+ }
170
+ }
171
+ if (isNullOrUndefined(date)) {
160
172
  return;
161
173
  }
162
174
  this.getScrollableElement().scrollTop = this.getTopFromDateTime(date);
163
175
  };
176
+ VerticalView.prototype.scrollToDate = function (scrollDate) {
177
+ this.scrollToHour(null, scrollDate);
178
+ };
164
179
  VerticalView.prototype.generateColumnLevels = function () {
165
180
  var level = this.getDateSlots(this.renderDates, this.parent.activeViewOptions.workDays);
166
181
  var columnLevels = [];
@@ -482,6 +482,14 @@ var ViewBase = /** @class */ (function () {
482
482
  var tdDate = new Date(util.resetTime(new Date(+scrollDate)).getTime()).getTime();
483
483
  var dateElement = scrollWrap.querySelector("." + cls.WORK_CELLS_CLASS + "[data-date=\"" + tdDate + "\"]");
484
484
  if (this.parent.currentView === 'Month' && dateElement) {
485
+ if (scrollWrap.scrollWidth > scrollWrap.clientWidth) {
486
+ if (!this.parent.enableRtl) {
487
+ scrollWrap.scrollLeft = dateElement.offsetLeft;
488
+ }
489
+ else {
490
+ scrollWrap.scrollLeft = -(this.parent.getContentTable().offsetWidth - dateElement.offsetLeft - dateElement.offsetWidth);
491
+ }
492
+ }
485
493
  scrollWrap.scrollTop = dateElement.offsetTop;
486
494
  }
487
495
  if (this.parent.currentView === 'TimelineMonth' && dateElement) {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's bootstrap theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's bootstrap theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e990";
5
4
  }
@@ -1073,8 +1072,6 @@
1073
1072
  height: 70px;
1074
1073
  }
1075
1074
  .e-schedule .e-month-view .e-content-wrap {
1076
- display: -ms-flexbox;
1077
- display: flex;
1078
1075
  font-size: 13px;
1079
1076
  }
1080
1077
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's bootstrap theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's bootstrap theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e990";
5
4
  }
@@ -1071,8 +1070,6 @@
1071
1070
  height: 70px;
1072
1071
  }
1073
1072
  .e-schedule .e-month-view .e-content-wrap {
1074
- display: -ms-flexbox;
1075
- display: flex;
1076
1073
  font-size: 13px;
1077
1074
  }
1078
1075
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's bootstrap4 theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's bootstrap4 theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e78c";
5
4
  }
@@ -1073,8 +1072,6 @@
1073
1072
  height: 70px;
1074
1073
  }
1075
1074
  .e-schedule .e-month-view .e-content-wrap {
1076
- display: -ms-flexbox;
1077
- display: flex;
1078
1075
  font-size: 14px;
1079
1076
  }
1080
1077
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1079,8 +1079,6 @@
1079
1079
  height: 70px;
1080
1080
  }
1081
1081
  .e-schedule .e-month-view .e-content-wrap {
1082
- display: -ms-flexbox;
1083
- display: flex;
1084
1082
  font-size: 14px;
1085
1083
  }
1086
1084
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule's bootstrap5 theme wise override definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule's bootstrap5 theme wise override definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e765";
5
4
  }
@@ -1080,8 +1079,6 @@
1080
1079
  height: 70px;
1081
1080
  }
1082
1081
  .e-schedule .e-month-view .e-content-wrap {
1083
- display: -ms-flexbox;
1084
- display: flex;
1085
1082
  font-size: 14px;
1086
1083
  }
1087
1084
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's fabric theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's fabric theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e98f";
5
4
  }
@@ -1073,8 +1072,6 @@
1073
1072
  height: 70px;
1074
1073
  }
1075
1074
  .e-schedule .e-month-view .e-content-wrap {
1076
- display: -ms-flexbox;
1077
- display: flex;
1078
1075
  font-size: 13px;
1079
1076
  }
1080
1077
  .e-schedule .e-month-view .e-date-header-wrap table col {
package/styles/fabric.css CHANGED
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's fabric theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's fabric theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e98f";
5
4
  }
@@ -1073,8 +1072,6 @@
1073
1072
  height: 70px;
1074
1073
  }
1075
1074
  .e-schedule .e-month-view .e-content-wrap {
1076
- display: -ms-flexbox;
1077
- display: flex;
1078
1075
  font-size: 13px;
1079
1076
  }
1080
1077
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1066,8 +1066,6 @@
1066
1066
  height: 70px;
1067
1067
  }
1068
1068
  .e-schedule .e-month-view .e-content-wrap {
1069
- display: -ms-flexbox;
1070
- display: flex;
1071
1069
  font-size: 14px;
1072
1070
  }
1073
1071
  .e-schedule .e-month-view .e-date-header-wrap table col {
package/styles/fluent.css CHANGED
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's bootstrap5 theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's bootstrap5 theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e765";
5
4
  }
@@ -1067,8 +1066,6 @@
1067
1066
  height: 70px;
1068
1067
  }
1069
1068
  .e-schedule .e-month-view .e-content-wrap {
1070
- display: -ms-flexbox;
1071
- display: flex;
1072
1069
  font-size: 14px;
1073
1070
  }
1074
1071
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's highcontrast theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's highcontrast theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e98f";
5
4
  }
@@ -1070,8 +1069,6 @@
1070
1069
  height: 70px;
1071
1070
  }
1072
1071
  .e-schedule .e-month-view .e-content-wrap {
1073
- display: -ms-flexbox;
1074
- display: flex;
1075
1072
  font-size: 13px;
1076
1073
  }
1077
1074
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's highcontrast theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's highcontrast theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e98f";
5
4
  }
@@ -1073,8 +1072,6 @@
1073
1072
  height: 70px;
1074
1073
  }
1075
1074
  .e-schedule .e-month-view .e-content-wrap {
1076
- display: -ms-flexbox;
1077
- display: flex;
1078
1075
  font-size: 13px;
1079
1076
  }
1080
1077
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,6 +1,5 @@
1
1
  @import url("https://fonts.googleapis.com/css?family=Roboto:400,500");
2
- /*! recurrence editor theme wise definitions*/
3
- /*! Schedule component's material theme definitions and variables */
2
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's material theme definitions and variables */
4
3
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
5
4
  content: "\e937";
6
5
  }
@@ -1071,8 +1070,6 @@
1071
1070
  height: 70px;
1072
1071
  }
1073
1072
  .e-schedule .e-month-view .e-content-wrap {
1074
- display: -ms-flexbox;
1075
- display: flex;
1076
1073
  font-size: 13px;
1077
1074
  }
1078
1075
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,6 +1,5 @@
1
1
  @import url("https://fonts.googleapis.com/css?family=Roboto:400,500");
2
- /*! recurrence editor theme wise definitions*/
3
- /*! Schedule component's material theme definitions and variables */
2
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's material theme definitions and variables */
4
3
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
5
4
  content: "\e937";
6
5
  }
@@ -1074,8 +1073,6 @@
1074
1073
  height: 70px;
1075
1074
  }
1076
1075
  .e-schedule .e-month-view .e-content-wrap {
1077
- display: -ms-flexbox;
1078
- display: flex;
1079
1076
  font-size: 13px;
1080
1077
  }
1081
1078
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1251,7 +1251,6 @@
1251
1251
  }
1252
1252
 
1253
1253
  .e-content-wrap {
1254
- display: flex;
1255
1254
  font-size: $schedule-date-header-wrap-nrml-font-size;
1256
1255
  }
1257
1256
 
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's bootstrap theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's bootstrap theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e990";
5
4
  }
@@ -1073,8 +1072,6 @@
1073
1072
  height: 70px;
1074
1073
  }
1075
1074
  .e-schedule .e-month-view .e-content-wrap {
1076
- display: -ms-flexbox;
1077
- display: flex;
1078
1075
  font-size: 13px;
1079
1076
  }
1080
1077
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's bootstrap theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's bootstrap theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e990";
5
4
  }
@@ -1071,8 +1070,6 @@
1071
1070
  height: 70px;
1072
1071
  }
1073
1072
  .e-schedule .e-month-view .e-content-wrap {
1074
- display: -ms-flexbox;
1075
- display: flex;
1076
1073
  font-size: 13px;
1077
1074
  }
1078
1075
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule component's bootstrap4 theme definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule component's bootstrap4 theme definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e78c";
5
4
  }
@@ -1073,8 +1072,6 @@
1073
1072
  height: 70px;
1074
1073
  }
1075
1074
  .e-schedule .e-month-view .e-content-wrap {
1076
- display: -ms-flexbox;
1077
- display: flex;
1078
1075
  font-size: 14px;
1079
1076
  }
1080
1077
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1079,8 +1079,6 @@
1079
1079
  height: 70px;
1080
1080
  }
1081
1081
  .e-schedule .e-month-view .e-content-wrap {
1082
- display: -ms-flexbox;
1083
- display: flex;
1084
1082
  font-size: 14px;
1085
1083
  }
1086
1084
  .e-schedule .e-month-view .e-date-header-wrap table col {
@@ -1,5 +1,4 @@
1
- /*! recurrence editor theme wise definitions*/
2
- /*! Schedule's bootstrap5 theme wise override definitions and variables */
1
+ /*! recurrence editor theme wise definitions*/ /*! Schedule's bootstrap5 theme wise override definitions and variables */
3
2
  .e-schedule .e-schedule-toolbar .e-icon-prev::before {
4
3
  content: "\e765";
5
4
  }
@@ -1080,8 +1079,6 @@
1080
1079
  height: 70px;
1081
1080
  }
1082
1081
  .e-schedule .e-month-view .e-content-wrap {
1083
- display: -ms-flexbox;
1084
- display: flex;
1085
1082
  font-size: 14px;
1086
1083
  }
1087
1084
  .e-schedule .e-month-view .e-date-header-wrap table col {