@syncfusion/ej2-schedule 30.2.7 → 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 (304) 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 +110 -36
  5. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es5.js +110 -36
  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 +8 -5
  167. package/src/schedule/base/css-constant.d.ts +2 -0
  168. package/src/schedule/base/css-constant.js +2 -0
  169. package/src/schedule/base/schedule.js +15 -1
  170. package/src/schedule/event-renderer/agenda-base.d.ts +1 -1
  171. package/src/schedule/event-renderer/agenda-base.js +5 -4
  172. package/src/schedule/event-renderer/inline-edit.js +11 -6
  173. package/src/schedule/event-renderer/month.js +5 -3
  174. package/src/schedule/event-renderer/vertical-view.js +3 -0
  175. package/src/schedule/event-renderer/year.d.ts +2 -0
  176. package/src/schedule/event-renderer/year.js +28 -4
  177. package/src/schedule/popups/event-tooltip.js +4 -0
  178. package/src/schedule/popups/event-window.js +2 -2
  179. package/src/schedule/popups/quick-popups.js +5 -1
  180. package/src/schedule/renderer/agenda.js +3 -2
  181. package/src/schedule/renderer/vertical-view.js +1 -1
  182. package/src/schedule/renderer/year.js +3 -2
  183. package/styles/bds-lite.css +11 -8
  184. package/styles/bds.css +11 -8
  185. package/styles/bootstrap-dark-lite.css +12 -9
  186. package/styles/bootstrap-dark.css +12 -9
  187. package/styles/bootstrap-lite.css +12 -9
  188. package/styles/bootstrap.css +12 -9
  189. package/styles/bootstrap4-lite.css +11 -8
  190. package/styles/bootstrap4.css +11 -8
  191. package/styles/bootstrap5-dark-lite.css +11 -8
  192. package/styles/bootstrap5-dark.css +11 -8
  193. package/styles/bootstrap5-lite.css +11 -8
  194. package/styles/bootstrap5.3-lite.css +11 -8
  195. package/styles/bootstrap5.3.css +11 -8
  196. package/styles/bootstrap5.css +11 -8
  197. package/styles/fabric-dark-lite.css +12 -9
  198. package/styles/fabric-dark.css +12 -9
  199. package/styles/fabric-lite.css +12 -9
  200. package/styles/fabric.css +12 -9
  201. package/styles/fluent-dark-lite.css +13 -10
  202. package/styles/fluent-dark.css +13 -10
  203. package/styles/fluent-lite.css +13 -10
  204. package/styles/fluent.css +13 -10
  205. package/styles/fluent2-lite.css +11 -8
  206. package/styles/fluent2.css +11 -8
  207. package/styles/highcontrast-light-lite.css +12 -9
  208. package/styles/highcontrast-light.css +12 -9
  209. package/styles/highcontrast-lite.css +12 -9
  210. package/styles/highcontrast.css +12 -9
  211. package/styles/material-dark-lite.css +12 -9
  212. package/styles/material-dark.css +12 -9
  213. package/styles/material-lite.css +12 -9
  214. package/styles/material.css +12 -9
  215. package/styles/material3-dark-lite.css +11 -8
  216. package/styles/material3-dark.css +11 -8
  217. package/styles/material3-lite.css +11 -8
  218. package/styles/material3.css +11 -8
  219. package/styles/recurrence-editor/_bds-definition.scss +1 -0
  220. package/styles/recurrence-editor/_bootstrap-dark-definition.scss +1 -0
  221. package/styles/recurrence-editor/_bootstrap-definition.scss +1 -0
  222. package/styles/recurrence-editor/_bootstrap4-definition.scss +1 -0
  223. package/styles/recurrence-editor/_bootstrap5-definition.scss +1 -0
  224. package/styles/recurrence-editor/_bootstrap5.3-definition.scss +1 -0
  225. package/styles/recurrence-editor/_fabric-dark-definition.scss +1 -0
  226. package/styles/recurrence-editor/_fabric-definition.scss +1 -0
  227. package/styles/recurrence-editor/_fluent-definition.scss +1 -0
  228. package/styles/recurrence-editor/_fluent2-definition.scss +1 -0
  229. package/styles/recurrence-editor/_fusionnew-definition.scss +1 -0
  230. package/styles/recurrence-editor/_highcontrast-definition.scss +1 -0
  231. package/styles/recurrence-editor/_highcontrast-light-definition.scss +1 -0
  232. package/styles/recurrence-editor/_layout.scss +5 -1
  233. package/styles/recurrence-editor/_material-dark-definition.scss +1 -0
  234. package/styles/recurrence-editor/_material-definition.scss +1 -0
  235. package/styles/recurrence-editor/_material3-definition.scss +1 -0
  236. package/styles/recurrence-editor/_tailwind-definition.scss +1 -0
  237. package/styles/recurrence-editor/_tailwind3-definition.scss +1 -0
  238. package/styles/recurrence-editor/bds.css +3 -0
  239. package/styles/recurrence-editor/bootstrap-dark.css +4 -1
  240. package/styles/recurrence-editor/bootstrap.css +4 -1
  241. package/styles/recurrence-editor/bootstrap4.css +3 -0
  242. package/styles/recurrence-editor/bootstrap5-dark.css +3 -0
  243. package/styles/recurrence-editor/bootstrap5.3.css +3 -0
  244. package/styles/recurrence-editor/bootstrap5.css +3 -0
  245. package/styles/recurrence-editor/fabric-dark.css +4 -1
  246. package/styles/recurrence-editor/fabric.css +4 -1
  247. package/styles/recurrence-editor/fluent-dark.css +4 -1
  248. package/styles/recurrence-editor/fluent.css +4 -1
  249. package/styles/recurrence-editor/fluent2.css +3 -0
  250. package/styles/recurrence-editor/highcontrast-light.css +4 -1
  251. package/styles/recurrence-editor/highcontrast.css +4 -1
  252. package/styles/recurrence-editor/material-dark.css +4 -1
  253. package/styles/recurrence-editor/material.css +4 -1
  254. package/styles/recurrence-editor/material3-dark.css +3 -0
  255. package/styles/recurrence-editor/material3.css +3 -0
  256. package/styles/recurrence-editor/tailwind-dark.css +3 -0
  257. package/styles/recurrence-editor/tailwind.css +3 -0
  258. package/styles/recurrence-editor/tailwind3.css +3 -0
  259. package/styles/schedule/_bds-definition.scss +2 -0
  260. package/styles/schedule/_bootstrap-dark-definition.scss +2 -0
  261. package/styles/schedule/_bootstrap-definition.scss +2 -0
  262. package/styles/schedule/_bootstrap4-definition.scss +2 -0
  263. package/styles/schedule/_bootstrap5-definition.scss +2 -0
  264. package/styles/schedule/_bootstrap5.3-definition.scss +2 -0
  265. package/styles/schedule/_fabric-dark-definition.scss +2 -0
  266. package/styles/schedule/_fabric-definition.scss +2 -0
  267. package/styles/schedule/_fluent-definition.scss +3 -1
  268. package/styles/schedule/_fluent2-definition.scss +2 -0
  269. package/styles/schedule/_fusionnew-definition.scss +2 -0
  270. package/styles/schedule/_highcontrast-definition.scss +2 -0
  271. package/styles/schedule/_highcontrast-light-definition.scss +2 -0
  272. package/styles/schedule/_layout.scss +12 -11
  273. package/styles/schedule/_material-dark-definition.scss +2 -0
  274. package/styles/schedule/_material-definition.scss +2 -0
  275. package/styles/schedule/_material3-definition.scss +2 -0
  276. package/styles/schedule/_tailwind-definition.scss +2 -0
  277. package/styles/schedule/_tailwind3-definition.scss +2 -0
  278. package/styles/schedule/bds.css +8 -8
  279. package/styles/schedule/bootstrap-dark.css +8 -8
  280. package/styles/schedule/bootstrap.css +8 -8
  281. package/styles/schedule/bootstrap4.css +8 -8
  282. package/styles/schedule/bootstrap5-dark.css +8 -8
  283. package/styles/schedule/bootstrap5.3.css +8 -8
  284. package/styles/schedule/bootstrap5.css +8 -8
  285. package/styles/schedule/fabric-dark.css +8 -8
  286. package/styles/schedule/fabric.css +8 -8
  287. package/styles/schedule/fluent-dark.css +9 -9
  288. package/styles/schedule/fluent.css +9 -9
  289. package/styles/schedule/fluent2.css +8 -8
  290. package/styles/schedule/highcontrast-light.css +8 -8
  291. package/styles/schedule/highcontrast.css +8 -8
  292. package/styles/schedule/material-dark.css +8 -8
  293. package/styles/schedule/material.css +8 -8
  294. package/styles/schedule/material3-dark.css +8 -8
  295. package/styles/schedule/material3.css +8 -8
  296. package/styles/schedule/tailwind-dark.css +8 -8
  297. package/styles/schedule/tailwind.css +8 -8
  298. package/styles/schedule/tailwind3.css +8 -8
  299. package/styles/tailwind-dark-lite.css +11 -8
  300. package/styles/tailwind-dark.css +11 -8
  301. package/styles/tailwind-lite.css +11 -8
  302. package/styles/tailwind.css +11 -8
  303. package/styles/tailwind3-lite.css +11 -8
  304. 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
  }
@@ -19867,6 +19887,14 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19867
19887
  if (newProp.allowKeyboardInteraction || newProp.allowClipboard) {
19868
19888
  this.keyboardInteractionModule = new KeyboardInteraction(this);
19869
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
+ }
19870
19898
  break;
19871
19899
  case 'timezoneDataSource':
19872
19900
  if (this.eventWindow) {
@@ -20818,12 +20846,18 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
20818
20846
  */
20819
20847
  Schedule.prototype.paste = function (targetElement) {
20820
20848
  var _this = this;
20821
- if (!this.allowClipboard || !this.allowKeyboardInteraction) {
20849
+ if (!this.allowClipboard || !this.allowKeyboardInteraction || !targetElement) {
20822
20850
  return;
20823
20851
  }
20824
20852
  if (!targetElement.classList.contains('e-work-cells') && !targetElement.classList.contains('e-all-day-cells')) {
20825
20853
  return;
20826
20854
  }
20855
+ if (!this.activeCellsData) {
20856
+ var cellData = this.getCellDetails([targetElement]);
20857
+ if (cellData) {
20858
+ this.activeCellsData = cellData;
20859
+ }
20860
+ }
20827
20861
  var clipboardData = new DataTransfer();
20828
20862
  if (!isNullOrUndefined(navigator.clipboard)) {
20829
20863
  navigator.clipboard.readText()
@@ -21825,6 +21859,9 @@ var ActionBase = /** @__PURE__ @class */ (function () {
21825
21859
  if (this.parent.activeViewOptions.group.resources.length > 0) {
21826
21860
  query = query.concat('[data-group-index = "' + cloneElement.getAttribute('data-group-index') + '"]');
21827
21861
  }
21862
+ if (cloneElement.hasAttribute('data-guid')) {
21863
+ query += '[data-guid="' + cloneElement.getAttribute('data-guid') + '"]';
21864
+ }
21828
21865
  var elements = [].slice.call(this.parent.element.querySelectorAll(query));
21829
21866
  addClass(elements, EVENT_ACTION_CLASS);
21830
21867
  var eventWrappers = [].slice.call(this.parent.element.querySelectorAll('.' + CLONE_ELEMENT_CLASS));
@@ -22016,17 +22053,20 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
22016
22053
  };
22017
22054
  Resize.prototype.resizeStart = function (e) {
22018
22055
  var _this = this;
22019
- if (e && e.type === 'touchstart' && (!this.parent.uiStateValues.isTapHold ||
22020
- !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)) {
22021
22064
  return;
22022
22065
  }
22023
22066
  this.parent.eventBase.removeSelectedAppointmentClass();
22024
22067
  this.actionObj.action = 'resize';
22025
22068
  this.actionObj.slotInterval = this.parent.activeViewOptions.timeScale.interval / this.parent.activeViewOptions.timeScale.slotCount;
22026
22069
  this.actionObj.interval = this.actionObj.slotInterval;
22027
- var resizeTarget = closest(e.target, '.' + EVENT_RESIZE_CLASS);
22028
- this.actionObj.element = closest(resizeTarget, '.' + APPOINTMENT_CLASS);
22029
- this.actionObj.event = this.parent.eventBase.getEventByGuid(this.actionObj.element.getAttribute('data-guid'));
22030
22070
  var eventObj = extend({}, this.actionObj.event, null, true);
22031
22071
  var resizeArgs = {
22032
22072
  cancel: false,
@@ -22755,9 +22795,10 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22755
22795
  return "continue";
22756
22796
  }
22757
22797
  }
22758
- var enableAppRender = this_1.maxOrIndicator || (overlapIndex < eventsPerRow) ||
22759
- (this_1.cellHeight > availedHeight);
22760
- 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)) {
22761
22802
  this_1.renderEvent(eventWrapper, eventData, row, leftValue, rightValue, monthStart, dayIndex);
22762
22803
  if (this_1.parent.rowAutoHeight || this_1.cellHeight > availedHeight) {
22763
22804
  this_1.updateCellHeight(rowTd, availedHeight);
@@ -22892,6 +22933,19 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22892
22933
  });
22893
22934
  }
22894
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
+ };
22895
22949
  YearEvent.prototype.renderResourceEvent = function (wrapper, resource, month, index, monthStart) {
22896
22950
  var eventWrapper = createElement('div', { className: APPOINTMENT_WRAPPER_CLASS });
22897
22951
  wrapper.appendChild(eventWrapper);
@@ -22932,7 +22986,10 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22932
22986
  return "continue";
22933
22987
  }
22934
22988
  }
22935
- 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)) {
22936
22993
  this_2.renderEvent(eventWrapper, eventData, month, leftValue, leftValue, monthStart, index);
22937
22994
  this_2.updateCellHeight(td, availedHeight);
22938
22995
  isSpannedCollection.push(eventData);
@@ -22957,6 +23014,10 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22957
23014
  break;
22958
23015
  }
22959
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
+ };
22960
23021
  // eslint-disable-next-line max-len
22961
23022
  YearEvent.prototype.renderEvent = function (wrapper, eventData, row, left, right, monthDate, rowIndex) {
22962
23023
  var _this = this;
@@ -22987,6 +23048,9 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
22987
23048
  setStyleAttribute(wrap, {
22988
23049
  'width': width + 'px', 'height': this.eventHeight + 'px', 'left': left + 'px', 'right': right + 'px', 'top': top + 'px'
22989
23050
  });
23051
+ if (this.maxOrIndicator && this.parent.currentView.indexOf('Timeline') !== -1) {
23052
+ this.setMaxEventHeight(wrap, rowTd);
23053
+ }
22990
23054
  if (!this.isResource && this.parent.rowAutoHeight && this.parent.activeViewOptions.orientation === 'Vertical') {
22991
23055
  wrap.setAttribute('data-index', eventObj.Index.toString());
22992
23056
  }
@@ -23257,7 +23321,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
23257
23321
  }
23258
23322
  DragAndDrop.prototype.wireDragEvent = function (element) {
23259
23323
  new Draggable(element, {
23260
- abort: '.' + EVENT_RESIZE_CLASS,
23324
+ abort: '.' + EVENT_RESIZE_CLASS + ', .' + INLINE_EDIT_CLASS,
23261
23325
  clone: true,
23262
23326
  isDragScroll: true,
23263
23327
  enableTailMode: this.parent.eventDragArea ? true : false,
@@ -23783,6 +23847,11 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
23783
23847
  this.actionObj.clone.style.top = formatUnit(td.offsetParent.offsetTop);
23784
23848
  this.actionObj.clone.style.left = formatUnit(td.offsetLeft);
23785
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
+ }
23786
23855
  var eventContainer = td;
23787
23856
  var eventWrapper;
23788
23857
  if (this.parent.activeView.isTimelineView()) {
@@ -24072,6 +24141,10 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
24072
24141
  this.verticalEvent.getTopValue(eStart) : this.actionObj.element.offsetTop;
24073
24142
  if (isNullOrUndefined(index)) {
24074
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
+ }
24075
24148
  this.actionObj.clone.style.top = formatUnit(topValue);
24076
24149
  this.actionObj.clone.style.height = formatUnit(appHeight);
24077
24150
  }
@@ -24081,9 +24154,7 @@ var DragAndDrop = /** @__PURE__ @class */ (function (_super) {
24081
24154
  }
24082
24155
  else {
24083
24156
  var appWidth = this.actionObj.cellWidth;
24084
- if (event[this.parent.eventFields.isAllDay]) {
24085
- topValue = this.parent.element.querySelector('.' + ALLDAY_ROW_CLASS).offsetTop;
24086
- appHeight = this.getAllDayEventHeight();
24157
+ if (event[this.parent.eventFields.isAllDay] && this.parent.activeViewOptions.timeScale.enable) {
24087
24158
  var timeDiff = event[this.parent.eventFields.endTime].getTime() -
24088
24159
  event[this.parent.eventFields.startTime].getTime();
24089
24160
  var allDayDifference = Math.ceil(timeDiff / (1000 * 3600 * 24));
@@ -25661,7 +25732,7 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
25661
25732
  case 'dateHeader':
25662
25733
  if (this.parent.activeViewOptions.dateHeaderTemplate) {
25663
25734
  templateName = 'dateHeaderTemplate';
25664
- var args = { date: date, type: type };
25735
+ var args = { date: date, type: type, groupIndex: groupIndex };
25665
25736
  var viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
25666
25737
  cntEle = [].slice.call(this.parent.getDateHeaderTemplate()(args, this.parent, templateName, templateId + viewName + templateName, false, undefined, undefined, this.parent.root));
25667
25738
  }
@@ -27413,10 +27484,11 @@ var Year = /** @__PURE__ @class */ (function (_super) {
27413
27484
  var startDate = isDateColAvail ? dateCollection[0] : this.getStartDate();
27414
27485
  var endDate = isDateColAvail ? dateCollection[dateCollection.length - 1] : this.getEndDate();
27415
27486
  if (startDate.getFullYear() !== endDate.getFullYear()) {
27416
- 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() });
27417
27489
  }
27418
27490
  else {
27419
- 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() });
27420
27492
  }
27421
27493
  };
27422
27494
  Year.prototype.addEventListener = function () {
@@ -27689,7 +27761,8 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
27689
27761
  rowSpan: 1, type: 'dateColumn', resource: resColl[parseInt((resColl.length - 1).toString(), 10)],
27690
27762
  groupOrder: resData[parseInt(res.toString(), 10)].groupOrder,
27691
27763
  resourceData: resData[parseInt(res.toString(), 10)].resourceData,
27692
- date: agendaDate
27764
+ date: agendaDate,
27765
+ groupIndex: resData[parseInt(res.toString(), 10)].groupIndex
27693
27766
  };
27694
27767
  if (!lastLevelInfo[parseInt(tempIndex.toString(), 10)]) {
27695
27768
  lastLevelInfo[parseInt(tempIndex.toString(), 10)] = [];
@@ -27782,7 +27855,7 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
27782
27855
  continue;
27783
27856
  }
27784
27857
  ntd.setAttribute('data-date', data.date.getTime().toString());
27785
- ntd.appendChild(this.createDateHeaderElement(data.date));
27858
+ ntd.appendChild(this.createDateHeaderElement(data.date, data.groupIndex));
27786
27859
  var className = [AGENDA_CELLS_CLASS, AGENDA_DATE_CLASS];
27787
27860
  if (data.cssClass) {
27788
27861
  className.push(data.cssClass);
@@ -27837,11 +27910,11 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
27837
27910
  tBody.appendChild(ntr);
27838
27911
  }
27839
27912
  };
27840
- AgendaBase.prototype.createDateHeaderElement = function (date) {
27913
+ AgendaBase.prototype.createDateHeaderElement = function (date, groupIndex) {
27841
27914
  var dateHeader;
27842
27915
  if (this.parent.activeViewOptions.dateHeaderTemplate) {
27843
27916
  dateHeader = createElement('div', { className: AGENDA_HEADER_CLASS });
27844
- var args = { date: date, type: 'dateHeader' };
27917
+ var args = { date: date, type: 'dateHeader', groupIndex: groupIndex };
27845
27918
  var scheduleId = this.parent.element.id + '_';
27846
27919
  var viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
27847
27920
  var templateId = scheduleId + viewName + 'dateHeaderTemplate';
@@ -27964,11 +28037,12 @@ var Agenda = /** @__PURE__ @class */ (function (_super) {
27964
28037
  this.parent.eventsProcessed = this.processAgendaEvents(eventCollection);
27965
28038
  var agendaDate = resetTime(this.parent.selectedDate);
27966
28039
  var tBody = this.element.querySelector('.' + CONTENT_TABLE_CLASS + ' tbody');
28040
+ var contentArea = closest(tBody, '.' + CONTENT_WRAP_CLASS);
28041
+ var scrollTop = contentArea.scrollTop;
27967
28042
  removeChildren(tBody);
27968
28043
  this.renderInitialContent(tBody, agendaDate);
27969
28044
  this.wireEventActions();
27970
- var contentArea = closest(tBody, '.' + CONTENT_WRAP_CLASS);
27971
- contentArea.scrollTop = 1;
28045
+ contentArea.scrollTop = scrollTop;
27972
28046
  this.parent.notify(eventsLoaded, {});
27973
28047
  if (!this.parent.activeViewOptions.allowVirtualScrolling) {
27974
28048
  this.retainScrollPosition();