@syncfusion/ej2-schedule 20.1.47 → 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);
@@ -7082,7 +7078,6 @@ class MonthEvent extends EventBase {
7082
7078
  constructor(parent) {
7083
7079
  super(parent);
7084
7080
  this.renderedEvents = [];
7085
- this.eventsRendered = [];
7086
7081
  this.monthHeaderHeight = 0;
7087
7082
  this.moreIndicatorHeight = 19;
7088
7083
  this.renderType = 'day';
@@ -7101,7 +7096,7 @@ class MonthEvent extends EventBase {
7101
7096
  if (appElement.length > 0) {
7102
7097
  appElement = (this.parent.currentView === 'Month') ? appElement : [appElement[0]];
7103
7098
  for (const wrap of appElement) {
7104
- if (wrap.parentElement && wrap.parentElement.parentNode) {
7099
+ if (!wrap.classList.contains('e-more-indicator') && wrap.parentElement && wrap.parentElement.parentNode) {
7105
7100
  remove(wrap.parentElement);
7106
7101
  }
7107
7102
  }
@@ -7196,7 +7191,6 @@ class MonthEvent extends EventBase {
7196
7191
  }
7197
7192
  renderEventsHandler(dateRender, workDays, resData) {
7198
7193
  this.renderedEvents = [];
7199
- this.eventsRendered = [];
7200
7194
  let eventsList;
7201
7195
  let blockList;
7202
7196
  let resIndex = 0;
@@ -7540,16 +7534,16 @@ class MonthEvent extends EventBase {
7540
7534
  }
7541
7535
  const overlapCount = this.getIndex(startTime);
7542
7536
  event.Index = overlapCount;
7537
+ let appHeight = this.eventHeight;
7543
7538
  this.renderedEvents.push(extend({}, event, null, true));
7544
7539
  const diffInDays = event.data.count;
7545
7540
  if (startTime.getTime() <= endTime.getTime()) {
7546
7541
  const appWidth = (diffInDays * this.cellWidth) - 5;
7547
7542
  const cellTd = this.workCells[day];
7548
- const appTop = (overlapCount * (this.eventHeight + EVENT_GAP));
7549
- 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;
7550
7545
  const enableAppRender = this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
7551
7546
  if (this.parent.rowAutoHeight || enableAppRender) {
7552
- this.eventsRendered.push(extend({}, event, null, true));
7553
7547
  let appointmentElement;
7554
7548
  if (this.inlineValue) {
7555
7549
  appointmentElement = this.parent.inlineModule.createInlineAppointmentElement();
@@ -7565,37 +7559,28 @@ class MonthEvent extends EventBase {
7565
7559
  const firstChild = cellTd.parentElement.firstElementChild;
7566
7560
  this.updateCellHeight(firstChild, height);
7567
7561
  }
7568
- else if (cellTd.querySelector('.' + MORE_INDICATOR_CLASS)) {
7569
- this.renderMoreIndicators(diffInDays, day);
7570
- }
7571
7562
  }
7572
7563
  else {
7573
- this.renderMoreIndicators(diffInDays, day);
7574
- }
7575
- }
7576
- }
7577
- renderMoreIndicators(diffInDays, day) {
7578
- for (let i = 0; i < diffInDays; i++) {
7579
- if (this.workCells[day + i]) {
7580
- const startDate = new Date(this.dateRender[day + i].getTime());
7581
- const endDate = addDays(this.dateRender[day + i], 1);
7582
- const groupIndex = this.workCells[day + i].getAttribute('data-group-index');
7583
- const filterEvents = this.getFilteredEvents(startDate, endDate, groupIndex);
7584
- const renderedAppCount = this.getOverlapEvents(startDate, this.eventsRendered).length;
7585
- const count = (filterEvents.length - renderedAppCount) <= 0 ? 1 : (filterEvents.length - renderedAppCount);
7586
- const indicator = this.workCells[day + i].querySelector('.' + MORE_INDICATOR_CLASS);
7587
- if (indicator) {
7588
- indicator.innerHTML = this.getMoreIndicatorText(count);
7589
- }
7590
- else {
7591
- const moreIndicatorElement = this.getMoreIndicatorElement(count, startDate, endDate);
7592
- if (!isNullOrUndefined(groupIndex)) {
7593
- moreIndicatorElement.setAttribute('data-group-index', groupIndex);
7564
+ for (let i = 0; i < diffInDays; i++) {
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);
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);
7594
7583
  }
7595
- moreIndicatorElement.style.top = (this.cellHeight - this.monthHeaderHeight - this.moreIndicatorHeight) + 'px';
7596
- moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
7597
- this.renderElement(this.workCells[day + i], moreIndicatorElement);
7598
- EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
7599
7584
  }
7600
7585
  }
7601
7586
  }
@@ -7712,7 +7697,7 @@ 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
7703
  'data-start-date': startDate.getTime().toString(),
@@ -7722,9 +7707,6 @@ class MonthEvent extends EventBase {
7722
7707
  });
7723
7708
  return moreIndicatorElement;
7724
7709
  }
7725
- getMoreIndicatorText(count) {
7726
- return '+' + this.parent.globalize.formatNumber(count) + '&nbsp;' + (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more'));
7727
- }
7728
7710
  removeHeightProperty(selector) {
7729
7711
  const rows = [].slice.call(this.element.querySelectorAll('.' + selector + ' tbody tr'));
7730
7712
  for (const row of rows) {
@@ -11749,8 +11731,7 @@ class EventWindow {
11749
11731
  return labelText;
11750
11732
  }
11751
11733
  onChange(args) {
11752
- const targetSelector = `.${EVENT_WINDOW_ALL_DAY_CLASS},.${TIME_ZONE_CLASS},.${EVENT_WINDOW_REPEAT_CLASS}`;
11753
- const target = closest(args.event.target, targetSelector);
11734
+ const target = args.event.currentTarget.querySelector('input');
11754
11735
  if (target.classList.contains(EVENT_WINDOW_ALL_DAY_CLASS)) {
11755
11736
  this.onAllDayChange(args.checked);
11756
11737
  }
@@ -11914,8 +11895,7 @@ class EventWindow {
11914
11895
  }
11915
11896
  showDetails(eventData) {
11916
11897
  const eventObj = extend({}, eventData, null, true);
11917
- if ((!this.cellClickAction || this.cellClickAction && !isNullOrUndefined(this.parent.editorTemplate)) &&
11918
- 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) {
11919
11899
  this.trimAllDay(eventObj);
11920
11900
  }
11921
11901
  this.eventData = eventObj;
@@ -13203,8 +13183,7 @@ class Render {
13203
13183
  this.parent.virtualScrollModule.destroy();
13204
13184
  this.parent.virtualScrollModule = null;
13205
13185
  }
13206
- if (this.parent.currentView.indexOf('Timeline') !== -1 && (this.parent.currentView.indexOf('Year') === -1 ||
13207
- (this.parent.currentView === 'TimelineYear' && this.parent.activeViewOptions.orientation === 'Vertical'))
13186
+ if (this.parent.currentView.indexOf('Timeline') !== -1 && this.parent.currentView.indexOf('Year') === -1
13208
13187
  && this.parent.activeViewOptions.allowVirtualScrolling
13209
13188
  && this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
13210
13189
  this.parent.virtualScrollModule = new VirtualScroll(this.parent);
@@ -15750,7 +15729,6 @@ let Schedule = class Schedule extends Component {
15750
15729
  };
15751
15730
  this.trigger(navigating, navArgs, (navigationArgs) => {
15752
15731
  if (!navigationArgs.cancel) {
15753
- this.uiStateValues.isInitial = ['TimelineMonth', 'TimelineYear', 'Year'].indexOf(view) > -1 ? true : this.uiStateValues.isInitial;
15754
15732
  this.viewIndex = navigationArgs.viewIndex;
15755
15733
  this.setProperties({ currentView: view }, true);
15756
15734
  if (this.headerModule) {
@@ -16369,9 +16347,6 @@ let Schedule = class Schedule extends Component {
16369
16347
  if (document.querySelectorAll(template).length) {
16370
16348
  return compile(document.querySelector(template).innerHTML.trim());
16371
16349
  }
16372
- else {
16373
- return compile(template);
16374
- }
16375
16350
  }
16376
16351
  catch (error) {
16377
16352
  return compile(template);
@@ -19177,9 +19152,7 @@ class YearEvent extends TimelineEvent {
19177
19152
  this.eventHeight = getElementHeightFromClass(eventTable, APPOINTMENT_CLASS);
19178
19153
  const wrapperCollection = [].slice.call(this.parent.element.querySelectorAll('.' + APPOINTMENT_CONTAINER_CLASS));
19179
19154
  const resources = this.parent.uiStateValues.isGroupAdaptive ?
19180
- [this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] :
19181
- this.parent.activeViewOptions.allowVirtualScrolling ? this.parent.resourceBase.renderedResources :
19182
- this.parent.resourceBase.lastResourceLevel;
19155
+ [this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] : this.parent.resourceBase.lastResourceLevel;
19183
19156
  const months = this.getMonths();
19184
19157
  if (this.parent.activeViewOptions.orientation === 'Horizontal') {
19185
19158
  for (let month = 0; month < months.length; month++) {
@@ -22169,16 +22142,16 @@ class Month extends ViewBase {
22169
22142
  }
22170
22143
  this.setColWidth(content);
22171
22144
  if (args.scrollPosition || !args.isPreventScrollUpdate && this.parent.currentView === 'TimelineMonth') {
22172
- const top = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.top : args.scrollPosition.top;
22173
- if (leftPanel) {
22174
- leftPanel.scrollTop = top;
22175
- }
22176
- content.scrollTop = top;
22177
22145
  if (this.parent.uiStateValues.isInitial) {
22178
22146
  this.scrollToSelectedDate();
22179
22147
  this.parent.uiStateValues.isInitial = false;
22180
22148
  }
22181
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;
22182
22155
  content.scrollLeft = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.left :
22183
22156
  args.scrollPosition.left;
22184
22157
  }
@@ -22199,9 +22172,6 @@ class Month extends ViewBase {
22199
22172
  else {
22200
22173
  content.scrollLeft = 0;
22201
22174
  }
22202
- if (content.scrollLeft === 0 && this.parent.uiStateValues.isInitial) {
22203
- this.parent.uiStateValues.left = 0;
22204
- }
22205
22175
  }
22206
22176
  setContentHeight(content, leftPanelElement, height) {
22207
22177
  content.style.height = 'auto';
@@ -22757,9 +22727,6 @@ class Year extends ViewBase {
22757
22727
  const viewTypeClass = this.parent.activeViewOptions.orientation === 'Horizontal' ? 'e-horizontal' : 'e-vertical';
22758
22728
  addClass([this.element], [this.viewClass, viewTypeClass, className]);
22759
22729
  this.renderPanel(className);
22760
- if (this.parent.activeViewOptions.allowVirtualScrolling) {
22761
- addClass([this.element], [VIRTUAL_SCROLL_CLASS]);
22762
- }
22763
22730
  const calendarTable = this.createTableLayout(OUTER_TABLE_CLASS);
22764
22731
  this.element.appendChild(calendarTable);
22765
22732
  this.element.querySelector('table').setAttribute('role', 'presentation');
@@ -22972,7 +22939,6 @@ class Year extends ViewBase {
22972
22939
  onContentScroll(e) {
22973
22940
  const target = e.target;
22974
22941
  const headerWrapper = this.getDatesHeaderElement();
22975
- this.parent.notify(virtualScroll, e);
22976
22942
  if (headerWrapper) {
22977
22943
  headerWrapper.firstElementChild.scrollLeft = target.scrollLeft;
22978
22944
  }
@@ -23129,7 +23095,7 @@ class AgendaBase extends ViewBase {
23129
23095
  moduleName: 'agenda',
23130
23096
  listClass: this.parent.activeView.viewClass,
23131
23097
  itemClass: this.parent.activeView.viewClass,
23132
- template: `<div class="${AGENDA_NO_EVENT_CLASS}">${this.parent.localeObj.getConstant('noEvents')}</div>`
23098
+ template: '<div class=' + AGENDA_NO_EVENT_CLASS + '>${subject}</div>'
23133
23099
  });
23134
23100
  }
23135
23101
  else {
@@ -24673,7 +24639,7 @@ class TimelineYear extends Year {
24673
24639
  !this.parent.uiStateValues.isGroupAdaptive) {
24674
24640
  tdCollection.push(firstTd);
24675
24641
  firstTd.appendChild(this.parent.resourceBase.createResourceColumn());
24676
- this.rowCount = this.parent.resourceBase.renderedResources.length;
24642
+ this.rowCount = this.parent.resourceBase.lastResourceLevel.length;
24677
24643
  }
24678
24644
  else {
24679
24645
  tdCollection.push(firstTd);
@@ -24690,9 +24656,6 @@ class TimelineYear extends Year {
24690
24656
  content.appendChild(contentTable);
24691
24657
  const eventWrapper = createElement('div', { className: EVENT_TABLE_CLASS });
24692
24658
  content.appendChild(eventWrapper);
24693
- if (this.parent.virtualScrollModule) {
24694
- this.parent.virtualScrollModule.renderVirtualTrack(content);
24695
- }
24696
24659
  const contentTBody = contentTable.querySelector('tbody');
24697
24660
  if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
24698
24661
  if (this.parent.rowAutoHeight) {
@@ -24810,47 +24773,6 @@ class TimelineYear extends Year {
24810
24773
  }
24811
24774
  }
24812
24775
  }
24813
- getContentRows() {
24814
- const tRow = [];
24815
- const monthCells = this.getMonths();
24816
- for (let row = 0; row < this.parent.resourceBase.renderedResources.length; row++) {
24817
- const tr = createElement('tr', { attrs: { 'role': 'row' } });
24818
- tRow.push(tr);
24819
- let resData;
24820
- if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
24821
- resData = this.parent.resourceBase.renderedResources[row];
24822
- }
24823
- let monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[row], 1);
24824
- let date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
24825
- for (let month = 0; month < this.columnCount; month++) {
24826
- let classList$$1 = [];
24827
- const groupIndex = resData.groupIndex;
24828
- classList$$1 = classList$$1.concat(resData.className);
24829
- if (classList$$1.indexOf(RESOURCE_PARENT_CLASS) > -1) {
24830
- classList$$1.push(RESOURCE_GROUP_CELLS_CLASS);
24831
- }
24832
- else {
24833
- classList$$1.push(WORKDAY_CLASS);
24834
- }
24835
- monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[month], 1);
24836
- date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
24837
- const tdELe = createElement('td', {
24838
- className: WORK_CELLS_CLASS,
24839
- attrs: {
24840
- 'role': 'gridcell', 'aria-selected': 'false',
24841
- 'data-date': date.getTime().toString()
24842
- }
24843
- });
24844
- addClass([tdELe], classList$$1);
24845
- tdELe.setAttribute('data-group-index', groupIndex.toString());
24846
- this.renderCellTemplate({ date: date, type: 'resourceGroupCells', groupIndex: groupIndex }, tdELe);
24847
- this.wireEvents(tdELe, 'cell');
24848
- this.parent.trigger(renderCell, { elementType: 'resourceGroupCells', element: tdELe, date: date });
24849
- tr.appendChild(tdELe);
24850
- }
24851
- }
24852
- return tRow;
24853
- }
24854
24776
  renderResourceContent(wrapper, monthBody, contentBody) {
24855
24777
  const months = this.getMonths();
24856
24778
  for (let row = 0; row < this.rowCount; row++) {
@@ -24858,8 +24780,8 @@ class TimelineYear extends Year {
24858
24780
  const tr = createElement('tr', { attrs: { 'role': 'row' } });
24859
24781
  contentBody.appendChild(tr);
24860
24782
  let resData;
24861
- if (this.parent.activeViewOptions.orientation === 'Vertical' && this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
24862
- 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];
24863
24785
  }
24864
24786
  let monthDate = new Date(this.parent.selectedDate.getFullYear(), months[row], 1);
24865
24787
  let date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
@@ -24880,9 +24802,8 @@ class TimelineYear extends Year {
24880
24802
  }
24881
24803
  for (let month = 0; month < this.columnCount; month++) {
24882
24804
  let classList$$1 = [];
24883
- let groupIndex;
24805
+ let groupIndex = row;
24884
24806
  if (this.parent.activeViewOptions.orientation === 'Vertical') {
24885
- groupIndex = resData.groupIndex;
24886
24807
  classList$$1 = classList$$1.concat(resData.className);
24887
24808
  if (classList$$1.indexOf(RESOURCE_PARENT_CLASS) > -1) {
24888
24809
  classList$$1.push(RESOURCE_GROUP_CELLS_CLASS);