@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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 27.1.53
3
+ * version : 27.1.56
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-schedule@*",
3
- "_id": "@syncfusion/ej2-schedule@27.1.52",
3
+ "_id": "@syncfusion/ej2-schedule@27.1.55",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-tQQNKmmQisCiGPgH6w24bUNoiJAxkzZnvbirlGgT9EmmpSAaH5y9orqYPAWGoQQCQEhUhi+Alogezc5hmgE/kQ==",
5
+ "_integrity": "sha512-5voLaihRI8Cl4b+vp/Krva3umpRr8awwCVvCMSofVIDvpD3N7qGisdFknBShYr1Ph7aJbysvOIT/uFPKqZNlHA==",
6
6
  "_location": "/@syncfusion/ej2-schedule",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,8 +23,8 @@
23
23
  "/@syncfusion/ej2-react-schedule",
24
24
  "/@syncfusion/ej2-vue-schedule"
25
25
  ],
26
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-27.1.52.tgz",
27
- "_shasum": "828842f11d3c7f107f192adf20a7669a2fa8e766",
26
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-27.1.55.tgz",
27
+ "_shasum": "b024fa4861634b50578a28bb08c0dd1081c1cb26",
28
28
  "_spec": "@syncfusion/ej2-schedule@*",
29
29
  "_where": "/jenkins/workspace/elease-automation_release_27.1.1/packages/included",
30
30
  "author": {
@@ -35,16 +35,16 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~27.1.53",
38
+ "@syncfusion/ej2-base": "~27.1.55",
39
39
  "@syncfusion/ej2-buttons": "~27.1.53",
40
- "@syncfusion/ej2-calendars": "~27.1.52",
40
+ "@syncfusion/ej2-calendars": "~27.1.55",
41
41
  "@syncfusion/ej2-data": "~27.1.52",
42
- "@syncfusion/ej2-dropdowns": "~27.1.53",
42
+ "@syncfusion/ej2-dropdowns": "~27.1.55",
43
43
  "@syncfusion/ej2-excel-export": "~27.1.50",
44
- "@syncfusion/ej2-inputs": "~27.1.50",
44
+ "@syncfusion/ej2-inputs": "~27.1.55",
45
45
  "@syncfusion/ej2-lists": "~27.1.50",
46
- "@syncfusion/ej2-navigations": "~27.1.53",
47
- "@syncfusion/ej2-popups": "~27.1.53"
46
+ "@syncfusion/ej2-navigations": "~27.1.56",
47
+ "@syncfusion/ej2-popups": "~27.1.56"
48
48
  },
49
49
  "deprecated": false,
50
50
  "description": "Flexible scheduling library with more built-in features and enhanced customization options similar to outlook and google calendar, allowing the users to plan and manage their appointments with efficient data-binding support.",
@@ -73,6 +73,6 @@
73
73
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
74
74
  },
75
75
  "typings": "index.d.ts",
76
- "version": "27.1.53",
76
+ "version": "27.1.56",
77
77
  "sideEffects": false
78
78
  }
@@ -55,6 +55,14 @@ export declare const cellSelect: string;
55
55
  export declare const virtualScrollStart: string;
56
56
  /** @private */
57
57
  export declare const virtualScrollStop: string;
58
+ /** @private */
59
+ export declare const noEvents: string;
60
+ /** @private */
61
+ export declare const agendaCells: string;
62
+ /** @private */
63
+ export declare const resourceHeader: string;
64
+ /** @private */
65
+ export declare const dateHeader: string;
58
66
  /**
59
67
  * Specifies schedule internal events
60
68
  */
@@ -55,6 +55,14 @@ export var cellSelect = 'cellSelect';
55
55
  export var virtualScrollStart = 'virtualScrollStart';
56
56
  /** @private */
57
57
  export var virtualScrollStop = 'virtualScrollStop';
58
+ /** @private */
59
+ export var noEvents = 'noEvents';
60
+ /** @private */
61
+ export var agendaCells = 'agendaCells';
62
+ /** @private */
63
+ export var resourceHeader = 'resourceHeader';
64
+ /** @private */
65
+ export var dateHeader = 'dateHeader';
58
66
  /**
59
67
  * Specifies schedule internal events
60
68
  */
@@ -9,7 +9,7 @@ export declare class AgendaBase extends ViewBase {
9
9
  calculateResourceTableElement(tBody: Element, noOfDays: number, agendaDate: Date, agendaEnd?: Date): void;
10
10
  private createResourceTableRow;
11
11
  createDateHeaderElement(date: Date): Element;
12
- renderEmptyContent(tBody: Element, agendaDate: Date): void;
12
+ renderEmptyContent(tBody: Element, agendaDate: Date, hasNoEvents?: boolean): void;
13
13
  createTableRowElement(date: Date, type: string): Element;
14
14
  destroy(): void;
15
15
  }
@@ -335,12 +335,24 @@ var AgendaBase = /** @class */ (function (_super) {
335
335
  }
336
336
  else if (data.type === 'eventColumn') {
337
337
  var elementType = (data.eventData.length === 0) ? 'noEvents' : 'data';
338
+ for (var i = 0; i < ntr.childNodes.length; i++) {
339
+ var currentElement = ntr.childNodes.item(i);
340
+ var renderCellElementType = currentElement.classList.contains('e-resource-column') ?
341
+ event.resourceHeader : event.dateHeader;
342
+ this.parent.trigger(event.renderCell, {
343
+ elementType: renderCellElementType, element: currentElement, date: data.date, groupIndex: data.groupIndex
344
+ });
345
+ }
338
346
  ntd = this.createAgendaContentElement(elementType, data.eventData, ntd, data.groupOrder, data.groupIndex);
339
347
  ntd.setAttribute('data-date', data.date.getTime().toString());
340
348
  if (this.parent.activeViewOptions.group.byDate || this.parent.currentView === 'MonthAgenda') {
341
349
  addClass([ntd], [cls.AGENDA_CELLS_CLASS, cls.AGENDA_DAY_PADDING_CLASS]);
342
350
  }
343
351
  ntr.appendChild(ntd);
352
+ var renderCellType = (data.eventData.length === 0) ? event.noEvents : event.agendaCells;
353
+ this.parent.trigger(event.renderCell, {
354
+ elementType: renderCellType, element: ntd, date: data.date, groupIndex: data.groupIndex
355
+ });
344
356
  }
345
357
  else {
346
358
  ntd.setAttribute('rowspan', data.rowSpan.toString());
@@ -381,7 +393,7 @@ var AgendaBase = /** @class */ (function (_super) {
381
393
  }
382
394
  return dateHeader;
383
395
  };
384
- AgendaBase.prototype.renderEmptyContent = function (tBody, agendaDate) {
396
+ AgendaBase.prototype.renderEmptyContent = function (tBody, agendaDate, hasNoEvents) {
385
397
  var eTr = this.createTableRowElement(agendaDate, 'noEvents');
386
398
  var eTd = eTr.children[0];
387
399
  var noEvents = createElement('div', {
@@ -390,6 +402,9 @@ var AgendaBase = /** @class */ (function (_super) {
390
402
  });
391
403
  eTd.appendChild(noEvents);
392
404
  tBody.appendChild(eTr);
405
+ if (hasNoEvents) {
406
+ this.parent.trigger(event.renderCell, { elementType: event.noEvents, element: eTd, date: agendaDate });
407
+ }
393
408
  };
394
409
  AgendaBase.prototype.createTableRowElement = function (date, type) {
395
410
  var daysCount = util.getDaysCount(this.parent.selectedDate.getTime(), date.getTime());
@@ -40,6 +40,7 @@ export declare class TimelineEvent extends MonthEvent {
40
40
  private getAppointmentLeft;
41
41
  getPosition(startTime: Date, endTime: Date, isAllDay: boolean, day: number): number;
42
42
  private getFilterEvents;
43
+ private getIntervalInMinutes;
43
44
  private isAlreadyAvail;
44
45
  getRowTop(resIndex: number): number;
45
46
  getCellTd(): HTMLElement;
@@ -465,13 +465,8 @@ var TimelineEvent = /** @class */ (function (_super) {
465
465
  }
466
466
  };
467
467
  TimelineEvent.prototype.getSameDayEventsWidth = function (startDate, endDate) {
468
- var intervalMins = this.interval;
469
- if (this.slotsPerDay === 1) {
470
- var hoursRange = util.getStartEndHours(util.resetTime(new Date(startDate.getTime())), this.startHour, this.endHour);
471
- intervalMins = (hoursRange.endHour.getTime() - hoursRange.startHour.getTime()) / util.MS_PER_MINUTE;
472
- }
473
468
  return ((util.getUniversalTime(endDate) - util.getUniversalTime(startDate)) /
474
- util.MS_PER_MINUTE * (this.cellWidth * this.slotCount) / intervalMins);
469
+ util.MS_PER_MINUTE * (this.cellWidth * this.slotCount) / this.getIntervalInMinutes(startDate));
475
470
  };
476
471
  TimelineEvent.prototype.getSpannedEventsWidth = function (startDate, endDate, diffInDays) {
477
472
  var width = (diffInDays * this.slotsPerDay) * this.cellWidth;
@@ -497,13 +492,13 @@ var TimelineEvent = /** @class */ (function (_super) {
497
492
  TimelineEvent.prototype.getAppointmentLeft = function (schedule, startTime, day) {
498
493
  var slotTd = (this.isSameDay(startTime, schedule.startHour)) ?
499
494
  ((util.getUniversalTime(startTime) - util.getUniversalTime(schedule.startHour)) /
500
- (util.MS_PER_MINUTE * this.interval)) * this.slotCount : 0;
495
+ (util.MS_PER_MINUTE * this.getIntervalInMinutes(startTime))) * this.slotCount : 0;
501
496
  if (day === 0) {
502
497
  return slotTd;
503
498
  }
504
499
  else {
505
500
  var daySlot = Math.round((((util.getUniversalTime(schedule.endHour) - util.getUniversalTime(schedule.startHour)) /
506
- util.MS_PER_MINUTE) / this.interval) * this.slotCount);
501
+ util.MS_PER_MINUTE) / this.getIntervalInMinutes(startTime)) * this.slotCount);
507
502
  return (daySlot * day) + slotTd;
508
503
  }
509
504
  };
@@ -536,6 +531,13 @@ var TimelineEvent = /** @class */ (function (_super) {
536
531
  return this.getFilteredEvents(startTime, endTime, gIndex, eventsList);
537
532
  }
538
533
  };
534
+ TimelineEvent.prototype.getIntervalInMinutes = function (startDate) {
535
+ if (this.slotsPerDay !== 1) {
536
+ return this.interval;
537
+ }
538
+ var hoursRange = util.getStartEndHours(util.resetTime(new Date(startDate.getTime())), this.startHour, this.endHour);
539
+ return (hoursRange.endHour.getTime() - hoursRange.startHour.getTime()) / util.MS_PER_MINUTE;
540
+ };
539
541
  TimelineEvent.prototype.isAlreadyAvail = function (appPos, cellTd) {
540
542
  var moreIndicator = [].slice.call(cellTd.querySelectorAll('.' + cls.MORE_INDICATOR_CLASS));
541
543
  for (var i = 0; i < moreIndicator.length; i++) {
@@ -142,7 +142,7 @@ var Agenda = /** @class */ (function (_super) {
142
142
  }
143
143
  }
144
144
  if (tBody.childNodes.length <= 0) {
145
- this.renderEmptyContent(tBody, agendaDate);
145
+ this.renderEmptyContent(tBody, agendaDate, true);
146
146
  }
147
147
  };
148
148
  Agenda.prototype.renderContent = function (tBody, agendaDate, lastDate) {
@@ -200,11 +200,15 @@ var Agenda = /** @class */ (function (_super) {
200
200
  var elementType = (!this.parent.hideEmptyAgendaDays && filterData.length === 0) ? 'noEvents' : 'data';
201
201
  dTd.appendChild(this.createDateHeaderElement(agendaDate));
202
202
  nTr.appendChild(dTd);
203
+ this.parent.trigger(event.renderCell, { elementType: event.dateHeader, element: dTd, date: agendaDate });
203
204
  var cTd = this.createAgendaContentElement(elementType, filterData, aTd);
204
205
  nTr.appendChild(cTd);
205
206
  if (cTd.querySelectorAll('li').length > 0) {
206
207
  tBody.appendChild(nTr);
207
208
  }
209
+ var renderCellElementType = (!this.parent.hideEmptyAgendaDays && filterData.length === 0) ?
210
+ event.noEvents : event.agendaCells;
211
+ this.parent.trigger(event.renderCell, { elementType: renderCellElementType, element: cTd, date: agendaDate });
208
212
  }
209
213
  else if (this.parent.activeViewOptions.allowVirtualScrolling) {
210
214
  day--;