@syncfusion/ej2-schedule 31.1.20 → 31.2.2
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/dist/ej2-schedule.min.js +3 -3
- package/dist/ej2-schedule.umd.min.js +3 -3
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +58 -23
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +59 -22
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +3 -3
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +2 -2
- package/package.json +11 -11
- package/src/schedule/actions/virtual-scroll.d.ts +1 -0
- package/src/schedule/actions/virtual-scroll.js +27 -9
- package/src/schedule/event-renderer/event-base.js +4 -1
- package/src/schedule/event-renderer/year.js +2 -1
- package/src/schedule/popups/event-tooltip.js +1 -0
- package/src/schedule/renderer/vertical-view.js +6 -4
- package/src/schedule/renderer/view-base.d.ts +2 -0
- package/src/schedule/renderer/view-base.js +19 -7
package/dist/global/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 31.
|
|
4
|
-
* Copyright Syncfusion Inc. 2001 -
|
|
3
|
+
* version : 31.2.2
|
|
4
|
+
* Copyright Syncfusion Inc. 2001 - 2025. 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
|
|
7
7
|
* licensing@syncfusion.com. Any infringement will be prosecuted under
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@syncfusion/ej2-schedule",
|
|
3
|
-
"version": "31.
|
|
3
|
+
"version": "31.2.2",
|
|
4
4
|
"author": "Syncfusion Inc.",
|
|
5
5
|
"license": "SEE LICENSE IN license",
|
|
6
6
|
"main": "./dist/ej2-schedule.umd.min.js",
|
|
7
7
|
"module": "./index.js",
|
|
8
8
|
"es2015": "./dist/es6/ej2-schedule.es5.js",
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@syncfusion/ej2-base": "~31.
|
|
11
|
-
"@syncfusion/ej2-buttons": "~31.
|
|
12
|
-
"@syncfusion/ej2-calendars": "~31.
|
|
13
|
-
"@syncfusion/ej2-data": "~31.
|
|
14
|
-
"@syncfusion/ej2-dropdowns": "~31.
|
|
15
|
-
"@syncfusion/ej2-excel-export": "~31.
|
|
16
|
-
"@syncfusion/ej2-inputs": "~31.
|
|
17
|
-
"@syncfusion/ej2-lists": "~31.
|
|
18
|
-
"@syncfusion/ej2-navigations": "~31.
|
|
19
|
-
"@syncfusion/ej2-popups": "~31.
|
|
10
|
+
"@syncfusion/ej2-base": "~31.2.2",
|
|
11
|
+
"@syncfusion/ej2-buttons": "~31.2.2",
|
|
12
|
+
"@syncfusion/ej2-calendars": "~31.2.2",
|
|
13
|
+
"@syncfusion/ej2-data": "~31.2.2",
|
|
14
|
+
"@syncfusion/ej2-dropdowns": "~31.2.2",
|
|
15
|
+
"@syncfusion/ej2-excel-export": "~31.2.2",
|
|
16
|
+
"@syncfusion/ej2-inputs": "~31.2.2",
|
|
17
|
+
"@syncfusion/ej2-lists": "~31.2.2",
|
|
18
|
+
"@syncfusion/ej2-navigations": "~31.2.2",
|
|
19
|
+
"@syncfusion/ej2-popups": "~31.2.2"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {},
|
|
22
22
|
"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.",
|
|
@@ -58,7 +58,7 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
58
58
|
virtual.style.height = (conTable.offsetHeight + (this.parent.resourceBase.expandedResources.length - (this.renderedLength)) *
|
|
59
59
|
conTable.offsetHeight / this.renderedLength) + 'px';
|
|
60
60
|
var conWrap = this.parent.element.querySelector('.' + cls.CONTENT_WRAP_CLASS);
|
|
61
|
-
if ((conWrap.scrollHeight - conWrap.scrollTop) < conWrap.offsetHeight * this.bufferCount) {
|
|
61
|
+
if (this.bufferCount === 3 && (conWrap.scrollHeight - conWrap.scrollTop) < conWrap.offsetHeight * this.bufferCount) {
|
|
62
62
|
virtual.style.height = parseInt(virtual.style.height, 10) + (conWrap.offsetHeight * this.bufferCount) + 'px';
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -88,7 +88,13 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
88
88
|
};
|
|
89
89
|
VirtualScroll.prototype.setItemSize = function () {
|
|
90
90
|
if (this.isHorizontalScroll) {
|
|
91
|
-
|
|
91
|
+
if (this.parent.group.byDate) {
|
|
92
|
+
var colElement = this.parent.element.querySelector('.' + cls.DATE_HEADER_WRAP_CLASS + ' table col');
|
|
93
|
+
this.itemSize = colElement ? util.getElementWidth(colElement, this.parent.uiStateValues.isTransformed) : this.itemSize;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
this.itemSize = util.getElementWidthFromClass(this.parent.activeView.element, cls.WORK_CELLS_CLASS, this.parent.uiStateValues.isTransformed) || this.itemSize;
|
|
97
|
+
}
|
|
92
98
|
}
|
|
93
99
|
else {
|
|
94
100
|
this.itemSize = this.parent.getElementHeightFromClass(this.parent.activeView.element, cls.WORK_CELLS_CLASS) || this.itemSize;
|
|
@@ -255,6 +261,10 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
255
261
|
height = (height > 0) ? height : this.itemSize;
|
|
256
262
|
this.translateY = (conWrap.scrollTop - (this.bufferCount * height) > 0) ?
|
|
257
263
|
conWrap.scrollTop - (this.bufferCount * height) : 0;
|
|
264
|
+
if (this.parent.rowAutoHeight && this.translateY === 0 && index !== 0) {
|
|
265
|
+
prevSetCollection = this.getBufferCollection(0, this.renderedLength);
|
|
266
|
+
this.parent.resourceBase.renderedResources = prevSetCollection;
|
|
267
|
+
}
|
|
258
268
|
}
|
|
259
269
|
return prevSetCollection;
|
|
260
270
|
};
|
|
@@ -444,17 +454,19 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
444
454
|
append(contentRows, conWrap.querySelector('tbody'));
|
|
445
455
|
};
|
|
446
456
|
VirtualScroll.prototype.updateOtherViewContent = function (conWrap, resCollection, renderedRows) {
|
|
457
|
+
var _this = this;
|
|
447
458
|
var tbody = conWrap.querySelector('tbody');
|
|
448
459
|
var colGroup = conWrap.querySelector('colgroup');
|
|
449
460
|
var thead = conWrap.querySelector('thead');
|
|
450
461
|
var table = conWrap.querySelector('table');
|
|
451
462
|
this.parent.activeView.colLevels[this.parent.activeView.colLevels.length - 1] = resCollection;
|
|
452
|
-
var
|
|
463
|
+
var newIndices = this.parent.activeViewOptions.group.byDate
|
|
464
|
+
? new Set(resCollection.map(function (data) { return data.date.getTime(); }))
|
|
465
|
+
: new Set(resCollection.map(function (data) { return data.groupIndex; }));
|
|
453
466
|
renderedRows.forEach(function (row) {
|
|
454
|
-
var tdElements = row.querySelectorAll('td');
|
|
467
|
+
var tdElements = Array.from(row.querySelectorAll('td'));
|
|
455
468
|
tdElements.forEach(function (td) {
|
|
456
|
-
|
|
457
|
-
if (!newGroupIndices.has(groupIndex)) {
|
|
469
|
+
if (!newIndices.has(_this.getIdentifier(td))) {
|
|
458
470
|
td.remove();
|
|
459
471
|
}
|
|
460
472
|
});
|
|
@@ -476,7 +488,15 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
476
488
|
var contentRows = this.parent.activeView.getContentRows();
|
|
477
489
|
this.mergeNewTdData(tbody, contentRows);
|
|
478
490
|
};
|
|
491
|
+
VirtualScroll.prototype.getIdentifier = function (td) {
|
|
492
|
+
if (this.parent.activeViewOptions.group.byDate) {
|
|
493
|
+
var date = new Date(parseInt(td.getAttribute('data-date'), 10));
|
|
494
|
+
return util.resetTime(date).getTime();
|
|
495
|
+
}
|
|
496
|
+
return parseInt(td.getAttribute('data-group-index'), 10);
|
|
497
|
+
};
|
|
479
498
|
VirtualScroll.prototype.mergeNewTdData = function (tbody, contentRows) {
|
|
499
|
+
var _this = this;
|
|
480
500
|
var existingRows = Array.from(tbody.querySelectorAll('tr'));
|
|
481
501
|
existingRows.forEach(function (existingRow, rowIndex) {
|
|
482
502
|
if (rowIndex < contentRows.length) {
|
|
@@ -484,12 +504,10 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
484
504
|
var existingTds_1 = Array.from(existingRow.querySelectorAll('td'));
|
|
485
505
|
var newTds = Array.from(newRow.querySelectorAll('td'));
|
|
486
506
|
newTds.forEach(function (newTd) {
|
|
487
|
-
var newGroupIndex = parseInt(newTd.getAttribute('data-group-index').toString(), 10);
|
|
488
507
|
var inserted = false;
|
|
489
508
|
for (var _i = 0, existingTds_2 = existingTds_1; _i < existingTds_2.length; _i++) {
|
|
490
509
|
var existingTd = existingTds_2[_i];
|
|
491
|
-
|
|
492
|
-
if (newGroupIndex < existingGroupIndex) {
|
|
510
|
+
if (_this.getIdentifier(newTd) < _this.getIdentifier(existingTd)) {
|
|
493
511
|
existingRow.insertBefore(newTd, existingTd);
|
|
494
512
|
inserted = true;
|
|
495
513
|
break;
|
|
@@ -965,8 +965,11 @@ var EventBase = /** @class */ (function () {
|
|
|
965
965
|
})[0];
|
|
966
966
|
};
|
|
967
967
|
EventBase.prototype.generateGuid = function () {
|
|
968
|
+
var randomNumbers = new Uint8Array(32);
|
|
969
|
+
window.crypto.getRandomValues(randomNumbers);
|
|
970
|
+
var index = 0;
|
|
968
971
|
return 'xyxxxxyx-xxxy-yxxx-xyxx-xxyxxxxyyxxx'.replace(/[xy]/g, function (c) {
|
|
969
|
-
var r =
|
|
972
|
+
var r = randomNumbers[index++] & 0xf;
|
|
970
973
|
var v = (c === 'x') ? r : (r & 0x3 | 0x8);
|
|
971
974
|
return v.toString(16);
|
|
972
975
|
});
|
|
@@ -616,7 +616,8 @@ var YearEvent = /** @class */ (function (_super) {
|
|
|
616
616
|
var app = appointments_1[_i];
|
|
617
617
|
var appStart = new Date(app[this.fields.startTime].getTime());
|
|
618
618
|
var appEnd = new Date(app[this.fields.endTime].getTime());
|
|
619
|
-
var timeCondition = app[this.fields.isAllDay] ? util.resetTime(appEnd).getTime() > dateStart
|
|
619
|
+
var timeCondition = app[this.fields.isAllDay] ? (util.resetTime(appEnd).getTime() > dateStart ||
|
|
620
|
+
(util.resetTime(appEnd).getTime() === dateStart && appEnd.getTime() !== util.resetTime(appEnd).getTime())) :
|
|
620
621
|
util.resetTime(appEnd).getTime() >= dateStart;
|
|
621
622
|
if (((util.resetTime(appStart).getTime() <= dateStart) && (timeCondition)) ||
|
|
622
623
|
(util.resetTime(appStart).getTime() >= dateStart) && (util.resetTime(appEnd).getTime() <= dateEnd)) {
|
|
@@ -76,6 +76,7 @@ var EventTooltip = /** @class */ (function () {
|
|
|
76
76
|
}
|
|
77
77
|
var record = this.parent.eventBase.getEventByGuid(args.target.getAttribute('data-guid'));
|
|
78
78
|
if (isNullOrUndefined(record)) {
|
|
79
|
+
this.setContent('No Title');
|
|
79
80
|
return;
|
|
80
81
|
}
|
|
81
82
|
if (!isNullOrUndefined(this.parent.eventSettings.tooltipTemplate)) {
|
|
@@ -690,16 +690,18 @@ var VerticalView = /** @class */ (function (_super) {
|
|
|
690
690
|
var rows = [];
|
|
691
691
|
var tr = createElement('tr');
|
|
692
692
|
var td = createElement('td');
|
|
693
|
-
var
|
|
693
|
+
var existingIndices = [];
|
|
694
|
+
if (this.parent.virtualScrollModule && this.parent.activeViewOptions.group.resources.length > 0) {
|
|
695
|
+
existingIndices = this.parent.activeViewOptions.group.byDate ? this.getRenderedDate() : this.getGroupIndices();
|
|
696
|
+
}
|
|
694
697
|
var handler = function (r) {
|
|
695
698
|
var ntr = tr.cloneNode();
|
|
696
699
|
for (var _i = 0, _a = _this.colLevels[_this.colLevels.length - 1]; _i < _a.length; _i++) {
|
|
697
700
|
var tdData = _a[_i];
|
|
698
701
|
var isAllowTdCreation = true;
|
|
699
702
|
if (_this.parent.virtualScrollModule && _this.parent.activeViewOptions.group.resources.length > 0) {
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
}
|
|
703
|
+
var index = _this.parent.activeViewOptions.group.byDate ? tdData.date.getTime() : tdData.groupIndex;
|
|
704
|
+
isAllowTdCreation = existingIndices.indexOf(index) < 0;
|
|
703
705
|
}
|
|
704
706
|
if (isAllowTdCreation) {
|
|
705
707
|
var ntd = _this.createContentTd(tdData, r, td);
|
|
@@ -78,6 +78,8 @@ export declare class ViewBase {
|
|
|
78
78
|
getViewEndDate(): Date;
|
|
79
79
|
getAdjustedDate(startTime: Date): Date;
|
|
80
80
|
resetColLevels(): void;
|
|
81
|
+
private getCollection;
|
|
81
82
|
getGroupIndices(dataCollection?: TdData[]): number[];
|
|
83
|
+
getRenderedDate(dataCollection?: TdData[]): number[];
|
|
82
84
|
destroy(): void;
|
|
83
85
|
}
|
|
@@ -643,14 +643,26 @@ var ViewBase = /** @class */ (function () {
|
|
|
643
643
|
this.parent.resourceBase.expandedResources = this.colLevels[this.colLevels.length - 1];
|
|
644
644
|
}
|
|
645
645
|
};
|
|
646
|
-
ViewBase.prototype.
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
this.parent.virtualScrollModule.existingDataCollection.length > 0)
|
|
650
|
-
|
|
651
|
-
groupIndices = dataCollection.map(function (data) { return data.groupIndex; });
|
|
646
|
+
ViewBase.prototype.getCollection = function (dataCollection) {
|
|
647
|
+
if (this.parent.virtualScrollModule && this.parent.activeViewOptions.group.resources.length > 0 &&
|
|
648
|
+
!this.parent.uiStateValues.isGroupAdaptive && (dataCollection ||
|
|
649
|
+
this.parent.virtualScrollModule.existingDataCollection.length > 0)) {
|
|
650
|
+
return isNullOrUndefined(dataCollection) ? this.parent.virtualScrollModule.existingDataCollection : dataCollection;
|
|
652
651
|
}
|
|
653
|
-
return
|
|
652
|
+
return [];
|
|
653
|
+
};
|
|
654
|
+
ViewBase.prototype.getGroupIndices = function (dataCollection) {
|
|
655
|
+
return this.getCollection(dataCollection).map(function (data) { return data.groupIndex; });
|
|
656
|
+
};
|
|
657
|
+
ViewBase.prototype.getRenderedDate = function (dataCollection) {
|
|
658
|
+
var processedDates = [];
|
|
659
|
+
this.getCollection(dataCollection).forEach(function (tdData) {
|
|
660
|
+
var date = tdData.date.getTime();
|
|
661
|
+
if (processedDates.indexOf(date) === -1) {
|
|
662
|
+
processedDates.push(date);
|
|
663
|
+
}
|
|
664
|
+
});
|
|
665
|
+
return processedDates;
|
|
654
666
|
};
|
|
655
667
|
ViewBase.prototype.destroy = function () {
|
|
656
668
|
if (this.element && this.element.parentNode) {
|