@syncfusion/ej2-schedule 30.2.4 → 31.1.17

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 (308) hide show
  1. package/dist/ej2-schedule.min.js +2 -2
  2. package/dist/ej2-schedule.umd.min.js +2 -2
  3. package/dist/ej2-schedule.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-schedule.es2015.js +132 -43
  5. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es5.js +132 -43
  7. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  8. package/dist/global/ej2-schedule.min.js +2 -2
  9. package/dist/global/ej2-schedule.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/dist/ts/common/calendar-util.d.ts +92 -0
  12. package/dist/ts/common/calendar-util.ts +261 -0
  13. package/dist/ts/common/index.d.ts +4 -0
  14. package/dist/ts/common/index.ts +4 -0
  15. package/dist/ts/components.d.ts +5 -0
  16. package/dist/ts/components.ts +5 -0
  17. package/dist/ts/index.d.ts +6 -0
  18. package/dist/ts/index.ts +7 -0
  19. package/dist/ts/recurrence-editor/date-generator.d.ts +76 -0
  20. package/dist/ts/recurrence-editor/date-generator.ts +1699 -0
  21. package/dist/ts/recurrence-editor/index.d.ts +6 -0
  22. package/dist/ts/recurrence-editor/index.ts +6 -0
  23. package/dist/ts/recurrence-editor/recurrence-editor-model.d.ts +112 -0
  24. package/dist/ts/recurrence-editor/recurrence-editor.d.ts +245 -0
  25. package/dist/ts/recurrence-editor/recurrence-editor.ts +1257 -0
  26. package/dist/ts/schedule/actions/action-base.d.ts +44 -0
  27. package/dist/ts/schedule/actions/action-base.ts +493 -0
  28. package/dist/ts/schedule/actions/crud.d.ts +41 -0
  29. package/dist/ts/schedule/actions/crud.ts +784 -0
  30. package/dist/ts/schedule/actions/data.d.ts +63 -0
  31. package/dist/ts/schedule/actions/data.ts +128 -0
  32. package/dist/ts/schedule/actions/drag.d.ts +75 -0
  33. package/dist/ts/schedule/actions/drag.ts +1401 -0
  34. package/dist/ts/schedule/actions/keyboard.d.ts +100 -0
  35. package/dist/ts/schedule/actions/keyboard.ts +1435 -0
  36. package/dist/ts/schedule/actions/resize.d.ts +27 -0
  37. package/dist/ts/schedule/actions/resize.ts +602 -0
  38. package/dist/ts/schedule/actions/scroll.d.ts +69 -0
  39. package/dist/ts/schedule/actions/scroll.ts +105 -0
  40. package/dist/ts/schedule/actions/touch.d.ts +32 -0
  41. package/dist/ts/schedule/actions/touch.ts +314 -0
  42. package/dist/ts/schedule/actions/virtual-scroll.d.ts +55 -0
  43. package/dist/ts/schedule/actions/virtual-scroll.ts +596 -0
  44. package/dist/ts/schedule/actions/work-cells.d.ts +14 -0
  45. package/dist/ts/schedule/actions/work-cells.ts +151 -0
  46. package/dist/ts/schedule/base/constant.d.ts +102 -0
  47. package/dist/ts/schedule/base/constant.ts +103 -0
  48. package/dist/ts/schedule/base/css-constant.d.ts +475 -0
  49. package/dist/ts/schedule/base/css-constant.ts +475 -0
  50. package/dist/ts/schedule/base/interface.d.ts +673 -0
  51. package/dist/ts/schedule/base/interface.ts +738 -0
  52. package/dist/ts/schedule/base/resource.d.ts +59 -0
  53. package/dist/ts/schedule/base/resource.ts +1091 -0
  54. package/dist/ts/schedule/base/schedule-model.d.ts +930 -0
  55. package/dist/ts/schedule/base/schedule.d.ts +1967 -0
  56. package/dist/ts/schedule/base/schedule.ts +4221 -0
  57. package/dist/ts/schedule/base/type.d.ts +134 -0
  58. package/dist/ts/schedule/base/type.ts +142 -0
  59. package/dist/ts/schedule/base/util.d.ts +266 -0
  60. package/dist/ts/schedule/base/util.ts +492 -0
  61. package/dist/ts/schedule/event-renderer/agenda-base.d.ts +15 -0
  62. package/dist/ts/schedule/event-renderer/agenda-base.ts +423 -0
  63. package/dist/ts/schedule/event-renderer/event-base.d.ts +101 -0
  64. package/dist/ts/schedule/event-renderer/event-base.ts +1501 -0
  65. package/dist/ts/schedule/event-renderer/inline-edit.d.ts +23 -0
  66. package/dist/ts/schedule/event-renderer/inline-edit.ts +287 -0
  67. package/dist/ts/schedule/event-renderer/month.d.ts +60 -0
  68. package/dist/ts/schedule/event-renderer/month.ts +760 -0
  69. package/dist/ts/schedule/event-renderer/timeline-view.d.ts +51 -0
  70. package/dist/ts/schedule/event-renderer/timeline-view.ts +606 -0
  71. package/dist/ts/schedule/event-renderer/vertical-view.d.ts +57 -0
  72. package/dist/ts/schedule/event-renderer/vertical-view.ts +898 -0
  73. package/dist/ts/schedule/event-renderer/year.d.ts +27 -0
  74. package/dist/ts/schedule/event-renderer/year.ts +623 -0
  75. package/dist/ts/schedule/exports/calendar-export.d.ts +16 -0
  76. package/dist/ts/schedule/exports/calendar-export.ts +160 -0
  77. package/dist/ts/schedule/exports/calendar-import.d.ts +18 -0
  78. package/dist/ts/schedule/exports/calendar-import.ts +277 -0
  79. package/dist/ts/schedule/exports/excel-export.d.ts +14 -0
  80. package/dist/ts/schedule/exports/excel-export.ts +89 -0
  81. package/dist/ts/schedule/exports/index.d.ts +7 -0
  82. package/dist/ts/schedule/exports/index.ts +7 -0
  83. package/dist/ts/schedule/exports/print.d.ts +20 -0
  84. package/dist/ts/schedule/exports/print.ts +233 -0
  85. package/dist/ts/schedule/index.d.ts +26 -0
  86. package/dist/ts/schedule/index.ts +26 -0
  87. package/dist/ts/schedule/models/event-settings-model.d.ts +165 -0
  88. package/dist/ts/schedule/models/event-settings.d.ts +149 -0
  89. package/dist/ts/schedule/models/event-settings.ts +187 -0
  90. package/dist/ts/schedule/models/field-options-model.d.ts +37 -0
  91. package/dist/ts/schedule/models/field-options.d.ts +31 -0
  92. package/dist/ts/schedule/models/field-options.ts +41 -0
  93. package/dist/ts/schedule/models/fields-model.d.ts +129 -0
  94. package/dist/ts/schedule/models/fields.d.ts +117 -0
  95. package/dist/ts/schedule/models/fields.ts +149 -0
  96. package/dist/ts/schedule/models/group-model.d.ts +69 -0
  97. package/dist/ts/schedule/models/group.d.ts +60 -0
  98. package/dist/ts/schedule/models/group.ts +75 -0
  99. package/dist/ts/schedule/models/header-rows-model.d.ts +33 -0
  100. package/dist/ts/schedule/models/header-rows.d.ts +30 -0
  101. package/dist/ts/schedule/models/header-rows.ts +35 -0
  102. package/dist/ts/schedule/models/models.d.ts +14 -0
  103. package/dist/ts/schedule/models/models.ts +15 -0
  104. package/dist/ts/schedule/models/quick-info-templates-model.d.ts +52 -0
  105. package/dist/ts/schedule/models/quick-info-templates.d.ts +47 -0
  106. package/dist/ts/schedule/models/quick-info-templates.ts +56 -0
  107. package/dist/ts/schedule/models/resources-model.d.ts +122 -0
  108. package/dist/ts/schedule/models/resources.d.ts +106 -0
  109. package/dist/ts/schedule/models/resources.ts +138 -0
  110. package/dist/ts/schedule/models/time-scale-model.d.ts +57 -0
  111. package/dist/ts/schedule/models/time-scale.d.ts +50 -0
  112. package/dist/ts/schedule/models/time-scale.ts +61 -0
  113. package/dist/ts/schedule/models/toolbar-model.d.ts +196 -0
  114. package/dist/ts/schedule/models/toolbar.d.ts +176 -0
  115. package/dist/ts/schedule/models/toolbar.ts +196 -0
  116. package/dist/ts/schedule/models/views-model.d.ts +370 -0
  117. package/dist/ts/schedule/models/views.d.ts +335 -0
  118. package/dist/ts/schedule/models/views.ts +408 -0
  119. package/dist/ts/schedule/models/work-hours-model.d.ts +29 -0
  120. package/dist/ts/schedule/models/work-hours.d.ts +24 -0
  121. package/dist/ts/schedule/models/work-hours.ts +31 -0
  122. package/dist/ts/schedule/popups/event-tooltip.d.ts +16 -0
  123. package/dist/ts/schedule/popups/event-tooltip.ts +203 -0
  124. package/dist/ts/schedule/popups/event-window.d.ts +118 -0
  125. package/dist/ts/schedule/popups/event-window.ts +2055 -0
  126. package/dist/ts/schedule/popups/form-validator.d.ts +16 -0
  127. package/dist/ts/schedule/popups/form-validator.ts +110 -0
  128. package/dist/ts/schedule/popups/quick-popups.d.ts +78 -0
  129. package/dist/ts/schedule/popups/quick-popups.ts +1470 -0
  130. package/dist/ts/schedule/renderer/agenda.d.ts +45 -0
  131. package/dist/ts/schedule/renderer/agenda.ts +497 -0
  132. package/dist/ts/schedule/renderer/day.d.ts +20 -0
  133. package/dist/ts/schedule/renderer/day.ts +28 -0
  134. package/dist/ts/schedule/renderer/header-renderer.d.ts +48 -0
  135. package/dist/ts/schedule/renderer/header-renderer.ts +736 -0
  136. package/dist/ts/schedule/renderer/month-agenda.d.ts +29 -0
  137. package/dist/ts/schedule/renderer/month-agenda.ts +184 -0
  138. package/dist/ts/schedule/renderer/month.d.ts +61 -0
  139. package/dist/ts/schedule/renderer/month.ts +766 -0
  140. package/dist/ts/schedule/renderer/renderer.d.ts +13 -0
  141. package/dist/ts/schedule/renderer/renderer.ts +165 -0
  142. package/dist/ts/schedule/renderer/timeline-header-row.d.ts +15 -0
  143. package/dist/ts/schedule/renderer/timeline-header-row.ts +132 -0
  144. package/dist/ts/schedule/renderer/timeline-month.d.ts +29 -0
  145. package/dist/ts/schedule/renderer/timeline-month.ts +184 -0
  146. package/dist/ts/schedule/renderer/timeline-view.d.ts +31 -0
  147. package/dist/ts/schedule/renderer/timeline-view.ts +308 -0
  148. package/dist/ts/schedule/renderer/timeline-year.d.ts +22 -0
  149. package/dist/ts/schedule/renderer/timeline-year.ts +450 -0
  150. package/dist/ts/schedule/renderer/vertical-view.d.ts +63 -0
  151. package/dist/ts/schedule/renderer/vertical-view.ts +911 -0
  152. package/dist/ts/schedule/renderer/view-base.d.ts +83 -0
  153. package/dist/ts/schedule/renderer/view-base.ts +709 -0
  154. package/dist/ts/schedule/renderer/week.d.ts +22 -0
  155. package/dist/ts/schedule/renderer/week.ts +35 -0
  156. package/dist/ts/schedule/renderer/work-week.d.ts +22 -0
  157. package/dist/ts/schedule/renderer/work-week.ts +36 -0
  158. package/dist/ts/schedule/renderer/year.d.ts +46 -0
  159. package/dist/ts/schedule/renderer/year.ts +470 -0
  160. package/dist/ts/schedule/timezone/timezone.d.ts +16 -0
  161. package/dist/ts/schedule/timezone/timezone.ts +313 -0
  162. package/package.json +56 -21
  163. package/src/schedule/actions/action-base.js +3 -0
  164. package/src/schedule/actions/drag.js +11 -4
  165. package/src/schedule/actions/keyboard.js +1 -1
  166. package/src/schedule/actions/resize.js +9 -5
  167. package/src/schedule/actions/virtual-scroll.js +3 -0
  168. package/src/schedule/base/css-constant.d.ts +2 -0
  169. package/src/schedule/base/css-constant.js +2 -0
  170. package/src/schedule/base/schedule.js +15 -1
  171. package/src/schedule/event-renderer/agenda-base.d.ts +1 -1
  172. package/src/schedule/event-renderer/agenda-base.js +5 -4
  173. package/src/schedule/event-renderer/inline-edit.js +11 -6
  174. package/src/schedule/event-renderer/month.js +5 -3
  175. package/src/schedule/event-renderer/vertical-view.js +3 -0
  176. package/src/schedule/event-renderer/year.d.ts +2 -0
  177. package/src/schedule/event-renderer/year.js +28 -4
  178. package/src/schedule/popups/event-tooltip.js +4 -0
  179. package/src/schedule/popups/event-window.js +2 -2
  180. package/src/schedule/popups/quick-popups.js +5 -1
  181. package/src/schedule/renderer/agenda.js +3 -2
  182. package/src/schedule/renderer/month.js +9 -7
  183. package/src/schedule/renderer/vertical-view.js +1 -1
  184. package/src/schedule/renderer/view-base.d.ts +2 -0
  185. package/src/schedule/renderer/view-base.js +9 -0
  186. package/src/schedule/renderer/year.js +3 -2
  187. package/styles/bds-lite.css +11 -8
  188. package/styles/bds.css +11 -8
  189. package/styles/bootstrap-dark-lite.css +12 -9
  190. package/styles/bootstrap-dark.css +12 -9
  191. package/styles/bootstrap-lite.css +12 -9
  192. package/styles/bootstrap.css +12 -9
  193. package/styles/bootstrap4-lite.css +11 -8
  194. package/styles/bootstrap4.css +11 -8
  195. package/styles/bootstrap5-dark-lite.css +11 -8
  196. package/styles/bootstrap5-dark.css +11 -8
  197. package/styles/bootstrap5-lite.css +11 -8
  198. package/styles/bootstrap5.3-lite.css +11 -8
  199. package/styles/bootstrap5.3.css +11 -8
  200. package/styles/bootstrap5.css +11 -8
  201. package/styles/fabric-dark-lite.css +12 -9
  202. package/styles/fabric-dark.css +12 -9
  203. package/styles/fabric-lite.css +12 -9
  204. package/styles/fabric.css +12 -9
  205. package/styles/fluent-dark-lite.css +13 -10
  206. package/styles/fluent-dark.css +13 -10
  207. package/styles/fluent-lite.css +13 -10
  208. package/styles/fluent.css +13 -10
  209. package/styles/fluent2-lite.css +11 -8
  210. package/styles/fluent2.css +11 -8
  211. package/styles/highcontrast-light-lite.css +12 -9
  212. package/styles/highcontrast-light.css +12 -9
  213. package/styles/highcontrast-lite.css +12 -9
  214. package/styles/highcontrast.css +12 -9
  215. package/styles/material-dark-lite.css +12 -9
  216. package/styles/material-dark.css +12 -9
  217. package/styles/material-lite.css +12 -9
  218. package/styles/material.css +12 -9
  219. package/styles/material3-dark-lite.css +11 -8
  220. package/styles/material3-dark.css +11 -8
  221. package/styles/material3-lite.css +11 -8
  222. package/styles/material3.css +11 -8
  223. package/styles/recurrence-editor/_bds-definition.scss +1 -0
  224. package/styles/recurrence-editor/_bootstrap-dark-definition.scss +1 -0
  225. package/styles/recurrence-editor/_bootstrap-definition.scss +1 -0
  226. package/styles/recurrence-editor/_bootstrap4-definition.scss +1 -0
  227. package/styles/recurrence-editor/_bootstrap5-definition.scss +1 -0
  228. package/styles/recurrence-editor/_bootstrap5.3-definition.scss +1 -0
  229. package/styles/recurrence-editor/_fabric-dark-definition.scss +1 -0
  230. package/styles/recurrence-editor/_fabric-definition.scss +1 -0
  231. package/styles/recurrence-editor/_fluent-definition.scss +1 -0
  232. package/styles/recurrence-editor/_fluent2-definition.scss +1 -0
  233. package/styles/recurrence-editor/_fusionnew-definition.scss +1 -0
  234. package/styles/recurrence-editor/_highcontrast-definition.scss +1 -0
  235. package/styles/recurrence-editor/_highcontrast-light-definition.scss +1 -0
  236. package/styles/recurrence-editor/_layout.scss +5 -1
  237. package/styles/recurrence-editor/_material-dark-definition.scss +1 -0
  238. package/styles/recurrence-editor/_material-definition.scss +1 -0
  239. package/styles/recurrence-editor/_material3-definition.scss +1 -0
  240. package/styles/recurrence-editor/_tailwind-definition.scss +1 -0
  241. package/styles/recurrence-editor/_tailwind3-definition.scss +1 -0
  242. package/styles/recurrence-editor/bds.css +3 -0
  243. package/styles/recurrence-editor/bootstrap-dark.css +4 -1
  244. package/styles/recurrence-editor/bootstrap.css +4 -1
  245. package/styles/recurrence-editor/bootstrap4.css +3 -0
  246. package/styles/recurrence-editor/bootstrap5-dark.css +3 -0
  247. package/styles/recurrence-editor/bootstrap5.3.css +3 -0
  248. package/styles/recurrence-editor/bootstrap5.css +3 -0
  249. package/styles/recurrence-editor/fabric-dark.css +4 -1
  250. package/styles/recurrence-editor/fabric.css +4 -1
  251. package/styles/recurrence-editor/fluent-dark.css +4 -1
  252. package/styles/recurrence-editor/fluent.css +4 -1
  253. package/styles/recurrence-editor/fluent2.css +3 -0
  254. package/styles/recurrence-editor/highcontrast-light.css +4 -1
  255. package/styles/recurrence-editor/highcontrast.css +4 -1
  256. package/styles/recurrence-editor/material-dark.css +4 -1
  257. package/styles/recurrence-editor/material.css +4 -1
  258. package/styles/recurrence-editor/material3-dark.css +3 -0
  259. package/styles/recurrence-editor/material3.css +3 -0
  260. package/styles/recurrence-editor/tailwind-dark.css +3 -0
  261. package/styles/recurrence-editor/tailwind.css +3 -0
  262. package/styles/recurrence-editor/tailwind3.css +3 -0
  263. package/styles/schedule/_bds-definition.scss +2 -0
  264. package/styles/schedule/_bootstrap-dark-definition.scss +2 -0
  265. package/styles/schedule/_bootstrap-definition.scss +2 -0
  266. package/styles/schedule/_bootstrap4-definition.scss +2 -0
  267. package/styles/schedule/_bootstrap5-definition.scss +2 -0
  268. package/styles/schedule/_bootstrap5.3-definition.scss +2 -0
  269. package/styles/schedule/_fabric-dark-definition.scss +2 -0
  270. package/styles/schedule/_fabric-definition.scss +2 -0
  271. package/styles/schedule/_fluent-definition.scss +3 -1
  272. package/styles/schedule/_fluent2-definition.scss +2 -0
  273. package/styles/schedule/_fusionnew-definition.scss +2 -0
  274. package/styles/schedule/_highcontrast-definition.scss +2 -0
  275. package/styles/schedule/_highcontrast-light-definition.scss +2 -0
  276. package/styles/schedule/_layout.scss +12 -11
  277. package/styles/schedule/_material-dark-definition.scss +2 -0
  278. package/styles/schedule/_material-definition.scss +2 -0
  279. package/styles/schedule/_material3-definition.scss +2 -0
  280. package/styles/schedule/_tailwind-definition.scss +2 -0
  281. package/styles/schedule/_tailwind3-definition.scss +2 -0
  282. package/styles/schedule/bds.css +8 -8
  283. package/styles/schedule/bootstrap-dark.css +8 -8
  284. package/styles/schedule/bootstrap.css +8 -8
  285. package/styles/schedule/bootstrap4.css +8 -8
  286. package/styles/schedule/bootstrap5-dark.css +8 -8
  287. package/styles/schedule/bootstrap5.3.css +8 -8
  288. package/styles/schedule/bootstrap5.css +8 -8
  289. package/styles/schedule/fabric-dark.css +8 -8
  290. package/styles/schedule/fabric.css +8 -8
  291. package/styles/schedule/fluent-dark.css +9 -9
  292. package/styles/schedule/fluent.css +9 -9
  293. package/styles/schedule/fluent2.css +8 -8
  294. package/styles/schedule/highcontrast-light.css +8 -8
  295. package/styles/schedule/highcontrast.css +8 -8
  296. package/styles/schedule/material-dark.css +8 -8
  297. package/styles/schedule/material.css +8 -8
  298. package/styles/schedule/material3-dark.css +8 -8
  299. package/styles/schedule/material3.css +8 -8
  300. package/styles/schedule/tailwind-dark.css +8 -8
  301. package/styles/schedule/tailwind.css +8 -8
  302. package/styles/schedule/tailwind3.css +8 -8
  303. package/styles/tailwind-dark-lite.css +11 -8
  304. package/styles/tailwind-dark.css +11 -8
  305. package/styles/tailwind-lite.css +11 -8
  306. package/styles/tailwind.css +11 -8
  307. package/styles/tailwind3-lite.css +11 -8
  308. package/styles/tailwind3.css +11 -8
@@ -1034,6 +1034,8 @@ var MONTH_HEADER_WRAPPER = 'e-month-header-wrapper';
1034
1034
  var INLINE_SUBJECT_CLASS = 'e-inline-subject';
1035
1035
  /** @private */
1036
1036
  var INLINE_APPOINTMENT_CLASS = 'e-inline-appointment';
1037
+ /** @private */
1038
+ var INLINE_EDIT_CLASS = 'e-inline-edit';
1037
1039
  /** @hidden */
1038
1040
  var SCROLL_HIDDEN = 'e-scroll-hidden';
1039
1041
  /** @private */
@@ -3265,7 +3267,7 @@ var KeyboardInteraction = /** @__PURE__ @class */ (function () {
3265
3267
  };
3266
3268
  KeyboardInteraction.prototype.processDelete = function (e) {
3267
3269
  var activeEle = document.activeElement;
3268
- if (this.parent.currentView === 'MonthAgenda') {
3270
+ if (this.parent.currentView === 'MonthAgenda' || (!isNullOrUndefined(activeEle) && closest(activeEle, '.' + POPUP_WRAPPER_CLASS))) {
3269
3271
  var selectedEle = this.parent.eventBase.getSelectedEvents().element;
3270
3272
  activeEle = ((selectedEle && isNullOrUndefined(selectedEle.length)) ? selectedEle : selectedEle[0]);
3271
3273
  }
@@ -7879,6 +7881,9 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
7879
7881
  var record = this.splitEvent(eventObj, currentDates)[0];
7880
7882
  var eStart = new Date(record[this.parent.eventFields.startTime].getTime());
7881
7883
  var eEnd = new Date(record[this.parent.eventFields.endTime].getTime());
7884
+ if (eStart.getTime() < this.parent.minDate.getTime() || eEnd.getTime() > this.parent.maxDate.getTime()) {
7885
+ return;
7886
+ }
7882
7887
  var appWidth = 0;
7883
7888
  var topValue = 1;
7884
7889
  var isDateRange = currentDates[0].getTime() <= eStart.getTime() &&
@@ -8427,13 +8432,15 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
8427
8432
  this.parent.notify(scrollUiUpdate, data);
8428
8433
  if (this.parent.currentView === 'Month' && this.parent.showWeekNumber) {
8429
8434
  var totalCells_1 = [].slice.call(this.parent.element.querySelectorAll('.e-content-wrap table tr td:first-child'));
8430
- var weekNumberCells = [].slice.call(this.parent.element.querySelectorAll('.' + WEEK_NUMBER_CLASS));
8435
+ var weekNumberCells = [].slice.call(this.parent.element.querySelectorAll('td' + '.' + WEEK_NUMBER_CLASS));
8431
8436
  weekNumberCells.forEach(function (cell, i) {
8432
8437
  var height = totalCells_1[parseInt(i.toString(), 10)].offsetHeight;
8433
8438
  setStyleAttribute(cell, { 'height': height + 'px' });
8434
8439
  });
8435
- this.parent.element.querySelector('.' + WEEK_NUMBER_WRAPPER_CLASS).scrollTop =
8436
- this.parent.element.querySelector('.' + CONTENT_WRAP_CLASS).scrollTop;
8440
+ var weekNumberWrapper = this.parent.element.querySelector('.' + WEEK_NUMBER_WRAPPER_CLASS);
8441
+ if (!isNullOrUndefined(weekNumberWrapper)) {
8442
+ weekNumberWrapper.scrollTop = this.parent.element.querySelector('.' + CONTENT_WRAP_CLASS).scrollTop;
8443
+ }
8437
8444
  }
8438
8445
  }
8439
8446
  this.parent.renderTemplates();
@@ -9703,6 +9710,7 @@ var InlineEdit = /** @__PURE__ @class */ (function () {
9703
9710
  InlineEdit.prototype.eventEdit = function (args) {
9704
9711
  var inlineSubject = args.element.querySelector('.' + INLINE_SUBJECT_CLASS);
9705
9712
  var subject;
9713
+ addClass([args.element], INLINE_EDIT_CLASS);
9706
9714
  if (inlineSubject) {
9707
9715
  subject = inlineSubject.value;
9708
9716
  }
@@ -9710,11 +9718,9 @@ var InlineEdit = /** @__PURE__ @class */ (function () {
9710
9718
  var subEle = args.element.querySelector('.' + SUBJECT_CLASS);
9711
9719
  if (!isNullOrUndefined(subEle)) {
9712
9720
  addClass([subEle], DISABLE_CLASS);
9713
- subject = subEle.innerText;
9714
- }
9715
- else {
9716
- subject = args.data[this.parent.eventFields.subject];
9717
9721
  }
9722
+ subject = !isNullOrUndefined(args.data) && args.data[this.parent.eventFields.subject] ||
9723
+ this.parent.eventSettings.fields.subject.default || this.parent.localeObj.getConstant('addTitle');
9718
9724
  inlineSubject = this.inlineInputEle =
9719
9725
  createElement('input', { className: INLINE_SUBJECT_CLASS, attrs: { value: subject } });
9720
9726
  if (closest(args.element, '.' + MORE_POPUP_WRAPPER_CLASS)) {
@@ -9736,7 +9742,12 @@ var InlineEdit = /** @__PURE__ @class */ (function () {
9736
9742
  args.element.querySelector('.e-appointment-details').prepend(inlineSubject);
9737
9743
  }
9738
9744
  else {
9739
- innerWrapElement.prepend(inlineSubject);
9745
+ if (subEle && this.parent.activeViewOptions && !this.parent.activeViewOptions.eventTemplate) {
9746
+ innerWrapElement.insertBefore(inlineSubject, subEle);
9747
+ }
9748
+ else {
9749
+ innerWrapElement.prepend(inlineSubject);
9750
+ }
9740
9751
  }
9741
9752
  }
9742
9753
  inlineSubject.focus();
@@ -9863,7 +9874,7 @@ var InlineEdit = /** @__PURE__ @class */ (function () {
9863
9874
  };
9864
9875
  InlineEdit.prototype.createInlineAppointmentElement = function (inlineData) {
9865
9876
  var inlineAppointmentElement = createElement('div', {
9866
- className: APPOINTMENT_CLASS + ' ' + INLINE_APPOINTMENT_CLASS
9877
+ className: APPOINTMENT_CLASS + ' ' + INLINE_APPOINTMENT_CLASS + ' ' + INLINE_EDIT_CLASS
9867
9878
  });
9868
9879
  var inlineDetails = createElement('div', { className: APPOINTMENT_DETAILS });
9869
9880
  inlineAppointmentElement.appendChild(inlineDetails);
@@ -9889,6 +9900,7 @@ var InlineEdit = /** @__PURE__ @class */ (function () {
9889
9900
  var inlineSubject = this.getInlineElement();
9890
9901
  if (inlineSubject) {
9891
9902
  var appointmentSubject = closest(inlineSubject, '.' + APPOINTMENT_CLASS);
9903
+ removeClass([appointmentSubject], INLINE_EDIT_CLASS);
9892
9904
  var subject = appointmentSubject.querySelector('.' + SUBJECT_CLASS);
9893
9905
  if (!isNullOrUndefined(subject)) {
9894
9906
  removeClass([subject], DISABLE_CLASS);
@@ -11333,7 +11345,11 @@ var QuickPopups = /** @__PURE__ @class */ (function () {
11333
11345
  if (closest(target, '.' + APPOINTMENT_CLASS + ',.' + HEADER_CELLS_CLASS)) {
11334
11346
  this.parent.removeNewEventElement();
11335
11347
  }
11336
- if (!closest(target, '.' + MORE_POPUP_WRAPPER_CLASS) && (target.classList &&
11348
+ var isQuickPopupClick = closest(target, '.' + POPUP_WRAPPER_CLASS) ||
11349
+ closest(target, '.' + QUICK_DIALOG_CLASS);
11350
+ var isEditButton = target.classList.contains(EDIT_EVENT_CLASS) ||
11351
+ target.classList.contains(EDIT_CLASS) || target.classList.contains(EDIT_ICON_CLASS);
11352
+ if (isEditButton || !isQuickPopupClick && !closest(target, '.' + MORE_POPUP_WRAPPER_CLASS) && (target.classList &&
11337
11353
  !target.classList.contains(MORE_INDICATOR_CLASS))
11338
11354
  && (!closest(target, '.' + MORE_POPUP_WRAPPER_CLASS + '.' + POPUP_OPEN))
11339
11355
  && !closest(target, '.' + WORK_CELLS_CLASS)) {
@@ -11482,6 +11498,10 @@ var EventTooltip = /** @__PURE__ @class */ (function () {
11482
11498
  return;
11483
11499
  }
11484
11500
  if (args.target.classList.contains(RESOURCE_CELLS_CLASS) && this.parent.activeViewOptions.group.resources.length > 0) {
11501
+ if (args.target.closest('.' + LEFT_INDENT_WRAP_CLASS)) {
11502
+ args.cancel = true;
11503
+ return;
11504
+ }
11485
11505
  var resCollection = void 0;
11486
11506
  if (this.parent.activeView.isTimelineView()) {
11487
11507
  var index = parseInt(args.target.getAttribute('data-group-index'), 10);
@@ -14027,9 +14047,9 @@ var EventWindow = /** @__PURE__ @class */ (function () {
14027
14047
  var startObj = startDate.ej2_instances[0];
14028
14048
  var endObj = endDate.ej2_instances[0];
14029
14049
  startObj.min = this.parent.minDate;
14030
- startObj.max = this.parent.maxDate;
14050
+ startObj.max = new Date(new Date(+this.parent.maxDate).setHours(23, 59, 59));
14031
14051
  endObj.min = this.parent.minDate;
14032
- endObj.max = this.parent.maxDate;
14052
+ endObj.max = new Date(new Date(+this.parent.maxDate).setHours(23, 59, 59));
14033
14053
  startObj.dataBind();
14034
14054
  endObj.dataBind();
14035
14055
  }
@@ -15208,6 +15228,9 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
15208
15228
  this.removeObsoleteRows(resWrapRows, currentGroupIndices);
15209
15229
  this.removeObsoleteRows(conWrapRows, currentGroupIndices);
15210
15230
  var resourceRows = this.parent.resourceBase.getContentRows(resCollection, true);
15231
+ if (this.parent.isReact) {
15232
+ this.parent.renderTemplates();
15233
+ }
15211
15234
  var contentRows = this.parent.activeView.getContentRows();
15212
15235
  var eventRows = this.parent.activeView.getEventRows(resCollection.length);
15213
15236
  for (var i = 0; i < newGroupIndices.length; i++) {
@@ -19864,6 +19887,14 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19864
19887
  if (newProp.allowKeyboardInteraction || newProp.allowClipboard) {
19865
19888
  this.keyboardInteractionModule = new KeyboardInteraction(this);
19866
19889
  }
19890
+ if (prop === 'allowClipboard') {
19891
+ if (newProp.allowClipboard) {
19892
+ EventHandler.add(document, 'paste', this.onDocumentPaste, this);
19893
+ }
19894
+ else {
19895
+ EventHandler.remove(document, 'paste', this.onDocumentPaste);
19896
+ }
19897
+ }
19867
19898
  break;
19868
19899
  case 'timezoneDataSource':
19869
19900
  if (this.eventWindow) {
@@ -20815,12 +20846,18 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
20815
20846
  */
20816
20847
  Schedule.prototype.paste = function (targetElement) {
20817
20848
  var _this = this;
20818
- if (!this.allowClipboard || !this.allowKeyboardInteraction) {
20849
+ if (!this.allowClipboard || !this.allowKeyboardInteraction || !targetElement) {
20819
20850
  return;
20820
20851
  }
20821
20852
  if (!targetElement.classList.contains('e-work-cells') && !targetElement.classList.contains('e-all-day-cells')) {
20822
20853
  return;
20823
20854
  }
20855
+ if (!this.activeCellsData) {
20856
+ var cellData = this.getCellDetails([targetElement]);
20857
+ if (cellData) {
20858
+ this.activeCellsData = cellData;
20859
+ }
20860
+ }
20824
20861
  var clipboardData = new DataTransfer();
20825
20862
  if (!isNullOrUndefined(navigator.clipboard)) {
20826
20863
  navigator.clipboard.readText()
@@ -21822,6 +21859,9 @@ var ActionBase = /** @__PURE__ @class */ (function () {
21822
21859
  if (this.parent.activeViewOptions.group.resources.length > 0) {
21823
21860
  query = query.concat('[data-group-index = "' + cloneElement.getAttribute('data-group-index') + '"]');
21824
21861
  }
21862
+ if (cloneElement.hasAttribute('data-guid')) {
21863
+ query += '[data-guid="' + cloneElement.getAttribute('data-guid') + '"]';
21864
+ }
21825
21865
  var elements = [].slice.call(this.parent.element.querySelectorAll(query));
21826
21866
  addClass(elements, EVENT_ACTION_CLASS);
21827
21867
  var eventWrappers = [].slice.call(this.parent.element.querySelectorAll('.' + CLONE_ELEMENT_CLASS));
@@ -22013,17 +22053,20 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
22013
22053
  };
22014
22054
  Resize.prototype.resizeStart = function (e) {
22015
22055
  var _this = this;
22016
- if (e && e.type === 'touchstart' && (!this.parent.uiStateValues.isTapHold ||
22017
- !closest(e.target, '.' + APPOINTMENT_BORDER))) {
22056
+ if ((e && e.type === 'touchstart' && (!this.parent.uiStateValues.isTapHold ||
22057
+ !closest(e.target, '.' + APPOINTMENT_BORDER))) || closest(e.target, '.' + INLINE_EDIT_CLASS)) {
22058
+ return;
22059
+ }
22060
+ var resizeTarget = closest(e.target, '.' + EVENT_RESIZE_CLASS);
22061
+ this.actionObj.element = closest(resizeTarget, '.' + APPOINTMENT_CLASS);
22062
+ this.actionObj.event = this.parent.eventBase.getEventByGuid(this.actionObj.element.getAttribute('data-guid'));
22063
+ if (isNullOrUndefined(this.actionObj.event)) {
22018
22064
  return;
22019
22065
  }
22020
22066
  this.parent.eventBase.removeSelectedAppointmentClass();
22021
22067
  this.actionObj.action = 'resize';
22022
22068
  this.actionObj.slotInterval = this.parent.activeViewOptions.timeScale.interval / this.parent.activeViewOptions.timeScale.slotCount;
22023
22069
  this.actionObj.interval = this.actionObj.slotInterval;
22024
- var resizeTarget = closest(e.target, '.' + EVENT_RESIZE_CLASS);
22025
- this.actionObj.element = closest(resizeTarget, '.' + APPOINTMENT_CLASS);
22026
- this.actionObj.event = this.parent.eventBase.getEventByGuid(this.actionObj.element.getAttribute('data-guid'));
22027
22070
  var eventObj = extend({}, this.actionObj.event, null, true);
22028
22071
  var resizeArgs = {
22029
22072
  cancel: false,
@@ -22541,6 +22584,7 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
22541
22584
  (Math.ceil((targetWidth - cloneWidth) / this.actionObj.cellWidth) * this.actionObj.cellWidth) : offsetLeft);
22542
22585
  }
22543
22586
  }
22587
+ width = Math.floor(width);
22544
22588
  styles.width = formatUnit(width);
22545
22589
  return styles;
22546
22590
  };
@@ -22751,9 +22795,10 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22751
22795
  return "continue";
22752
22796
  }
22753
22797
  }
22754
- var enableAppRender = this_1.maxOrIndicator || (overlapIndex < eventsPerRow) ||
22755
- (this_1.cellHeight > availedHeight);
22756
- if (this_1.parent.rowAutoHeight || enableAppRender || this_1.cellHeight > availedHeight) {
22798
+ if (this_1.maxHeight && this_1.parent.currentView.indexOf('Timeline') !== -1 && overlapIndex > 0) {
22799
+ return "continue";
22800
+ }
22801
+ if (this_1.parent.rowAutoHeight || this_1.shouldRenderAppointment(overlapIndex, availedHeight)) {
22757
22802
  this_1.renderEvent(eventWrapper, eventData, row, leftValue, rightValue, monthStart, dayIndex);
22758
22803
  if (this_1.parent.rowAutoHeight || this_1.cellHeight > availedHeight) {
22759
22804
  this_1.updateCellHeight(rowTd, availedHeight);
@@ -22888,6 +22933,19 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22888
22933
  });
22889
22934
  }
22890
22935
  };
22936
+ YearEvent.prototype.shouldRenderAppointment = function (overlapIndex, availedHeight) {
22937
+ var eventsPerRow = this.parent.rowAutoHeight ? 1 : this.parent.activeViewOptions.maxEventsPerRow;
22938
+ if (this.parent.activeViewOptions.maxEventsPerRow && !this.parent.rowAutoHeight &&
22939
+ !this.parent.eventSettings.enableIndicator) {
22940
+ return overlapIndex < eventsPerRow;
22941
+ }
22942
+ else if (this.maxOrIndicator) {
22943
+ return overlapIndex < 1;
22944
+ }
22945
+ else {
22946
+ return this.cellHeight > availedHeight;
22947
+ }
22948
+ };
22891
22949
  YearEvent.prototype.renderResourceEvent = function (wrapper, resource, month, index, monthStart) {
22892
22950
  var eventWrapper = createElement('div', { className: APPOINTMENT_WRAPPER_CLASS });
22893
22951
  wrapper.appendChild(eventWrapper);
@@ -22928,7 +22986,10 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22928
22986
  return "continue";
22929
22987
  }
22930
22988
  }
22931
- if (this_2.parent.rowAutoHeight || this_2.cellHeight > availedHeight) {
22989
+ if (this_2.maxHeight && this_2.parent.currentView.indexOf('Timeline') !== -1 && overlapIndex > 0) {
22990
+ return "continue";
22991
+ }
22992
+ if (this_2.parent.rowAutoHeight || this_2.shouldRenderAppointment(overlapIndex, availedHeight)) {
22932
22993
  this_2.renderEvent(eventWrapper, eventData, month, leftValue, leftValue, monthStart, index);
22933
22994
  this_2.updateCellHeight(td, availedHeight);
22934
22995
  isSpannedCollection.push(eventData);
@@ -22953,6 +23014,10 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22953
23014
  break;
22954
23015
  }
22955
23016
  };
23017
+ YearEvent.prototype.setMaxEventHeight = function (event, cell) {
23018
+ var height = (cell.offsetHeight - this.cellHeader) - (this.maxHeight ? 0 : this.moreIndicatorHeight);
23019
+ setStyleAttribute(event, { 'height': height + 'px', 'align-items': 'center' });
23020
+ };
22956
23021
  // eslint-disable-next-line max-len
22957
23022
  YearEvent.prototype.renderEvent = function (wrapper, eventData, row, left, right, monthDate, rowIndex) {
22958
23023
  var _this = this;
@@ -22983,6 +23048,9 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22983
23048
  setStyleAttribute(wrap, {
22984
23049
  'width': width + 'px', 'height': this.eventHeight + 'px', 'left': left + 'px', 'right': right + 'px', 'top': top + 'px'
22985
23050
  });
23051
+ if (this.maxOrIndicator && this.parent.currentView.indexOf('Timeline') !== -1) {
23052
+ this.setMaxEventHeight(wrap, rowTd);
23053
+ }
22986
23054
  if (!this.isResource && this.parent.rowAutoHeight && this.parent.activeViewOptions.orientation === 'Vertical') {
22987
23055
  wrap.setAttribute('data-index', eventObj.Index.toString());
22988
23056
  }
@@ -23253,7 +23321,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
23253
23321
  }
23254
23322
  DragAndDrop.prototype.wireDragEvent = function (element) {
23255
23323
  new Draggable(element, {
23256
- abort: '.' + EVENT_RESIZE_CLASS,
23324
+ abort: '.' + EVENT_RESIZE_CLASS + ', .' + INLINE_EDIT_CLASS,
23257
23325
  clone: true,
23258
23326
  isDragScroll: true,
23259
23327
  enableTailMode: this.parent.eventDragArea ? true : false,
@@ -23779,6 +23847,11 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
23779
23847
  this.actionObj.clone.style.top = formatUnit(td.offsetParent.offsetTop);
23780
23848
  this.actionObj.clone.style.left = formatUnit(td.offsetLeft);
23781
23849
  this.actionObj.clone.style.width = formatUnit(td.offsetWidth);
23850
+ if (this.actionObj.cloneElement.length > 1) {
23851
+ this.actionObj.cloneElement.forEach(function (element) {
23852
+ element.style.width = formatUnit(td.offsetWidth);
23853
+ });
23854
+ }
23782
23855
  var eventContainer = td;
23783
23856
  var eventWrapper;
23784
23857
  if (this.parent.activeView.isTimelineView()) {
@@ -24068,6 +24141,10 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
24068
24141
  this.verticalEvent.getTopValue(eStart) : this.actionObj.element.offsetTop;
24069
24142
  if (isNullOrUndefined(index)) {
24070
24143
  if (i === 0) {
24144
+ if (this.actionObj.clone.classList.contains(ALLDAY_APPOINTMENT_CLASS)) {
24145
+ topValue = this.parent.element.querySelector('.' + ALLDAY_ROW_CLASS).offsetTop;
24146
+ appHeight = this.getAllDayEventHeight();
24147
+ }
24071
24148
  this.actionObj.clone.style.top = formatUnit(topValue);
24072
24149
  this.actionObj.clone.style.height = formatUnit(appHeight);
24073
24150
  }
@@ -24077,9 +24154,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
24077
24154
  }
24078
24155
  else {
24079
24156
  var appWidth = this.actionObj.cellWidth;
24080
- if (event[this.parent.eventFields.isAllDay]) {
24081
- topValue = this.parent.element.querySelector('.' + ALLDAY_ROW_CLASS).offsetTop;
24082
- appHeight = this.getAllDayEventHeight();
24157
+ if (event[this.parent.eventFields.isAllDay] && this.parent.activeViewOptions.timeScale.enable) {
24083
24158
  var timeDiff = event[this.parent.eventFields.endTime].getTime() -
24084
24159
  event[this.parent.eventFields.startTime].getTime();
24085
24160
  var allDayDifference = Math.ceil(timeDiff / (1000 * 3600 * 24));
@@ -24615,6 +24690,8 @@ var ViewBase = /** @__PURE__ @class */ (function () {
24615
24690
  */
24616
24691
  function ViewBase(parent) {
24617
24692
  this.previousNextAction = 'Next';
24693
+ this.skipPersistenceSave = false;
24694
+ this.isScrolledBottom = false;
24618
24695
  this.parent = parent;
24619
24696
  }
24620
24697
  ViewBase.prototype.isTimelineView = function () {
@@ -25170,6 +25247,12 @@ var ViewBase = /** @__PURE__ @class */ (function () {
25170
25247
  ViewBase.prototype.setPersistence = function () {
25171
25248
  if (this.parent.enablePersistence) {
25172
25249
  var contentWrap = this.element.querySelector('.e-content-wrap');
25250
+ if (this.parent.virtualScrollModule && this.isScrolledBottom) {
25251
+ this.isScrolledBottom = false;
25252
+ this.skipPersistenceSave = true;
25253
+ contentWrap.scrollTop = this.parent.scrollTop;
25254
+ this.skipPersistenceSave = false;
25255
+ }
25173
25256
  if (!isNullOrUndefined(contentWrap)) {
25174
25257
  this.parent.scrollLeft = contentWrap.scrollLeft;
25175
25258
  this.parent.scrollTop = contentWrap.scrollTop;
@@ -25180,6 +25263,7 @@ var ViewBase = /** @__PURE__ @class */ (function () {
25180
25263
  if (this.parent.enablePersistence) {
25181
25264
  var conWrap = this.parent.element.querySelector('.e-content-wrap');
25182
25265
  if (!isNullOrUndefined(conWrap) && !isNullOrUndefined(this.parent.scrollLeft) && !isNullOrUndefined(this.parent.scrollTop)) {
25266
+ this.isScrolledBottom = conWrap.scrollHeight - conWrap.clientHeight < this.parent.scrollTop;
25183
25267
  conWrap.scrollTop = this.parent.scrollTop;
25184
25268
  conWrap.scrollLeft = this.parent.scrollLeft;
25185
25269
  }
@@ -25648,7 +25732,7 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
25648
25732
  case 'dateHeader':
25649
25733
  if (this.parent.activeViewOptions.dateHeaderTemplate) {
25650
25734
  templateName = 'dateHeaderTemplate';
25651
- var args = { date: date, type: type };
25735
+ var args = { date: date, type: type, groupIndex: groupIndex };
25652
25736
  var viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
25653
25737
  cntEle = [].slice.call(this.parent.getDateHeaderTemplate()(args, this.parent, templateName, templateId + viewName + templateName, false, undefined, undefined, this.parent.root));
25654
25738
  }
@@ -26320,13 +26404,15 @@ var Month = /** @__PURE__ @class */ (function (_super) {
26320
26404
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
26321
26405
  Month.prototype.onCellClick = function (event) { };
26322
26406
  Month.prototype.onContentScroll = function (e) {
26323
- this.parent.removeNewEventElement();
26324
- this.parent.notify(virtualScroll, e);
26325
- this.scrollTopPanel(e.target);
26326
- this.scrollLeftPanel(e.target);
26327
- this.parent.uiStateValues.top = e.target.scrollTop;
26328
- this.parent.uiStateValues.left = e.target.scrollLeft;
26329
- this.setPersistence();
26407
+ if (!this.skipPersistenceSave) {
26408
+ this.parent.removeNewEventElement();
26409
+ this.parent.notify(virtualScroll, e);
26410
+ this.scrollTopPanel(e.target);
26411
+ this.scrollLeftPanel(e.target);
26412
+ this.parent.uiStateValues.top = e.target.scrollTop;
26413
+ this.parent.uiStateValues.left = e.target.scrollLeft;
26414
+ this.setPersistence();
26415
+ }
26330
26416
  };
26331
26417
  Month.prototype.scrollLeftPanel = function (target) {
26332
26418
  var leftPanel = this.getLeftPanelElement();
@@ -27398,10 +27484,11 @@ var Year = /** @__PURE__ @class */ (function (_super) {
27398
27484
  var startDate = isDateColAvail ? dateCollection[0] : this.getStartDate();
27399
27485
  var endDate = isDateColAvail ? dateCollection[dateCollection.length - 1] : this.getEndDate();
27400
27486
  if (startDate.getFullYear() !== endDate.getFullYear()) {
27401
- return this.parent.globalize.formatDate(startDate, { skeleton: 'yMMM' }) + ' - ' + this.parent.globalize.formatDate(endDate, { skeleton: 'yMMM' });
27487
+ return this.parent.globalize.formatDate(startDate, { format: 'MMM y', calendar: this.parent.getCalendarMode() })
27488
+ + ' - ' + this.parent.globalize.formatDate(endDate, { format: 'MMM y', calendar: this.parent.getCalendarMode() });
27402
27489
  }
27403
27490
  else {
27404
- return this.parent.globalize.formatDate(isDateColAvail ? dateCollection[0] : date, { skeleton: 'y' });
27491
+ return this.parent.globalize.formatDate(isDateColAvail ? dateCollection[0] : date, { skeleton: 'y', calendar: this.parent.getCalendarMode() });
27405
27492
  }
27406
27493
  };
27407
27494
  Year.prototype.addEventListener = function () {
@@ -27674,7 +27761,8 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
27674
27761
  rowSpan: 1, type: 'dateColumn', resource: resColl[parseInt((resColl.length - 1).toString(), 10)],
27675
27762
  groupOrder: resData[parseInt(res.toString(), 10)].groupOrder,
27676
27763
  resourceData: resData[parseInt(res.toString(), 10)].resourceData,
27677
- date: agendaDate
27764
+ date: agendaDate,
27765
+ groupIndex: resData[parseInt(res.toString(), 10)].groupIndex
27678
27766
  };
27679
27767
  if (!lastLevelInfo[parseInt(tempIndex.toString(), 10)]) {
27680
27768
  lastLevelInfo[parseInt(tempIndex.toString(), 10)] = [];
@@ -27767,7 +27855,7 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
27767
27855
  continue;
27768
27856
  }
27769
27857
  ntd.setAttribute('data-date', data.date.getTime().toString());
27770
- ntd.appendChild(this.createDateHeaderElement(data.date));
27858
+ ntd.appendChild(this.createDateHeaderElement(data.date, data.groupIndex));
27771
27859
  var className = [AGENDA_CELLS_CLASS, AGENDA_DATE_CLASS];
27772
27860
  if (data.cssClass) {
27773
27861
  className.push(data.cssClass);
@@ -27822,11 +27910,11 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
27822
27910
  tBody.appendChild(ntr);
27823
27911
  }
27824
27912
  };
27825
- AgendaBase.prototype.createDateHeaderElement = function (date) {
27913
+ AgendaBase.prototype.createDateHeaderElement = function (date, groupIndex) {
27826
27914
  var dateHeader;
27827
27915
  if (this.parent.activeViewOptions.dateHeaderTemplate) {
27828
27916
  dateHeader = createElement('div', { className: AGENDA_HEADER_CLASS });
27829
- var args = { date: date, type: 'dateHeader' };
27917
+ var args = { date: date, type: 'dateHeader', groupIndex: groupIndex };
27830
27918
  var scheduleId = this.parent.element.id + '_';
27831
27919
  var viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
27832
27920
  var templateId = scheduleId + viewName + 'dateHeaderTemplate';
@@ -27949,11 +28037,12 @@ var Agenda = /** @__PURE__ @class */ (function (_super) {
27949
28037
  this.parent.eventsProcessed = this.processAgendaEvents(eventCollection);
27950
28038
  var agendaDate = resetTime(this.parent.selectedDate);
27951
28039
  var tBody = this.element.querySelector('.' + CONTENT_TABLE_CLASS + ' tbody');
28040
+ var contentArea = closest(tBody, '.' + CONTENT_WRAP_CLASS);
28041
+ var scrollTop = contentArea.scrollTop;
27952
28042
  removeChildren(tBody);
27953
28043
  this.renderInitialContent(tBody, agendaDate);
27954
28044
  this.wireEventActions();
27955
- var contentArea = closest(tBody, '.' + CONTENT_WRAP_CLASS);
27956
- contentArea.scrollTop = 1;
28045
+ contentArea.scrollTop = scrollTop;
27957
28046
  this.parent.notify(eventsLoaded, {});
27958
28047
  if (!this.parent.activeViewOptions.allowVirtualScrolling) {
27959
28048
  this.retainScrollPosition();