@syncfusion/ej2-schedule 27.1.52 → 27.1.53

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.
@@ -7629,10 +7629,32 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
7629
7629
  if (this.parent.activeViewOptions.group.resources.length > 0) {
7630
7630
  this.overlapList = this.filterEventsByResource(this.resources[parseInt(resource.toString(), 10)], this.overlapList);
7631
7631
  }
7632
+ var queue_1 = [];
7632
7633
  this.overlapList.forEach(function (obj) {
7633
- var filterList = appointmentList_1.filter(function (data) {
7634
- return data[fieldMapping.endTime] > obj[fieldMapping.startTime] && data[fieldMapping.startTime] <= obj[fieldMapping.endTime];
7635
- });
7634
+ queue_1.push(obj);
7635
+ var filterList = [];
7636
+ var processedIds = new Set();
7637
+ var _loop_2 = function () {
7638
+ var currentObj = queue_1.shift();
7639
+ var overlaps = appointmentList_1.filter(function (data) {
7640
+ return data[fieldMapping.endTime] > currentObj[fieldMapping.startTime] &&
7641
+ data[fieldMapping.startTime] <= currentObj[fieldMapping.endTime] &&
7642
+ !processedIds.has(data[fieldMapping.id]);
7643
+ });
7644
+ overlaps.forEach(function (overlap) {
7645
+ filterList.push(overlap);
7646
+ processedIds.add(overlap[fieldMapping.id]);
7647
+ queue_1.push(overlap);
7648
+ });
7649
+ if (processedIds.size < appointmentList_1.length - 1) {
7650
+ return "break";
7651
+ }
7652
+ };
7653
+ while (queue_1.length > 0) {
7654
+ var state_1 = _loop_2();
7655
+ if (state_1 === "break")
7656
+ break;
7657
+ }
7636
7658
  if (_this.parent.activeViewOptions.group.resources.length > 0) {
7637
7659
  filterList = _this.filterEventsByResource(_this.resources[parseInt(resource.toString(), 10)], filterList);
7638
7660
  }
@@ -8465,7 +8487,7 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
8465
8487
  var _this = this;
8466
8488
  var eventType = appointmentElement.classList.contains(BLOCK_APPOINTMENT_CLASS) ? 'blockEvent' : 'event';
8467
8489
  var isAppointment = appointmentElement.classList.contains(APPOINTMENT_CLASS);
8468
- var eventObj = this.getEventData(event);
8490
+ var eventObj = this.parent.currentView === 'Month' ? this.getSpannedTime(event) : this.getEventData(event);
8469
8491
  var args = { data: eventObj, element: appointmentElement, cancel: false, type: eventType };
8470
8492
  this.parent.trigger(eventRendered, args, function (eventArgs) {
8471
8493
  if (eventArgs.cancel) {
@@ -8476,6 +8498,16 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
8476
8498
  }
8477
8499
  });
8478
8500
  };
8501
+ MonthEvent.prototype.getSpannedTime = function (event) {
8502
+ var eventObj = extend({}, event, null, true);
8503
+ if ((eventObj[this.fields.startTime]).getDate() === (eventObj.data[this.fields.startTime]).getDate()) {
8504
+ eventObj[this.fields.startTime] = eventObj.data[this.fields.startTime];
8505
+ }
8506
+ if ((eventObj[this.fields.endTime]).getDate() === (eventObj.data[this.fields.endTime]).getDate()) {
8507
+ eventObj[this.fields.endTime] = eventObj.data[this.fields.endTime];
8508
+ }
8509
+ return eventObj;
8510
+ };
8479
8511
  MonthEvent.prototype.getEventData = function (event) {
8480
8512
  var eventObj = extend({}, event, null, true);
8481
8513
  eventObj[this.fields.startTime] = event.data[this.fields.startTime];
@@ -13240,6 +13272,9 @@ var EventWindow = /** @__PURE__ @class */ (function () {
13240
13272
  else if (element.classList.contains('e-checkbox')) {
13241
13273
  fieldSelector = 'e-checkbox';
13242
13274
  }
13275
+ else if (element.classList.contains('e-numerictextbox')) {
13276
+ fieldSelector = 'e-numerictextbox';
13277
+ }
13243
13278
  var classSelector = isDropDowns ? "." + fieldSelector + ":not(.e-control)" : "." + fieldSelector;
13244
13279
  var control = closest(element, classSelector) || element.querySelector("." + fieldSelector);
13245
13280
  if (control) {
@@ -13989,6 +14024,9 @@ var EventWindow = /** @__PURE__ @class */ (function () {
13989
14024
  else if (element.classList.contains('e-checkbox')) {
13990
14025
  value = element.ej2_instances[0].checked;
13991
14026
  }
14027
+ else if (element.classList.contains('e-numerictextbox')) {
14028
+ value = element.ej2_instances[0].value;
14029
+ }
13992
14030
  else {
13993
14031
  if (element.type === 'checkbox') {
13994
14032
  value = element.checked;
@@ -14033,6 +14071,11 @@ var EventWindow = /** @__PURE__ @class */ (function () {
14033
14071
  instance.checked = value;
14034
14072
  instance.dataBind();
14035
14073
  }
14074
+ else if (element.classList.contains('e-numerictextbox')) {
14075
+ var instance = element.ej2_instances[0];
14076
+ instance.value = value;
14077
+ instance.dataBind();
14078
+ }
14036
14079
  else {
14037
14080
  if (element.type !== 'checkbox') {
14038
14081
  element.value = value || '';
@@ -14070,6 +14113,11 @@ var EventWindow = /** @__PURE__ @class */ (function () {
14070
14113
  instance.checked = false;
14071
14114
  instance.dataBind();
14072
14115
  }
14116
+ else if (element.classList.contains('e-numerictextbox')) {
14117
+ var instance = element.ej2_instances[0];
14118
+ instance.value = null;
14119
+ instance.dataBind();
14120
+ }
14073
14121
  else {
14074
14122
  if (element.type === 'checkbox') {
14075
14123
  element.checked = false;
@@ -19434,8 +19482,9 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
19434
19482
  var msMajorInterval = this.activeViewOptions.timeScale.interval * MS_PER_MINUTE;
19435
19483
  var msInterval = msMajorInterval / this.activeViewOptions.timeScale.slotCount;
19436
19484
  var offsetDiff = ((viewStartHour.getTimezoneOffset() - startHour.getTimezoneOffset()) * MS_PER_MINUTE);
19485
+ var endOffsetDiff = Math.abs((viewStartHour.getTimezoneOffset() - endHour.getTimezoneOffset()) * MS_PER_MINUTE);
19437
19486
  var startIndex = Math.round((startHour.getTime() - viewStartHour.getTime() + offsetDiff) / msInterval);
19438
- var endIndex = Math.ceil((endHour.getTime() - viewStartHour.getTime() + offsetDiff) / msInterval);
19487
+ var endIndex = Math.ceil((endHour.getTime() - viewStartHour.getTime() - endOffsetDiff) / msInterval);
19439
19488
  var tempStartIndex = startIndex;
19440
19489
  var tempEndIndex = endIndex;
19441
19490
  var cells = [];
@@ -21431,11 +21480,8 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
21431
21480
  var eventStart = new Date(this.actionObj.event[this.parent.eventFields.startTime].getTime());
21432
21481
  var eventEnd = new Date(this.actionObj.event[this.parent.eventFields.endTime].getTime());
21433
21482
  var resizeTime;
21434
- var isDateHeader = false;
21435
21483
  var headerName = this.parent.currentView;
21436
- var isTimeViews = ['TimelineDay', 'TimelineWeek', 'TimelineWorkWeek'].indexOf(this.parent.currentView) > -1;
21437
21484
  var isTimelineMonth = this.parent.currentView === 'TimelineMonth';
21438
- var isWithoutScale = isTimelineMonth || isTimeViews && !this.parent.activeViewOptions.timeScale.enable;
21439
21485
  if (this.parent.activeView.isTimelineView()) {
21440
21486
  var tr = this.parent.getContentTable().querySelector('tr');
21441
21487
  if (this.parent.activeViewOptions.headerRows.length > 0) {
@@ -21468,7 +21514,6 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
21468
21514
  }
21469
21515
  cellIndex = !isTimelineMonth ? Math.round(offsetValue / (this.parent.getElementWidth(tr) / noOfDays)) :
21470
21516
  Math.floor(offsetValue / Math.floor(this.parent.getElementWidth(tr) / noOfDays));
21471
- isDateHeader = isTimeViews && headerName === 'Date';
21472
21517
  cellIndex = isLeft ? cellIndex : isTimelineMonth ? cellIndex + 1 : cellIndex;
21473
21518
  isLastCell = cellIndex === tdCollections.length;
21474
21519
  cellIndex = (cellIndex < 0) ? 0 : (cellIndex >= noOfDays) ? noOfDays - 1 : cellIndex;
@@ -21534,15 +21579,14 @@ var Resize = /** @__PURE__ @class */ (function (_super) {
21534
21579
  !this.parent.activeViewOptions.timeScale.enable;
21535
21580
  if (isLeft) {
21536
21581
  if ((eventEnd.getTime() - resizeTime.getTime()) <= 0) {
21537
- resizeTime = isWithoutScale ? resetTime(eventEnd) : eventStart;
21582
+ resizeTime = isNotHourSlot ? resetTime(eventEnd) : eventStart;
21538
21583
  }
21539
21584
  this.actionObj.start = !isNotHourSlot ? this.calculateIntervalTime(resizeTime) : resizeTime;
21540
21585
  }
21541
21586
  else {
21542
- var isTimeScaleViews = isTimeViews && this.parent.activeViewOptions.timeScale.enable;
21543
- var resizeEnd = ((!isTimeScaleViews || isDateHeader || isTimeViews && ['Week', 'Month', 'Year'].indexOf(headerName) > -1)
21544
- && resizeTime.getHours() === 0 && resizeTime.getMinutes() === 0) ? addDays(resizeTime, 1) : resizeTime;
21545
- if (isWithoutScale && (resizeEnd.getTime() - eventStart.getTime()) <= 0) {
21587
+ var resizeEnd = (isNotHourSlot && resizeTime.getHours() === 0 && resizeTime.getMinutes() === 0) ?
21588
+ addDays(resizeTime, 1) : resizeTime;
21589
+ if (isNotHourSlot && (resizeEnd.getTime() - eventStart.getTime()) <= 0) {
21546
21590
  resizeEnd = addDays(resetTime(eventStart), 1);
21547
21591
  }
21548
21592
  this.actionObj.end = !isNotHourSlot ? this.calculateIntervalTime(resizeEnd) : resizeEnd;