@syncfusion/ej2-schedule 20.3.58 → 20.4.38

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 (158) hide show
  1. package/.eslintrc.json +16 -1
  2. package/CHANGELOG.md +10 -0
  3. package/README.md +62 -46
  4. package/dist/ej2-schedule.min.js +2 -2
  5. package/dist/ej2-schedule.umd.min.js +2 -2
  6. package/dist/ej2-schedule.umd.min.js.map +1 -1
  7. package/dist/es6/ej2-schedule.es2015.js +821 -528
  8. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  9. package/dist/es6/ej2-schedule.es5.js +860 -539
  10. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  11. package/dist/global/ej2-schedule.min.js +2 -2
  12. package/dist/global/ej2-schedule.min.js.map +1 -1
  13. package/dist/global/index.d.ts +1 -1
  14. package/package.json +22 -30
  15. package/src/common/calendar-util.js +1 -1
  16. package/src/recurrence-editor/date-generator.js +26 -26
  17. package/src/recurrence-editor/recurrence-editor.js +5 -5
  18. package/src/schedule/actions/action-base.js +3 -3
  19. package/src/schedule/actions/crud.js +16 -16
  20. package/src/schedule/actions/drag.js +36 -32
  21. package/src/schedule/actions/keyboard.js +10 -8
  22. package/src/schedule/actions/resize.js +6 -6
  23. package/src/schedule/actions/touch.js +4 -3
  24. package/src/schedule/actions/virtual-scroll.js +10 -7
  25. package/src/schedule/base/interface.d.ts +8 -1
  26. package/src/schedule/base/resource.d.ts +1 -0
  27. package/src/schedule/base/resource.js +179 -93
  28. package/src/schedule/base/schedule-model.d.ts +7 -0
  29. package/src/schedule/base/schedule.d.ts +23 -0
  30. package/src/schedule/base/schedule.js +73 -22
  31. package/src/schedule/base/util.js +4 -6
  32. package/src/schedule/event-renderer/agenda-base.js +36 -31
  33. package/src/schedule/event-renderer/event-base.js +25 -25
  34. package/src/schedule/event-renderer/inline-edit.js +8 -5
  35. package/src/schedule/event-renderer/month.js +17 -14
  36. package/src/schedule/event-renderer/timeline-view.js +11 -11
  37. package/src/schedule/event-renderer/vertical-view.d.ts +1 -0
  38. package/src/schedule/event-renderer/vertical-view.js +97 -70
  39. package/src/schedule/event-renderer/year.js +25 -17
  40. package/src/schedule/exports/calendar-export.js +4 -4
  41. package/src/schedule/exports/calendar-import.js +14 -15
  42. package/src/schedule/exports/excel-export.js +1 -1
  43. package/src/schedule/exports/print.js +39 -4
  44. package/src/schedule/models/group-model.d.ts +8 -0
  45. package/src/schedule/models/group.d.ts +7 -0
  46. package/src/schedule/models/group.js +3 -0
  47. package/src/schedule/models/views-model.d.ts +8 -1
  48. package/src/schedule/models/views.d.ts +7 -1
  49. package/src/schedule/models/views.js +3 -0
  50. package/src/schedule/popups/event-tooltip.js +3 -2
  51. package/src/schedule/popups/event-window.js +36 -30
  52. package/src/schedule/popups/quick-popups.js +6 -6
  53. package/src/schedule/renderer/agenda.js +5 -5
  54. package/src/schedule/renderer/header-renderer.d.ts +1 -1
  55. package/src/schedule/renderer/header-renderer.js +21 -5
  56. package/src/schedule/renderer/month-agenda.js +11 -4
  57. package/src/schedule/renderer/month.js +44 -16
  58. package/src/schedule/renderer/renderer.js +3 -3
  59. package/src/schedule/renderer/timeline-header-row.js +7 -7
  60. package/src/schedule/renderer/timeline-month.js +5 -5
  61. package/src/schedule/renderer/timeline-view.js +2 -2
  62. package/src/schedule/renderer/timeline-year.js +20 -14
  63. package/src/schedule/renderer/vertical-view.js +24 -9
  64. package/src/schedule/renderer/view-base.d.ts +3 -0
  65. package/src/schedule/renderer/view-base.js +11 -3
  66. package/src/schedule/renderer/year.js +11 -5
  67. package/styles/bootstrap-dark.css +364 -101
  68. package/styles/bootstrap.css +363 -99
  69. package/styles/bootstrap4.css +375 -141
  70. package/styles/bootstrap5-dark.css +339 -137
  71. package/styles/bootstrap5.css +339 -137
  72. package/styles/fabric-dark.css +330 -101
  73. package/styles/fabric.css +316 -106
  74. package/styles/fluent-dark.css +395 -102
  75. package/styles/fluent.css +395 -102
  76. package/styles/highcontrast-light.css +407 -98
  77. package/styles/highcontrast.css +399 -113
  78. package/styles/material-dark.css +362 -110
  79. package/styles/material.css +404 -110
  80. package/styles/recurrence-editor/_layout.scss +42 -28
  81. package/styles/recurrence-editor/bootstrap-dark.css +137 -28
  82. package/styles/recurrence-editor/bootstrap-dark.scss +5 -0
  83. package/styles/recurrence-editor/bootstrap.css +137 -28
  84. package/styles/recurrence-editor/bootstrap.scss +5 -0
  85. package/styles/recurrence-editor/bootstrap4.css +171 -28
  86. package/styles/recurrence-editor/bootstrap4.scss +5 -0
  87. package/styles/recurrence-editor/bootstrap5-dark.css +178 -28
  88. package/styles/recurrence-editor/bootstrap5-dark.scss +5 -0
  89. package/styles/recurrence-editor/bootstrap5.css +178 -28
  90. package/styles/recurrence-editor/bootstrap5.scss +5 -0
  91. package/styles/recurrence-editor/fabric-dark.css +113 -28
  92. package/styles/recurrence-editor/fabric-dark.scss +5 -0
  93. package/styles/recurrence-editor/fabric.css +106 -28
  94. package/styles/recurrence-editor/fabric.scss +5 -0
  95. package/styles/recurrence-editor/fluent-dark.css +158 -28
  96. package/styles/recurrence-editor/fluent-dark.scss +5 -0
  97. package/styles/recurrence-editor/fluent.css +158 -28
  98. package/styles/recurrence-editor/fluent.scss +5 -0
  99. package/styles/recurrence-editor/highcontrast-light.css +110 -28
  100. package/styles/recurrence-editor/highcontrast-light.scss +5 -0
  101. package/styles/recurrence-editor/highcontrast.css +110 -28
  102. package/styles/recurrence-editor/highcontrast.scss +5 -0
  103. package/styles/recurrence-editor/material-dark.css +138 -28
  104. package/styles/recurrence-editor/material-dark.scss +5 -0
  105. package/styles/recurrence-editor/material.css +163 -28
  106. package/styles/recurrence-editor/material.scss +5 -0
  107. package/styles/recurrence-editor/tailwind-dark.css +126 -28
  108. package/styles/recurrence-editor/tailwind-dark.scss +5 -0
  109. package/styles/recurrence-editor/tailwind.css +126 -28
  110. package/styles/recurrence-editor/tailwind.scss +5 -0
  111. package/styles/schedule/_bootstrap-dark-definition.scss +63 -4
  112. package/styles/schedule/_bootstrap-definition.scss +62 -3
  113. package/styles/schedule/_bootstrap4-definition.scss +65 -5
  114. package/styles/schedule/_bootstrap5-definition.scss +63 -5
  115. package/styles/schedule/_fabric-dark-definition.scss +61 -3
  116. package/styles/schedule/_fabric-definition.scss +62 -3
  117. package/styles/schedule/_fluent-definition.scss +63 -6
  118. package/styles/schedule/_fusionnew-definition.scss +60 -3
  119. package/styles/schedule/_highcontrast-definition.scss +62 -3
  120. package/styles/schedule/_highcontrast-light-definition.scss +62 -3
  121. package/styles/schedule/_layout.scss +117 -506
  122. package/styles/schedule/_material-dark-definition.scss +63 -4
  123. package/styles/schedule/_material-definition.scss +63 -4
  124. package/styles/schedule/_material3-definition.scss +62 -3
  125. package/styles/schedule/_tailwind-definition.scss +63 -6
  126. package/styles/schedule/_theme.scss +97 -62
  127. package/styles/schedule/bootstrap-dark.css +332 -73
  128. package/styles/schedule/bootstrap-dark.scss +11 -0
  129. package/styles/schedule/bootstrap.css +331 -71
  130. package/styles/schedule/bootstrap.scss +11 -0
  131. package/styles/schedule/bootstrap4.css +343 -113
  132. package/styles/schedule/bootstrap4.scss +11 -0
  133. package/styles/schedule/bootstrap5-dark.css +307 -109
  134. package/styles/schedule/bootstrap5-dark.scss +11 -0
  135. package/styles/schedule/bootstrap5.css +307 -109
  136. package/styles/schedule/bootstrap5.scss +11 -0
  137. package/styles/schedule/fabric-dark.css +298 -73
  138. package/styles/schedule/fabric-dark.scss +11 -0
  139. package/styles/schedule/fabric.css +284 -78
  140. package/styles/schedule/fabric.scss +11 -0
  141. package/styles/schedule/fluent-dark.css +363 -74
  142. package/styles/schedule/fluent-dark.scss +11 -0
  143. package/styles/schedule/fluent.css +363 -74
  144. package/styles/schedule/fluent.scss +11 -0
  145. package/styles/schedule/highcontrast-light.css +375 -70
  146. package/styles/schedule/highcontrast-light.scss +11 -0
  147. package/styles/schedule/highcontrast.css +367 -85
  148. package/styles/schedule/highcontrast.scss +11 -0
  149. package/styles/schedule/material-dark.css +330 -82
  150. package/styles/schedule/material-dark.scss +11 -0
  151. package/styles/schedule/material.css +372 -82
  152. package/styles/schedule/material.scss +11 -0
  153. package/styles/schedule/tailwind-dark.css +246 -111
  154. package/styles/schedule/tailwind-dark.scss +11 -0
  155. package/styles/schedule/tailwind.css +246 -111
  156. package/styles/schedule/tailwind.scss +11 -0
  157. package/styles/tailwind-dark.css +279 -140
  158. package/styles/tailwind.css +279 -140
@@ -46,11 +46,12 @@ var InlineEdit = /** @class */ (function () {
46
46
  var start = util.resetTime(new Date('' + saveObj[this.parent.eventFields.startTime])).getTime();
47
47
  var end = util.resetTime(new Date('' + saveObj[this.parent.eventFields.endTime])).getTime();
48
48
  var resIndex = args.groupIndex || 0;
49
- if (this.parent.currentView === 'Day' || this.parent.currentView === 'Week' || this.parent.currentView === 'WorkWeek') {
49
+ var isVertical = this.parent.currentView === 'Day' || this.parent.currentView === 'Week' || this.parent.currentView === 'WorkWeek';
50
+ if (this.parent.activeViewOptions.timeScale.enable && isVertical) {
50
51
  var dayIndex = saveObj[this.parent.eventFields.startTime].getDay();
51
52
  this.createVerticalViewInline(saveObj, dayIndex, resIndex, cellIndex);
52
53
  }
53
- else if (this.parent.currentView === 'Month') {
54
+ else if (this.parent.currentView === 'Month' || (!this.parent.activeViewOptions.timeScale.enable && isVertical)) {
54
55
  this.createMonthViewInline(saveObj, resIndex, start, end);
55
56
  }
56
57
  else {
@@ -100,7 +101,7 @@ var InlineEdit = /** @class */ (function () {
100
101
  var count = this.getEventDaysCount(saveObj);
101
102
  var verticalEvent = new VerticalEvent(this.parent);
102
103
  verticalEvent.initializeValues();
103
- var index = verticalEvent.dateRender[resIndex].map(function (date) { return date.getDay(); }).indexOf(dayIndex);
104
+ var index = verticalEvent.dateRender[parseInt(resIndex.toString(), 10)].map(function (date) { return date.getDay(); }).indexOf(dayIndex);
104
105
  if (count >= 1) {
105
106
  verticalEvent.allDayElement = [].slice.call(this.parent.element.querySelectorAll('.' + cls.ALLDAY_CELLS_CLASS));
106
107
  (_a = verticalEvent.slots).push.apply(_a, this.parent.activeView.renderDates.map(function (date) { return +date; }));
@@ -128,14 +129,16 @@ var InlineEdit = /** @class */ (function () {
128
129
  var monthCellSelector = '.' + cls.WORK_CELLS_CLASS;
129
130
  if (this.parent.activeViewOptions.group.resources.length > 0) {
130
131
  monthCellSelector += '[data-group-index="' + index + '"]';
131
- var resourceData = this.parent.resourceBase.lastResourceLevel[index];
132
+ var resourceData = this.parent.resourceBase.lastResourceLevel[parseInt(index.toString(), 10)];
132
133
  renderDates = resourceData.renderDates;
133
134
  workDays = resourceData.workDays;
134
135
  }
136
+ monthEvent.dateRender = renderDates;
135
137
  monthEvent.workCells = [].slice.call(this.parent.element.querySelectorAll(monthCellSelector));
136
138
  monthEvent.cellWidth = monthEvent.workCells[0].offsetWidth;
137
139
  monthEvent.cellHeight = monthEvent.workCells[0].offsetHeight;
138
- monthEvent.eventHeight = util.getElementHeightFromClass(this.parent.monthModule.element, cls.APPOINTMENT_CLASS);
140
+ monthEvent.eventHeight =
141
+ util.getElementHeightFromClass(this.parent.monthModule.element || monthEvent.element, cls.APPOINTMENT_CLASS);
139
142
  monthEvent.getSlotDates(workDays);
140
143
  var filteredDates = monthEvent.getRenderedDates(renderDates);
141
144
  var spannedEvents = monthEvent.splitEvent(saveObject, filteredDates || renderDates);
@@ -44,7 +44,8 @@ var MonthEvent = /** @class */ (function (_super) {
44
44
  }
45
45
  MonthEvent.prototype.removeEventWrapper = function (appElement) {
46
46
  if (appElement.length > 0) {
47
- appElement = (this.parent.currentView === 'Month') ? appElement : [appElement[0]];
47
+ appElement = (this.parent.currentView === 'Month' || (!this.parent.activeView.isTimelineView() &&
48
+ !this.parent.activeViewOptions.timeScale.enable)) ? appElement : [appElement[0]];
48
49
  for (var _i = 0, appElement_1 = appElement; _i < appElement_1.length; _i++) {
49
50
  var wrap = appElement_1[_i];
50
51
  if (wrap.parentElement && wrap.parentElement.parentNode) {
@@ -67,12 +68,13 @@ var MonthEvent = /** @class */ (function (_super) {
67
68
  if (this.parent.crudModule && this.parent.crudModule.crudObj.isCrudAction) {
68
69
  for (var i = 0, len = this.parent.crudModule.crudObj.sourceEvent.length; i < len; i++) {
69
70
  var appElement = [].slice.call(this.element.querySelectorAll('.e-appointment-wrapper ' + '[data-group-index="' +
70
- this.parent.crudModule.crudObj.sourceEvent[i].groupIndex + '"]'));
71
+ this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex + '"]'));
71
72
  this.removeEventWrapper(appElement);
72
- if (this.parent.crudModule.crudObj.targetEvent[i] && this.parent.crudModule.crudObj.sourceEvent[i].groupIndex !==
73
- this.parent.crudModule.crudObj.targetEvent[i].groupIndex) {
73
+ if (this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)] &&
74
+ this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex !==
75
+ this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex) {
74
76
  var ele = [].slice.call(this.element.querySelectorAll('.e-appointment-wrapper ' + '[data-group-index="' +
75
- this.parent.crudModule.crudObj.targetEvent[i].groupIndex + '"]'));
77
+ this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex + '"]'));
76
78
  this.removeEventWrapper(ele);
77
79
  }
78
80
  }
@@ -134,7 +136,7 @@ var MonthEvent = /** @class */ (function (_super) {
134
136
  var totalCells_1 = [].slice.call(this.parent.element.querySelectorAll('.e-content-wrap table tr td:first-child'));
135
137
  var weekNumberCells = [].slice.call(this.parent.element.querySelectorAll('.' + cls.WEEK_NUMBER_CLASS));
136
138
  weekNumberCells.forEach(function (cell, i) {
137
- var height = totalCells_1[i].offsetHeight;
139
+ var height = totalCells_1[parseInt(i.toString(), 10)].offsetHeight;
138
140
  setStyleAttribute(cell, { 'height': height + 'px' });
139
141
  });
140
142
  this.parent.element.querySelector('.' + cls.WEEK_NUMBER_WRAPPER_CLASS).scrollTop =
@@ -188,7 +190,7 @@ var MonthEvent = /** @class */ (function (_super) {
188
190
  }
189
191
  for (var level = 0; level < this.slots.length; level++) {
190
192
  this.renderedEvents = [];
191
- var slot = this.slots[level];
193
+ var slot = this.slots[parseInt(level.toString(), 10)];
192
194
  var endDate = util.addDays(new Date(slot[slot.length - 1]), 1);
193
195
  var spannedEvents = this.filterEvents(new Date(slot[0]), endDate, events);
194
196
  for (var _a = 0, spannedEvents_1 = spannedEvents; _a < spannedEvents_1.length; _a++) {
@@ -296,7 +298,7 @@ var MonthEvent = /** @class */ (function (_super) {
296
298
  return event[this.fields.endTime];
297
299
  };
298
300
  MonthEvent.prototype.getCellTd = function (day) {
299
- return this.workCells[day];
301
+ return this.workCells[parseInt(day.toString(), 10)];
300
302
  };
301
303
  MonthEvent.prototype.getEventWidth = function (startDate, endDate, isAllDay, count) {
302
304
  return count * this.cellWidth - 1;
@@ -343,11 +345,11 @@ var MonthEvent = /** @class */ (function (_super) {
343
345
  this.parent.resourceBase.renderedResources;
344
346
  if (this.parent.crudModule && this.parent.crudModule.crudObj.isCrudAction) {
345
347
  for (var i = 0, len = this.parent.crudModule.crudObj.sourceEvent.length; i < len; i++) {
346
- var sourceRes = this.parent.crudModule.crudObj.sourceEvent[i];
348
+ var sourceRes = this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)];
347
349
  this.renderEventsHandler(sourceRes.renderDates, sourceRes.workDays, sourceRes);
348
- if (this.parent.crudModule.crudObj.sourceEvent[i].groupIndex !==
349
- this.parent.crudModule.crudObj.targetEvent[i].groupIndex) {
350
- var target = this.parent.crudModule.crudObj.targetEvent[i];
350
+ if (this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex !==
351
+ this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex) {
352
+ var target = this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)];
351
353
  this.renderEventsHandler(target.renderDates, target.workDays, target);
352
354
  }
353
355
  }
@@ -363,7 +365,8 @@ var MonthEvent = /** @class */ (function (_super) {
363
365
  MonthEvent.prototype.getSlotDates = function (workDays) {
364
366
  this.slots = [];
365
367
  var dates = this.dateRender.map(function (date) { return +date; });
366
- var noOfDays = this.parent.activeViewOptions.showWeekend ? util.WEEK_LENGTH : workDays.length;
368
+ var noOfDays = !this.parent.activeViewOptions.showWeekend || (this.parent.activeViewOptions.group.byDate &&
369
+ this.parent.activeViewOptions.group.hideNonWorkingDays) ? workDays.length : util.WEEK_LENGTH;
367
370
  while (dates.length > 0) {
368
371
  this.slots.push(dates.splice(0, noOfDays));
369
372
  }
@@ -500,7 +503,7 @@ var MonthEvent = /** @class */ (function (_super) {
500
503
  var diffInDays = event.data.count;
501
504
  if (startTime.getTime() <= endTime.getTime()) {
502
505
  var appWidth = (diffInDays * this.cellWidth) - 5;
503
- var cellTd = this.workCells[day];
506
+ var cellTd = this.workCells[parseInt(day.toString(), 10)];
504
507
  var appTop = (overlapCount * (this.eventHeight + EVENT_GAP));
505
508
  var height = this.monthHeaderHeight + ((overlapCount + 1) * (this.eventHeight + EVENT_GAP)) + this.moreIndicatorHeight;
506
509
  var enableAppRender = this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
@@ -114,12 +114,12 @@ var TimelineEvent = /** @class */ (function (_super) {
114
114
  this.parent.resourceBase.renderedResources;
115
115
  if (this.parent.crudModule && this.parent.crudModule.crudObj.isCrudAction) {
116
116
  for (var i = 0, len = this.parent.crudModule.crudObj.sourceEvent.length; i < len; i++) {
117
- var source = this.parent.crudModule.crudObj.sourceEvent[i];
117
+ var source = this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)];
118
118
  this.rowIndex = source.groupIndex;
119
119
  this.renderEventsHandler(this.parent.activeView.renderDates, this.parent.activeViewOptions.workDays, source);
120
- if (this.parent.crudModule.crudObj.targetEvent[i] && this.parent.crudModule.crudObj.sourceEvent[i].groupIndex !==
121
- this.parent.crudModule.crudObj.targetEvent[i].groupIndex) {
122
- var target = this.parent.crudModule.crudObj.targetEvent[i];
120
+ if (this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)] && this.parent.crudModule.crudObj.sourceEvent[parseInt(i.toString(), 10)].groupIndex !==
121
+ this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)].groupIndex) {
122
+ var target = this.parent.crudModule.crudObj.targetEvent[parseInt(i.toString(), 10)];
123
123
  this.rowIndex = target.groupIndex;
124
124
  this.renderEventsHandler(this.parent.activeView.renderDates, this.parent.activeViewOptions.workDays, target);
125
125
  }
@@ -129,7 +129,7 @@ var TimelineEvent = /** @class */ (function (_super) {
129
129
  else {
130
130
  for (var i = 0; i < resources.length; i++) {
131
131
  this.rowIndex = i;
132
- this.renderEventsHandler(this.parent.activeView.renderDates, this.parent.activeViewOptions.workDays, resources[i]);
132
+ this.renderEventsHandler(this.parent.activeView.renderDates, this.parent.activeViewOptions.workDays, resources[parseInt(i.toString(), 10)]);
133
133
  }
134
134
  }
135
135
  };
@@ -175,10 +175,10 @@ var TimelineEvent = /** @class */ (function (_super) {
175
175
  var position = this.getPosition(startTime, endTime, event[this.fields.isAllDay], this.day);
176
176
  appWidth_1 = (appWidth_1 <= 0) ? this.cellWidth : appWidth_1; // appWidth 0 when start and end time as same
177
177
  this.renderedEvents.push(extend({}, event, null, true));
178
- if (isNullOrUndefined(this.cellTops[resIndex])) {
179
- this.cellTops[resIndex] = this.getRowTop(resIndex);
178
+ if (isNullOrUndefined(this.cellTops[parseInt(resIndex.toString(), 10)])) {
179
+ this.cellTops[parseInt(resIndex.toString(), 10)] = this.getRowTop(resIndex);
180
180
  }
181
- var top_1 = this.cellTops[resIndex];
181
+ var top_1 = this.cellTops[parseInt(resIndex.toString(), 10)];
182
182
  var appTop = (top_1 + (this.maxHeight ? 0 : EVENT_GAP)) + (overlapCount * (appHeight + EVENT_GAP));
183
183
  appLeft = (this.parent.enableRtl) ? 0 : position;
184
184
  appRight = (this.parent.enableRtl) ? position : 0;
@@ -444,7 +444,7 @@ var TimelineEvent = /** @class */ (function (_super) {
444
444
  if (this.renderType === 'day' || isAllDay) {
445
445
  return (day * this.slotsPerDay) * this.cellWidth;
446
446
  }
447
- var currentDate = util.resetTime(new Date(this.dateRender[day].getTime()));
447
+ var currentDate = util.resetTime(new Date(this.dateRender[parseInt(day.toString(), 10)].getTime()));
448
448
  var schedule = util.getStartEndHours(currentDate, this.startHour, this.endHour);
449
449
  var cellIndex;
450
450
  if (schedule.endHour.getTime() <= endTime.getTime() && schedule.startHour.getTime() >= startTime.getTime()) {
@@ -474,7 +474,7 @@ var TimelineEvent = /** @class */ (function (_super) {
474
474
  for (var i = 0; i < moreIndicator.length; i++) {
475
475
  var indicatorPos = void 0;
476
476
  if (moreIndicator) {
477
- indicatorPos = (this.parent.enableRtl) ? moreIndicator[i].style.right : moreIndicator[i].style.left;
477
+ indicatorPos = (this.parent.enableRtl) ? moreIndicator[parseInt(i.toString(), 10)].style.right : moreIndicator[parseInt(i.toString(), 10)].style.left;
478
478
  }
479
479
  if (parseInt(indicatorPos, 10) === Math.floor(appPos)) {
480
480
  return true;
@@ -491,7 +491,7 @@ var TimelineEvent = /** @class */ (function (_super) {
491
491
  };
492
492
  TimelineEvent.prototype.getCellTd = function () {
493
493
  var wrapIndex = this.parent.uiStateValues.isGroupAdaptive ? 0 : this.rowIndex;
494
- return this.eventContainers[wrapIndex];
494
+ return this.eventContainers[parseInt(wrapIndex.toString(), 10)];
495
495
  };
496
496
  TimelineEvent.prototype.renderBlockIndicator = function (cellTd, position, resIndex) {
497
497
  // No need to render block icon for Year, Month and Week header rows
@@ -40,6 +40,7 @@ export declare class VerticalEvent extends EventBase {
40
40
  private createMoreIndicator;
41
41
  private renderSpannedIcon;
42
42
  isSpannedEvent(record: Record<string, any>, day: number, resource: number): Record<string, any>;
43
+ private isWorkDayAvailable;
43
44
  renderAllDayEvents(eventObj: Record<string, any>, dayIndex: number, resource: number, dayCount: number, inline?: boolean): void;
44
45
  renderNormalEvents(eventObj: Record<string, any>, dayIndex: number, resource: number, dayCount: number, inline?: boolean): void;
45
46
  private getEventWidth;
@@ -60,8 +60,8 @@ var VerticalEvent = /** @class */ (function (_super) {
60
60
  wrapper.classList.contains(cls.ROW_COUNT_WRAPPER_CLASS))) {
61
61
  var groupIndex = parseInt(wrapper.getAttribute('data-group-index'), 10);
62
62
  for (var j = 0, len = this.parent.crudModule.crudObj.sourceEvent.length; j < len; j++) {
63
- if (groupIndex === this.parent.crudModule.crudObj.sourceEvent[j].groupIndex ||
64
- groupIndex === this.parent.crudModule.crudObj.targetEvent[j].groupIndex) {
63
+ if (groupIndex === this.parent.crudModule.crudObj.sourceEvent[parseInt(j.toString(), 10)].groupIndex ||
64
+ groupIndex === this.parent.crudModule.crudObj.targetEvent[parseInt(j.toString(), 10)].groupIndex) {
65
65
  remove(wrapper);
66
66
  }
67
67
  }
@@ -116,7 +116,7 @@ var VerticalEvent = /** @class */ (function (_super) {
116
116
  this.dateRender[0] = this.parent.activeView.renderDates;
117
117
  if (this.parent.activeViewOptions.group.resources.length > 0) {
118
118
  for (var i = 0, len = this.resources.length; i < len; i++) {
119
- this.dateRender[i] = this.resources[i].renderDates;
119
+ this.dateRender[parseInt(i.toString(), 10)] = this.resources[parseInt(i.toString(), 10)].renderDates;
120
120
  }
121
121
  }
122
122
  };
@@ -150,11 +150,11 @@ var VerticalEvent = /** @class */ (function (_super) {
150
150
  var dateCount = this.getStartCount();
151
151
  for (var _i = 0, resources_1 = resources; _i < resources_1.length; _i++) {
152
152
  var resource = resources_1[_i];
153
- var renderDates = this.dateRender[resource];
153
+ var renderDates = this.dateRender[parseInt(resource.toString(), 10)];
154
154
  for (var day = 0, length_1 = renderDates.length; day < length_1; day++) {
155
- var startDate = new Date(renderDates[day].getTime());
156
- var endDate = util.addDays(renderDates[day], 1);
157
- var filterEvents = this.filterEvents(startDate, endDate, this.parent.blockProcessed, this.resources[resource]);
155
+ var startDate = new Date(renderDates[parseInt(day.toString(), 10)].getTime());
156
+ var endDate = util.addDays(renderDates[parseInt(day.toString(), 10)], 1);
157
+ var filterEvents = this.filterEvents(startDate, endDate, this.parent.blockProcessed, this.resources[parseInt(resource.toString(), 10)]);
158
158
  for (var _a = 0, filterEvents_1 = filterEvents; _a < filterEvents_1.length; _a++) {
159
159
  var event_1 = filterEvents_1[_a];
160
160
  if (this.parent.resourceBase) {
@@ -172,9 +172,9 @@ var VerticalEvent = /** @class */ (function (_super) {
172
172
  var spannedData = this.isSpannedEvent(eventObj, dayIndex, resource);
173
173
  var eStart = spannedData[this.fields.startTime];
174
174
  var eEnd = spannedData[this.fields.endTime];
175
- var currentDate = util.resetTime(new Date(this.dateRender[resource][dayIndex].getTime()));
175
+ var currentDate = util.resetTime(new Date(this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)].getTime()));
176
176
  var schedule = util.getStartEndHours(currentDate, this.startHour, this.endHour);
177
- if (eStart <= eEnd && this.isValidEvent(eventObj, eStart, eEnd, schedule)) {
177
+ if (eStart <= eEnd && this.isValidEvent(eventObj, eStart, eEnd, schedule) && this.isWorkDayAvailable(resource, eStart)) {
178
178
  var blockTop = void 0;
179
179
  var blockHeight = void 0;
180
180
  if (spannedData[this.fields.isAllDay]) {
@@ -188,9 +188,7 @@ var VerticalEvent = /** @class */ (function (_super) {
188
188
  }
189
189
  var appointmentElement = this.createBlockAppointmentElement(eventObj, resource, this.isResourceEventTemplate);
190
190
  setStyleAttribute(appointmentElement, { 'width': '100%', 'height': blockHeight, 'top': blockTop });
191
- var renderedIndex = this.getDayIndex(dayIndex, resource);
192
- var index = this.parent.activeViewOptions.group.byDate ?
193
- (this.resources.length * renderedIndex) + resource : dayCount;
191
+ var index = this.getDayIndex(dayIndex, resource, dayCount);
194
192
  this.appendEvent(eventObj, appointmentElement, index, '0px');
195
193
  }
196
194
  };
@@ -210,15 +208,15 @@ var VerticalEvent = /** @class */ (function (_super) {
210
208
  }
211
209
  }
212
210
  this_1.slots = [];
213
- var renderDates = this_1.dateRender[resource];
211
+ var renderDates = this_1.dateRender[parseInt(resource.toString(), 10)];
214
212
  var renderedDate = this_1.getRenderedDates(renderDates) || renderDates;
215
213
  this_1.slots.push(renderDates.map(function (date) { return +date; }));
216
214
  for (var day = 0, length_2 = renderDates.length; day < length_2 &&
217
- renderDates[day] <= renderedDate[renderedDate.length - 1]; day++) {
215
+ renderDates[parseInt(day.toString(), 10)] <= renderedDate[renderedDate.length - 1]; day++) {
218
216
  this_1.renderedEvents = [];
219
- var startDate = new Date(renderDates[day].getTime());
220
- var endDate = util.addDays(renderDates[day], 1);
221
- var filterEvents = this_1.filterEvents(startDate, endDate, eventCollection, this_1.resources[resource]);
217
+ var startDate = new Date(renderDates[parseInt(day.toString(), 10)].getTime());
218
+ var endDate = util.addDays(renderDates[parseInt(day.toString(), 10)], 1);
219
+ var filterEvents = this_1.filterEvents(startDate, endDate, eventCollection, this_1.resources[parseInt(resource.toString(), 10)]);
222
220
  if (isRender) {
223
221
  for (var _i = 0, filterEvents_2 = filterEvents; _i < filterEvents_2.length; _i++) {
224
222
  var event_2 = filterEvents_2[_i];
@@ -266,15 +264,37 @@ var VerticalEvent = /** @class */ (function (_super) {
266
264
  return this.parent.virtualScrollModule && this.parent.activeViewOptions.allowVirtualScrolling && this.parent.timeScale.enable ?
267
265
  parseInt(this.element.querySelector('.' + cls.APPOINTMENT_WRAPPER_CLASS).getAttribute('id').split('-').slice(-1)[0], 10) : 0;
268
266
  };
269
- VerticalEvent.prototype.getDayIndex = function (dayIndex, resource) {
270
- return this.parent.activeViewOptions.group.byDate ?
271
- this.parent.resourceBase.lastResourceLevel[0].renderDates.indexOf(this.dateRender[resource][dayIndex]) :
272
- dayIndex;
267
+ VerticalEvent.prototype.getDayIndex = function (dayIndex, resource, dayCount) {
268
+ var _this = this;
269
+ if (!this.parent.activeViewOptions.group.byDate) {
270
+ return dayCount;
271
+ }
272
+ if (this.parent.activeViewOptions.group.byDate && !this.parent.activeViewOptions.group.hideNonWorkingDays) {
273
+ var renderedIndex = this.parent.resourceBase.lastResourceLevel[0].renderDates.indexOf(this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)]);
274
+ return (this.resources.length * renderedIndex) + resource;
275
+ }
276
+ var dateIndex = 0;
277
+ var firstColumn = this.parent.activeView.colLevels[0];
278
+ var currentDate = this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)].getTime();
279
+ var currentResources = [];
280
+ for (var i = 0; i < firstColumn.length; i++) {
281
+ currentResources = this.parent.resourceBase.resourceDateTree[parseInt(i.toString(), 10)];
282
+ if (currentDate === firstColumn[parseInt(i.toString(), 10)].date.getTime()) {
283
+ break;
284
+ }
285
+ dateIndex = dateIndex + firstColumn[parseInt(i.toString(), 10)].colSpan;
286
+ }
287
+ var resIndex = currentResources.findIndex(function (x) { return x.groupOrder.toString() ===
288
+ _this.resources[parseInt(resource.toString(), 10)].groupOrder.toString(); });
289
+ if (resIndex < 0) {
290
+ return dateIndex;
291
+ }
292
+ return dateIndex + resIndex;
273
293
  };
274
294
  VerticalEvent.prototype.setValues = function (event, resourceIndex) {
275
295
  if (this.parent.activeViewOptions.group.resources.length > 0) {
276
- this.cssClass = this.resources[resourceIndex].cssClass;
277
- this.groupOrder = this.resources[resourceIndex].groupOrder;
296
+ this.cssClass = this.resources[parseInt(resourceIndex.toString(), 10)].cssClass;
297
+ this.groupOrder = this.resources[parseInt(resourceIndex.toString(), 10)].groupOrder;
278
298
  }
279
299
  else {
280
300
  this.cssClass = this.parent.resourceBase.getCssClass(event);
@@ -387,7 +407,7 @@ var VerticalEvent = /** @class */ (function (_super) {
387
407
  };
388
408
  VerticalEvent.prototype.createMoreIndicator = function (allDayRow, count, currentDay) {
389
409
  var index = currentDay + count;
390
- var countWrapper = allDayRow[index];
410
+ var countWrapper = allDayRow[parseInt(index.toString(), 10)];
391
411
  if (countWrapper.childElementCount <= 0) {
392
412
  var innerCountWrap = createElement('div', {
393
413
  className: cls.ROW_COUNT_WRAPPER_CLASS,
@@ -433,8 +453,8 @@ var VerticalEvent = /** @class */ (function (_super) {
433
453
  }
434
454
  };
435
455
  VerticalEvent.prototype.isSpannedEvent = function (record, day, resource) {
436
- var currentDate = util.resetTime(this.dateRender[resource][day]);
437
- var renderedDate = this.getRenderedDates(this.dateRender[resource]) || [currentDate];
456
+ var currentDate = util.resetTime(this.dateRender[parseInt(resource.toString(), 10)][parseInt(day.toString(), 10)]);
457
+ var renderedDate = this.getRenderedDates(this.dateRender[parseInt(resource.toString(), 10)]) || [currentDate];
438
458
  var currentDay = renderedDate.filter(function (date) { return date.getDay() === day; });
439
459
  if (currentDay.length === 0) {
440
460
  currentDate = util.resetTime(renderedDate[0]);
@@ -456,12 +476,22 @@ var VerticalEvent = /** @class */ (function (_super) {
456
476
  event[field.endTime] = eventDates.endDate;
457
477
  return event;
458
478
  };
479
+ VerticalEvent.prototype.isWorkDayAvailable = function (resource, start) {
480
+ if (this.parent.activeViewOptions.group.hideNonWorkingDays && this.resources.length > 0) {
481
+ var workDays = this.resources[parseInt(resource.toString(), 10)].
482
+ resourceData[this.resources[parseInt(resource.toString(), 10)].resource.workDaysField] ||
483
+ this.parent.activeViewOptions.workDays;
484
+ return workDays && workDays.indexOf(start.getDay()) >= 0;
485
+ }
486
+ return true;
487
+ };
459
488
  VerticalEvent.prototype.renderAllDayEvents = function (eventObj, dayIndex, resource, dayCount, inline) {
460
489
  var _this = this;
461
- var currentDates = this.getRenderedDates(this.dateRender[resource]) || this.dateRender[resource];
490
+ var currentDates = this.getRenderedDates(this.dateRender[parseInt(resource.toString(), 10)]) ||
491
+ this.dateRender[parseInt(resource.toString(), 10)];
462
492
  if (this.parent.activeViewOptions.group.byDate) {
463
- this.slots[0] = [this.dateRender[resource][dayIndex].getTime()];
464
- currentDates = [this.dateRender[resource][dayIndex]];
493
+ this.slots[0] = [this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)].getTime()];
494
+ currentDates = [this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)]];
465
495
  }
466
496
  var record = this.splitEvent(eventObj, currentDates)[0];
467
497
  var allDayRowCell = this.element.querySelector('.' + cls.ALLDAY_CELLS_CLASS + ':first-child');
@@ -472,16 +502,17 @@ var VerticalEvent = /** @class */ (function (_super) {
472
502
  var topValue = 1;
473
503
  var isDateRange = currentDates[0].getTime() <= eStart.getTime() &&
474
504
  util.addDays(currentDates.slice(-1)[0], 1).getTime() >= eStart.getTime();
475
- if (eStart <= eEnd && isDateRange) {
505
+ if (eStart <= eEnd && isDateRange && this.isWorkDayAvailable(resource, eStart)) {
476
506
  var isAlreadyRendered = [];
477
- if (this.renderedAllDayEvents[resource]) {
478
- isAlreadyRendered = this.renderedAllDayEvents[resource].filter(function (event) {
507
+ if (this.renderedAllDayEvents[parseInt(resource.toString(), 10)]) {
508
+ isAlreadyRendered = this.renderedAllDayEvents[parseInt(resource.toString(), 10)].filter(function (event) {
479
509
  return event.Guid === eventObj.Guid;
480
510
  });
481
511
  if (this.parent.activeViewOptions.group.byDate) {
482
512
  isAlreadyRendered = isAlreadyRendered.filter(function (event) {
483
- return event[_this.parent.eventFields.startTime] >= currentDates[dayIndex] &&
484
- event[_this.parent.eventFields.endTime] <= util.addDays(new Date(+currentDates[dayIndex]), 1);
513
+ return event[_this.parent.eventFields.startTime] >= currentDates[parseInt(dayIndex.toString(), 10)] &&
514
+ event[_this.parent.eventFields.endTime] <=
515
+ util.addDays(new Date(+currentDates[parseInt(dayIndex.toString(), 10)]), 1);
485
516
  });
486
517
  }
487
518
  }
@@ -495,14 +526,12 @@ var VerticalEvent = /** @class */ (function (_super) {
495
526
  if (allDayDifference_1 >= 0) {
496
527
  appWidth = (allDayDifference_1 * 100) - widthAdjustment;
497
528
  }
498
- if (isNullOrUndefined(this.renderedAllDayEvents[resource])) {
499
- this.renderedAllDayEvents[resource] = [];
529
+ if (isNullOrUndefined(this.renderedAllDayEvents[parseInt(resource.toString(), 10)])) {
530
+ this.renderedAllDayEvents[parseInt(resource.toString(), 10)] = [];
500
531
  }
501
- var renderedIndex = this.getDayIndex(dayIndex, resource);
502
- this.renderedAllDayEvents[resource].push(extend({}, record, null, true));
532
+ this.renderedAllDayEvents[parseInt(resource.toString(), 10)].push(extend({}, record, null, true));
503
533
  var allDayRow_1 = [].slice.call(this.element.querySelector('.' + cls.ALLDAY_ROW_CLASS).children);
504
- var wIndex_1 = this.parent.activeViewOptions.group.byDate ?
505
- (this.resources.length * renderedIndex) + resource : dayCount;
534
+ var wIndex_1 = this.getDayIndex(dayIndex, resource, dayCount);
506
535
  var eventWrapper_1 = this.element.querySelector('.' + cls.ALLDAY_APPOINTMENT_WRAPPER_CLASS +
507
536
  ':nth-child(' + (wIndex_1 + 1) + ')');
508
537
  var appointmentElement_1;
@@ -546,13 +575,13 @@ var VerticalEvent = /** @class */ (function (_super) {
546
575
  var appWidth = '0%';
547
576
  var appLeft = '0%';
548
577
  var topValue = 0;
549
- var currentDate = util.resetTime(new Date(this.dateRender[resource][dayIndex].getTime()));
578
+ var currentDate = util.resetTime(new Date(this.dateRender[parseInt(resource.toString(), 10)][parseInt(dayIndex.toString(), 10)].getTime()));
550
579
  var schedule = util.getStartEndHours(currentDate, this.startHour, this.endHour);
551
580
  var isValidEvent = this.isValidEvent(eventObj, eStart, eEnd, schedule);
552
581
  if ((eStart.getTime() < this.parent.minDate.getTime()) || (eEnd.getTime() > this.parent.maxDate.getTime())) {
553
582
  return;
554
583
  }
555
- if (eStart <= eEnd && isValidEvent) {
584
+ if (eStart <= eEnd && isValidEvent && this.isWorkDayAvailable(resource, eStart)) {
556
585
  var appHeight_1 = this.getHeight(eStart, eEnd);
557
586
  if (eStart.getTime() > schedule.startHour.getTime()) {
558
587
  topValue = this.getTopValue(eStart, dayIndex, resource);
@@ -561,27 +590,26 @@ var VerticalEvent = /** @class */ (function (_super) {
561
590
  record.Index = appIndex;
562
591
  this.overlapList.push(record);
563
592
  if (this.overlapList.length > 1) {
564
- if (isNullOrUndefined(this.overlapEvents[appIndex])) {
565
- this.overlapEvents[appIndex] = [];
593
+ if (isNullOrUndefined(this.overlapEvents[parseInt(appIndex.toString(), 10)])) {
594
+ this.overlapEvents[parseInt(appIndex.toString(), 10)] = [];
566
595
  }
567
- this.overlapEvents[appIndex].push(record);
596
+ this.overlapEvents[parseInt(appIndex.toString(), 10)].push(record);
568
597
  }
569
598
  else {
570
599
  this.overlapEvents = [];
571
600
  this.overlapEvents.push([record]);
572
601
  }
573
602
  appWidth = this.getEventWidth();
574
- var renderedIndex = this.getDayIndex(dayIndex, resource);
575
603
  var argsData = {
576
604
  index: appIndex, left: appLeft, width: appWidth,
577
- day: renderedIndex, dayIndex: dayCount, record: record, resource: resource
605
+ day: dayCount, dayIndex: dayIndex, record: record, resource: resource
578
606
  };
579
607
  var tempData = this.adjustOverlapElements(argsData);
580
608
  appWidth = (tempData.appWidth);
581
- if (isNullOrUndefined(this.renderedEvents[resource])) {
582
- this.renderedEvents[resource] = [];
609
+ if (isNullOrUndefined(this.renderedEvents[parseInt(resource.toString(), 10)])) {
610
+ this.renderedEvents[parseInt(resource.toString(), 10)] = [];
583
611
  }
584
- this.renderedEvents[resource].push(extend({}, record, null, true));
612
+ this.renderedEvents[parseInt(resource.toString(), 10)].push(extend({}, record, null, true));
585
613
  var appointmentElement = void 0;
586
614
  if (inline) {
587
615
  appointmentElement = this.parent.inlineModule.createInlineAppointmentElement(eventObj);
@@ -599,8 +627,7 @@ var VerticalEvent = /** @class */ (function (_super) {
599
627
  if (!this.parent.isAdaptive && subjectElement) {
600
628
  subjectElement.style.maxHeight = formatUnit(maxHeight);
601
629
  }
602
- var index = this.parent.activeViewOptions.group.byDate ?
603
- (this.resources.length * renderedIndex) + resource : dayCount;
630
+ var index = this.getDayIndex(dayIndex, resource, dayCount);
604
631
  var eventData = {};
605
632
  eventData[this.fields.startTime] = eventObj[this.fields.startTime];
606
633
  eventData[this.fields.endTime] = eventObj[this.fields.endTime];
@@ -625,7 +652,7 @@ var VerticalEvent = /** @class */ (function (_super) {
625
652
  return (tempLeft > 99 ? 99 : tempLeft) + '%';
626
653
  };
627
654
  VerticalEvent.prototype.getTopValue = function (date, day, resource) {
628
- var startEndHours = util.getStartEndHours(util.resetTime(this.dateRender[resource][day]), this.startHour, this.endHour);
655
+ var startEndHours = util.getStartEndHours(util.resetTime(this.dateRender[parseInt(resource.toString(), 10)][parseInt(day.toString(), 10)]), this.startHour, this.endHour);
629
656
  var startHour = startEndHours.startHour;
630
657
  var diffInMinutes = ((date.getHours() - startHour.getHours()) * 60) + (date.getMinutes() - startHour.getMinutes());
631
658
  return (this.parent.activeViewOptions.timeScale.enable) ? ((diffInMinutes * this.cellHeight * this.slotCount) / this.interval) : 0;
@@ -637,20 +664,20 @@ var VerticalEvent = /** @class */ (function (_super) {
637
664
  var appIndex = -1;
638
665
  this.overlapEvents = [];
639
666
  if (isAllDay) {
640
- if (!isNullOrUndefined(this.renderedAllDayEvents[resource])) {
641
- var date_1 = util.resetTime(new Date(this.dateRender[resource][day].getTime()));
642
- eventsList = this.renderedAllDayEvents[resource].filter(function (app) {
667
+ if (!isNullOrUndefined(this.renderedAllDayEvents[parseInt(resource.toString(), 10)])) {
668
+ var date_1 = util.resetTime(new Date(this.dateRender[parseInt(resource.toString(), 10)][parseInt(day.toString(), 10)].getTime()));
669
+ eventsList = this.renderedAllDayEvents[parseInt(resource.toString(), 10)].filter(function (app) {
643
670
  return util.resetTime(app[fieldMapping.startTime]).getTime() <= date_1.getTime() &&
644
671
  util.resetTime(app[fieldMapping.endTime]).getTime() >= date_1.getTime();
645
672
  });
646
673
  if (this.parent.activeViewOptions.group.resources.length > 0) {
647
- eventsList = this.filterEventsByResource(this.resources[resource], eventsList);
674
+ eventsList = this.filterEventsByResource(this.resources[parseInt(resource.toString(), 10)], eventsList);
648
675
  }
649
676
  }
650
677
  }
651
678
  else {
652
- var appointmentList_1 = !isNullOrUndefined(this.renderedEvents[resource]) ?
653
- this.renderedEvents[resource] : [];
679
+ var appointmentList_1 = !isNullOrUndefined(this.renderedEvents[parseInt(resource.toString(), 10)]) ?
680
+ this.renderedEvents[parseInt(resource.toString(), 10)] : [];
654
681
  var appointment_1 = [];
655
682
  var recordStart_1 = record[fieldMapping.startTime];
656
683
  var recordEnd_1 = record[fieldMapping.endTime];
@@ -661,14 +688,14 @@ var VerticalEvent = /** @class */ (function (_super) {
661
688
  data[fieldMapping.startTime].getTime() === recordStart_1.getTime() && data[fieldMapping.endTime] < recordEnd_1);
662
689
  });
663
690
  if (this.parent.activeViewOptions.group.resources.length > 0) {
664
- this.overlapList = this.filterEventsByResource(this.resources[resource], this.overlapList);
691
+ this.overlapList = this.filterEventsByResource(this.resources[parseInt(resource.toString(), 10)], this.overlapList);
665
692
  }
666
693
  this.overlapList.forEach(function (obj) {
667
694
  var filterList = appointmentList_1.filter(function (data) {
668
695
  return data[fieldMapping.endTime] > obj[fieldMapping.startTime] && data[fieldMapping.startTime] <= obj[fieldMapping.endTime];
669
696
  });
670
697
  if (_this.parent.activeViewOptions.group.resources.length > 0) {
671
- filterList = _this.filterEventsByResource(_this.resources[resource], filterList);
698
+ filterList = _this.filterEventsByResource(_this.resources[parseInt(resource.toString(), 10)], filterList);
672
699
  }
673
700
  var collection = filterList.filter(function (val) {
674
701
  return _this.overlapList.indexOf(val) === -1;
@@ -679,7 +706,8 @@ var VerticalEvent = /** @class */ (function (_super) {
679
706
  });
680
707
  for (var i = 0; i < appointment_1.length - 1; i++) {
681
708
  for (var j = i + 1; j < appointment_1.length; j++) {
682
- if (appointment_1[i][fieldMapping.id] === appointment_1[j][fieldMapping.id]) {
709
+ if (appointment_1[parseInt(i.toString(), 10)][fieldMapping.id] ===
710
+ appointment_1[parseInt(j.toString(), 10)][fieldMapping.id]) {
683
711
  appointment_1.splice(j, 1);
684
712
  j--;
685
713
  }
@@ -691,11 +719,11 @@ var VerticalEvent = /** @class */ (function (_super) {
691
719
  var event_4 = eventsList_1[_i];
692
720
  var record_1 = event_4;
693
721
  var index = record_1.Index;
694
- if (isNullOrUndefined(this.overlapEvents[index])) {
695
- this.overlapEvents[index] = [event_4];
722
+ if (isNullOrUndefined(this.overlapEvents[parseInt(index.toString(), 10)])) {
723
+ this.overlapEvents[parseInt(index.toString(), 10)] = [event_4];
696
724
  }
697
725
  else {
698
- this.overlapEvents[index].push(event_4);
726
+ this.overlapEvents[parseInt(index.toString(), 10)].push(event_4);
699
727
  }
700
728
  }
701
729
  }
@@ -719,13 +747,12 @@ var VerticalEvent = /** @class */ (function (_super) {
719
747
  VerticalEvent.prototype.adjustOverlapElements = function (args) {
720
748
  var data = { appWidth: args.width, appLeft: args.left };
721
749
  for (var i = 0, length1 = this.overlapEvents.length; i < length1; i++) {
722
- if (!isNullOrUndefined(this.overlapEvents[i])) {
723
- for (var j = 0, length2 = this.overlapEvents[i].length; j < length2; j++) {
724
- var dayCount = this.parent.activeViewOptions.group.byDate ?
725
- (this.resources.length * args.day) + args.resource : args.dayIndex;
750
+ if (!isNullOrUndefined(this.overlapEvents[parseInt(i.toString(), 10)])) {
751
+ for (var j = 0, length2 = this.overlapEvents[parseInt(i.toString(), 10)].length; j < length2; j++) {
752
+ var dayCount = this.getDayIndex(args.dayIndex, args.resource, args.day);
726
753
  var element = this.element.querySelector('#e-appointment-wrapper-' + dayCount);
727
754
  if (element && element.childElementCount > 0) {
728
- var eleGuid = this.overlapEvents[i][j].Guid;
755
+ var eleGuid = this.overlapEvents[parseInt(i.toString(), 10)][parseInt(j.toString(), 10)].Guid;
729
756
  if (element.querySelectorAll('div[data-guid="' + eleGuid + '"]').length > 0 && eleGuid !== args.record.Guid) {
730
757
  var apps = element.querySelector('div[data-guid="' + eleGuid + '"]');
731
758
  if (parseFloat(args.width) <= parseFloat(apps.style.width)) {