@syncfusion/ej2-schedule 19.3.46 → 19.3.48

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.
@@ -4927,12 +4927,7 @@ class EventBase {
4927
4927
  if (generateID) {
4928
4928
  event[fields.id] = temp++;
4929
4929
  }
4930
- if (typeof event[fields.startTime] === 'string') {
4931
- event[fields.startTime] = getDateFromString(event[fields.startTime]);
4932
- }
4933
- if (typeof event[fields.endTime] === 'string') {
4934
- event[fields.endTime] = getDateFromString(event[fields.endTime]);
4935
- }
4930
+ event = this.updateEventDateTime(event);
4936
4931
  if (timeZonePropChanged) {
4937
4932
  this.processTimezoneChange(event, oldTimezone);
4938
4933
  }
@@ -4991,6 +4986,15 @@ class EventBase {
4991
4986
  this.parent.blockProcessed = blockData;
4992
4987
  return eventData;
4993
4988
  }
4989
+ updateEventDateTime(eventData) {
4990
+ if (typeof eventData[this.parent.eventFields.startTime] === 'string') {
4991
+ eventData[this.parent.eventFields.startTime] = getDateFromString(eventData[this.parent.eventFields.startTime]);
4992
+ }
4993
+ if (typeof eventData[this.parent.eventFields.endTime] === 'string') {
4994
+ eventData[this.parent.eventFields.endTime] = getDateFromString(eventData[this.parent.eventFields.endTime]);
4995
+ }
4996
+ return eventData;
4997
+ }
4994
4998
  getProcessedEvents(eventCollection = this.parent.eventsData) {
4995
4999
  let processed = [];
4996
5000
  for (const event of eventCollection) {
@@ -5490,7 +5494,7 @@ class EventBase {
5490
5494
  const isAllDay = event[fieldMapping.isAllDay];
5491
5495
  const isFullDay = ((event[fieldMapping.endTime].getTime() - event[fieldMapping.startTime].getTime())
5492
5496
  / MS_PER_DAY) >= 1;
5493
- return (isAllDay || isFullDay) ? true : false;
5497
+ return (isAllDay || (!(this.parent.eventSettings.spannedEventPlacement == 'TimeSlot') && isFullDay)) ? true : false;
5494
5498
  }
5495
5499
  addEventListener() {
5496
5500
  this.parent.on(documentClick, this.appointmentBorderRemove, this);
@@ -6927,10 +6931,10 @@ class MonthEvent extends EventBase {
6927
6931
  this.parent.virtualScrollModule.updateVirtualScrollHeight();
6928
6932
  }
6929
6933
  }
6930
- this.parent.notify(scrollUiUpdate, data);
6931
6934
  if (!this.parent.enablePersistence) {
6932
6935
  this.parent.notify(contentReady, {});
6933
6936
  }
6937
+ this.parent.notify(scrollUiUpdate, data);
6934
6938
  if (this.parent.currentView === 'Month' && this.parent.showWeekNumber) {
6935
6939
  const totalCells = [].slice.call(this.parent.element.querySelectorAll('.e-content-wrap table tr td:first-child'));
6936
6940
  const weekNumberCells = [].slice.call(this.parent.element.querySelectorAll('.' + WEEK_NUMBER_CLASS));
@@ -8246,6 +8250,9 @@ class FieldValidator {
8246
8250
  if (!elem && !this.ignoreError) {
8247
8251
  this.createTooltip(inputElement, error, id, '');
8248
8252
  }
8253
+ if (!isNullOrUndefined(elem)) {
8254
+ elem.querySelector(".e-error").innerHTML = error.innerHTML;
8255
+ }
8249
8256
  }
8250
8257
  createTooltip(element, error, name, display) {
8251
8258
  let dlgContent;
@@ -13175,7 +13182,8 @@ class Crud {
13175
13182
  const editParams = { addedRecords: [], changedRecords: [], deletedRecords: [] };
13176
13183
  let promise;
13177
13184
  if (addArgs.addedRecords instanceof Array) {
13178
- for (const event of addArgs.addedRecords) {
13185
+ for (let event of addArgs.addedRecords) {
13186
+ event = this.parent.eventBase.updateEventDateTime(event);
13179
13187
  const eventData = extend({}, this.parent.eventBase.processTimezone(event, true), null, true);
13180
13188
  editParams.addedRecords.push(eventData);
13181
13189
  }
@@ -13230,7 +13238,8 @@ class Crud {
13230
13238
  const fields = this.parent.eventFields;
13231
13239
  const editParams = { addedRecords: [], changedRecords: [], deletedRecords: [] };
13232
13240
  if (saveArgs.changedRecords instanceof Array) {
13233
- for (const event of saveArgs.changedRecords) {
13241
+ for (let event of saveArgs.changedRecords) {
13242
+ event = this.parent.eventBase.updateEventDateTime(event);
13234
13243
  const eventData = extend({}, this.parent.eventBase.processTimezone(event, true), null, true);
13235
13244
  editParams.changedRecords.push(eventData);
13236
13245
  }
@@ -13923,6 +13932,9 @@ __decorate$6([
13923
13932
  __decorate$6([
13924
13933
  Property()
13925
13934
  ], EventSettings.prototype, "tooltipTemplate", void 0);
13935
+ __decorate$6([
13936
+ Property('AllDayRow')
13937
+ ], EventSettings.prototype, "spannedEventPlacement", void 0);
13926
13938
  __decorate$6([
13927
13939
  Property()
13928
13940
  ], EventSettings.prototype, "resourceColorField", void 0);
@@ -16538,6 +16550,7 @@ let Schedule = class Schedule extends Component {
16538
16550
  this.eventWindow.refresh();
16539
16551
  }
16540
16552
  break;
16553
+ case 'spannedEventPlacement':
16541
16554
  case 'enableMaxHeight':
16542
16555
  case 'enableIndicator':
16543
16556
  this.refreshEvents(false);
@@ -19776,18 +19789,20 @@ class DragAndDrop extends ActionBase {
19776
19789
  const eventData = [];
19777
19790
  const startTime = event[eventFields.startTime];
19778
19791
  const endTime = event[eventFields.endTime];
19779
- const isDifferentDate = resetTime(new Date(startTime.getTime())) < resetTime(new Date(endTime.getTime()));
19780
- if (isDifferentDate) {
19781
- const scheduleStartHour = this.parent.activeView.getStartHour();
19782
- const scheduleEndHour = this.parent.activeView.getEndHour();
19783
- const startDate = getStartEndHours(resetTime(startTime), scheduleStartHour, scheduleEndHour);
19784
- const endDate = getStartEndHours(resetTime(endTime), scheduleStartHour, scheduleEndHour);
19785
- const firstEventObj = extend({}, event, null, true);
19786
- firstEventObj[eventFields.endTime] = startDate.endHour;
19787
- eventData.push(firstEventObj);
19788
- const secondEventObj = extend({}, event, null, true);
19789
- secondEventObj[eventFields.startTime] = endDate.startHour;
19790
- eventData.push(secondEventObj);
19792
+ if (resetTime(new Date(startTime.getTime())) < resetTime(new Date(endTime.getTime()))) {
19793
+ let startReferenceDate = resetTime(new Date(startTime.getTime()));
19794
+ let endReferenceDate = new Date(startReferenceDate.getTime());
19795
+ for (let i = 0; startReferenceDate < new Date(endTime.getTime()); i++) {
19796
+ endReferenceDate = new Date(endReferenceDate.setDate(startReferenceDate.getDate() + 1));
19797
+ const eventObj = extend({}, event, null, true);
19798
+ eventObj[eventFields.startTime] = new Date(startReferenceDate);
19799
+ eventObj[eventFields.endTime] = new Date(endReferenceDate);
19800
+ startReferenceDate = new Date(startReferenceDate.setDate(startReferenceDate.getDate() + 1));
19801
+ eventData.push(eventObj);
19802
+ }
19803
+ const index = eventData.length - 1;
19804
+ eventData[0][eventFields.startTime] = startTime;
19805
+ eventData[index][eventFields.endTime] = endTime;
19791
19806
  }
19792
19807
  else {
19793
19808
  eventData.push(event);
@@ -19858,8 +19873,7 @@ class DragAndDrop extends ActionBase {
19858
19873
  // eslint-disable-next-line max-len
19859
19874
  this.parent.getDateFromElement(isNullOrUndefined(index) ? this.actionObj.target : this.targetTd)));
19860
19875
  const splitEvents = this.splitEvent(event);
19861
- const events = event[this.parent.eventFields.isAllDay] ||
19862
- this.parent.eventBase.isAllDayAppointment(event) || splitEvents.length > 2 ? [event] : splitEvents;
19876
+ let events = this.parent.eventBase.isAllDayAppointment(event) || splitEvents.length > 2 || !(this.parent.eventSettings.spannedEventPlacement == 'TimeSlot') ? [event] : splitEvents;
19863
19877
  for (let i = 0; i < events.length; i++) {
19864
19878
  if (i > 0) {
19865
19879
  let filterQuery = `.e-day-wrapper[data-date="${resetTime(events[i][this.parent.eventFields.startTime]).getTime()}"]`;
@@ -23042,7 +23056,7 @@ class Agenda extends AgendaBase {
23042
23056
  for (const event of this.parent.eventsData) {
23043
23057
  delete event.generatedDates;
23044
23058
  }
23045
- let eventCollection = args.processedData;
23059
+ let eventCollection = this.parent.activeViewOptions.allowVirtualScrolling ? args.processedData : this.parent.eventsProcessed;
23046
23060
  if (this.parent.uiStateValues.isGroupAdaptive) {
23047
23061
  const resource = this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex];
23048
23062
  this.dataSource = this.parent.eventBase.filterEventsByResource(resource, this.dataSource);
@@ -23145,6 +23159,7 @@ class Agenda extends AgendaBase {
23145
23159
  const filterData = this.appointmentFiltering(agendaDate);
23146
23160
  const nTr = this.createTableRowElement(agendaDate, 'data');
23147
23161
  if (this.element.querySelector('tr[aria-rowindex="' + parseInt(nTr.getAttribute('aria-rowindex'), 10) + '"]')) {
23162
+ agendaDate = addDays(agendaDate, 1);
23148
23163
  continue;
23149
23164
  }
23150
23165
  const dTd = nTr.children[0];