@syncfusion/ej2-schedule 23.2.4 → 24.1.41

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 (119) 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 +278 -35
  6. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  7. package/dist/es6/ej2-schedule.es5.js +341 -65
  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 +16 -16
  13. package/src/recurrence-editor/recurrence-editor.js +4 -2
  14. package/src/schedule/actions/drag.js +4 -4
  15. package/src/schedule/base/schedule-model.d.ts +15 -1
  16. package/src/schedule/base/schedule.d.ts +14 -1
  17. package/src/schedule/base/schedule.js +5 -0
  18. package/src/schedule/base/type.d.ts +12 -0
  19. package/src/schedule/event-renderer/agenda-base.js +1 -1
  20. package/src/schedule/event-renderer/event-base.d.ts +1 -0
  21. package/src/schedule/event-renderer/event-base.js +25 -1
  22. package/src/schedule/event-renderer/month.js +9 -1
  23. package/src/schedule/event-renderer/timeline-view.js +8 -2
  24. package/src/schedule/event-renderer/year.js +17 -3
  25. package/src/schedule/models/models.d.ts +1 -0
  26. package/src/schedule/models/toolbar-model.d.ts +196 -0
  27. package/src/schedule/models/toolbar.d.ts +176 -0
  28. package/src/schedule/models/toolbar.js +85 -0
  29. package/src/schedule/models/views-model.d.ts +9 -0
  30. package/src/schedule/models/views.d.ts +8 -0
  31. package/src/schedule/models/views.js +3 -0
  32. package/src/schedule/popups/event-window.js +5 -11
  33. package/src/schedule/popups/quick-popups.js +2 -2
  34. package/src/schedule/renderer/header-renderer.d.ts +2 -0
  35. package/src/schedule/renderer/header-renderer.js +142 -4
  36. package/src/schedule/renderer/renderer.js +1 -1
  37. package/src/schedule/renderer/vertical-view.js +3 -3
  38. package/src/schedule/renderer/year.js +3 -0
  39. package/styles/bootstrap-dark.css +26 -22
  40. package/styles/bootstrap.css +26 -22
  41. package/styles/bootstrap4.css +25 -21
  42. package/styles/bootstrap5-dark.css +30 -26
  43. package/styles/bootstrap5.css +30 -26
  44. package/styles/fabric-dark.css +28 -24
  45. package/styles/fabric.css +28 -24
  46. package/styles/fluent-dark.css +28 -24
  47. package/styles/fluent.css +28 -24
  48. package/styles/highcontrast-light.css +26 -22
  49. package/styles/highcontrast.css +26 -22
  50. package/styles/material-dark.css +26 -22
  51. package/styles/material.css +26 -22
  52. package/styles/material3-dark.css +29 -25
  53. package/styles/material3.css +29 -25
  54. package/styles/recurrence-editor/_bootstrap-dark-definition.scss +3 -1
  55. package/styles/recurrence-editor/_bootstrap-definition.scss +3 -1
  56. package/styles/recurrence-editor/_bootstrap4-definition.scss +3 -1
  57. package/styles/recurrence-editor/_bootstrap5-definition.scss +5 -3
  58. package/styles/recurrence-editor/_fabric-dark-definition.scss +4 -2
  59. package/styles/recurrence-editor/_fabric-definition.scss +4 -2
  60. package/styles/recurrence-editor/_fluent-definition.scss +4 -2
  61. package/styles/recurrence-editor/_fusionnew-definition.scss +4 -2
  62. package/styles/recurrence-editor/_highcontrast-definition.scss +3 -1
  63. package/styles/recurrence-editor/_highcontrast-light-definition.scss +3 -1
  64. package/styles/recurrence-editor/_layout.scss +3 -10
  65. package/styles/recurrence-editor/_material-dark-definition.scss +3 -1
  66. package/styles/recurrence-editor/_material-definition.scss +3 -1
  67. package/styles/recurrence-editor/_material3-definition.scss +4 -2
  68. package/styles/recurrence-editor/_tailwind-definition.scss +5 -3
  69. package/styles/recurrence-editor/bootstrap-dark.css +5 -10
  70. package/styles/recurrence-editor/bootstrap.css +5 -10
  71. package/styles/recurrence-editor/bootstrap4.css +4 -9
  72. package/styles/recurrence-editor/bootstrap5-dark.css +9 -14
  73. package/styles/recurrence-editor/bootstrap5.css +9 -14
  74. package/styles/recurrence-editor/fabric-dark.css +7 -12
  75. package/styles/recurrence-editor/fabric.css +7 -12
  76. package/styles/recurrence-editor/fluent-dark.css +7 -12
  77. package/styles/recurrence-editor/fluent.css +7 -12
  78. package/styles/recurrence-editor/highcontrast-light.css +5 -10
  79. package/styles/recurrence-editor/highcontrast.css +5 -10
  80. package/styles/recurrence-editor/material-dark.css +5 -10
  81. package/styles/recurrence-editor/material.css +5 -10
  82. package/styles/recurrence-editor/material3-dark.css +7 -12
  83. package/styles/recurrence-editor/material3.css +7 -12
  84. package/styles/recurrence-editor/tailwind-dark.css +9 -14
  85. package/styles/recurrence-editor/tailwind.css +9 -14
  86. package/styles/schedule/_bootstrap-dark-definition.scss +6 -2
  87. package/styles/schedule/_bootstrap-definition.scss +6 -2
  88. package/styles/schedule/_bootstrap4-definition.scss +6 -2
  89. package/styles/schedule/_bootstrap5-definition.scss +6 -2
  90. package/styles/schedule/_fabric-dark-definition.scss +6 -2
  91. package/styles/schedule/_fabric-definition.scss +6 -2
  92. package/styles/schedule/_fluent-definition.scss +6 -2
  93. package/styles/schedule/_fusionnew-definition.scss +6 -2
  94. package/styles/schedule/_highcontrast-definition.scss +6 -2
  95. package/styles/schedule/_highcontrast-light-definition.scss +6 -2
  96. package/styles/schedule/_layout.scss +23 -10
  97. package/styles/schedule/_material-dark-definition.scss +6 -2
  98. package/styles/schedule/_material-definition.scss +6 -2
  99. package/styles/schedule/_material3-definition.scss +6 -2
  100. package/styles/schedule/_tailwind-definition.scss +6 -2
  101. package/styles/schedule/bootstrap-dark.css +21 -12
  102. package/styles/schedule/bootstrap.css +21 -12
  103. package/styles/schedule/bootstrap4.css +21 -12
  104. package/styles/schedule/bootstrap5-dark.css +21 -12
  105. package/styles/schedule/bootstrap5.css +21 -12
  106. package/styles/schedule/fabric-dark.css +21 -12
  107. package/styles/schedule/fabric.css +21 -12
  108. package/styles/schedule/fluent-dark.css +21 -12
  109. package/styles/schedule/fluent.css +21 -12
  110. package/styles/schedule/highcontrast-light.css +21 -12
  111. package/styles/schedule/highcontrast.css +21 -12
  112. package/styles/schedule/material-dark.css +21 -12
  113. package/styles/schedule/material.css +21 -12
  114. package/styles/schedule/material3-dark.css +22 -13
  115. package/styles/schedule/material3.css +22 -13
  116. package/styles/schedule/tailwind-dark.css +22 -13
  117. package/styles/schedule/tailwind.css +22 -13
  118. package/styles/tailwind-dark.css +31 -27
  119. package/styles/tailwind.css +31 -27
@@ -987,6 +987,17 @@ var ALLDAY_APPOINTMENT_SCROLL = 'e-all-day-scroll';
987
987
  /** @private */
988
988
  var ALLDAY_APPOINTMENT_AUTO = 'e-all-day-auto';
989
989
 
990
+ var __assign = (undefined && undefined.__assign) || function () {
991
+ __assign = Object.assign || function(t) {
992
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
993
+ s = arguments[i];
994
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
995
+ t[p] = s[p];
996
+ }
997
+ return t;
998
+ };
999
+ return __assign.apply(this, arguments);
1000
+ };
990
1001
  /* eslint-disable @typescript-eslint/no-explicit-any */
991
1002
  /**
992
1003
  * Header module
@@ -1045,7 +1056,7 @@ var HeaderRenderer = /** @__PURE__ @class */ (function () {
1045
1056
  };
1046
1057
  HeaderRenderer.prototype.renderToolbar = function () {
1047
1058
  var _this = this;
1048
- var items = this.getItems();
1059
+ var items = (this.parent.toolbarItems && this.parent.toolbarItems.length > 0) ? this.getToolbarItems() : this.getItems();
1049
1060
  this.parent.trigger(actionBegin, { requestType: 'toolbarItemRendering', items: items }, function (args) {
1050
1061
  _this.toolbarObj = new Toolbar({
1051
1062
  items: args.items,
@@ -1055,6 +1066,7 @@ var HeaderRenderer = /** @__PURE__ @class */ (function () {
1055
1066
  enableHtmlSanitizer: _this.parent.enableHtmlSanitizer,
1056
1067
  locale: _this.parent.locale
1057
1068
  });
1069
+ _this.toolbarObj.root = _this.parent.root ? _this.parent.root : _this.parent;
1058
1070
  _this.toolbarObj.appendTo(_this.parent.element.querySelector('.' + HEADER_TOOLBAR));
1059
1071
  var prevNavEle = _this.toolbarObj.element.querySelector('.e-prev');
1060
1072
  if (prevNavEle) {
@@ -1177,20 +1189,146 @@ var HeaderRenderer = /** @__PURE__ @class */ (function () {
1177
1189
  });
1178
1190
  return capitalizeFirstWord(dateString, 'single');
1179
1191
  };
1192
+ HeaderRenderer.prototype.getItemModel = function (propItem) {
1193
+ var item = {};
1194
+ if (propItem.id) {
1195
+ item.id = propItem.id;
1196
+ }
1197
+ if (propItem.text) {
1198
+ item.text = propItem.text;
1199
+ }
1200
+ if (propItem.tooltipText) {
1201
+ item.tooltipText = propItem.tooltipText;
1202
+ }
1203
+ if (propItem.prefixIcon) {
1204
+ item.prefixIcon = propItem.prefixIcon;
1205
+ }
1206
+ if (propItem.cssClass) {
1207
+ item.cssClass = propItem.cssClass;
1208
+ }
1209
+ if (propItem.showTextOn !== 'Both') {
1210
+ item.showTextOn = propItem.showTextOn;
1211
+ }
1212
+ if (propItem.template) {
1213
+ item.template = propItem.template;
1214
+ }
1215
+ if (propItem.disabled) {
1216
+ item.disabled = propItem.disabled;
1217
+ }
1218
+ if (propItem.width !== 'auto') {
1219
+ item.width = propItem.width;
1220
+ }
1221
+ if (propItem.suffixIcon) {
1222
+ item.suffixIcon = propItem.suffixIcon;
1223
+ }
1224
+ if (propItem.align !== 'Left') {
1225
+ item.align = propItem.align;
1226
+ }
1227
+ if (propItem.overflow !== 'None') {
1228
+ item.overflow = propItem.overflow;
1229
+ }
1230
+ if (propItem.htmlAttributes) {
1231
+ item.htmlAttributes = propItem.htmlAttributes;
1232
+ }
1233
+ if (propItem.type !== 'Button') {
1234
+ item.type = propItem.type;
1235
+ }
1236
+ if (propItem.visible !== true) {
1237
+ item.visible = propItem.visible;
1238
+ }
1239
+ if (propItem.showAlwaysInPopup) {
1240
+ item.showAlwaysInPopup = propItem.showAlwaysInPopup;
1241
+ }
1242
+ if (propItem.tabIndex !== -1) {
1243
+ item.tabIndex = propItem.tabIndex;
1244
+ }
1245
+ return item;
1246
+ };
1247
+ HeaderRenderer.prototype.getToolbarItems = function () {
1248
+ var items = [];
1249
+ var propItem;
1250
+ for (var _i = 0, _a = this.parent.toolbarItems; _i < _a.length; _i++) {
1251
+ var item = _a[_i];
1252
+ propItem = this.getItemModel(item);
1253
+ var tbItem = void 0;
1254
+ if (item.name) {
1255
+ switch (item.name) {
1256
+ case 'Today':
1257
+ tbItem = {
1258
+ showAlwaysInPopup: (this.parent.isAdaptive || this.parent.enableAdaptiveUI), prefixIcon: 'e-icon-day',
1259
+ text: this.l10n.getConstant('today'), cssClass: 'e-today', overflow: 'Show'
1260
+ };
1261
+ tbItem.align = propItem.align ? propItem.align : item.align;
1262
+ items.push(__assign({}, tbItem, propItem));
1263
+ break;
1264
+ case 'Previous':
1265
+ tbItem = {
1266
+ prefixIcon: 'e-icon-prev', tooltipText: 'Previous', overflow: 'Show',
1267
+ cssClass: 'e-prev', htmlAttributes: { 'role': 'navigation' }
1268
+ };
1269
+ tbItem.align = propItem.align ? propItem.align : item.align;
1270
+ items.push(__assign({}, tbItem, propItem));
1271
+ break;
1272
+ case 'Next':
1273
+ tbItem = {
1274
+ prefixIcon: 'e-icon-next', tooltipText: 'Next', overflow: 'Show',
1275
+ cssClass: 'e-next', htmlAttributes: { 'role': 'navigation' }
1276
+ };
1277
+ tbItem.align = propItem.align ? propItem.align : item.align;
1278
+ items.push(__assign({}, tbItem, propItem));
1279
+ break;
1280
+ case 'DateRangeText':
1281
+ tbItem = {
1282
+ text: this.getDateRangeText(), suffixIcon: 'e-icon-down-arrow', cssClass: 'e-date-range',
1283
+ overflow: 'Show',
1284
+ htmlAttributes: { 'aria-atomic': 'true', 'aria-live': 'assertive', 'role': 'navigation' }
1285
+ };
1286
+ tbItem.align = propItem.align ? propItem.align : item.align;
1287
+ items.push(__assign({}, tbItem, propItem));
1288
+ break;
1289
+ case 'NewEvent':
1290
+ tbItem = {
1291
+ showAlwaysInPopup: (this.parent.isAdaptive || this.parent.enableAdaptiveUI), prefixIcon: 'e-icon-add',
1292
+ text: this.l10n.getConstant('newEvent'), cssClass: 'e-add', overflow: 'Show'
1293
+ };
1294
+ tbItem.align = propItem.align ? propItem.align : item.align;
1295
+ items.push(__assign({}, tbItem, propItem));
1296
+ break;
1297
+ case 'Views':
1298
+ if (this.parent.views.length > 1) {
1299
+ for (var _b = 0, _c = this.parent.views; _b < _c.length; _b++) {
1300
+ var view = _c[_b];
1301
+ tbItem = this.getItemObject(view);
1302
+ tbItem.align = propItem.align ? propItem.align : item.align;
1303
+ items.push(__assign({}, tbItem, propItem));
1304
+ }
1305
+ }
1306
+ break;
1307
+ case 'Custom':
1308
+ items.push(item);
1309
+ break;
1310
+ }
1311
+ }
1312
+ else {
1313
+ items.push(item);
1314
+ }
1315
+ }
1316
+ return items;
1317
+ };
1180
1318
  HeaderRenderer.prototype.getItems = function () {
1181
1319
  var items = [];
1182
1320
  items.push({
1183
1321
  align: 'Left', prefixIcon: 'e-icon-prev', tooltipText: 'Previous', overflow: 'Show',
1184
- cssClass: 'e-prev', htmlAttributes: { 'role': 'navigation' }
1322
+ cssClass: 'e-prev'
1185
1323
  });
1186
1324
  items.push({
1187
1325
  align: 'Left', prefixIcon: 'e-icon-next', tooltipText: 'Next', overflow: 'Show',
1188
- cssClass: 'e-next', htmlAttributes: { 'role': 'navigation' }
1326
+ cssClass: 'e-next'
1189
1327
  });
1190
1328
  items.push({
1191
1329
  align: 'Left', text: this.getDateRangeText(), suffixIcon: 'e-icon-down-arrow', cssClass: 'e-date-range',
1192
1330
  overflow: 'Show',
1193
- htmlAttributes: { 'aria-atomic': 'true', 'aria-live': 'assertive', 'role': 'navigation' }
1331
+ htmlAttributes: { 'aria-atomic': 'true', 'aria-live': 'assertive' }
1194
1332
  });
1195
1333
  if (this.parent.isAdaptive || this.parent.enableAdaptiveUI) {
1196
1334
  items.push({
@@ -5467,6 +5605,9 @@ var EventBase = /** @__PURE__ @class */ (function () {
5467
5605
  EventBase.prototype.processTimezone = function (event, isReverse) {
5468
5606
  if (isReverse === void 0) { isReverse = false; }
5469
5607
  var fields = this.parent.eventFields;
5608
+ if (event[fields.isAllDay]) {
5609
+ return event;
5610
+ }
5470
5611
  if (event[fields.startTimezone] || event[fields.endTimezone]) {
5471
5612
  var startTimezone = event[fields.startTimezone] || event[fields.endTimezone];
5472
5613
  var endTimezone = event[fields.endTimezone] || event[fields.startTimezone];
@@ -6622,6 +6763,27 @@ var EventBase = /** @__PURE__ @class */ (function () {
6622
6763
  append([iconBottom], element);
6623
6764
  }
6624
6765
  };
6766
+ EventBase.prototype.addCellHeight = function (selector, eventHeight, eventGap, headerHeight, indHeight, isScrollUpdate) {
6767
+ if (isScrollUpdate === void 0) { isScrollUpdate = true; }
6768
+ if (this.parent.activeViewOptions.maxEventsPerRow && !this.parent.rowAutoHeight) {
6769
+ var rows = [].slice.call(this.parent.element.querySelectorAll(selector));
6770
+ var weekNumberRows = this.parent.showWeekNumber
6771
+ ? [].slice.call(this.parent.element.querySelectorAll('.' + WEEK_NUMBER_WRAPPER_CLASS + ' tbody tr'))
6772
+ : [];
6773
+ for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {
6774
+ var row = rows_1[_i];
6775
+ var height = (this.parent.activeViewOptions.maxEventsPerRow *
6776
+ ((eventHeight + (this.parent.currentView === 'Month' ? eventGap : 2)))) + headerHeight + indHeight;
6777
+ if (weekNumberRows.length > 0) {
6778
+ setStyleAttribute(weekNumberRows[rows.indexOf(row)].firstElementChild, { 'height': height + 'px' });
6779
+ }
6780
+ setStyleAttribute(row.firstElementChild, { 'height': height + 'px' });
6781
+ }
6782
+ if (!this.parent.enablePersistence && !this.parent.activeViewOptions.allowVirtualScrolling && isScrollUpdate) {
6783
+ this.parent.notify(contentReady, {});
6784
+ }
6785
+ }
6786
+ };
6625
6787
  EventBase.prototype.unWireEvents = function () {
6626
6788
  var appElements = [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_CLASS));
6627
6789
  for (var _i = 0, appElements_1 = appElements; _i < appElements_1.length; _i++) {
@@ -7585,6 +7747,8 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7585
7747
  cellTd.removeChild(wrapper);
7586
7748
  }
7587
7749
  this.eventHeight = getElementHeightFromClass(this.element, APPOINTMENT_CLASS);
7750
+ var selector = '.' + CONTENT_TABLE_CLASS + ' tbody tr';
7751
+ this.addCellHeight(selector, this.eventHeight, (this.parent.currentView === 'Month' ? EVENT_GAP : 2), this.monthHeaderHeight, this.moreIndicatorHeight);
7588
7752
  var scrollTop = conWrap.scrollTop;
7589
7753
  if (this.parent.rowAutoHeight && this.parent.virtualScrollModule && !this.parent.virtualScrollModule.isHorizontalScroll
7590
7754
  && !isNullOrUndefined(this.parent.currentAction)) {
@@ -7985,6 +8149,7 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7985
8149
  if ((day < 0) || (startTime.getTime() < this.parent.minDate.getTime()) || (endTime.getTime() > this.parent.maxDate.getTime())) {
7986
8150
  return;
7987
8151
  }
8152
+ var eventsPerRow = this.parent.rowAutoHeight ? 1 : this.parent.activeViewOptions.maxEventsPerRow;
7988
8153
  var overlapCount = this.getIndex(startTime);
7989
8154
  event.Index = overlapCount;
7990
8155
  var diffInDays = event.data.count;
@@ -7993,7 +8158,9 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
7993
8158
  var cellTd = this.workCells[parseInt(day.toString(), 10)];
7994
8159
  var appTop = (overlapCount * (this.eventHeight + EVENT_GAP));
7995
8160
  var height = this.monthHeaderHeight + ((overlapCount + 1) * (this.eventHeight + EVENT_GAP)) + this.moreIndicatorHeight;
7996
- var enableAppRender = this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
8161
+ var enableAppRender = this.parent.activeViewOptions.maxEventsPerRow && !this.parent.rowAutoHeight &&
8162
+ !this.parent.eventSettings.enableIndicator ? overlapCount < eventsPerRow : this.maxOrIndicator ? overlapCount < 1
8163
+ ? true : false : this.cellHeight > height;
7997
8164
  if (this.parent.rowAutoHeight || enableAppRender) {
7998
8165
  this.renderedEvents.push(extend({}, event, null, true));
7999
8166
  var appointmentElement = void 0;
@@ -8158,7 +8325,10 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
8158
8325
  className: MORE_INDICATOR_CLASS,
8159
8326
  innerHTML: this.getMoreIndicatorText(count),
8160
8327
  attrs: {
8328
+ 'role': 'button',
8161
8329
  'tabindex': '0',
8330
+ 'aria-label': this.parent.globalize.formatNumber(count) + '&nbsp;'
8331
+ + (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more')),
8162
8332
  'data-count': count.toString(),
8163
8333
  'data-start-date': startDate.getTime().toString(),
8164
8334
  'data-end-date': endDate.getTime().toString()
@@ -8302,6 +8472,8 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8302
8472
  };
8303
8473
  TimelineEvent.prototype.renderResourceEvents = function () {
8304
8474
  this.removeHeightProperty(RESOURCE_COLUMN_TABLE_CLASS);
8475
+ var selector = '.' + RESOURCE_COLUMN_TABLE_CLASS + ' tbody tr';
8476
+ this.addCellHeight(selector, this.eventHeight, EVENT_GAP$1, this.moreIndicatorHeight, 0, false);
8305
8477
  var resources = this.parent.uiStateValues.isGroupAdaptive ?
8306
8478
  [this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] :
8307
8479
  this.parent.resourceBase.renderedResources;
@@ -8344,6 +8516,7 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8344
8516
  return;
8345
8517
  }
8346
8518
  var cellTd = this.getCellTd();
8519
+ var eventsPerRow = this.parent.rowAutoHeight ? 1 : this.parent.activeViewOptions.maxEventsPerRow;
8347
8520
  var overlapCount = (isNullOrUndefined(this.parent.eventSettings.sortComparer)) ? this.getIndex(startTime) : this.getSortComparerIndex(startTime, endTime);
8348
8521
  event.Index = overlapCount;
8349
8522
  var appHeight = this.eventHeight;
@@ -8376,7 +8549,8 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8376
8549
  appLeft = (this.parent.enableRtl) ? 0 : position;
8377
8550
  appRight = (this.parent.enableRtl) ? position : 0;
8378
8551
  var height = ((overlapCount + 1) * (appHeight + EVENT_GAP$1)) + this.moreIndicatorHeight;
8379
- var renderApp = this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
8552
+ var renderApp = this.parent.activeViewOptions.maxEventsPerRow && !this.parent.rowAutoHeight && !this.parent.eventSettings.enableIndicator
8553
+ ? overlapCount < eventsPerRow : this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
8380
8554
  if (this.parent.rowAutoHeight || renderApp) {
8381
8555
  var appointmentElement = void 0;
8382
8556
  if (isNullOrUndefined(this.inlineValue)) {
@@ -8459,7 +8633,9 @@ var TimelineEvent = /** @__PURE__ @class */ (function (_super) {
8459
8633
  var appArea = this.cellHeight - this.moreIndicatorHeight;
8460
8634
  appHeight = this.withIndicator ? appArea - EVENT_GAP$1 : appHeight;
8461
8635
  var renderedAppCount = Math.floor(appArea / (appHeight + EVENT_GAP$1));
8462
- var count = (filterEvents.length - renderedAppCount) <= 0 ? 1 : (filterEvents.length - renderedAppCount);
8636
+ var count = this.parent.activeViewOptions.maxEventsPerRow && !this.parent.eventSettings.enableIndicator
8637
+ ? filterEvents.length - this.parent.activeViewOptions.maxEventsPerRow : (filterEvents.length - renderedAppCount) <= 0 ? 1
8638
+ : filterEvents.length - renderedAppCount;
8463
8639
  var moreIndicatorElement = void 0;
8464
8640
  if (this.renderType === 'day') {
8465
8641
  moreIndicatorElement = this.getMoreIndicatorElement(count, startDate, endDate);
@@ -9146,9 +9322,9 @@ var QuickPopups = /** @__PURE__ @class */ (function () {
9146
9322
  };
9147
9323
  QuickPopups.prototype.renderMorePopup = function () {
9148
9324
  var moreEventPopup = "<div class=\"" + MORE_EVENT_POPUP_CLASS + "\"><div class=\"" + MORE_EVENT_HEADER_CLASS + "\">" +
9149
- ("<div class=\"" + MORE_EVENT_CLOSE_CLASS + "\" title=\"" + this.l10n.getConstant('close') + "\" tabindex=\"0\"></div>") +
9325
+ ("<div class=\"" + MORE_EVENT_CLOSE_CLASS + "\" title=\"" + this.l10n.getConstant('close') + "\" tabindex=\"0\" role=\"button\"></div>") +
9150
9326
  ("<div class=\"" + MORE_EVENT_DATE_HEADER_CLASS + "\"><div class=\"" + MORE_EVENT_HEADER_DAY_CLASS + "\"></div>") +
9151
- ("<div class=\"" + MORE_EVENT_HEADER_DATE_CLASS + " " + NAVIGATE_CLASS + "\" tabindex=\"0\"></div></div></div></div>");
9327
+ ("<div class=\"" + MORE_EVENT_HEADER_DATE_CLASS + " " + NAVIGATE_CLASS + "\" tabindex=\"0\" role=\"link\"></div></div></div></div>");
9152
9328
  var moreEventWrapper = createElement('div', {
9153
9329
  className: MORE_POPUP_WRAPPER_CLASS + ' e-popup-close',
9154
9330
  innerHTML: moreEventPopup
@@ -10696,7 +10872,6 @@ var MONTHWEEK = 'e-month-week';
10696
10872
  var ENDON = 'e-end-on';
10697
10873
  var MONTHEXPANDERLABEL = 'e-month-expander-label';
10698
10874
  var WEEKEXPANDERLABEL = 'e-week-expander-label';
10699
- var ENDONLABEL = 'e-end-on-label';
10700
10875
  var ENDONLEFT = 'e-end-on-left';
10701
10876
  var MONTHDAYELEMENT = 'e-monthday-element';
10702
10877
  var ENDONELEMENT = 'e-end-on-element';
@@ -11019,6 +11194,8 @@ var RecurrenceEditor = /** @__PURE__ @class */ (function (_super) {
11019
11194
  this.endType = new DropDownList({
11020
11195
  dataSource: this.getEndData(),
11021
11196
  popupWidth: this.getPopupWidth(),
11197
+ floatLabelType: 'Always',
11198
+ placeholder: this.localeObj.getConstant(END),
11022
11199
  enableRtl: this.enableRtl,
11023
11200
  index: 1,
11024
11201
  fields: {
@@ -11359,6 +11536,7 @@ var RecurrenceEditor = /** @__PURE__ @class */ (function (_super) {
11359
11536
  RecurrenceEditor.prototype.setTemplate = function () {
11360
11537
  var dayData = this.getDayData('narrow');
11361
11538
  var fullDay = this.getDayData('wide');
11539
+ var labelId = this.element.id + '_' + 'end_label';
11362
11540
  this.element.innerHTML = '<div class="' + HEADER + '">' +
11363
11541
  '<div class="' + INPUTWARAPPER + ' ' + FORMLEFT + '">' +
11364
11542
  '<input type="text" tabindex="0" class="' + REPEATELEMENT +
@@ -11404,9 +11582,8 @@ var RecurrenceEditor = /** @__PURE__ @class */ (function (_super) {
11404
11582
  '</div></td></tr></table>' +
11405
11583
  '</div></div>' +
11406
11584
  '<div class="' + INPUTWARAPPERSIDE + ' ' + ENDON + ' ' + FORMRIGHT + '">' +
11407
- '<div class=' + ENDONLABEL + '>' + this.localeObj.getConstant(END) + '</div>' +
11408
11585
  '<div class="' + INPUTWARAPPER + ' ' + ENDONLEFT + '">' +
11409
- '<input type="text" tabindex="0" class="' + ENDONELEMENT + '"title="' + this.localeObj.getConstant(END) + '" />' +
11586
+ '<input type="text" tabindex="0" class="' + ENDONELEMENT + '" aria-labelledby="' + labelId + '"title="' + this.localeObj.getConstant(END) + '" />' +
11410
11587
  '</div>' +
11411
11588
  '<div class="' + INPUTWARAPPER + ' ' + ENDONDATE + '" >' +
11412
11589
  '<input type="text" tabindex="0" class="' + UNTILDATE + '"title="' + this.localeObj.getConstant(UNTIL$1) + '" />' +
@@ -12174,15 +12351,11 @@ var EventWindow = /** @__PURE__ @class */ (function () {
12174
12351
  var titleLocationDiv = this.createDivElement(EVENT_WINDOW_TITLE_LOCATION_DIV_CLASS);
12175
12352
  parentDiv.appendChild(titleLocationDiv);
12176
12353
  titleLocationDiv.appendChild(this.renderTextBox(SUBJECT_CLASS));
12177
- titleLocationDiv.querySelector('.' + SUBJECT_CLASS).setAttribute('title', this.parent.editorTitles.subject);
12178
12354
  titleLocationDiv.appendChild(this.renderTextBox(LOCATION_CLASS));
12179
- titleLocationDiv.querySelector('.' + LOCATION_CLASS).setAttribute('title', this.parent.editorTitles.location);
12180
12355
  var startEndDateTimeDiv = this.createDivElement(EVENT_WINDOW_START_END_DIV_CLASS);
12181
12356
  parentDiv.appendChild(startEndDateTimeDiv);
12182
12357
  startEndDateTimeDiv.appendChild(this.renderDateTimePicker(EVENT_WINDOW_START_CLASS, this.onTimeChange.bind(this)));
12183
- startEndDateTimeDiv.querySelector('.' + EVENT_WINDOW_START_CLASS).setAttribute('title', this.parent.editorTitles.startTime);
12184
12358
  startEndDateTimeDiv.appendChild(this.renderDateTimePicker(EVENT_WINDOW_END_CLASS));
12185
- startEndDateTimeDiv.querySelector('.' + EVENT_WINDOW_END_CLASS).setAttribute('title', this.parent.editorTitles.endTime);
12186
12359
  var allDayTimezoneDiv = this.createDivElement(EVENT_WINDOW_ALLDAY_TZ_DIV_CLASS);
12187
12360
  parentDiv.appendChild(allDayTimezoneDiv);
12188
12361
  allDayTimezoneDiv.appendChild(this.renderCheckBox(EVENT_WINDOW_ALL_DAY_CLASS));
@@ -12220,7 +12393,6 @@ var EventWindow = /** @__PURE__ @class */ (function () {
12220
12393
  }
12221
12394
  var description = this.createDivElement(DESCRIPTION_CLASS + '-row');
12222
12395
  description.appendChild(this.renderTextBox(DESCRIPTION_CLASS));
12223
- description.querySelector('.' + DESCRIPTION_CLASS).setAttribute('title', this.parent.editorTitles.description);
12224
12396
  parentDiv.appendChild(description);
12225
12397
  var submit = createElement('button', { attrs: { type: 'hidden', title: 'submit', style: 'display:none' } });
12226
12398
  parentDiv.appendChild(submit);
@@ -12239,9 +12411,7 @@ var EventWindow = /** @__PURE__ @class */ (function () {
12239
12411
  EventWindow.prototype.createInputElement = function (className, fieldName, type) {
12240
12412
  return createElement(type || 'input', {
12241
12413
  className: className, attrs: {
12242
- type: 'text', name: fieldName, value: '', id: fieldName,
12243
- title: ((this.l10n.getConstant(fieldName.charAt(0).toLowerCase() + fieldName.slice(1))) === '') ?
12244
- fieldName : this.l10n.getConstant(fieldName.charAt(0).toLowerCase() + fieldName.slice(1))
12414
+ type: 'text', name: fieldName, value: '', id: fieldName
12245
12415
  }
12246
12416
  });
12247
12417
  };
@@ -12263,6 +12433,7 @@ var EventWindow = /** @__PURE__ @class */ (function () {
12263
12433
  enableRtl: this.parent.enableRtl,
12264
12434
  locale: this.parent.locale,
12265
12435
  floatLabelType: 'Always',
12436
+ strictMode: true,
12266
12437
  timeFormat: this.parent.activeViewOptions.timeFormat,
12267
12438
  format: (isNullOrUndefined(this.parent.dateFormat) ?
12268
12439
  this.getFormat('dateFormats') : this.parent.dateFormat) + ' ' + this.parent.activeViewOptions.timeFormat,
@@ -12331,7 +12502,7 @@ var EventWindow = /** @__PURE__ @class */ (function () {
12331
12502
  text: resourceData.textField,
12332
12503
  value: resourceData.idField
12333
12504
  },
12334
- htmlAttributes: { 'title': labelValue, 'name': fieldName },
12505
+ htmlAttributes: { 'name': fieldName },
12335
12506
  floatLabelType: 'Always',
12336
12507
  placeholder: labelValue,
12337
12508
  popupHeight: '230px',
@@ -12350,7 +12521,7 @@ var EventWindow = /** @__PURE__ @class */ (function () {
12350
12521
  text: resourceData.textField,
12351
12522
  value: resourceData.idField
12352
12523
  },
12353
- htmlAttributes: { 'title': labelValue, 'name': fieldName },
12524
+ htmlAttributes: { 'name': fieldName },
12354
12525
  floatLabelType: 'Always',
12355
12526
  placeholder: labelValue,
12356
12527
  popupHeight: '230px',
@@ -12770,7 +12941,7 @@ var EventWindow = /** @__PURE__ @class */ (function () {
12770
12941
  this.eventData = this.eventCrudData ? this.eventData : eventData;
12771
12942
  var eventObj = extend({}, eventData, null, true);
12772
12943
  var formElements = this.getFormElements(EVENT_WINDOW_DIALOG_CLASS);
12773
- if (this.parent.isReact && formElements.length < 1) {
12944
+ if (this.parent.isReact && formElements.length < 1 && !this.cellClickAction) {
12774
12945
  this.eventCrudData = eventObj;
12775
12946
  return;
12776
12947
  }
@@ -14355,7 +14526,7 @@ var Render = /** @__PURE__ @class */ (function () {
14355
14526
  };
14356
14527
  Render.prototype.updateLabelText = function (view) {
14357
14528
  var content = this.parent.activeView.getLabelText(view);
14358
- this.parent.element.setAttribute('role', 'main');
14529
+ this.parent.element.setAttribute('role', 'application');
14359
14530
  this.parent.element.setAttribute('aria-label', content);
14360
14531
  };
14361
14532
  return Render;
@@ -16828,6 +16999,90 @@ var ResourceBase = /** @__PURE__ @class */ (function () {
16828
16999
  return ResourceBase;
16829
17000
  }());
16830
17001
 
17002
+ var __extends$14 = (undefined && undefined.__extends) || (function () {
17003
+ var extendStatics = function (d, b) {
17004
+ extendStatics = Object.setPrototypeOf ||
17005
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
17006
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
17007
+ return extendStatics(d, b);
17008
+ };
17009
+ return function (d, b) {
17010
+ extendStatics(d, b);
17011
+ function __() { this.constructor = d; }
17012
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17013
+ };
17014
+ })();
17015
+ var __decorate$11 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
17016
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
17017
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17018
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17019
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
17020
+ };
17021
+ var ToolbarItem = /** @__PURE__ @class */ (function (_super) {
17022
+ __extends$14(ToolbarItem, _super);
17023
+ function ToolbarItem() {
17024
+ return _super !== null && _super.apply(this, arguments) || this;
17025
+ }
17026
+ __decorate$11([
17027
+ Property('')
17028
+ ], ToolbarItem.prototype, "id", void 0);
17029
+ __decorate$11([
17030
+ Property('')
17031
+ ], ToolbarItem.prototype, "text", void 0);
17032
+ __decorate$11([
17033
+ Property('auto')
17034
+ ], ToolbarItem.prototype, "width", void 0);
17035
+ __decorate$11([
17036
+ Property('')
17037
+ ], ToolbarItem.prototype, "cssClass", void 0);
17038
+ __decorate$11([
17039
+ Property(false)
17040
+ ], ToolbarItem.prototype, "showAlwaysInPopup", void 0);
17041
+ __decorate$11([
17042
+ Property(false)
17043
+ ], ToolbarItem.prototype, "disabled", void 0);
17044
+ __decorate$11([
17045
+ Property('')
17046
+ ], ToolbarItem.prototype, "prefixIcon", void 0);
17047
+ __decorate$11([
17048
+ Property('')
17049
+ ], ToolbarItem.prototype, "suffixIcon", void 0);
17050
+ __decorate$11([
17051
+ Property(true)
17052
+ ], ToolbarItem.prototype, "visible", void 0);
17053
+ __decorate$11([
17054
+ Property('None')
17055
+ ], ToolbarItem.prototype, "overflow", void 0);
17056
+ __decorate$11([
17057
+ Property('')
17058
+ ], ToolbarItem.prototype, "template", void 0);
17059
+ __decorate$11([
17060
+ Property('Button')
17061
+ ], ToolbarItem.prototype, "type", void 0);
17062
+ __decorate$11([
17063
+ Property('Both')
17064
+ ], ToolbarItem.prototype, "showTextOn", void 0);
17065
+ __decorate$11([
17066
+ Property(null)
17067
+ ], ToolbarItem.prototype, "htmlAttributes", void 0);
17068
+ __decorate$11([
17069
+ Property('')
17070
+ ], ToolbarItem.prototype, "tooltipText", void 0);
17071
+ __decorate$11([
17072
+ Property('Left')
17073
+ ], ToolbarItem.prototype, "align", void 0);
17074
+ __decorate$11([
17075
+ Property(-1)
17076
+ ], ToolbarItem.prototype, "tabIndex", void 0);
17077
+ __decorate$11([
17078
+ Property('Custom')
17079
+ ], ToolbarItem.prototype, "name", void 0);
17080
+ __decorate$11([
17081
+ Event()
17082
+ ], ToolbarItem.prototype, "click", void 0);
17083
+ return ToolbarItem;
17084
+ }(ChildProperty));
17085
+
16831
17086
  var __extends = (undefined && undefined.__extends) || (function () {
16832
17087
  var extendStatics = function (d, b) {
16833
17088
  extendStatics = Object.setPrototypeOf ||
@@ -18234,6 +18489,7 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
18234
18489
  }
18235
18490
  break;
18236
18491
  case 'showHeaderBar':
18492
+ case 'toolbarItems':
18237
18493
  this.destroyHeaderModule();
18238
18494
  if (newProp.showHeaderBar) {
18239
18495
  this.headerModule = new HeaderRenderer(this);
@@ -19585,6 +19841,9 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19585
19841
  __decorate([
19586
19842
  Property(true)
19587
19843
  ], Schedule.prototype, "allowSwiping", void 0);
19844
+ __decorate([
19845
+ Collection([], ToolbarItem)
19846
+ ], Schedule.prototype, "toolbarItems", void 0);
19588
19847
  __decorate([
19589
19848
  Property('Week')
19590
19849
  ], Schedule.prototype, "currentView", void 0);
@@ -20302,7 +20561,7 @@ var ActionBase = /** @__PURE__ @class */ (function () {
20302
20561
  return ActionBase;
20303
20562
  }());
20304
20563
 
20305
- var __extends$14 = (undefined && undefined.__extends) || (function () {
20564
+ var __extends$15 = (undefined && undefined.__extends) || (function () {
20306
20565
  var extendStatics = function (d, b) {
20307
20566
  extendStatics = Object.setPrototypeOf ||
20308
20567
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -20320,7 +20579,7 @@ var __extends$14 = (undefined && undefined.__extends) || (function () {
20320
20579
  * Schedule events resize actions
20321
20580
  */
20322
20581
  var Resize = /** @__PURE__ @class */ (function (_super) {
20323
- __extends$14(Resize, _super);
20582
+ __extends$15(Resize, _super);
20324
20583
  function Resize() {
20325
20584
  return _super !== null && _super.apply(this, arguments) || this;
20326
20585
  }
@@ -20893,7 +21152,7 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
20893
21152
  return Resize;
20894
21153
  }(ActionBase));
20895
21154
 
20896
- var __extends$16 = (undefined && undefined.__extends) || (function () {
21155
+ var __extends$17 = (undefined && undefined.__extends) || (function () {
20897
21156
  var extendStatics = function (d, b) {
20898
21157
  extendStatics = Object.setPrototypeOf ||
20899
21158
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -20912,7 +21171,7 @@ var EVENT_GAP$2 = 2;
20912
21171
  * Year view events render
20913
21172
  */
20914
21173
  var YearEvent = /** @__PURE__ @class */ (function (_super) {
20915
- __extends$16(YearEvent, _super);
21174
+ __extends$17(YearEvent, _super);
20916
21175
  function YearEvent(parent) {
20917
21176
  var _this = _super.call(this, parent, 'day') || this;
20918
21177
  _this.isResource = false;
@@ -20982,6 +21241,8 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
20982
21241
  this.cellHeader = getOuterHeight(workCell.querySelector('.' + DATE_HEADER_CLASS));
20983
21242
  var eventTable = this.parent.element.querySelector('.' + EVENT_TABLE_CLASS);
20984
21243
  this.eventHeight = getElementHeightFromClass(eventTable, APPOINTMENT_CLASS);
21244
+ var selector = "." + MONTH_HEADER_WRAPPER + " tbody tr,." + RESOURCE_COLUMN_TABLE_CLASS + " tbody tr,." + CONTENT_TABLE_CLASS + " tbody tr";
21245
+ this.addCellHeight(selector, this.eventHeight, EVENT_GAP$2, this.cellHeader, this.moreIndicatorHeight);
20985
21246
  var wrapperCollection = [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_CONTAINER_CLASS));
20986
21247
  var months = this.getMonths();
20987
21248
  var groupIndex = (this.parent.activeViewOptions.group.resources.length > 0 && this.parent.uiStateValues.isGroupAdaptive) ?
@@ -21043,7 +21304,9 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
21043
21304
  this_1.moreIndicatorHeight;
21044
21305
  var appArea = this_1.cellHeight - this_1.cellHeader - this_1.moreIndicatorHeight;
21045
21306
  var renderedAppCount = Math.floor(appArea / (this_1.eventHeight + EVENT_GAP$2));
21046
- var moreIndicatorCount = (count - renderedAppCount) <= 0 ? 1 : (count - renderedAppCount);
21307
+ var eventsPerRow = this_1.parent.rowAutoHeight ? 1 : this_1.parent.activeViewOptions.maxEventsPerRow;
21308
+ var moreIndicatorCount = this_1.parent.activeViewOptions.maxEventsPerRow ? count - eventsPerRow
21309
+ : (count - renderedAppCount) <= 0 ? 1 : count - renderedAppCount;
21047
21310
  if (this_1.parent.activeViewOptions.orientation === 'Horizontal') {
21048
21311
  var isRendered = this_1.renderedEvents.filter(function (eventObj) {
21049
21312
  return eventObj.Guid === eventData.Guid;
@@ -21060,9 +21323,12 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
21060
21323
  return "continue";
21061
21324
  }
21062
21325
  }
21063
- if (this_1.parent.rowAutoHeight || this_1.cellHeight > availedHeight) {
21326
+ var enableAppRender = this_1.maxOrIndicator || (overlapIndex < eventsPerRow) || (this_1.cellHeight > availedHeight);
21327
+ if (this_1.parent.rowAutoHeight || enableAppRender || this_1.cellHeight > availedHeight) {
21064
21328
  this_1.renderEvent(eventWrapper, eventData, row, leftValue, rightValue, monthStart, dayIndex);
21065
- this_1.updateCellHeight(rowTd, availedHeight);
21329
+ if (this_1.parent.rowAutoHeight || this_1.cellHeight > availedHeight) {
21330
+ this_1.updateCellHeight(rowTd, availedHeight);
21331
+ }
21066
21332
  isSpannedCollection.push(eventData);
21067
21333
  }
21068
21334
  else {
@@ -21133,6 +21399,8 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
21133
21399
  this.cellHeader = 0;
21134
21400
  var eventTable = this.parent.element.querySelector('.' + EVENT_TABLE_CLASS);
21135
21401
  this.eventHeight = getElementHeightFromClass(eventTable, APPOINTMENT_CLASS);
21402
+ var selector = "." + MONTH_HEADER_WRAPPER + " tbody tr,." + RESOURCE_COLUMN_TABLE_CLASS + " tbody tr,." + CONTENT_TABLE_CLASS + " tbody tr";
21403
+ this.addCellHeight(selector, this.eventHeight, EVENT_GAP$2, this.cellHeader, this.moreIndicatorHeight);
21136
21404
  var wrapperCollection = [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_CONTAINER_CLASS));
21137
21405
  var resources = this.parent.uiStateValues.isGroupAdaptive ?
21138
21406
  [this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] :
@@ -21477,6 +21745,11 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
21477
21745
  (resetTime(appStart).getTime() >= dateStart) && (resetTime(appEnd).getTime() <= dateEnd)) {
21478
21746
  appointmentsList.push(app);
21479
21747
  }
21748
+ else if (this.parent.activeViewOptions.orientation === 'Vertical') {
21749
+ if (resetTime(appStart).getTime() >= dateStart && resetTime(appEnd).getTime() >= dateEnd) {
21750
+ appointmentsList.push(app);
21751
+ }
21752
+ }
21480
21753
  }
21481
21754
  return appointmentsList;
21482
21755
  };
@@ -21502,7 +21775,7 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
21502
21775
  return YearEvent;
21503
21776
  }(TimelineEvent));
21504
21777
 
21505
- var __extends$15 = (undefined && undefined.__extends) || (function () {
21778
+ var __extends$16 = (undefined && undefined.__extends) || (function () {
21506
21779
  var extendStatics = function (d, b) {
21507
21780
  extendStatics = Object.setPrototypeOf ||
21508
21781
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -21521,7 +21794,7 @@ var MINUTES_PER_DAY = 1440;
21521
21794
  * Schedule events drag actions
21522
21795
  */
21523
21796
  var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
21524
- __extends$15(DragAndDrop, _super);
21797
+ __extends$16(DragAndDrop, _super);
21525
21798
  function DragAndDrop() {
21526
21799
  var _this = _super !== null && _super.apply(this, arguments) || this;
21527
21800
  _this.widthUptoCursorPoint = 0;
@@ -22054,7 +22327,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
22054
22327
  var _this = this;
22055
22328
  if (isNullOrUndefined(this.actionObj.target) ||
22056
22329
  (this.actionObj.target && isNullOrUndefined(closest(this.actionObj.target, 'tr'))) ||
22057
- (!(closest(this.actionObj.target, 'td').classList.contains(WORK_CELLS_CLASS)) &&
22330
+ (!isNullOrUndefined(closest(this.actionObj.target, 'td')) && !(closest(this.actionObj.target, 'td').classList.contains(WORK_CELLS_CLASS)) &&
22058
22331
  !(closest(this.actionObj.target, 'td').classList.contains(ALLDAY_CELLS_CLASS)))) {
22059
22332
  return;
22060
22333
  }
@@ -22091,8 +22364,8 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
22091
22364
  tr = trCollections[parseInt(rowIndex.toString(), 10)];
22092
22365
  }
22093
22366
  var index;
22094
- if (closest(this.actionObj.target, 'td').classList.contains(WORK_CELLS_CLASS) ||
22095
- closest(this.actionObj.target, 'td').classList.contains(ALLDAY_CELLS_CLASS)) {
22367
+ if (!isNullOrUndefined(closest(this.actionObj.target, 'td')) && (closest(this.actionObj.target, 'td').classList.contains(WORK_CELLS_CLASS) ||
22368
+ closest(this.actionObj.target, 'td').classList.contains(ALLDAY_CELLS_CLASS))) {
22096
22369
  index = closest(this.actionObj.target, 'td').cellIndex;
22097
22370
  }
22098
22371
  var colIndex = isNullOrUndefined(index) ? closest(this.actionObj.clone, 'td').cellIndex : index;
@@ -22393,7 +22666,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
22393
22666
  };
22394
22667
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
22395
22668
  DragAndDrop.prototype.swapDragging = function (e) {
22396
- var colIndex = closest(this.actionObj.target, 'td').cellIndex;
22669
+ var colIndex = !isNullOrUndefined(closest(this.actionObj.target, 'td')) && closest(this.actionObj.target, 'td').cellIndex;
22397
22670
  if (closest(this.actionObj.target, '.' + DATE_HEADER_WRAP_CLASS) &&
22398
22671
  !closest(this.actionObj.clone, '.' + ALLDAY_APPOINTMENT_WRAPPER_CLASS)) {
22399
22672
  addClass([this.actionObj.clone], ALLDAY_APPOINTMENT_CLASS);
@@ -23420,7 +23693,7 @@ var ViewBase = /** @__PURE__ @class */ (function () {
23420
23693
  return ViewBase;
23421
23694
  }());
23422
23695
 
23423
- var __extends$18 = (undefined && undefined.__extends) || (function () {
23696
+ var __extends$19 = (undefined && undefined.__extends) || (function () {
23424
23697
  var extendStatics = function (d, b) {
23425
23698
  extendStatics = Object.setPrototypeOf ||
23426
23699
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -23437,7 +23710,7 @@ var __extends$18 = (undefined && undefined.__extends) || (function () {
23437
23710
  * vertical view
23438
23711
  */
23439
23712
  var VerticalView = /** @__PURE__ @class */ (function (_super) {
23440
- __extends$18(VerticalView, _super);
23713
+ __extends$19(VerticalView, _super);
23441
23714
  function VerticalView(parent) {
23442
23715
  var _this = _super.call(this, parent) || this;
23443
23716
  _this.viewClass = 'e-day-view';
@@ -24175,9 +24448,9 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
24175
24448
  var msStartHour = startHour.getTime();
24176
24449
  var msEndHour = endHour.getTime();
24177
24450
  if (msStartHour !== msEndHour) {
24178
- var duration = this.parent.activeViewOptions.timeScale.interval / this.parent.activeViewOptions.timeScale.slotCount;
24179
- length = (Math.abs(msEndHour - msStartHour) / msInterval) - ((new Date(msEndHour).getTimezoneOffset()
24180
- - new Date(msStartHour).getTimezoneOffset()) / duration);
24451
+ var milliSeconds = (startHour.getTimezoneOffset() !== endHour.getTimezoneOffset()) ?
24452
+ (msEndHour - msStartHour) - 3600000 : (msEndHour - msStartHour);
24453
+ length = Math.round(milliSeconds / msInterval);
24181
24454
  }
24182
24455
  if (!this.parent.activeViewOptions.timeScale.enable) {
24183
24456
  length = 1;
@@ -24251,7 +24524,7 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
24251
24524
  return VerticalView;
24252
24525
  }(ViewBase));
24253
24526
 
24254
- var __extends$17 = (undefined && undefined.__extends) || (function () {
24527
+ var __extends$18 = (undefined && undefined.__extends) || (function () {
24255
24528
  var extendStatics = function (d, b) {
24256
24529
  extendStatics = Object.setPrototypeOf ||
24257
24530
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -24268,7 +24541,7 @@ var __extends$17 = (undefined && undefined.__extends) || (function () {
24268
24541
  * day view
24269
24542
  */
24270
24543
  var Day = /** @__PURE__ @class */ (function (_super) {
24271
- __extends$17(Day, _super);
24544
+ __extends$18(Day, _super);
24272
24545
  /**
24273
24546
  * Constructor for day view
24274
24547
  *
@@ -24290,7 +24563,7 @@ var Day = /** @__PURE__ @class */ (function (_super) {
24290
24563
  return Day;
24291
24564
  }(VerticalView));
24292
24565
 
24293
- var __extends$19 = (undefined && undefined.__extends) || (function () {
24566
+ var __extends$20 = (undefined && undefined.__extends) || (function () {
24294
24567
  var extendStatics = function (d, b) {
24295
24568
  extendStatics = Object.setPrototypeOf ||
24296
24569
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -24307,7 +24580,7 @@ var __extends$19 = (undefined && undefined.__extends) || (function () {
24307
24580
  * week view
24308
24581
  */
24309
24582
  var Week = /** @__PURE__ @class */ (function (_super) {
24310
- __extends$19(Week, _super);
24583
+ __extends$20(Week, _super);
24311
24584
  /**
24312
24585
  * Constructor for week view
24313
24586
  *
@@ -24335,7 +24608,7 @@ var Week = /** @__PURE__ @class */ (function (_super) {
24335
24608
  return Week;
24336
24609
  }(VerticalView));
24337
24610
 
24338
- var __extends$20 = (undefined && undefined.__extends) || (function () {
24611
+ var __extends$21 = (undefined && undefined.__extends) || (function () {
24339
24612
  var extendStatics = function (d, b) {
24340
24613
  extendStatics = Object.setPrototypeOf ||
24341
24614
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -24352,7 +24625,7 @@ var __extends$20 = (undefined && undefined.__extends) || (function () {
24352
24625
  * work week view
24353
24626
  */
24354
24627
  var WorkWeek = /** @__PURE__ @class */ (function (_super) {
24355
- __extends$20(WorkWeek, _super);
24628
+ __extends$21(WorkWeek, _super);
24356
24629
  /**
24357
24630
  * Constructor for work week view
24358
24631
  *
@@ -24380,7 +24653,7 @@ var WorkWeek = /** @__PURE__ @class */ (function (_super) {
24380
24653
  return WorkWeek;
24381
24654
  }(VerticalView));
24382
24655
 
24383
- var __extends$21 = (undefined && undefined.__extends) || (function () {
24656
+ var __extends$22 = (undefined && undefined.__extends) || (function () {
24384
24657
  var extendStatics = function (d, b) {
24385
24658
  extendStatics = Object.setPrototypeOf ||
24386
24659
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -24398,7 +24671,7 @@ var __extends$21 = (undefined && undefined.__extends) || (function () {
24398
24671
  * month view
24399
24672
  */
24400
24673
  var Month = /** @__PURE__ @class */ (function (_super) {
24401
- __extends$21(Month, _super);
24674
+ __extends$22(Month, _super);
24402
24675
  function Month(parent) {
24403
24676
  var _this = _super.call(this, parent) || this;
24404
24677
  _this.dayNameFormat = 'wide';
@@ -25087,7 +25360,7 @@ var Month = /** @__PURE__ @class */ (function (_super) {
25087
25360
  return Month;
25088
25361
  }(ViewBase));
25089
25362
 
25090
- var __extends$22 = (undefined && undefined.__extends) || (function () {
25363
+ var __extends$23 = (undefined && undefined.__extends) || (function () {
25091
25364
  var extendStatics = function (d, b) {
25092
25365
  extendStatics = Object.setPrototypeOf ||
25093
25366
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -25105,7 +25378,7 @@ var __extends$22 = (undefined && undefined.__extends) || (function () {
25105
25378
  * year view
25106
25379
  */
25107
25380
  var Year = /** @__PURE__ @class */ (function (_super) {
25108
- __extends$22(Year, _super);
25381
+ __extends$23(Year, _super);
25109
25382
  function Year(parent) {
25110
25383
  var _this = _super.call(this, parent) || this;
25111
25384
  _this.viewClass = 'e-year-view';
@@ -25253,6 +25526,9 @@ var Year = /** @__PURE__ @class */ (function (_super) {
25253
25526
  var classList$$1 = [];
25254
25527
  if (currentDate.getMonth() !== date.getMonth()) {
25255
25528
  classList$$1.push(OTHERMONTH_CLASS);
25529
+ if (td.firstElementChild && !this.parent.activeViewOptions.cellTemplate) {
25530
+ td.firstElementChild.setAttribute('aria-disabled', 'true');
25531
+ }
25256
25532
  }
25257
25533
  if (this.isCurrentDate(date) && currentDate.getMonth() === date.getMonth()) {
25258
25534
  classList$$1 = classList$$1.concat(['e-today', 'e-selected']);
@@ -25529,7 +25805,7 @@ var Year = /** @__PURE__ @class */ (function (_super) {
25529
25805
  return Year;
25530
25806
  }(ViewBase));
25531
25807
 
25532
- var __extends$24 = (undefined && undefined.__extends) || (function () {
25808
+ var __extends$25 = (undefined && undefined.__extends) || (function () {
25533
25809
  var extendStatics = function (d, b) {
25534
25810
  extendStatics = Object.setPrototypeOf ||
25535
25811
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -25544,7 +25820,7 @@ var __extends$24 = (undefined && undefined.__extends) || (function () {
25544
25820
  })();
25545
25821
  /* eslint-disable @typescript-eslint/no-explicit-any */
25546
25822
  var AgendaBase = /** @__PURE__ @class */ (function (_super) {
25547
- __extends$24(AgendaBase, _super);
25823
+ __extends$25(AgendaBase, _super);
25548
25824
  function AgendaBase(parent) {
25549
25825
  return _super.call(this, parent) || this;
25550
25826
  }
@@ -25797,7 +26073,7 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
25797
26073
  AgendaBase.prototype.createResourceTableRow = function (tContent, tBody) {
25798
26074
  var tr = createElement('tr');
25799
26075
  var ntr;
25800
- var td = createElement('td', { attrs: { 'aria-selected': 'false' } });
26076
+ var td = createElement('td');
25801
26077
  var tempData;
25802
26078
  var rowSpan = 0;
25803
26079
  var level;
@@ -25918,7 +26194,7 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
25918
26194
  return AgendaBase;
25919
26195
  }(ViewBase));
25920
26196
 
25921
- var __extends$23 = (undefined && undefined.__extends) || (function () {
26197
+ var __extends$24 = (undefined && undefined.__extends) || (function () {
25922
26198
  var extendStatics = function (d, b) {
25923
26199
  extendStatics = Object.setPrototypeOf ||
25924
26200
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -25936,7 +26212,7 @@ var __extends$23 = (undefined && undefined.__extends) || (function () {
25936
26212
  * agenda view
25937
26213
  */
25938
26214
  var Agenda = /** @__PURE__ @class */ (function (_super) {
25939
- __extends$23(Agenda, _super);
26215
+ __extends$24(Agenda, _super);
25940
26216
  function Agenda(parent) {
25941
26217
  var _this = _super.call(this, parent) || this;
25942
26218
  _this.viewClass = 'e-agenda-view';
@@ -26383,7 +26659,7 @@ var Agenda = /** @__PURE__ @class */ (function (_super) {
26383
26659
  return Agenda;
26384
26660
  }(AgendaBase));
26385
26661
 
26386
- var __extends$25 = (undefined && undefined.__extends) || (function () {
26662
+ var __extends$26 = (undefined && undefined.__extends) || (function () {
26387
26663
  var extendStatics = function (d, b) {
26388
26664
  extendStatics = Object.setPrototypeOf ||
26389
26665
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -26401,7 +26677,7 @@ var __extends$25 = (undefined && undefined.__extends) || (function () {
26401
26677
  * month agenda view
26402
26678
  */
26403
26679
  var MonthAgenda = /** @__PURE__ @class */ (function (_super) {
26404
- __extends$25(MonthAgenda, _super);
26680
+ __extends$26(MonthAgenda, _super);
26405
26681
  function MonthAgenda(parent) {
26406
26682
  var _this = _super.call(this, parent) || this;
26407
26683
  _this.dayNameFormat = 'narrow';
@@ -26686,7 +26962,7 @@ var TimelineHeaderRow = /** @__PURE__ @class */ (function () {
26686
26962
  return TimelineHeaderRow;
26687
26963
  }());
26688
26964
 
26689
- var __extends$26 = (undefined && undefined.__extends) || (function () {
26965
+ var __extends$27 = (undefined && undefined.__extends) || (function () {
26690
26966
  var extendStatics = function (d, b) {
26691
26967
  extendStatics = Object.setPrototypeOf ||
26692
26968
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -26703,7 +26979,7 @@ var __extends$26 = (undefined && undefined.__extends) || (function () {
26703
26979
  * timeline views
26704
26980
  */
26705
26981
  var TimelineViews = /** @__PURE__ @class */ (function (_super) {
26706
- __extends$26(TimelineViews, _super);
26982
+ __extends$27(TimelineViews, _super);
26707
26983
  function TimelineViews(parent) {
26708
26984
  var _this = _super.call(this, parent) || this;
26709
26985
  _this.timelineAppointment = null;
@@ -26971,7 +27247,7 @@ var TimelineViews = /** @__PURE__ @class */ (function (_super) {
26971
27247
  return TimelineViews;
26972
27248
  }(VerticalView));
26973
27249
 
26974
- var __extends$27 = (undefined && undefined.__extends) || (function () {
27250
+ var __extends$28 = (undefined && undefined.__extends) || (function () {
26975
27251
  var extendStatics = function (d, b) {
26976
27252
  extendStatics = Object.setPrototypeOf ||
26977
27253
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -26988,7 +27264,7 @@ var __extends$27 = (undefined && undefined.__extends) || (function () {
26988
27264
  * timeline month view
26989
27265
  */
26990
27266
  var TimelineMonth = /** @__PURE__ @class */ (function (_super) {
26991
- __extends$27(TimelineMonth, _super);
27267
+ __extends$28(TimelineMonth, _super);
26992
27268
  function TimelineMonth(parent) {
26993
27269
  var _this = _super.call(this, parent) || this;
26994
27270
  _this.viewClass = 'e-timeline-month-view';
@@ -27144,7 +27420,7 @@ var TimelineMonth = /** @__PURE__ @class */ (function (_super) {
27144
27420
  return TimelineMonth;
27145
27421
  }(Month));
27146
27422
 
27147
- var __extends$28 = (undefined && undefined.__extends) || (function () {
27423
+ var __extends$29 = (undefined && undefined.__extends) || (function () {
27148
27424
  var extendStatics = function (d, b) {
27149
27425
  extendStatics = Object.setPrototypeOf ||
27150
27426
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -27162,7 +27438,7 @@ var __extends$28 = (undefined && undefined.__extends) || (function () {
27162
27438
  * timeline year view
27163
27439
  */
27164
27440
  var TimelineYear = /** @__PURE__ @class */ (function (_super) {
27165
- __extends$28(TimelineYear, _super);
27441
+ __extends$29(TimelineYear, _super);
27166
27442
  function TimelineYear(parent) {
27167
27443
  var _this = _super.call(this, parent) || this;
27168
27444
  _this.viewClass = 'e-timeline-year-view';