@syncfusion/ej2-schedule 27.1.53 → 27.1.56

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.
@@ -66,6 +66,14 @@ const cellSelect = 'cellSelect';
66
66
  const virtualScrollStart = 'virtualScrollStart';
67
67
  /** @private */
68
68
  const virtualScrollStop = 'virtualScrollStop';
69
+ /** @private */
70
+ const noEvents = 'noEvents';
71
+ /** @private */
72
+ const agendaCells = 'agendaCells';
73
+ /** @private */
74
+ const resourceHeader = 'resourceHeader';
75
+ /** @private */
76
+ const dateHeader = 'dateHeader';
69
77
  /**
70
78
  * Specifies schedule internal events
71
79
  */
@@ -8808,13 +8816,8 @@ class TimelineEvent extends MonthEvent {
8808
8816
  }
8809
8817
  }
8810
8818
  getSameDayEventsWidth(startDate, endDate) {
8811
- let intervalMins = this.interval;
8812
- if (this.slotsPerDay === 1) {
8813
- const hoursRange = getStartEndHours(resetTime(new Date(startDate.getTime())), this.startHour, this.endHour);
8814
- intervalMins = (hoursRange.endHour.getTime() - hoursRange.startHour.getTime()) / MS_PER_MINUTE;
8815
- }
8816
8819
  return ((getUniversalTime(endDate) - getUniversalTime(startDate)) /
8817
- MS_PER_MINUTE * (this.cellWidth * this.slotCount) / intervalMins);
8820
+ MS_PER_MINUTE * (this.cellWidth * this.slotCount) / this.getIntervalInMinutes(startDate));
8818
8821
  }
8819
8822
  getSpannedEventsWidth(startDate, endDate, diffInDays) {
8820
8823
  const width = (diffInDays * this.slotsPerDay) * this.cellWidth;
@@ -8840,13 +8843,13 @@ class TimelineEvent extends MonthEvent {
8840
8843
  getAppointmentLeft(schedule, startTime, day) {
8841
8844
  const slotTd = (this.isSameDay(startTime, schedule.startHour)) ?
8842
8845
  ((getUniversalTime(startTime) - getUniversalTime(schedule.startHour)) /
8843
- (MS_PER_MINUTE * this.interval)) * this.slotCount : 0;
8846
+ (MS_PER_MINUTE * this.getIntervalInMinutes(startTime))) * this.slotCount : 0;
8844
8847
  if (day === 0) {
8845
8848
  return slotTd;
8846
8849
  }
8847
8850
  else {
8848
8851
  const daySlot = Math.round((((getUniversalTime(schedule.endHour) - getUniversalTime(schedule.startHour)) /
8849
- MS_PER_MINUTE) / this.interval) * this.slotCount);
8852
+ MS_PER_MINUTE) / this.getIntervalInMinutes(startTime)) * this.slotCount);
8850
8853
  return (daySlot * day) + slotTd;
8851
8854
  }
8852
8855
  }
@@ -8879,6 +8882,13 @@ class TimelineEvent extends MonthEvent {
8879
8882
  return this.getFilteredEvents(startTime, endTime, gIndex, eventsList);
8880
8883
  }
8881
8884
  }
8885
+ getIntervalInMinutes(startDate) {
8886
+ if (this.slotsPerDay !== 1) {
8887
+ return this.interval;
8888
+ }
8889
+ const hoursRange = getStartEndHours(resetTime(new Date(startDate.getTime())), this.startHour, this.endHour);
8890
+ return (hoursRange.endHour.getTime() - hoursRange.startHour.getTime()) / MS_PER_MINUTE;
8891
+ }
8882
8892
  isAlreadyAvail(appPos, cellTd) {
8883
8893
  const moreIndicator = [].slice.call(cellTd.querySelectorAll('.' + MORE_INDICATOR_CLASS));
8884
8894
  for (let i = 0; i < moreIndicator.length; i++) {
@@ -25932,12 +25942,24 @@ class AgendaBase extends ViewBase {
25932
25942
  }
25933
25943
  else if (data.type === 'eventColumn') {
25934
25944
  const elementType = (data.eventData.length === 0) ? 'noEvents' : 'data';
25945
+ for (let i = 0; i < ntr.childNodes.length; i++) {
25946
+ const currentElement = ntr.childNodes.item(i);
25947
+ const renderCellElementType = currentElement.classList.contains('e-resource-column') ?
25948
+ resourceHeader : dateHeader;
25949
+ this.parent.trigger(renderCell, {
25950
+ elementType: renderCellElementType, element: currentElement, date: data.date, groupIndex: data.groupIndex
25951
+ });
25952
+ }
25935
25953
  ntd = this.createAgendaContentElement(elementType, data.eventData, ntd, data.groupOrder, data.groupIndex);
25936
25954
  ntd.setAttribute('data-date', data.date.getTime().toString());
25937
25955
  if (this.parent.activeViewOptions.group.byDate || this.parent.currentView === 'MonthAgenda') {
25938
25956
  addClass([ntd], [AGENDA_CELLS_CLASS, AGENDA_DAY_PADDING_CLASS]);
25939
25957
  }
25940
25958
  ntr.appendChild(ntd);
25959
+ const renderCellType = (data.eventData.length === 0) ? noEvents : agendaCells;
25960
+ this.parent.trigger(renderCell, {
25961
+ elementType: renderCellType, element: ntd, date: data.date, groupIndex: data.groupIndex
25962
+ });
25941
25963
  }
25942
25964
  else {
25943
25965
  ntd.setAttribute('rowspan', data.rowSpan.toString());
@@ -25978,15 +26000,18 @@ class AgendaBase extends ViewBase {
25978
26000
  }
25979
26001
  return dateHeader;
25980
26002
  }
25981
- renderEmptyContent(tBody, agendaDate) {
26003
+ renderEmptyContent(tBody, agendaDate, hasNoEvents) {
25982
26004
  const eTr = this.createTableRowElement(agendaDate, 'noEvents');
25983
26005
  const eTd = eTr.children[0];
25984
- const noEvents = createElement('div', {
26006
+ const noEvents$1 = createElement('div', {
25985
26007
  className: AGENDA_EMPTY_EVENT_CLASS,
25986
26008
  innerHTML: this.parent.localeObj.getConstant('noEvents')
25987
26009
  });
25988
- eTd.appendChild(noEvents);
26010
+ eTd.appendChild(noEvents$1);
25989
26011
  tBody.appendChild(eTr);
26012
+ if (hasNoEvents) {
26013
+ this.parent.trigger(renderCell, { elementType: noEvents, element: eTd, date: agendaDate });
26014
+ }
25990
26015
  }
25991
26016
  createTableRowElement(date, type) {
25992
26017
  const daysCount = getDaysCount(this.parent.selectedDate.getTime(), date.getTime());
@@ -26133,7 +26158,7 @@ class Agenda extends AgendaBase {
26133
26158
  }
26134
26159
  }
26135
26160
  if (tBody.childNodes.length <= 0) {
26136
- this.renderEmptyContent(tBody, agendaDate);
26161
+ this.renderEmptyContent(tBody, agendaDate, true);
26137
26162
  }
26138
26163
  }
26139
26164
  renderContent(tBody, agendaDate, lastDate) {
@@ -26190,11 +26215,15 @@ class Agenda extends AgendaBase {
26190
26215
  const elementType = (!this.parent.hideEmptyAgendaDays && filterData.length === 0) ? 'noEvents' : 'data';
26191
26216
  dTd.appendChild(this.createDateHeaderElement(agendaDate));
26192
26217
  nTr.appendChild(dTd);
26218
+ this.parent.trigger(renderCell, { elementType: dateHeader, element: dTd, date: agendaDate });
26193
26219
  const cTd = this.createAgendaContentElement(elementType, filterData, aTd);
26194
26220
  nTr.appendChild(cTd);
26195
26221
  if (cTd.querySelectorAll('li').length > 0) {
26196
26222
  tBody.appendChild(nTr);
26197
26223
  }
26224
+ const renderCellElementType = (!this.parent.hideEmptyAgendaDays && filterData.length === 0) ?
26225
+ noEvents : agendaCells;
26226
+ this.parent.trigger(renderCell, { elementType: renderCellElementType, element: cTd, date: agendaDate });
26198
26227
  }
26199
26228
  else if (this.parent.activeViewOptions.allowVirtualScrolling) {
26200
26229
  day--;
@@ -28277,5 +28306,5 @@ class Print {
28277
28306
  }
28278
28307
  }
28279
28308
 
28280
- export { Agenda, DEFAULT_WEEKS, Day, DragAndDrop, ExcelExport, Gregorian, HeaderRenderer, ICalendarExport, ICalendarImport, Islamic, MS_PER_DAY, MS_PER_MINUTE, Month, MonthAgenda, Print, RecurrenceEditor, Resize, Schedule, TimelineMonth, TimelineViews, TimelineYear, Timezone, ViewBase, WEEK_LENGTH, Week, WorkWeek, Year, actionBegin, actionComplete, actionFailure, addDays, addMonths, addYears, capitalizeFirstWord, cellClick, cellDoubleClick, cellMouseDown, cellSelect, contentReady, dataBinding, dataBound, dataReady, documentClick, drag, dragStart, dragStop, eventClick, eventDoubleClick, eventRendered, eventsLoaded, extractObjectFromRule, findIndexInData, firstDateOfMonth, generate, generateSummary, getCalendarUtil, getDateCount, getDateFromRecurrenceDateString, getDateFromString, getDateInMs, getDaysCount, getElementHeight, getElementHeightFromClass, getElementTop, getElementWidth, getElementWidthFromClass, getMaxDays, getOuterHeight, getRecurrenceStringFromDate, getScrollBarWidth, getStartEndHours, getTranslateX, getTranslateY, getUniversalTime, getWeekFirstDate, getWeekLastDate, getWeekMiddleDate, getWeekNumber, hover, initialEnd, initialLoad, inlineClick, isDaylightSavingTime, isIPadDevice, isMobile, lastDateOfMonth, moreEventsClick, navigating, popupClose, popupOpen, print, removeChildren, renderCell, resetScrollbarWidth, resetTime, resizeStart, resizeStop, resizing, scroll, scrollUiUpdate, select, setTime, timezoneData, uiUpdate, virtualScroll, virtualScrollStart, virtualScrollStop };
28309
+ export { Agenda, DEFAULT_WEEKS, Day, DragAndDrop, ExcelExport, Gregorian, HeaderRenderer, ICalendarExport, ICalendarImport, Islamic, MS_PER_DAY, MS_PER_MINUTE, Month, MonthAgenda, Print, RecurrenceEditor, Resize, Schedule, TimelineMonth, TimelineViews, TimelineYear, Timezone, ViewBase, WEEK_LENGTH, Week, WorkWeek, Year, actionBegin, actionComplete, actionFailure, addDays, addMonths, addYears, agendaCells, capitalizeFirstWord, cellClick, cellDoubleClick, cellMouseDown, cellSelect, contentReady, dataBinding, dataBound, dataReady, dateHeader, documentClick, drag, dragStart, dragStop, eventClick, eventDoubleClick, eventRendered, eventsLoaded, extractObjectFromRule, findIndexInData, firstDateOfMonth, generate, generateSummary, getCalendarUtil, getDateCount, getDateFromRecurrenceDateString, getDateFromString, getDateInMs, getDaysCount, getElementHeight, getElementHeightFromClass, getElementTop, getElementWidth, getElementWidthFromClass, getMaxDays, getOuterHeight, getRecurrenceStringFromDate, getScrollBarWidth, getStartEndHours, getTranslateX, getTranslateY, getUniversalTime, getWeekFirstDate, getWeekLastDate, getWeekMiddleDate, getWeekNumber, hover, initialEnd, initialLoad, inlineClick, isDaylightSavingTime, isIPadDevice, isMobile, lastDateOfMonth, moreEventsClick, navigating, noEvents, popupClose, popupOpen, print, removeChildren, renderCell, resetScrollbarWidth, resetTime, resizeStart, resizeStop, resizing, resourceHeader, scroll, scrollUiUpdate, select, setTime, timezoneData, uiUpdate, virtualScroll, virtualScrollStart, virtualScrollStop };
28281
28310
  //# sourceMappingURL=ej2-schedule.es2015.js.map