@syncfusion/ej2-schedule 20.1.50 → 20.1.52

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.
@@ -3631,10 +3631,6 @@ function generate(startDate, rule, excludeDate, startDayOfWeek, maximumCount = M
3631
3631
  }
3632
3632
  maxOccurrence = maximumCount;
3633
3633
  setFirstDayOfWeek(DAYINDEX[startDayOfWeek]);
3634
- if (ruleObject.until) {
3635
- const end = resetTime(ruleObject.until);
3636
- ruleObject.until = new Date(end.getFullYear(), end.getMonth(), end.getDate(), 23, 59, 59);
3637
- }
3638
3634
  switch (ruleObject.freq) {
3639
3635
  case 'DAILY':
3640
3636
  dailyType(modifiedDate, ruleObject.until, data, ruleObject);
@@ -3731,9 +3727,6 @@ function dailyType(startDate, endDate, data, ruleObject) {
3731
3727
  }
3732
3728
  }
3733
3729
  tempDate.setDate(tempDate.getDate() + interval);
3734
- if (tempDate.getHours() !== startDate.getHours()) {
3735
- tempDate.setHours(startDate.getHours());
3736
- }
3737
3730
  }
3738
3731
  }
3739
3732
  /**
@@ -3778,9 +3771,6 @@ function weeklyType(startDate, endDate, data, ruleObject) {
3778
3771
  break;
3779
3772
  }
3780
3773
  tempDate.setDate(tempDate.getDate() + 1);
3781
- if (tempDate.getHours() !== startDate.getHours()) {
3782
- tempDate.setHours(startDate.getHours());
3783
- }
3784
3774
  compareTempDate = new Date(tempDate.getTime());
3785
3775
  compareTempDate = resetTime(compareTempDate);
3786
3776
  }
@@ -4662,7 +4652,7 @@ function insertDateCollection(state, startDate, endDate, data, ruleObject, dayDa
4662
4652
  function weekCount(year, startDayOfWeek, monthCollection, week, ruleObject) {
4663
4653
  const firstDayOfWeek = startDayOfWeek || 0;
4664
4654
  const firstOfMonth = new Date(year, ruleObject.month[0] - 1, 1);
4665
- const lastOfMonth = new Date(year, ruleObject.month[0], 0);
4655
+ const lastOfMonth = new Date(year, ruleObject.month[0] - 1, 0);
4666
4656
  const numberOfDaysInMonth = lastOfMonth.getDate();
4667
4657
  const firstWeekDay = (firstOfMonth.getDay() - firstDayOfWeek + 7) % 7;
4668
4658
  const used = firstWeekDay + numberOfDaysInMonth;
@@ -7106,7 +7096,7 @@ class MonthEvent extends EventBase {
7106
7096
  if (appElement.length > 0) {
7107
7097
  appElement = (this.parent.currentView === 'Month') ? appElement : [appElement[0]];
7108
7098
  for (const wrap of appElement) {
7109
- if (wrap.parentElement && wrap.parentElement.parentNode) {
7099
+ if (!wrap.classList.contains('e-more-indicator') && wrap.parentElement && wrap.parentElement.parentNode) {
7110
7100
  remove(wrap.parentElement);
7111
7101
  }
7112
7102
  }
@@ -7236,18 +7226,11 @@ class MonthEvent extends EventBase {
7236
7226
  const filteredDates = this.getRenderedDates(dateRender);
7237
7227
  this.getSlotDates(workDays || this.parent.activeViewOptions.workDays);
7238
7228
  this.processBlockEvents(blockList, resIndex, resData);
7239
- let events = [];
7240
7229
  for (const event of eventsList) {
7241
7230
  if (this.parent.resourceBase && !resData) {
7242
7231
  this.cssClass = this.parent.resourceBase.getCssClass(event);
7243
7232
  }
7244
- events = events.concat(this.splitEvent(event, filteredDates || this.dateRender));
7245
- }
7246
- for (let level = 0; level < this.slots.length; level++) {
7247
- this.renderedEvents = [];
7248
- const slot = this.slots[level];
7249
- const endDate = addDays(new Date(slot[slot.length - 1]), 1);
7250
- const spannedEvents = this.filterEvents(new Date(slot[0]), endDate, events);
7233
+ const spannedEvents = this.splitEvent(event, filteredDates || this.dateRender);
7251
7234
  for (const event of spannedEvents) {
7252
7235
  if (this.maxHeight) {
7253
7236
  const sDate = this.parent.currentView === 'Month' ? event[this.fields.startTime] :
@@ -7546,17 +7529,21 @@ class MonthEvent extends EventBase {
7546
7529
  if (day < 0) {
7547
7530
  return;
7548
7531
  }
7532
+ if ((startTime.getTime() < this.parent.minDate.getTime()) || (endTime.getTime() > this.parent.maxDate.getTime())) {
7533
+ return;
7534
+ }
7549
7535
  const overlapCount = this.getIndex(startTime);
7550
7536
  event.Index = overlapCount;
7537
+ let appHeight = this.eventHeight;
7538
+ this.renderedEvents.push(extend({}, event, null, true));
7551
7539
  const diffInDays = event.data.count;
7552
7540
  if (startTime.getTime() <= endTime.getTime()) {
7553
7541
  const appWidth = (diffInDays * this.cellWidth) - 5;
7554
7542
  const cellTd = this.workCells[day];
7555
- const appTop = (overlapCount * (this.eventHeight + EVENT_GAP));
7556
- const height = this.monthHeaderHeight + ((overlapCount + 1) * (this.eventHeight + EVENT_GAP)) + this.moreIndicatorHeight;
7543
+ const appTop = (overlapCount * (appHeight + EVENT_GAP));
7544
+ const height = this.monthHeaderHeight + ((overlapCount + 1) * (appHeight + EVENT_GAP)) + this.moreIndicatorHeight;
7557
7545
  const enableAppRender = this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
7558
7546
  if (this.parent.rowAutoHeight || enableAppRender) {
7559
- this.renderedEvents.push(extend({}, event, null, true));
7560
7547
  let appointmentElement;
7561
7548
  if (this.inlineValue) {
7562
7549
  appointmentElement = this.parent.inlineModule.createInlineAppointmentElement();
@@ -7575,26 +7562,24 @@ class MonthEvent extends EventBase {
7575
7562
  }
7576
7563
  else {
7577
7564
  for (let i = 0; i < diffInDays; i++) {
7578
- if (this.workCells[day + i]) {
7579
- const indicator = this.workCells[day + i].querySelector('.' + MORE_INDICATOR_CLASS);
7580
- if (indicator) {
7581
- const count = parseInt(indicator.getAttribute('data-count'), 10) + 1;
7582
- indicator.setAttribute('data-count', count.toString());
7583
- indicator.innerHTML = this.getMoreIndicatorText(count);
7584
- }
7585
- else {
7586
- const startDate = new Date(this.dateRender[day + i].getTime());
7587
- const endDate = addDays(this.dateRender[day + i], 1);
7588
- const groupIndex = this.workCells[day + i].getAttribute('data-group-index');
7589
- const moreIndicatorElement = this.getMoreIndicatorElement(1, startDate, endDate);
7590
- if (!isNullOrUndefined(groupIndex)) {
7591
- moreIndicatorElement.setAttribute('data-group-index', groupIndex);
7592
- }
7593
- moreIndicatorElement.style.top = (this.cellHeight - this.monthHeaderHeight - this.moreIndicatorHeight) + 'px';
7594
- moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
7595
- this.renderElement(this.workCells[day + i], moreIndicatorElement);
7596
- EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
7565
+ const cellTd = this.workCells[day + i];
7566
+ if (cellTd && isNullOrUndefined(cellTd.querySelector('.' + MORE_INDICATOR_CLASS))) {
7567
+ const startDate = new Date(this.dateRender[day + i].getTime());
7568
+ const endDate = addDays(this.dateRender[day + i], 1);
7569
+ const groupIndex = cellTd.getAttribute('data-group-index');
7570
+ const filterEvents = this.getFilteredEvents(startDate, endDate, groupIndex);
7571
+ const appArea = this.cellHeight - this.monthHeaderHeight - this.moreIndicatorHeight;
7572
+ appHeight = this.withIndicator ? appArea : appHeight;
7573
+ const renderedAppCount = Math.floor(appArea / (appHeight + EVENT_GAP));
7574
+ const count = (filterEvents.length - renderedAppCount) <= 0 ? 1 : (filterEvents.length - renderedAppCount);
7575
+ const moreIndicatorElement = this.getMoreIndicatorElement(count, startDate, endDate);
7576
+ if (!isNullOrUndefined(groupIndex)) {
7577
+ moreIndicatorElement.setAttribute('data-group-index', groupIndex);
7597
7578
  }
7579
+ moreIndicatorElement.style.top = appArea + 'px';
7580
+ moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
7581
+ this.renderElement(cellTd, moreIndicatorElement);
7582
+ EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
7598
7583
  }
7599
7584
  }
7600
7585
  }
@@ -7630,8 +7615,8 @@ class MonthEvent extends EventBase {
7630
7615
  }
7631
7616
  getOverlapEvents(date, appointments) {
7632
7617
  const appointmentsList = [];
7633
- const dateTime = resetTime(date).getTime();
7634
7618
  for (const app of appointments) {
7619
+ const dateTime = resetTime(date).getTime();
7635
7620
  if ((resetTime(app[this.fields.startTime]).getTime() <= dateTime) &&
7636
7621
  (resetTime(app[this.fields.endTime]).getTime() >= dateTime)) {
7637
7622
  appointmentsList.push(app);
@@ -7712,10 +7697,9 @@ class MonthEvent extends EventBase {
7712
7697
  getMoreIndicatorElement(count, startDate, endDate) {
7713
7698
  const moreIndicatorElement = createElement('div', {
7714
7699
  className: MORE_INDICATOR_CLASS,
7715
- innerHTML: this.getMoreIndicatorText(count),
7700
+ innerHTML: '+' + this.parent.globalize.formatNumber(count) + '&nbsp;' + (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more')),
7716
7701
  attrs: {
7717
7702
  'tabindex': '0',
7718
- 'data-count': count.toString(),
7719
7703
  'data-start-date': startDate.getTime().toString(),
7720
7704
  'data-end-date': endDate.getTime().toString(),
7721
7705
  'role': 'list'
@@ -7723,9 +7707,6 @@ class MonthEvent extends EventBase {
7723
7707
  });
7724
7708
  return moreIndicatorElement;
7725
7709
  }
7726
- getMoreIndicatorText(count) {
7727
- return '+' + this.parent.globalize.formatNumber(count) + '&nbsp;' + (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more'));
7728
- }
7729
7710
  removeHeightProperty(selector) {
7730
7711
  const rows = [].slice.call(this.element.querySelectorAll('.' + selector + ' tbody tr'));
7731
7712
  for (const row of rows) {
@@ -11750,8 +11731,7 @@ class EventWindow {
11750
11731
  return labelText;
11751
11732
  }
11752
11733
  onChange(args) {
11753
- const targetSelector = `.${EVENT_WINDOW_ALL_DAY_CLASS},.${TIME_ZONE_CLASS},.${EVENT_WINDOW_REPEAT_CLASS}`;
11754
- const target = closest(args.event.target, targetSelector);
11734
+ const target = args.event.currentTarget.querySelector('input');
11755
11735
  if (target.classList.contains(EVENT_WINDOW_ALL_DAY_CLASS)) {
11756
11736
  this.onAllDayChange(args.checked);
11757
11737
  }
@@ -11915,8 +11895,7 @@ class EventWindow {
11915
11895
  }
11916
11896
  showDetails(eventData) {
11917
11897
  const eventObj = extend({}, eventData, null, true);
11918
- if ((!this.cellClickAction || this.cellClickAction && !isNullOrUndefined(this.parent.editorTemplate)) &&
11919
- eventObj[this.fields.endTime].getHours() === 0 && eventObj[this.fields.endTime].getMinutes() === 0) {
11898
+ if (eventObj[this.fields.endTime].getHours() === 0 && eventObj[this.fields.endTime].getMinutes() === 0) {
11920
11899
  this.trimAllDay(eventObj);
11921
11900
  }
11922
11901
  this.eventData = eventObj;
@@ -13204,8 +13183,7 @@ class Render {
13204
13183
  this.parent.virtualScrollModule.destroy();
13205
13184
  this.parent.virtualScrollModule = null;
13206
13185
  }
13207
- if (this.parent.currentView.indexOf('Timeline') !== -1 && (this.parent.currentView.indexOf('Year') === -1 ||
13208
- (this.parent.currentView === 'TimelineYear' && this.parent.activeViewOptions.orientation === 'Vertical'))
13186
+ if (this.parent.currentView.indexOf('Timeline') !== -1 && this.parent.currentView.indexOf('Year') === -1
13209
13187
  && this.parent.activeViewOptions.allowVirtualScrolling
13210
13188
  && this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
13211
13189
  this.parent.virtualScrollModule = new VirtualScroll(this.parent);
@@ -15751,7 +15729,6 @@ let Schedule = class Schedule extends Component {
15751
15729
  };
15752
15730
  this.trigger(navigating, navArgs, (navigationArgs) => {
15753
15731
  if (!navigationArgs.cancel) {
15754
- this.uiStateValues.isInitial = ['TimelineMonth', 'TimelineYear', 'Year'].indexOf(view) > -1 ? true : this.uiStateValues.isInitial;
15755
15732
  this.viewIndex = navigationArgs.viewIndex;
15756
15733
  this.setProperties({ currentView: view }, true);
15757
15734
  if (this.headerModule) {
@@ -16370,9 +16347,6 @@ let Schedule = class Schedule extends Component {
16370
16347
  if (document.querySelectorAll(template).length) {
16371
16348
  return compile(document.querySelector(template).innerHTML.trim());
16372
16349
  }
16373
- else {
16374
- return compile(template);
16375
- }
16376
16350
  }
16377
16351
  catch (error) {
16378
16352
  return compile(template);
@@ -19178,9 +19152,7 @@ class YearEvent extends TimelineEvent {
19178
19152
  this.eventHeight = getElementHeightFromClass(eventTable, APPOINTMENT_CLASS);
19179
19153
  const wrapperCollection = [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_CONTAINER_CLASS));
19180
19154
  const resources = this.parent.uiStateValues.isGroupAdaptive ?
19181
- [this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] :
19182
- this.parent.activeViewOptions.allowVirtualScrolling ? this.parent.resourceBase.renderedResources :
19183
- this.parent.resourceBase.lastResourceLevel;
19155
+ [this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] : this.parent.resourceBase.lastResourceLevel;
19184
19156
  const months = this.getMonths();
19185
19157
  if (this.parent.activeViewOptions.orientation === 'Horizontal') {
19186
19158
  for (let month = 0; month < months.length; month++) {
@@ -21959,9 +21931,8 @@ class VerticalView extends ViewBase {
21959
21931
  const msStartHour = startHour.getTime();
21960
21932
  const msEndHour = endHour.getTime();
21961
21933
  if (msStartHour !== msEndHour) {
21962
- const duration = this.parent.activeViewOptions.timeScale.interval / this.parent.activeViewOptions.timeScale.slotCount;
21963
21934
  length = (Math.abs(msEndHour - msStartHour) / msInterval) - ((new Date(msEndHour).getTimezoneOffset()
21964
- - new Date(msStartHour).getTimezoneOffset()) / duration);
21935
+ - new Date(msStartHour).getTimezoneOffset()) / (60 / this.parent.activeViewOptions.timeScale.slotCount));
21965
21936
  }
21966
21937
  if (!this.parent.activeViewOptions.timeScale.enable) {
21967
21938
  length = 1;
@@ -22171,16 +22142,16 @@ class Month extends ViewBase {
22171
22142
  }
22172
22143
  this.setColWidth(content);
22173
22144
  if (args.scrollPosition || !args.isPreventScrollUpdate && this.parent.currentView === 'TimelineMonth') {
22174
- const top = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.top : args.scrollPosition.top;
22175
- if (leftPanel) {
22176
- leftPanel.scrollTop = top;
22177
- }
22178
- content.scrollTop = top;
22179
22145
  if (this.parent.uiStateValues.isInitial) {
22180
22146
  this.scrollToSelectedDate();
22181
22147
  this.parent.uiStateValues.isInitial = false;
22182
22148
  }
22183
22149
  else {
22150
+ const top = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.top : args.scrollPosition.top;
22151
+ if (leftPanel) {
22152
+ leftPanel.scrollTop = top;
22153
+ }
22154
+ content.scrollTop = top;
22184
22155
  content.scrollLeft = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.left :
22185
22156
  args.scrollPosition.left;
22186
22157
  }
@@ -22201,9 +22172,6 @@ class Month extends ViewBase {
22201
22172
  else {
22202
22173
  content.scrollLeft = 0;
22203
22174
  }
22204
- if (content.scrollLeft === 0 && this.parent.uiStateValues.isInitial) {
22205
- this.parent.uiStateValues.left = 0;
22206
- }
22207
22175
  }
22208
22176
  setContentHeight(content, leftPanelElement, height) {
22209
22177
  content.style.height = 'auto';
@@ -22759,9 +22727,6 @@ class Year extends ViewBase {
22759
22727
  const viewTypeClass = this.parent.activeViewOptions.orientation === 'Horizontal' ? 'e-horizontal' : 'e-vertical';
22760
22728
  addClass([this.element], [this.viewClass, viewTypeClass, className]);
22761
22729
  this.renderPanel(className);
22762
- if (this.parent.activeViewOptions.allowVirtualScrolling) {
22763
- addClass([this.element], [VIRTUAL_SCROLL_CLASS]);
22764
- }
22765
22730
  const calendarTable = this.createTableLayout(OUTER_TABLE_CLASS);
22766
22731
  this.element.appendChild(calendarTable);
22767
22732
  this.element.querySelector('table').setAttribute('role', 'presentation');
@@ -22974,7 +22939,6 @@ class Year extends ViewBase {
22974
22939
  onContentScroll(e) {
22975
22940
  const target = e.target;
22976
22941
  const headerWrapper = this.getDatesHeaderElement();
22977
- this.parent.notify(virtualScroll, e);
22978
22942
  if (headerWrapper) {
22979
22943
  headerWrapper.firstElementChild.scrollLeft = target.scrollLeft;
22980
22944
  }
@@ -23131,7 +23095,7 @@ class AgendaBase extends ViewBase {
23131
23095
  moduleName: 'agenda',
23132
23096
  listClass: this.parent.activeView.viewClass,
23133
23097
  itemClass: this.parent.activeView.viewClass,
23134
- template: `<div class="${AGENDA_NO_EVENT_CLASS}">${this.parent.localeObj.getConstant('noEvents')}</div>`
23098
+ template: '<div class=' + AGENDA_NO_EVENT_CLASS + '>${subject}</div>'
23135
23099
  });
23136
23100
  }
23137
23101
  else {
@@ -24675,7 +24639,7 @@ class TimelineYear extends Year {
24675
24639
  !this.parent.uiStateValues.isGroupAdaptive) {
24676
24640
  tdCollection.push(firstTd);
24677
24641
  firstTd.appendChild(this.parent.resourceBase.createResourceColumn());
24678
- this.rowCount = this.parent.resourceBase.renderedResources.length;
24642
+ this.rowCount = this.parent.resourceBase.lastResourceLevel.length;
24679
24643
  }
24680
24644
  else {
24681
24645
  tdCollection.push(firstTd);
@@ -24692,9 +24656,6 @@ class TimelineYear extends Year {
24692
24656
  content.appendChild(contentTable);
24693
24657
  const eventWrapper = createElement('div', { className: EVENT_TABLE_CLASS });
24694
24658
  content.appendChild(eventWrapper);
24695
- if (this.parent.virtualScrollModule) {
24696
- this.parent.virtualScrollModule.renderVirtualTrack(content);
24697
- }
24698
24659
  const contentTBody = contentTable.querySelector('tbody');
24699
24660
  if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
24700
24661
  if (this.parent.rowAutoHeight) {
@@ -24812,47 +24773,6 @@ class TimelineYear extends Year {
24812
24773
  }
24813
24774
  }
24814
24775
  }
24815
- getContentRows() {
24816
- const tRow = [];
24817
- const monthCells = this.getMonths();
24818
- for (let row = 0; row < this.parent.resourceBase.renderedResources.length; row++) {
24819
- const tr = createElement('tr', { attrs: { 'role': 'row' } });
24820
- tRow.push(tr);
24821
- let resData;
24822
- if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
24823
- resData = this.parent.resourceBase.renderedResources[row];
24824
- }
24825
- let monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[row], 1);
24826
- let date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
24827
- for (let month = 0; month < this.columnCount; month++) {
24828
- let classList$$1 = [];
24829
- const groupIndex = resData.groupIndex;
24830
- classList$$1 = classList$$1.concat(resData.className);
24831
- if (classList$$1.indexOf(RESOURCE_PARENT_CLASS) > -1) {
24832
- classList$$1.push(RESOURCE_GROUP_CELLS_CLASS);
24833
- }
24834
- else {
24835
- classList$$1.push(WORKDAY_CLASS);
24836
- }
24837
- monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[month], 1);
24838
- date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
24839
- const tdELe = createElement('td', {
24840
- className: WORK_CELLS_CLASS,
24841
- attrs: {
24842
- 'role': 'gridcell', 'aria-selected': 'false',
24843
- 'data-date': date.getTime().toString()
24844
- }
24845
- });
24846
- addClass([tdELe], classList$$1);
24847
- tdELe.setAttribute('data-group-index', groupIndex.toString());
24848
- this.renderCellTemplate({ date: date, type: 'resourceGroupCells', groupIndex: groupIndex }, tdELe);
24849
- this.wireEvents(tdELe, 'cell');
24850
- this.parent.trigger(renderCell, { elementType: 'resourceGroupCells', element: tdELe, date: date });
24851
- tr.appendChild(tdELe);
24852
- }
24853
- }
24854
- return tRow;
24855
- }
24856
24776
  renderResourceContent(wrapper, monthBody, contentBody) {
24857
24777
  const months = this.getMonths();
24858
24778
  for (let row = 0; row < this.rowCount; row++) {
@@ -24860,8 +24780,8 @@ class TimelineYear extends Year {
24860
24780
  const tr = createElement('tr', { attrs: { 'role': 'row' } });
24861
24781
  contentBody.appendChild(tr);
24862
24782
  let resData;
24863
- if (this.parent.activeViewOptions.orientation === 'Vertical' && this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
24864
- resData = this.parent.resourceBase.renderedResources[row];
24783
+ if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
24784
+ resData = this.parent.resourceBase.lastResourceLevel[row];
24865
24785
  }
24866
24786
  let monthDate = new Date(this.parent.selectedDate.getFullYear(), months[row], 1);
24867
24787
  let date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
@@ -24882,9 +24802,8 @@ class TimelineYear extends Year {
24882
24802
  }
24883
24803
  for (let month = 0; month < this.columnCount; month++) {
24884
24804
  let classList$$1 = [];
24885
- let groupIndex;
24805
+ let groupIndex = row;
24886
24806
  if (this.parent.activeViewOptions.orientation === 'Vertical') {
24887
- groupIndex = resData.groupIndex;
24888
24807
  classList$$1 = classList$$1.concat(resData.className);
24889
24808
  if (classList$$1.indexOf(RESOURCE_PARENT_CLASS) > -1) {
24890
24809
  classList$$1.push(RESOURCE_GROUP_CELLS_CLASS);
@@ -24986,7 +24905,7 @@ class ICalendarExport {
24986
24905
  const editedExDate = [];
24987
24906
  if (eventObj[fields.recurrenceID]) {
24988
24907
  const filter = this.filterEvents(filterCollection, fields.id, eventObj[fields.recurrenceID]);
24989
- uId = filter.length > 0 ? filter[0].UID : uId;
24908
+ uId = filter[0].UID;
24990
24909
  }
24991
24910
  if (!eventObj[fields.recurrenceID] && eventObj[fields.recurrenceRule] && eventObj[fields.recurrenceException]) {
24992
24911
  const exDate = (eventObj[fields.recurrenceException]).split(',');