@syncfusion/ej2-schedule 19.3.44 → 19.3.55

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 (61) hide show
  1. package/CHANGELOG.md +41 -0
  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 +83 -48
  5. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es5.js +79 -44
  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/package.json +15 -15
  12. package/src/recurrence-editor/date-generator.js +3 -3
  13. package/src/schedule/actions/crud.js +2 -0
  14. package/src/schedule/actions/drag.js +16 -14
  15. package/src/schedule/actions/resize.js +17 -10
  16. package/src/schedule/actions/virtual-scroll.js +1 -0
  17. package/src/schedule/base/interface.d.ts +7 -0
  18. package/src/schedule/base/resource.js +4 -1
  19. package/src/schedule/base/schedule-model.d.ts +9 -1
  20. package/src/schedule/base/schedule.d.ts +9 -2
  21. package/src/schedule/base/schedule.js +13 -2
  22. package/src/schedule/base/type.d.ts +4 -0
  23. package/src/schedule/event-renderer/event-base.d.ts +1 -0
  24. package/src/schedule/event-renderer/event-base.js +11 -7
  25. package/src/schedule/event-renderer/month.js +1 -1
  26. package/src/schedule/models/event-settings-model.d.ts +12 -1
  27. package/src/schedule/models/event-settings.d.ts +11 -0
  28. package/src/schedule/models/event-settings.js +3 -0
  29. package/src/schedule/popups/event-window.d.ts +0 -1
  30. package/src/schedule/popups/event-window.js +4 -5
  31. package/src/schedule/popups/form-validator.js +4 -1
  32. package/src/schedule/renderer/agenda.js +2 -1
  33. package/src/schedule/timezone/timezone.d.ts +3 -2
  34. package/src/schedule/timezone/timezone.js +0 -1
  35. package/styles/bootstrap-dark.css +1 -1
  36. package/styles/bootstrap.css +1 -1
  37. package/styles/bootstrap4.css +1 -1
  38. package/styles/bootstrap5-dark.css +1 -1
  39. package/styles/bootstrap5.css +1 -1
  40. package/styles/fabric-dark.css +1 -1
  41. package/styles/fabric.css +1 -1
  42. package/styles/highcontrast-light.css +1 -1
  43. package/styles/highcontrast.css +1 -1
  44. package/styles/material-dark.css +1 -1
  45. package/styles/material.css +1 -1
  46. package/styles/schedule/_layout.scss +1 -1
  47. package/styles/schedule/bootstrap-dark.css +1 -1
  48. package/styles/schedule/bootstrap.css +1 -1
  49. package/styles/schedule/bootstrap4.css +1 -1
  50. package/styles/schedule/bootstrap5-dark.css +1 -1
  51. package/styles/schedule/bootstrap5.css +1 -1
  52. package/styles/schedule/fabric-dark.css +1 -1
  53. package/styles/schedule/fabric.css +1 -1
  54. package/styles/schedule/highcontrast-light.css +1 -1
  55. package/styles/schedule/highcontrast.css +1 -1
  56. package/styles/schedule/material-dark.css +1 -1
  57. package/styles/schedule/material.css +1 -1
  58. package/styles/schedule/tailwind-dark.css +1 -1
  59. package/styles/schedule/tailwind.css +1 -1
  60. package/styles/tailwind-dark.css +1 -1
  61. package/styles/tailwind.css +1 -1
@@ -2977,7 +2977,6 @@ class Islamic {
2977
2977
  }
2978
2978
  }
2979
2979
 
2980
- /* eslint-disable @typescript-eslint/no-explicit-any */
2981
2980
  /**
2982
2981
  * Time zone
2983
2982
  */
@@ -3546,10 +3545,10 @@ function weeklyType(startDate, endDate, data, ruleObject) {
3546
3545
  let startDateDiff = DAYINDEX.indexOf(DAYINDEX[tempDate.getDay()]) - wkstIndex;
3547
3546
  startDateDiff = startDateDiff === -1 ? 6 : startDateDiff;
3548
3547
  const weekstartDate = addDays(tempDate, -startDateDiff);
3549
- const weekendDate = addDays(weekstartDate, 6);
3548
+ let weekendDate = addDays(weekstartDate, 6);
3550
3549
  let compareTempDate = new Date(tempDate.getTime());
3551
- resetTime(weekendDate);
3552
- resetTime(compareTempDate);
3550
+ weekendDate = resetTime(weekendDate);
3551
+ compareTempDate = resetTime(compareTempDate);
3553
3552
  while (weekendDate >= compareTempDate) {
3554
3553
  if (expectedDays.indexOf(DAYINDEX[tempDate.getDay()]) > -1) {
3555
3554
  weekCollection.push([tempDate.getTime()]);
@@ -3559,7 +3558,7 @@ function weeklyType(startDate, endDate, data, ruleObject) {
3559
3558
  }
3560
3559
  tempDate.setDate(tempDate.getDate() + 1);
3561
3560
  compareTempDate = new Date(tempDate.getTime());
3562
- resetTime(compareTempDate);
3561
+ compareTempDate = resetTime(compareTempDate);
3563
3562
  }
3564
3563
  tempDate.setDate(tempDate.getDate() - 1);
3565
3564
  if (expectedCount && (data.length + ruleObject.recExceptionCount) >= expectedCount) {
@@ -4927,12 +4926,7 @@ class EventBase {
4927
4926
  if (generateID) {
4928
4927
  event[fields.id] = temp++;
4929
4928
  }
4930
- if (typeof event[fields.startTime] === 'string') {
4931
- event[fields.startTime] = getDateFromString(event[fields.startTime]);
4932
- }
4933
- if (typeof event[fields.endTime] === 'string') {
4934
- event[fields.endTime] = getDateFromString(event[fields.endTime]);
4935
- }
4929
+ event = this.updateEventDateTime(event);
4936
4930
  if (timeZonePropChanged) {
4937
4931
  this.processTimezoneChange(event, oldTimezone);
4938
4932
  }
@@ -4991,6 +4985,15 @@ class EventBase {
4991
4985
  this.parent.blockProcessed = blockData;
4992
4986
  return eventData;
4993
4987
  }
4988
+ updateEventDateTime(eventData) {
4989
+ if (typeof eventData[this.parent.eventFields.startTime] === 'string') {
4990
+ eventData[this.parent.eventFields.startTime] = getDateFromString(eventData[this.parent.eventFields.startTime]);
4991
+ }
4992
+ if (typeof eventData[this.parent.eventFields.endTime] === 'string') {
4993
+ eventData[this.parent.eventFields.endTime] = getDateFromString(eventData[this.parent.eventFields.endTime]);
4994
+ }
4995
+ return eventData;
4996
+ }
4994
4997
  getProcessedEvents(eventCollection = this.parent.eventsData) {
4995
4998
  let processed = [];
4996
4999
  for (const event of eventCollection) {
@@ -5490,7 +5493,7 @@ class EventBase {
5490
5493
  const isAllDay = event[fieldMapping.isAllDay];
5491
5494
  const isFullDay = ((event[fieldMapping.endTime].getTime() - event[fieldMapping.startTime].getTime())
5492
5495
  / MS_PER_DAY) >= 1;
5493
- return (isAllDay || isFullDay) ? true : false;
5496
+ return (isAllDay || (this.parent.eventSettings.spannedEventPlacement !== 'TimeSlot' && isFullDay)) ? true : false;
5494
5497
  }
5495
5498
  addEventListener() {
5496
5499
  this.parent.on(documentClick, this.appointmentBorderRemove, this);
@@ -6927,10 +6930,10 @@ class MonthEvent extends EventBase {
6927
6930
  this.parent.virtualScrollModule.updateVirtualScrollHeight();
6928
6931
  }
6929
6932
  }
6930
- this.parent.notify(scrollUiUpdate, data);
6931
6933
  if (!this.parent.enablePersistence) {
6932
6934
  this.parent.notify(contentReady, {});
6933
6935
  }
6936
+ this.parent.notify(scrollUiUpdate, data);
6934
6937
  if (this.parent.currentView === 'Month' && this.parent.showWeekNumber) {
6935
6938
  const totalCells = [].slice.call(this.parent.element.querySelectorAll('.e-content-wrap table tr td:first-child'));
6936
6939
  const weekNumberCells = [].slice.call(this.parent.element.querySelectorAll('.' + WEEK_NUMBER_CLASS));
@@ -8246,6 +8249,9 @@ class FieldValidator {
8246
8249
  if (!elem && !this.ignoreError) {
8247
8250
  this.createTooltip(inputElement, error, id, '');
8248
8251
  }
8252
+ if (!isNullOrUndefined(elem)) {
8253
+ elem.querySelector('.e-error').innerHTML = error.innerHTML;
8254
+ }
8249
8255
  }
8250
8256
  createTooltip(element, error, name, display) {
8251
8257
  let dlgContent;
@@ -10852,7 +10858,6 @@ class EventWindow {
10852
10858
  this.parent = parent;
10853
10859
  this.l10n = this.parent.localeObj;
10854
10860
  this.fields = this.parent.eventFields;
10855
- this.timezoneData = this.parent.tzModule.timezoneData;
10856
10861
  this.eventWindowTime = { startTime: new Date(), endTime: new Date() };
10857
10862
  this.renderEventWindow();
10858
10863
  }
@@ -11284,14 +11289,15 @@ class EventWindow {
11284
11289
  allowFiltering: true,
11285
11290
  change: this.onTimezoneChange.bind(this),
11286
11291
  cssClass: this.parent.cssClass || '',
11287
- dataSource: this.timezoneData,
11292
+ dataSource: this.parent.timezoneDataSource,
11288
11293
  enableRtl: this.parent.enableRtl,
11289
11294
  fields: { text: 'Text', value: 'Value' },
11290
- filterBarPlaceholder: 'Search Timezone',
11295
+ filterBarPlaceholder: this.parent.localeObj.getConstant('searchTimezone'),
11296
+ noRecordsTemplate: this.parent.localeObj.getConstant('noRecords'),
11291
11297
  filtering: (e) => {
11292
11298
  let query = new Query();
11293
11299
  query = (e.text !== '') ? query.where('Text', 'contains', e.text, true) : query;
11294
- e.updateData(this.timezoneData, query);
11300
+ e.updateData(this.parent.timezoneDataSource, query);
11295
11301
  },
11296
11302
  htmlAttributes: { 'title': this.getFieldLabel(value), 'name': fieldName },
11297
11303
  floatLabelType: 'Always',
@@ -12586,7 +12592,6 @@ class EventWindow {
12586
12592
  this.fields = null;
12587
12593
  this.buttonObj = null;
12588
12594
  this.repeatStatus = null;
12589
- this.timezoneData = null;
12590
12595
  this.eventWindowTime = null;
12591
12596
  }
12592
12597
  }
@@ -12744,7 +12749,8 @@ class VirtualScroll {
12744
12749
  this.translateY = conWrap.scrollTop;
12745
12750
  }
12746
12751
  else {
12747
- const height = (this.parent.rowAutoHeight) ? this.averageRowHeight : this.itemSize;
12752
+ let height = (this.parent.rowAutoHeight) ? this.averageRowHeight : this.itemSize;
12753
+ height = (height > 0) ? height : this.itemSize;
12748
12754
  this.translateY = (conWrap.scrollTop - (this.bufferCount * height) > 0) ?
12749
12755
  conWrap.scrollTop - (this.bufferCount * height) : 0;
12750
12756
  }
@@ -13174,7 +13180,8 @@ class Crud {
13174
13180
  const editParams = { addedRecords: [], changedRecords: [], deletedRecords: [] };
13175
13181
  let promise;
13176
13182
  if (addArgs.addedRecords instanceof Array) {
13177
- for (const event of addArgs.addedRecords) {
13183
+ for (let event of addArgs.addedRecords) {
13184
+ event = this.parent.eventBase.updateEventDateTime(event);
13178
13185
  const eventData = extend({}, this.parent.eventBase.processTimezone(event, true), null, true);
13179
13186
  editParams.addedRecords.push(eventData);
13180
13187
  }
@@ -13229,7 +13236,8 @@ class Crud {
13229
13236
  const fields = this.parent.eventFields;
13230
13237
  const editParams = { addedRecords: [], changedRecords: [], deletedRecords: [] };
13231
13238
  if (saveArgs.changedRecords instanceof Array) {
13232
- for (const event of saveArgs.changedRecords) {
13239
+ for (let event of saveArgs.changedRecords) {
13240
+ event = this.parent.eventBase.updateEventDateTime(event);
13233
13241
  const eventData = extend({}, this.parent.eventBase.processTimezone(event, true), null, true);
13234
13242
  editParams.changedRecords.push(eventData);
13235
13243
  }
@@ -13922,6 +13930,9 @@ __decorate$6([
13922
13930
  __decorate$6([
13923
13931
  Property()
13924
13932
  ], EventSettings.prototype, "tooltipTemplate", void 0);
13933
+ __decorate$6([
13934
+ Property('AllDayRow')
13935
+ ], EventSettings.prototype, "spannedEventPlacement", void 0);
13925
13936
  __decorate$6([
13926
13937
  Property()
13927
13938
  ], EventSettings.prototype, "resourceColorField", void 0);
@@ -14680,8 +14691,11 @@ class ResourceBase {
14680
14691
  let temp = 0;
14681
14692
  for (const currentLevelChilds of resTreeGroup[i]) {
14682
14693
  for (const currentLevelChild of currentLevelChilds) {
14683
- if (resTreeGroup[i + 1]) {
14694
+ if (resTreeGroup[i + 1] && resTreeGroup[i + 1].length > 0) {
14684
14695
  const nextLevelChilds = resTreeGroup[i + 1][temp];
14696
+ if (!nextLevelChilds) {
14697
+ continue;
14698
+ }
14685
14699
  let colSpan = 0;
14686
14700
  for (const nextLevelChild of nextLevelChilds) {
14687
14701
  if (!this.parent.activeViewOptions.group.byGroupID || (this.parent.activeViewOptions.group.byGroupID &&
@@ -15677,7 +15691,9 @@ let Schedule = class Schedule extends Component {
15677
15691
  beginFrom: 'Begin From',
15678
15692
  endAt: 'Ends At',
15679
15693
  expandAllDaySection: 'Expand-all-day-section',
15680
- collapseAllDaySection: 'Collapse-all-day-section'
15694
+ collapseAllDaySection: 'Collapse-all-day-section',
15695
+ searchTimezone: 'Search Timezone',
15696
+ noRecords: 'No records found'
15681
15697
  };
15682
15698
  }
15683
15699
  wireEvents() {
@@ -16393,6 +16409,11 @@ let Schedule = class Schedule extends Component {
16393
16409
  this.keyboardInteractionModule = new KeyboardInteraction(this);
16394
16410
  }
16395
16411
  break;
16412
+ case 'timezoneDataSource':
16413
+ if (this.eventWindow) {
16414
+ this.eventWindow.refresh();
16415
+ }
16416
+ break;
16396
16417
  case 'editorTemplate':
16397
16418
  if (!isNullOrUndefined(this.editorTemplate)) {
16398
16419
  this.editorTemplateFn = this.templateParser(this.editorTemplate);
@@ -16534,6 +16555,7 @@ let Schedule = class Schedule extends Component {
16534
16555
  this.eventWindow.refresh();
16535
16556
  }
16536
16557
  break;
16558
+ case 'spannedEventPlacement':
16537
16559
  case 'enableMaxHeight':
16538
16560
  case 'enableIndicator':
16539
16561
  this.refreshEvents(false);
@@ -17555,6 +17577,9 @@ __decorate([
17555
17577
  __decorate([
17556
17578
  Complex({}, EventSettings)
17557
17579
  ], Schedule.prototype, "eventSettings", void 0);
17580
+ __decorate([
17581
+ Property(timezoneData)
17582
+ ], Schedule.prototype, "timezoneDataSource", void 0);
17558
17583
  __decorate([
17559
17584
  Property()
17560
17585
  ], Schedule.prototype, "resourceHeaderTemplate", void 0);
@@ -18270,6 +18295,9 @@ class Resize extends ActionBase {
18270
18295
  }
18271
18296
  monthResizing() {
18272
18297
  this.removeCloneElement();
18298
+ if (isNullOrUndefined(this.actionObj.pageX) || isNullOrUndefined(this.actionObj.pageY)) {
18299
+ return;
18300
+ }
18273
18301
  const td = document.elementFromPoint(this.actionObj.pageX, this.actionObj.pageY);
18274
18302
  if (isNullOrUndefined(td)) {
18275
18303
  return;
@@ -18401,13 +18429,16 @@ class Resize extends ActionBase {
18401
18429
  const eventEnd = new Date(this.actionObj.event[this.parent.eventFields.endTime].getTime());
18402
18430
  let resizeTime;
18403
18431
  let isDateHeader = false;
18432
+ const isTimeViews = ['TimelineDay', 'TimelineWeek', 'TimelineWorkWeek'].indexOf(this.parent.currentView) > -1;
18433
+ const isTimelineMonth = this.parent.currentView === 'TimelineMonth';
18434
+ const isWithoutScale = isTimelineMonth || isTimeViews && !this.parent.activeViewOptions.timeScale.enable;
18404
18435
  if (this.parent.activeView.isTimelineView()) {
18405
18436
  const tr = this.parent.getContentTable().querySelector('tr');
18406
18437
  let headerName = this.parent.currentView;
18407
18438
  if (this.parent.activeViewOptions.headerRows.length > 0) {
18408
18439
  const rows = this.parent.activeViewOptions.headerRows.map((row) => row.option);
18409
18440
  headerName = rows.slice(-1)[0];
18410
- if (this.parent.currentView === 'TimelineMonth' && headerName === 'Hour') {
18441
+ if (isTimelineMonth && headerName === 'Hour') {
18411
18442
  headerName = rows.slice(-2)[0] || 'Month';
18412
18443
  }
18413
18444
  }
@@ -18426,9 +18457,8 @@ class Resize extends ActionBase {
18426
18457
  offsetValue += (this.actionObj.clone.offsetWidth - this.actionObj.cellWidth);
18427
18458
  }
18428
18459
  cellIndex = Math.floor(offsetValue / Math.floor(tr.offsetWidth / noOfDays));
18429
- isDateHeader =
18430
- ['TimelineDay', 'TimelineWeek', 'TimelineWorkWeek'].indexOf(this.parent.currentView) > -1 && headerName === 'Date';
18431
- cellIndex = isLeft ? cellIndex : (this.parent.currentView === 'TimelineMonth' || isDateHeader) ? cellIndex + 1 : cellIndex;
18460
+ isDateHeader = isTimeViews && headerName === 'Date';
18461
+ cellIndex = isLeft ? cellIndex : (isTimelineMonth || isDateHeader) ? cellIndex + 1 : cellIndex;
18432
18462
  isLastCell = cellIndex === tdCollections.length;
18433
18463
  cellIndex = (cellIndex < 0) ? 0 : (cellIndex >= noOfDays) ? noOfDays - 1 : cellIndex;
18434
18464
  }
@@ -18440,7 +18470,7 @@ class Resize extends ActionBase {
18440
18470
  if (this.parent.enableRtl) {
18441
18471
  let cellOffsetWidth = 0;
18442
18472
  if (headerName === 'TimelineMonth' || (!this.parent.activeViewOptions.timeScale.enable &&
18443
- this.parent.currentView !== 'TimelineMonth')) {
18473
+ !isTimelineMonth)) {
18444
18474
  cellOffsetWidth = this.actionObj.cellWidth;
18445
18475
  }
18446
18476
  const offsetWidth = (Math.floor(parseInt(this.actionObj.clone.style.right, 10) / this.actionObj.cellWidth) *
@@ -18492,16 +18522,18 @@ class Resize extends ActionBase {
18492
18522
  }
18493
18523
  }
18494
18524
  if (isLeft) {
18495
- if ((this.actionObj.event[this.parent.eventFields.endTime].getTime() - resizeTime.getTime()) <= 0) {
18496
- resizeTime = new Date(this.actionObj.event[this.parent.eventFields.startTime].getTime());
18525
+ if ((eventEnd.getTime() - resizeTime.getTime()) <= 0) {
18526
+ resizeTime = isWithoutScale ? resetTime(eventEnd) : eventStart;
18497
18527
  }
18498
18528
  this.actionObj.start = this.parent.activeViewOptions.timeScale.enable ? this.calculateIntervalTime(resizeTime) : resizeTime;
18499
18529
  }
18500
18530
  else {
18501
- const isTimeViews = ['TimelineDay', 'TimelineWeek', 'TimelineWorkWeek'].indexOf(this.parent.currentView) > -1 &&
18502
- this.parent.activeViewOptions.timeScale.enable;
18503
- const resizeEnd = ((!isTimeViews || isDateHeader) && resizeTime.getHours() === 0 && resizeTime.getMinutes() === 0) ?
18531
+ const isTimeScaleViews = isTimeViews && this.parent.activeViewOptions.timeScale.enable;
18532
+ let resizeEnd = ((!isTimeScaleViews || isDateHeader) && resizeTime.getHours() === 0 && resizeTime.getMinutes() === 0) ?
18504
18533
  addDays(resizeTime, 1) : resizeTime;
18534
+ if (isWithoutScale && (resizeEnd.getTime() - eventStart.getTime()) <= 0) {
18535
+ resizeEnd = addDays(resetTime(eventStart), 1);
18536
+ }
18505
18537
  this.actionObj.end = this.parent.activeViewOptions.timeScale.enable && this.parent.currentView !== 'Month' ?
18506
18538
  this.calculateIntervalTime(resizeEnd) : resizeEnd;
18507
18539
  }
@@ -19765,18 +19797,20 @@ class DragAndDrop extends ActionBase {
19765
19797
  const eventData = [];
19766
19798
  const startTime = event[eventFields.startTime];
19767
19799
  const endTime = event[eventFields.endTime];
19768
- const isDifferentDate = resetTime(new Date(startTime.getTime())) < resetTime(new Date(endTime.getTime()));
19769
- if (isDifferentDate) {
19770
- const scheduleStartHour = this.parent.activeView.getStartHour();
19771
- const scheduleEndHour = this.parent.activeView.getEndHour();
19772
- const startDate = getStartEndHours(resetTime(startTime), scheduleStartHour, scheduleEndHour);
19773
- const endDate = getStartEndHours(resetTime(endTime), scheduleStartHour, scheduleEndHour);
19774
- const firstEventObj = extend({}, event, null, true);
19775
- firstEventObj[eventFields.endTime] = startDate.endHour;
19776
- eventData.push(firstEventObj);
19777
- const secondEventObj = extend({}, event, null, true);
19778
- secondEventObj[eventFields.startTime] = endDate.startHour;
19779
- eventData.push(secondEventObj);
19800
+ if (resetTime(new Date(startTime.getTime())) < resetTime(new Date(endTime.getTime()))) {
19801
+ let startReferenceDate = resetTime(new Date(startTime.getTime()));
19802
+ let endReferenceDate = new Date(startReferenceDate.getTime());
19803
+ for (let i = 0; startReferenceDate < new Date(endTime.getTime()); i++) {
19804
+ endReferenceDate = new Date(endReferenceDate.setDate(startReferenceDate.getDate() + 1));
19805
+ const eventObj = extend({}, event, null, true);
19806
+ eventObj[eventFields.startTime] = new Date(startReferenceDate);
19807
+ eventObj[eventFields.endTime] = new Date(endReferenceDate);
19808
+ startReferenceDate = new Date(startReferenceDate.setDate(startReferenceDate.getDate() + 1));
19809
+ eventData.push(eventObj);
19810
+ }
19811
+ const index = eventData.length - 1;
19812
+ eventData[0][eventFields.startTime] = startTime;
19813
+ eventData[index][eventFields.endTime] = endTime;
19780
19814
  }
19781
19815
  else {
19782
19816
  eventData.push(event);
@@ -19847,8 +19881,8 @@ class DragAndDrop extends ActionBase {
19847
19881
  // eslint-disable-next-line max-len
19848
19882
  this.parent.getDateFromElement(isNullOrUndefined(index) ? this.actionObj.target : this.targetTd)));
19849
19883
  const splitEvents = this.splitEvent(event);
19850
- const events = event[this.parent.eventFields.isAllDay] ||
19851
- this.parent.eventBase.isAllDayAppointment(event) || splitEvents.length > 2 ? [event] : splitEvents;
19884
+ const events = this.parent.eventBase.isAllDayAppointment(event) || splitEvents.length > 2 ||
19885
+ this.parent.eventSettings.spannedEventPlacement !== 'TimeSlot' ? [event] : splitEvents;
19852
19886
  for (let i = 0; i < events.length; i++) {
19853
19887
  if (i > 0) {
19854
19888
  let filterQuery = `.e-day-wrapper[data-date="${resetTime(events[i][this.parent.eventFields.startTime]).getTime()}"]`;
@@ -23031,7 +23065,7 @@ class Agenda extends AgendaBase {
23031
23065
  for (const event of this.parent.eventsData) {
23032
23066
  delete event.generatedDates;
23033
23067
  }
23034
- let eventCollection = args.processedData;
23068
+ let eventCollection = this.parent.activeViewOptions.allowVirtualScrolling ? args.processedData : this.parent.eventsProcessed;
23035
23069
  if (this.parent.uiStateValues.isGroupAdaptive) {
23036
23070
  const resource = this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex];
23037
23071
  this.dataSource = this.parent.eventBase.filterEventsByResource(resource, this.dataSource);
@@ -23134,6 +23168,7 @@ class Agenda extends AgendaBase {
23134
23168
  const filterData = this.appointmentFiltering(agendaDate);
23135
23169
  const nTr = this.createTableRowElement(agendaDate, 'data');
23136
23170
  if (this.element.querySelector('tr[aria-rowindex="' + parseInt(nTr.getAttribute('aria-rowindex'), 10) + '"]')) {
23171
+ agendaDate = addDays(agendaDate, 1);
23137
23172
  continue;
23138
23173
  }
23139
23174
  const dTd = nTr.children[0];