@syncfusion/ej2-schedule 19.3.44 → 19.3.55
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.
- package/CHANGELOG.md +41 -0
- package/dist/ej2-schedule.umd.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +83 -48
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +79 -44
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +2 -2
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +15 -15
- package/src/recurrence-editor/date-generator.js +3 -3
- package/src/schedule/actions/crud.js +2 -0
- package/src/schedule/actions/drag.js +16 -14
- package/src/schedule/actions/resize.js +17 -10
- package/src/schedule/actions/virtual-scroll.js +1 -0
- package/src/schedule/base/interface.d.ts +7 -0
- package/src/schedule/base/resource.js +4 -1
- package/src/schedule/base/schedule-model.d.ts +9 -1
- package/src/schedule/base/schedule.d.ts +9 -2
- package/src/schedule/base/schedule.js +13 -2
- package/src/schedule/base/type.d.ts +4 -0
- package/src/schedule/event-renderer/event-base.d.ts +1 -0
- package/src/schedule/event-renderer/event-base.js +11 -7
- package/src/schedule/event-renderer/month.js +1 -1
- package/src/schedule/models/event-settings-model.d.ts +12 -1
- package/src/schedule/models/event-settings.d.ts +11 -0
- package/src/schedule/models/event-settings.js +3 -0
- package/src/schedule/popups/event-window.d.ts +0 -1
- package/src/schedule/popups/event-window.js +4 -5
- package/src/schedule/popups/form-validator.js +4 -1
- package/src/schedule/renderer/agenda.js +2 -1
- package/src/schedule/timezone/timezone.d.ts +3 -2
- package/src/schedule/timezone/timezone.js +0 -1
- package/styles/bootstrap-dark.css +1 -1
- package/styles/bootstrap.css +1 -1
- package/styles/bootstrap4.css +1 -1
- package/styles/bootstrap5-dark.css +1 -1
- package/styles/bootstrap5.css +1 -1
- package/styles/fabric-dark.css +1 -1
- package/styles/fabric.css +1 -1
- package/styles/highcontrast-light.css +1 -1
- package/styles/highcontrast.css +1 -1
- package/styles/material-dark.css +1 -1
- package/styles/material.css +1 -1
- package/styles/schedule/_layout.scss +1 -1
- package/styles/schedule/bootstrap-dark.css +1 -1
- package/styles/schedule/bootstrap.css +1 -1
- package/styles/schedule/bootstrap4.css +1 -1
- package/styles/schedule/bootstrap5-dark.css +1 -1
- package/styles/schedule/bootstrap5.css +1 -1
- package/styles/schedule/fabric-dark.css +1 -1
- package/styles/schedule/fabric.css +1 -1
- package/styles/schedule/highcontrast-light.css +1 -1
- package/styles/schedule/highcontrast.css +1 -1
- package/styles/schedule/material-dark.css +1 -1
- package/styles/schedule/material.css +1 -1
- package/styles/schedule/tailwind-dark.css +1 -1
- package/styles/schedule/tailwind.css +1 -1
- package/styles/tailwind-dark.css +1 -1
- package/styles/tailwind.css +1 -1
|
@@ -2977,7 +2977,6 @@ class Islamic {
|
|
|
2977
2977
|
}
|
|
2978
2978
|
}
|
|
2979
2979
|
|
|
2980
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2981
2980
|
/**
|
|
2982
2981
|
* Time zone
|
|
2983
2982
|
*/
|
|
@@ -3546,10 +3545,10 @@ function weeklyType(startDate, endDate, data, ruleObject) {
|
|
|
3546
3545
|
let startDateDiff = DAYINDEX.indexOf(DAYINDEX[tempDate.getDay()]) - wkstIndex;
|
|
3547
3546
|
startDateDiff = startDateDiff === -1 ? 6 : startDateDiff;
|
|
3548
3547
|
const weekstartDate = addDays(tempDate, -startDateDiff);
|
|
3549
|
-
|
|
3548
|
+
let weekendDate = addDays(weekstartDate, 6);
|
|
3550
3549
|
let compareTempDate = new Date(tempDate.getTime());
|
|
3551
|
-
resetTime(weekendDate);
|
|
3552
|
-
resetTime(compareTempDate);
|
|
3550
|
+
weekendDate = resetTime(weekendDate);
|
|
3551
|
+
compareTempDate = resetTime(compareTempDate);
|
|
3553
3552
|
while (weekendDate >= compareTempDate) {
|
|
3554
3553
|
if (expectedDays.indexOf(DAYINDEX[tempDate.getDay()]) > -1) {
|
|
3555
3554
|
weekCollection.push([tempDate.getTime()]);
|
|
@@ -3559,7 +3558,7 @@ function weeklyType(startDate, endDate, data, ruleObject) {
|
|
|
3559
3558
|
}
|
|
3560
3559
|
tempDate.setDate(tempDate.getDate() + 1);
|
|
3561
3560
|
compareTempDate = new Date(tempDate.getTime());
|
|
3562
|
-
resetTime(compareTempDate);
|
|
3561
|
+
compareTempDate = resetTime(compareTempDate);
|
|
3563
3562
|
}
|
|
3564
3563
|
tempDate.setDate(tempDate.getDate() - 1);
|
|
3565
3564
|
if (expectedCount && (data.length + ruleObject.recExceptionCount) >= expectedCount) {
|
|
@@ -4927,12 +4926,7 @@ class EventBase {
|
|
|
4927
4926
|
if (generateID) {
|
|
4928
4927
|
event[fields.id] = temp++;
|
|
4929
4928
|
}
|
|
4930
|
-
|
|
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
|
-
}
|
|
4929
|
+
event = this.updateEventDateTime(event);
|
|
4936
4930
|
if (timeZonePropChanged) {
|
|
4937
4931
|
this.processTimezoneChange(event, oldTimezone);
|
|
4938
4932
|
}
|
|
@@ -4991,6 +4985,15 @@ class EventBase {
|
|
|
4991
4985
|
this.parent.blockProcessed = blockData;
|
|
4992
4986
|
return eventData;
|
|
4993
4987
|
}
|
|
4988
|
+
updateEventDateTime(eventData) {
|
|
4989
|
+
if (typeof eventData[this.parent.eventFields.startTime] === 'string') {
|
|
4990
|
+
eventData[this.parent.eventFields.startTime] = getDateFromString(eventData[this.parent.eventFields.startTime]);
|
|
4991
|
+
}
|
|
4992
|
+
if (typeof eventData[this.parent.eventFields.endTime] === 'string') {
|
|
4993
|
+
eventData[this.parent.eventFields.endTime] = getDateFromString(eventData[this.parent.eventFields.endTime]);
|
|
4994
|
+
}
|
|
4995
|
+
return eventData;
|
|
4996
|
+
}
|
|
4994
4997
|
getProcessedEvents(eventCollection = this.parent.eventsData) {
|
|
4995
4998
|
let processed = [];
|
|
4996
4999
|
for (const event of eventCollection) {
|
|
@@ -5490,7 +5493,7 @@ class EventBase {
|
|
|
5490
5493
|
const isAllDay = event[fieldMapping.isAllDay];
|
|
5491
5494
|
const isFullDay = ((event[fieldMapping.endTime].getTime() - event[fieldMapping.startTime].getTime())
|
|
5492
5495
|
/ MS_PER_DAY) >= 1;
|
|
5493
|
-
return (isAllDay || isFullDay) ? true : false;
|
|
5496
|
+
return (isAllDay || (this.parent.eventSettings.spannedEventPlacement !== 'TimeSlot' && isFullDay)) ? true : false;
|
|
5494
5497
|
}
|
|
5495
5498
|
addEventListener() {
|
|
5496
5499
|
this.parent.on(documentClick, this.appointmentBorderRemove, this);
|
|
@@ -6927,10 +6930,10 @@ class MonthEvent extends EventBase {
|
|
|
6927
6930
|
this.parent.virtualScrollModule.updateVirtualScrollHeight();
|
|
6928
6931
|
}
|
|
6929
6932
|
}
|
|
6930
|
-
this.parent.notify(scrollUiUpdate, data);
|
|
6931
6933
|
if (!this.parent.enablePersistence) {
|
|
6932
6934
|
this.parent.notify(contentReady, {});
|
|
6933
6935
|
}
|
|
6936
|
+
this.parent.notify(scrollUiUpdate, data);
|
|
6934
6937
|
if (this.parent.currentView === 'Month' && this.parent.showWeekNumber) {
|
|
6935
6938
|
const totalCells = [].slice.call(this.parent.element.querySelectorAll('.e-content-wrap table tr td:first-child'));
|
|
6936
6939
|
const weekNumberCells = [].slice.call(this.parent.element.querySelectorAll('.' + WEEK_NUMBER_CLASS));
|
|
@@ -8246,6 +8249,9 @@ class FieldValidator {
|
|
|
8246
8249
|
if (!elem && !this.ignoreError) {
|
|
8247
8250
|
this.createTooltip(inputElement, error, id, '');
|
|
8248
8251
|
}
|
|
8252
|
+
if (!isNullOrUndefined(elem)) {
|
|
8253
|
+
elem.querySelector('.e-error').innerHTML = error.innerHTML;
|
|
8254
|
+
}
|
|
8249
8255
|
}
|
|
8250
8256
|
createTooltip(element, error, name, display) {
|
|
8251
8257
|
let dlgContent;
|
|
@@ -10852,7 +10858,6 @@ class EventWindow {
|
|
|
10852
10858
|
this.parent = parent;
|
|
10853
10859
|
this.l10n = this.parent.localeObj;
|
|
10854
10860
|
this.fields = this.parent.eventFields;
|
|
10855
|
-
this.timezoneData = this.parent.tzModule.timezoneData;
|
|
10856
10861
|
this.eventWindowTime = { startTime: new Date(), endTime: new Date() };
|
|
10857
10862
|
this.renderEventWindow();
|
|
10858
10863
|
}
|
|
@@ -11284,14 +11289,15 @@ class EventWindow {
|
|
|
11284
11289
|
allowFiltering: true,
|
|
11285
11290
|
change: this.onTimezoneChange.bind(this),
|
|
11286
11291
|
cssClass: this.parent.cssClass || '',
|
|
11287
|
-
dataSource: this.
|
|
11292
|
+
dataSource: this.parent.timezoneDataSource,
|
|
11288
11293
|
enableRtl: this.parent.enableRtl,
|
|
11289
11294
|
fields: { text: 'Text', value: 'Value' },
|
|
11290
|
-
filterBarPlaceholder: '
|
|
11295
|
+
filterBarPlaceholder: this.parent.localeObj.getConstant('searchTimezone'),
|
|
11296
|
+
noRecordsTemplate: this.parent.localeObj.getConstant('noRecords'),
|
|
11291
11297
|
filtering: (e) => {
|
|
11292
11298
|
let query = new Query();
|
|
11293
11299
|
query = (e.text !== '') ? query.where('Text', 'contains', e.text, true) : query;
|
|
11294
|
-
e.updateData(this.
|
|
11300
|
+
e.updateData(this.parent.timezoneDataSource, query);
|
|
11295
11301
|
},
|
|
11296
11302
|
htmlAttributes: { 'title': this.getFieldLabel(value), 'name': fieldName },
|
|
11297
11303
|
floatLabelType: 'Always',
|
|
@@ -12586,7 +12592,6 @@ class EventWindow {
|
|
|
12586
12592
|
this.fields = null;
|
|
12587
12593
|
this.buttonObj = null;
|
|
12588
12594
|
this.repeatStatus = null;
|
|
12589
|
-
this.timezoneData = null;
|
|
12590
12595
|
this.eventWindowTime = null;
|
|
12591
12596
|
}
|
|
12592
12597
|
}
|
|
@@ -12744,7 +12749,8 @@ class VirtualScroll {
|
|
|
12744
12749
|
this.translateY = conWrap.scrollTop;
|
|
12745
12750
|
}
|
|
12746
12751
|
else {
|
|
12747
|
-
|
|
12752
|
+
let height = (this.parent.rowAutoHeight) ? this.averageRowHeight : this.itemSize;
|
|
12753
|
+
height = (height > 0) ? height : this.itemSize;
|
|
12748
12754
|
this.translateY = (conWrap.scrollTop - (this.bufferCount * height) > 0) ?
|
|
12749
12755
|
conWrap.scrollTop - (this.bufferCount * height) : 0;
|
|
12750
12756
|
}
|
|
@@ -13174,7 +13180,8 @@ class Crud {
|
|
|
13174
13180
|
const editParams = { addedRecords: [], changedRecords: [], deletedRecords: [] };
|
|
13175
13181
|
let promise;
|
|
13176
13182
|
if (addArgs.addedRecords instanceof Array) {
|
|
13177
|
-
for (
|
|
13183
|
+
for (let event of addArgs.addedRecords) {
|
|
13184
|
+
event = this.parent.eventBase.updateEventDateTime(event);
|
|
13178
13185
|
const eventData = extend({}, this.parent.eventBase.processTimezone(event, true), null, true);
|
|
13179
13186
|
editParams.addedRecords.push(eventData);
|
|
13180
13187
|
}
|
|
@@ -13229,7 +13236,8 @@ class Crud {
|
|
|
13229
13236
|
const fields = this.parent.eventFields;
|
|
13230
13237
|
const editParams = { addedRecords: [], changedRecords: [], deletedRecords: [] };
|
|
13231
13238
|
if (saveArgs.changedRecords instanceof Array) {
|
|
13232
|
-
for (
|
|
13239
|
+
for (let event of saveArgs.changedRecords) {
|
|
13240
|
+
event = this.parent.eventBase.updateEventDateTime(event);
|
|
13233
13241
|
const eventData = extend({}, this.parent.eventBase.processTimezone(event, true), null, true);
|
|
13234
13242
|
editParams.changedRecords.push(eventData);
|
|
13235
13243
|
}
|
|
@@ -13922,6 +13930,9 @@ __decorate$6([
|
|
|
13922
13930
|
__decorate$6([
|
|
13923
13931
|
Property()
|
|
13924
13932
|
], EventSettings.prototype, "tooltipTemplate", void 0);
|
|
13933
|
+
__decorate$6([
|
|
13934
|
+
Property('AllDayRow')
|
|
13935
|
+
], EventSettings.prototype, "spannedEventPlacement", void 0);
|
|
13925
13936
|
__decorate$6([
|
|
13926
13937
|
Property()
|
|
13927
13938
|
], EventSettings.prototype, "resourceColorField", void 0);
|
|
@@ -14680,8 +14691,11 @@ class ResourceBase {
|
|
|
14680
14691
|
let temp = 0;
|
|
14681
14692
|
for (const currentLevelChilds of resTreeGroup[i]) {
|
|
14682
14693
|
for (const currentLevelChild of currentLevelChilds) {
|
|
14683
|
-
if (resTreeGroup[i + 1]) {
|
|
14694
|
+
if (resTreeGroup[i + 1] && resTreeGroup[i + 1].length > 0) {
|
|
14684
14695
|
const nextLevelChilds = resTreeGroup[i + 1][temp];
|
|
14696
|
+
if (!nextLevelChilds) {
|
|
14697
|
+
continue;
|
|
14698
|
+
}
|
|
14685
14699
|
let colSpan = 0;
|
|
14686
14700
|
for (const nextLevelChild of nextLevelChilds) {
|
|
14687
14701
|
if (!this.parent.activeViewOptions.group.byGroupID || (this.parent.activeViewOptions.group.byGroupID &&
|
|
@@ -15677,7 +15691,9 @@ let Schedule = class Schedule extends Component {
|
|
|
15677
15691
|
beginFrom: 'Begin From',
|
|
15678
15692
|
endAt: 'Ends At',
|
|
15679
15693
|
expandAllDaySection: 'Expand-all-day-section',
|
|
15680
|
-
collapseAllDaySection: 'Collapse-all-day-section'
|
|
15694
|
+
collapseAllDaySection: 'Collapse-all-day-section',
|
|
15695
|
+
searchTimezone: 'Search Timezone',
|
|
15696
|
+
noRecords: 'No records found'
|
|
15681
15697
|
};
|
|
15682
15698
|
}
|
|
15683
15699
|
wireEvents() {
|
|
@@ -16393,6 +16409,11 @@ let Schedule = class Schedule extends Component {
|
|
|
16393
16409
|
this.keyboardInteractionModule = new KeyboardInteraction(this);
|
|
16394
16410
|
}
|
|
16395
16411
|
break;
|
|
16412
|
+
case 'timezoneDataSource':
|
|
16413
|
+
if (this.eventWindow) {
|
|
16414
|
+
this.eventWindow.refresh();
|
|
16415
|
+
}
|
|
16416
|
+
break;
|
|
16396
16417
|
case 'editorTemplate':
|
|
16397
16418
|
if (!isNullOrUndefined(this.editorTemplate)) {
|
|
16398
16419
|
this.editorTemplateFn = this.templateParser(this.editorTemplate);
|
|
@@ -16534,6 +16555,7 @@ let Schedule = class Schedule extends Component {
|
|
|
16534
16555
|
this.eventWindow.refresh();
|
|
16535
16556
|
}
|
|
16536
16557
|
break;
|
|
16558
|
+
case 'spannedEventPlacement':
|
|
16537
16559
|
case 'enableMaxHeight':
|
|
16538
16560
|
case 'enableIndicator':
|
|
16539
16561
|
this.refreshEvents(false);
|
|
@@ -17555,6 +17577,9 @@ __decorate([
|
|
|
17555
17577
|
__decorate([
|
|
17556
17578
|
Complex({}, EventSettings)
|
|
17557
17579
|
], Schedule.prototype, "eventSettings", void 0);
|
|
17580
|
+
__decorate([
|
|
17581
|
+
Property(timezoneData)
|
|
17582
|
+
], Schedule.prototype, "timezoneDataSource", void 0);
|
|
17558
17583
|
__decorate([
|
|
17559
17584
|
Property()
|
|
17560
17585
|
], Schedule.prototype, "resourceHeaderTemplate", void 0);
|
|
@@ -18270,6 +18295,9 @@ class Resize extends ActionBase {
|
|
|
18270
18295
|
}
|
|
18271
18296
|
monthResizing() {
|
|
18272
18297
|
this.removeCloneElement();
|
|
18298
|
+
if (isNullOrUndefined(this.actionObj.pageX) || isNullOrUndefined(this.actionObj.pageY)) {
|
|
18299
|
+
return;
|
|
18300
|
+
}
|
|
18273
18301
|
const td = document.elementFromPoint(this.actionObj.pageX, this.actionObj.pageY);
|
|
18274
18302
|
if (isNullOrUndefined(td)) {
|
|
18275
18303
|
return;
|
|
@@ -18401,13 +18429,16 @@ class Resize extends ActionBase {
|
|
|
18401
18429
|
const eventEnd = new Date(this.actionObj.event[this.parent.eventFields.endTime].getTime());
|
|
18402
18430
|
let resizeTime;
|
|
18403
18431
|
let isDateHeader = false;
|
|
18432
|
+
const isTimeViews = ['TimelineDay', 'TimelineWeek', 'TimelineWorkWeek'].indexOf(this.parent.currentView) > -1;
|
|
18433
|
+
const isTimelineMonth = this.parent.currentView === 'TimelineMonth';
|
|
18434
|
+
const isWithoutScale = isTimelineMonth || isTimeViews && !this.parent.activeViewOptions.timeScale.enable;
|
|
18404
18435
|
if (this.parent.activeView.isTimelineView()) {
|
|
18405
18436
|
const tr = this.parent.getContentTable().querySelector('tr');
|
|
18406
18437
|
let headerName = this.parent.currentView;
|
|
18407
18438
|
if (this.parent.activeViewOptions.headerRows.length > 0) {
|
|
18408
18439
|
const rows = this.parent.activeViewOptions.headerRows.map((row) => row.option);
|
|
18409
18440
|
headerName = rows.slice(-1)[0];
|
|
18410
|
-
if (
|
|
18441
|
+
if (isTimelineMonth && headerName === 'Hour') {
|
|
18411
18442
|
headerName = rows.slice(-2)[0] || 'Month';
|
|
18412
18443
|
}
|
|
18413
18444
|
}
|
|
@@ -18426,9 +18457,8 @@ class Resize extends ActionBase {
|
|
|
18426
18457
|
offsetValue += (this.actionObj.clone.offsetWidth - this.actionObj.cellWidth);
|
|
18427
18458
|
}
|
|
18428
18459
|
cellIndex = Math.floor(offsetValue / Math.floor(tr.offsetWidth / noOfDays));
|
|
18429
|
-
isDateHeader =
|
|
18430
|
-
|
|
18431
|
-
cellIndex = isLeft ? cellIndex : (this.parent.currentView === 'TimelineMonth' || isDateHeader) ? cellIndex + 1 : cellIndex;
|
|
18460
|
+
isDateHeader = isTimeViews && headerName === 'Date';
|
|
18461
|
+
cellIndex = isLeft ? cellIndex : (isTimelineMonth || isDateHeader) ? cellIndex + 1 : cellIndex;
|
|
18432
18462
|
isLastCell = cellIndex === tdCollections.length;
|
|
18433
18463
|
cellIndex = (cellIndex < 0) ? 0 : (cellIndex >= noOfDays) ? noOfDays - 1 : cellIndex;
|
|
18434
18464
|
}
|
|
@@ -18440,7 +18470,7 @@ class Resize extends ActionBase {
|
|
|
18440
18470
|
if (this.parent.enableRtl) {
|
|
18441
18471
|
let cellOffsetWidth = 0;
|
|
18442
18472
|
if (headerName === 'TimelineMonth' || (!this.parent.activeViewOptions.timeScale.enable &&
|
|
18443
|
-
|
|
18473
|
+
!isTimelineMonth)) {
|
|
18444
18474
|
cellOffsetWidth = this.actionObj.cellWidth;
|
|
18445
18475
|
}
|
|
18446
18476
|
const offsetWidth = (Math.floor(parseInt(this.actionObj.clone.style.right, 10) / this.actionObj.cellWidth) *
|
|
@@ -18492,16 +18522,18 @@ class Resize extends ActionBase {
|
|
|
18492
18522
|
}
|
|
18493
18523
|
}
|
|
18494
18524
|
if (isLeft) {
|
|
18495
|
-
if ((
|
|
18496
|
-
resizeTime =
|
|
18525
|
+
if ((eventEnd.getTime() - resizeTime.getTime()) <= 0) {
|
|
18526
|
+
resizeTime = isWithoutScale ? resetTime(eventEnd) : eventStart;
|
|
18497
18527
|
}
|
|
18498
18528
|
this.actionObj.start = this.parent.activeViewOptions.timeScale.enable ? this.calculateIntervalTime(resizeTime) : resizeTime;
|
|
18499
18529
|
}
|
|
18500
18530
|
else {
|
|
18501
|
-
const
|
|
18502
|
-
|
|
18503
|
-
const resizeEnd = ((!isTimeViews || isDateHeader) && resizeTime.getHours() === 0 && resizeTime.getMinutes() === 0) ?
|
|
18531
|
+
const isTimeScaleViews = isTimeViews && this.parent.activeViewOptions.timeScale.enable;
|
|
18532
|
+
let resizeEnd = ((!isTimeScaleViews || isDateHeader) && resizeTime.getHours() === 0 && resizeTime.getMinutes() === 0) ?
|
|
18504
18533
|
addDays(resizeTime, 1) : resizeTime;
|
|
18534
|
+
if (isWithoutScale && (resizeEnd.getTime() - eventStart.getTime()) <= 0) {
|
|
18535
|
+
resizeEnd = addDays(resetTime(eventStart), 1);
|
|
18536
|
+
}
|
|
18505
18537
|
this.actionObj.end = this.parent.activeViewOptions.timeScale.enable && this.parent.currentView !== 'Month' ?
|
|
18506
18538
|
this.calculateIntervalTime(resizeEnd) : resizeEnd;
|
|
18507
18539
|
}
|
|
@@ -19765,18 +19797,20 @@ class DragAndDrop extends ActionBase {
|
|
|
19765
19797
|
const eventData = [];
|
|
19766
19798
|
const startTime = event[eventFields.startTime];
|
|
19767
19799
|
const endTime = event[eventFields.endTime];
|
|
19768
|
-
|
|
19769
|
-
|
|
19770
|
-
|
|
19771
|
-
|
|
19772
|
-
|
|
19773
|
-
|
|
19774
|
-
|
|
19775
|
-
|
|
19776
|
-
|
|
19777
|
-
|
|
19778
|
-
|
|
19779
|
-
eventData.
|
|
19800
|
+
if (resetTime(new Date(startTime.getTime())) < resetTime(new Date(endTime.getTime()))) {
|
|
19801
|
+
let startReferenceDate = resetTime(new Date(startTime.getTime()));
|
|
19802
|
+
let endReferenceDate = new Date(startReferenceDate.getTime());
|
|
19803
|
+
for (let i = 0; startReferenceDate < new Date(endTime.getTime()); i++) {
|
|
19804
|
+
endReferenceDate = new Date(endReferenceDate.setDate(startReferenceDate.getDate() + 1));
|
|
19805
|
+
const eventObj = extend({}, event, null, true);
|
|
19806
|
+
eventObj[eventFields.startTime] = new Date(startReferenceDate);
|
|
19807
|
+
eventObj[eventFields.endTime] = new Date(endReferenceDate);
|
|
19808
|
+
startReferenceDate = new Date(startReferenceDate.setDate(startReferenceDate.getDate() + 1));
|
|
19809
|
+
eventData.push(eventObj);
|
|
19810
|
+
}
|
|
19811
|
+
const index = eventData.length - 1;
|
|
19812
|
+
eventData[0][eventFields.startTime] = startTime;
|
|
19813
|
+
eventData[index][eventFields.endTime] = endTime;
|
|
19780
19814
|
}
|
|
19781
19815
|
else {
|
|
19782
19816
|
eventData.push(event);
|
|
@@ -19847,8 +19881,8 @@ class DragAndDrop extends ActionBase {
|
|
|
19847
19881
|
// eslint-disable-next-line max-len
|
|
19848
19882
|
this.parent.getDateFromElement(isNullOrUndefined(index) ? this.actionObj.target : this.targetTd)));
|
|
19849
19883
|
const splitEvents = this.splitEvent(event);
|
|
19850
|
-
const events =
|
|
19851
|
-
this.parent.
|
|
19884
|
+
const events = this.parent.eventBase.isAllDayAppointment(event) || splitEvents.length > 2 ||
|
|
19885
|
+
this.parent.eventSettings.spannedEventPlacement !== 'TimeSlot' ? [event] : splitEvents;
|
|
19852
19886
|
for (let i = 0; i < events.length; i++) {
|
|
19853
19887
|
if (i > 0) {
|
|
19854
19888
|
let filterQuery = `.e-day-wrapper[data-date="${resetTime(events[i][this.parent.eventFields.startTime]).getTime()}"]`;
|
|
@@ -23031,7 +23065,7 @@ class Agenda extends AgendaBase {
|
|
|
23031
23065
|
for (const event of this.parent.eventsData) {
|
|
23032
23066
|
delete event.generatedDates;
|
|
23033
23067
|
}
|
|
23034
|
-
let eventCollection = args.processedData;
|
|
23068
|
+
let eventCollection = this.parent.activeViewOptions.allowVirtualScrolling ? args.processedData : this.parent.eventsProcessed;
|
|
23035
23069
|
if (this.parent.uiStateValues.isGroupAdaptive) {
|
|
23036
23070
|
const resource = this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex];
|
|
23037
23071
|
this.dataSource = this.parent.eventBase.filterEventsByResource(resource, this.dataSource);
|
|
@@ -23134,6 +23168,7 @@ class Agenda extends AgendaBase {
|
|
|
23134
23168
|
const filterData = this.appointmentFiltering(agendaDate);
|
|
23135
23169
|
const nTr = this.createTableRowElement(agendaDate, 'data');
|
|
23136
23170
|
if (this.element.querySelector('tr[aria-rowindex="' + parseInt(nTr.getAttribute('aria-rowindex'), 10) + '"]')) {
|
|
23171
|
+
agendaDate = addDays(agendaDate, 1);
|
|
23137
23172
|
continue;
|
|
23138
23173
|
}
|
|
23139
23174
|
const dTd = nTr.children[0];
|