@syncfusion/ej2-schedule 23.2.7 → 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 +8 -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 +272 -34
  6. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  7. package/dist/es6/ej2-schedule.es5.js +335 -64
  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 +12 -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 +4 -10
  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',
@@ -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]] :
@@ -21507,7 +21775,7 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
21507
21775
  return YearEvent;
21508
21776
  }(TimelineEvent));
21509
21777
 
21510
- var __extends$15 = (undefined && undefined.__extends) || (function () {
21778
+ var __extends$16 = (undefined && undefined.__extends) || (function () {
21511
21779
  var extendStatics = function (d, b) {
21512
21780
  extendStatics = Object.setPrototypeOf ||
21513
21781
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -21526,7 +21794,7 @@ var MINUTES_PER_DAY = 1440;
21526
21794
  * Schedule events drag actions
21527
21795
  */
21528
21796
  var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
21529
- __extends$15(DragAndDrop, _super);
21797
+ __extends$16(DragAndDrop, _super);
21530
21798
  function DragAndDrop() {
21531
21799
  var _this = _super !== null && _super.apply(this, arguments) || this;
21532
21800
  _this.widthUptoCursorPoint = 0;
@@ -22059,7 +22327,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
22059
22327
  var _this = this;
22060
22328
  if (isNullOrUndefined(this.actionObj.target) ||
22061
22329
  (this.actionObj.target && isNullOrUndefined(closest(this.actionObj.target, 'tr'))) ||
22062
- (!(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)) &&
22063
22331
  !(closest(this.actionObj.target, 'td').classList.contains(ALLDAY_CELLS_CLASS)))) {
22064
22332
  return;
22065
22333
  }
@@ -22096,8 +22364,8 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
22096
22364
  tr = trCollections[parseInt(rowIndex.toString(), 10)];
22097
22365
  }
22098
22366
  var index;
22099
- if (closest(this.actionObj.target, 'td').classList.contains(WORK_CELLS_CLASS) ||
22100
- 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))) {
22101
22369
  index = closest(this.actionObj.target, 'td').cellIndex;
22102
22370
  }
22103
22371
  var colIndex = isNullOrUndefined(index) ? closest(this.actionObj.clone, 'td').cellIndex : index;
@@ -22398,7 +22666,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
22398
22666
  };
22399
22667
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
22400
22668
  DragAndDrop.prototype.swapDragging = function (e) {
22401
- var colIndex = closest(this.actionObj.target, 'td').cellIndex;
22669
+ var colIndex = !isNullOrUndefined(closest(this.actionObj.target, 'td')) && closest(this.actionObj.target, 'td').cellIndex;
22402
22670
  if (closest(this.actionObj.target, '.' + DATE_HEADER_WRAP_CLASS) &&
22403
22671
  !closest(this.actionObj.clone, '.' + ALLDAY_APPOINTMENT_WRAPPER_CLASS)) {
22404
22672
  addClass([this.actionObj.clone], ALLDAY_APPOINTMENT_CLASS);
@@ -23425,7 +23693,7 @@ var ViewBase = /** @__PURE__ @class */ (function () {
23425
23693
  return ViewBase;
23426
23694
  }());
23427
23695
 
23428
- var __extends$18 = (undefined && undefined.__extends) || (function () {
23696
+ var __extends$19 = (undefined && undefined.__extends) || (function () {
23429
23697
  var extendStatics = function (d, b) {
23430
23698
  extendStatics = Object.setPrototypeOf ||
23431
23699
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -23442,7 +23710,7 @@ var __extends$18 = (undefined && undefined.__extends) || (function () {
23442
23710
  * vertical view
23443
23711
  */
23444
23712
  var VerticalView = /** @__PURE__ @class */ (function (_super) {
23445
- __extends$18(VerticalView, _super);
23713
+ __extends$19(VerticalView, _super);
23446
23714
  function VerticalView(parent) {
23447
23715
  var _this = _super.call(this, parent) || this;
23448
23716
  _this.viewClass = 'e-day-view';
@@ -24180,9 +24448,9 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
24180
24448
  var msStartHour = startHour.getTime();
24181
24449
  var msEndHour = endHour.getTime();
24182
24450
  if (msStartHour !== msEndHour) {
24183
- var duration = this.parent.activeViewOptions.timeScale.interval / this.parent.activeViewOptions.timeScale.slotCount;
24184
- length = (Math.abs(msEndHour - msStartHour) / msInterval) - ((new Date(msEndHour).getTimezoneOffset()
24185
- - new Date(msStartHour).getTimezoneOffset()) / duration);
24451
+ var milliSeconds = (startHour.getTimezoneOffset() !== endHour.getTimezoneOffset()) ?
24452
+ (msEndHour - msStartHour) - 3600000 : (msEndHour - msStartHour);
24453
+ length = Math.round(milliSeconds / msInterval);
24186
24454
  }
24187
24455
  if (!this.parent.activeViewOptions.timeScale.enable) {
24188
24456
  length = 1;
@@ -24256,7 +24524,7 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
24256
24524
  return VerticalView;
24257
24525
  }(ViewBase));
24258
24526
 
24259
- var __extends$17 = (undefined && undefined.__extends) || (function () {
24527
+ var __extends$18 = (undefined && undefined.__extends) || (function () {
24260
24528
  var extendStatics = function (d, b) {
24261
24529
  extendStatics = Object.setPrototypeOf ||
24262
24530
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -24273,7 +24541,7 @@ var __extends$17 = (undefined && undefined.__extends) || (function () {
24273
24541
  * day view
24274
24542
  */
24275
24543
  var Day = /** @__PURE__ @class */ (function (_super) {
24276
- __extends$17(Day, _super);
24544
+ __extends$18(Day, _super);
24277
24545
  /**
24278
24546
  * Constructor for day view
24279
24547
  *
@@ -24295,7 +24563,7 @@ var Day = /** @__PURE__ @class */ (function (_super) {
24295
24563
  return Day;
24296
24564
  }(VerticalView));
24297
24565
 
24298
- var __extends$19 = (undefined && undefined.__extends) || (function () {
24566
+ var __extends$20 = (undefined && undefined.__extends) || (function () {
24299
24567
  var extendStatics = function (d, b) {
24300
24568
  extendStatics = Object.setPrototypeOf ||
24301
24569
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -24312,7 +24580,7 @@ var __extends$19 = (undefined && undefined.__extends) || (function () {
24312
24580
  * week view
24313
24581
  */
24314
24582
  var Week = /** @__PURE__ @class */ (function (_super) {
24315
- __extends$19(Week, _super);
24583
+ __extends$20(Week, _super);
24316
24584
  /**
24317
24585
  * Constructor for week view
24318
24586
  *
@@ -24340,7 +24608,7 @@ var Week = /** @__PURE__ @class */ (function (_super) {
24340
24608
  return Week;
24341
24609
  }(VerticalView));
24342
24610
 
24343
- var __extends$20 = (undefined && undefined.__extends) || (function () {
24611
+ var __extends$21 = (undefined && undefined.__extends) || (function () {
24344
24612
  var extendStatics = function (d, b) {
24345
24613
  extendStatics = Object.setPrototypeOf ||
24346
24614
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -24357,7 +24625,7 @@ var __extends$20 = (undefined && undefined.__extends) || (function () {
24357
24625
  * work week view
24358
24626
  */
24359
24627
  var WorkWeek = /** @__PURE__ @class */ (function (_super) {
24360
- __extends$20(WorkWeek, _super);
24628
+ __extends$21(WorkWeek, _super);
24361
24629
  /**
24362
24630
  * Constructor for work week view
24363
24631
  *
@@ -24385,7 +24653,7 @@ var WorkWeek = /** @__PURE__ @class */ (function (_super) {
24385
24653
  return WorkWeek;
24386
24654
  }(VerticalView));
24387
24655
 
24388
- var __extends$21 = (undefined && undefined.__extends) || (function () {
24656
+ var __extends$22 = (undefined && undefined.__extends) || (function () {
24389
24657
  var extendStatics = function (d, b) {
24390
24658
  extendStatics = Object.setPrototypeOf ||
24391
24659
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -24403,7 +24671,7 @@ var __extends$21 = (undefined && undefined.__extends) || (function () {
24403
24671
  * month view
24404
24672
  */
24405
24673
  var Month = /** @__PURE__ @class */ (function (_super) {
24406
- __extends$21(Month, _super);
24674
+ __extends$22(Month, _super);
24407
24675
  function Month(parent) {
24408
24676
  var _this = _super.call(this, parent) || this;
24409
24677
  _this.dayNameFormat = 'wide';
@@ -25092,7 +25360,7 @@ var Month = /** @__PURE__ @class */ (function (_super) {
25092
25360
  return Month;
25093
25361
  }(ViewBase));
25094
25362
 
25095
- var __extends$22 = (undefined && undefined.__extends) || (function () {
25363
+ var __extends$23 = (undefined && undefined.__extends) || (function () {
25096
25364
  var extendStatics = function (d, b) {
25097
25365
  extendStatics = Object.setPrototypeOf ||
25098
25366
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -25110,7 +25378,7 @@ var __extends$22 = (undefined && undefined.__extends) || (function () {
25110
25378
  * year view
25111
25379
  */
25112
25380
  var Year = /** @__PURE__ @class */ (function (_super) {
25113
- __extends$22(Year, _super);
25381
+ __extends$23(Year, _super);
25114
25382
  function Year(parent) {
25115
25383
  var _this = _super.call(this, parent) || this;
25116
25384
  _this.viewClass = 'e-year-view';
@@ -25258,6 +25526,9 @@ var Year = /** @__PURE__ @class */ (function (_super) {
25258
25526
  var classList$$1 = [];
25259
25527
  if (currentDate.getMonth() !== date.getMonth()) {
25260
25528
  classList$$1.push(OTHERMONTH_CLASS);
25529
+ if (td.firstElementChild && !this.parent.activeViewOptions.cellTemplate) {
25530
+ td.firstElementChild.setAttribute('aria-disabled', 'true');
25531
+ }
25261
25532
  }
25262
25533
  if (this.isCurrentDate(date) && currentDate.getMonth() === date.getMonth()) {
25263
25534
  classList$$1 = classList$$1.concat(['e-today', 'e-selected']);
@@ -25534,7 +25805,7 @@ var Year = /** @__PURE__ @class */ (function (_super) {
25534
25805
  return Year;
25535
25806
  }(ViewBase));
25536
25807
 
25537
- var __extends$24 = (undefined && undefined.__extends) || (function () {
25808
+ var __extends$25 = (undefined && undefined.__extends) || (function () {
25538
25809
  var extendStatics = function (d, b) {
25539
25810
  extendStatics = Object.setPrototypeOf ||
25540
25811
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -25549,7 +25820,7 @@ var __extends$24 = (undefined && undefined.__extends) || (function () {
25549
25820
  })();
25550
25821
  /* eslint-disable @typescript-eslint/no-explicit-any */
25551
25822
  var AgendaBase = /** @__PURE__ @class */ (function (_super) {
25552
- __extends$24(AgendaBase, _super);
25823
+ __extends$25(AgendaBase, _super);
25553
25824
  function AgendaBase(parent) {
25554
25825
  return _super.call(this, parent) || this;
25555
25826
  }
@@ -25802,7 +26073,7 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
25802
26073
  AgendaBase.prototype.createResourceTableRow = function (tContent, tBody) {
25803
26074
  var tr = createElement('tr');
25804
26075
  var ntr;
25805
- var td = createElement('td', { attrs: { 'aria-selected': 'false' } });
26076
+ var td = createElement('td');
25806
26077
  var tempData;
25807
26078
  var rowSpan = 0;
25808
26079
  var level;
@@ -25923,7 +26194,7 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
25923
26194
  return AgendaBase;
25924
26195
  }(ViewBase));
25925
26196
 
25926
- var __extends$23 = (undefined && undefined.__extends) || (function () {
26197
+ var __extends$24 = (undefined && undefined.__extends) || (function () {
25927
26198
  var extendStatics = function (d, b) {
25928
26199
  extendStatics = Object.setPrototypeOf ||
25929
26200
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -25941,7 +26212,7 @@ var __extends$23 = (undefined && undefined.__extends) || (function () {
25941
26212
  * agenda view
25942
26213
  */
25943
26214
  var Agenda = /** @__PURE__ @class */ (function (_super) {
25944
- __extends$23(Agenda, _super);
26215
+ __extends$24(Agenda, _super);
25945
26216
  function Agenda(parent) {
25946
26217
  var _this = _super.call(this, parent) || this;
25947
26218
  _this.viewClass = 'e-agenda-view';
@@ -26388,7 +26659,7 @@ var Agenda = /** @__PURE__ @class */ (function (_super) {
26388
26659
  return Agenda;
26389
26660
  }(AgendaBase));
26390
26661
 
26391
- var __extends$25 = (undefined && undefined.__extends) || (function () {
26662
+ var __extends$26 = (undefined && undefined.__extends) || (function () {
26392
26663
  var extendStatics = function (d, b) {
26393
26664
  extendStatics = Object.setPrototypeOf ||
26394
26665
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -26406,7 +26677,7 @@ var __extends$25 = (undefined && undefined.__extends) || (function () {
26406
26677
  * month agenda view
26407
26678
  */
26408
26679
  var MonthAgenda = /** @__PURE__ @class */ (function (_super) {
26409
- __extends$25(MonthAgenda, _super);
26680
+ __extends$26(MonthAgenda, _super);
26410
26681
  function MonthAgenda(parent) {
26411
26682
  var _this = _super.call(this, parent) || this;
26412
26683
  _this.dayNameFormat = 'narrow';
@@ -26691,7 +26962,7 @@ var TimelineHeaderRow = /** @__PURE__ @class */ (function () {
26691
26962
  return TimelineHeaderRow;
26692
26963
  }());
26693
26964
 
26694
- var __extends$26 = (undefined && undefined.__extends) || (function () {
26965
+ var __extends$27 = (undefined && undefined.__extends) || (function () {
26695
26966
  var extendStatics = function (d, b) {
26696
26967
  extendStatics = Object.setPrototypeOf ||
26697
26968
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -26708,7 +26979,7 @@ var __extends$26 = (undefined && undefined.__extends) || (function () {
26708
26979
  * timeline views
26709
26980
  */
26710
26981
  var TimelineViews = /** @__PURE__ @class */ (function (_super) {
26711
- __extends$26(TimelineViews, _super);
26982
+ __extends$27(TimelineViews, _super);
26712
26983
  function TimelineViews(parent) {
26713
26984
  var _this = _super.call(this, parent) || this;
26714
26985
  _this.timelineAppointment = null;
@@ -26976,7 +27247,7 @@ var TimelineViews = /** @__PURE__ @class */ (function (_super) {
26976
27247
  return TimelineViews;
26977
27248
  }(VerticalView));
26978
27249
 
26979
- var __extends$27 = (undefined && undefined.__extends) || (function () {
27250
+ var __extends$28 = (undefined && undefined.__extends) || (function () {
26980
27251
  var extendStatics = function (d, b) {
26981
27252
  extendStatics = Object.setPrototypeOf ||
26982
27253
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -26993,7 +27264,7 @@ var __extends$27 = (undefined && undefined.__extends) || (function () {
26993
27264
  * timeline month view
26994
27265
  */
26995
27266
  var TimelineMonth = /** @__PURE__ @class */ (function (_super) {
26996
- __extends$27(TimelineMonth, _super);
27267
+ __extends$28(TimelineMonth, _super);
26997
27268
  function TimelineMonth(parent) {
26998
27269
  var _this = _super.call(this, parent) || this;
26999
27270
  _this.viewClass = 'e-timeline-month-view';
@@ -27149,7 +27420,7 @@ var TimelineMonth = /** @__PURE__ @class */ (function (_super) {
27149
27420
  return TimelineMonth;
27150
27421
  }(Month));
27151
27422
 
27152
- var __extends$28 = (undefined && undefined.__extends) || (function () {
27423
+ var __extends$29 = (undefined && undefined.__extends) || (function () {
27153
27424
  var extendStatics = function (d, b) {
27154
27425
  extendStatics = Object.setPrototypeOf ||
27155
27426
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -27167,7 +27438,7 @@ var __extends$28 = (undefined && undefined.__extends) || (function () {
27167
27438
  * timeline year view
27168
27439
  */
27169
27440
  var TimelineYear = /** @__PURE__ @class */ (function (_super) {
27170
- __extends$28(TimelineYear, _super);
27441
+ __extends$29(TimelineYear, _super);
27171
27442
  function TimelineYear(parent) {
27172
27443
  var _this = _super.call(this, parent) || this;
27173
27444
  _this.viewClass = 'e-timeline-year-view';