@syncfusion/ej2-schedule 22.2.12 → 23.1.36
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 +15 -0
- package/dist/ej2-schedule.min.js +2 -2
- 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 +288 -56
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +289 -56
- 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 +16 -16
- package/src/schedule/actions/crud.d.ts +1 -1
- package/src/schedule/actions/crud.js +13 -5
- package/src/schedule/actions/data.js +29 -8
- package/src/schedule/actions/keyboard.js +1 -2
- package/src/schedule/actions/virtual-scroll.d.ts +1 -0
- package/src/schedule/actions/virtual-scroll.js +37 -2
- package/src/schedule/base/constant.d.ts +4 -0
- package/src/schedule/base/constant.js +4 -0
- package/src/schedule/base/interface.d.ts +15 -0
- package/src/schedule/base/resource.js +1 -0
- package/src/schedule/base/schedule-model.d.ts +41 -35
- package/src/schedule/base/schedule.d.ts +54 -35
- package/src/schedule/base/schedule.js +71 -6
- package/src/schedule/models/views-model.d.ts +10 -1
- package/src/schedule/models/views.d.ts +9 -1
- package/src/schedule/models/views.js +3 -0
- package/src/schedule/popups/event-tooltip.js +7 -3
- package/src/schedule/popups/event-window.d.ts +7 -0
- package/src/schedule/popups/event-window.js +123 -29
- package/src/schedule/popups/quick-popups.js +3 -0
- package/styles/bootstrap-dark.css +15 -0
- package/styles/bootstrap.css +15 -0
- package/styles/bootstrap4.css +15 -0
- package/styles/bootstrap5-dark.css +15 -0
- package/styles/bootstrap5.css +15 -0
- package/styles/fabric-dark.css +15 -0
- package/styles/fabric.css +15 -0
- package/styles/fluent-dark.css +15 -0
- package/styles/fluent.css +15 -0
- package/styles/highcontrast-light.css +15 -0
- package/styles/highcontrast.css +15 -0
- package/styles/material-dark.css +15 -1
- package/styles/material.css +15 -1
- package/styles/material3-dark.css +16 -2
- package/styles/material3-dark.scss +1 -1
- package/styles/material3.css +16 -2
- package/styles/material3.scss +1 -1
- package/styles/recurrence-editor/bootstrap-dark.scss +1 -1
- package/styles/recurrence-editor/bootstrap.scss +1 -1
- package/styles/recurrence-editor/bootstrap4.scss +1 -1
- package/styles/recurrence-editor/bootstrap5-dark.scss +1 -1
- package/styles/recurrence-editor/bootstrap5.scss +1 -1
- package/styles/recurrence-editor/fabric-dark.scss +1 -1
- package/styles/recurrence-editor/fabric.scss +1 -1
- package/styles/recurrence-editor/fluent-dark.scss +1 -1
- package/styles/recurrence-editor/fluent.scss +1 -1
- package/styles/recurrence-editor/highcontrast-light.scss +1 -1
- package/styles/recurrence-editor/highcontrast.scss +1 -1
- package/styles/recurrence-editor/material-dark.css +0 -1
- package/styles/recurrence-editor/material-dark.scss +1 -1
- package/styles/recurrence-editor/material.css +0 -1
- package/styles/recurrence-editor/material.scss +1 -1
- package/styles/recurrence-editor/material3-dark.css +0 -1
- package/styles/recurrence-editor/material3-dark.scss +1 -1
- package/styles/recurrence-editor/material3.css +0 -1
- package/styles/recurrence-editor/material3.scss +1 -1
- package/styles/recurrence-editor/tailwind-dark.css +0 -1
- package/styles/recurrence-editor/tailwind-dark.scss +1 -1
- package/styles/recurrence-editor/tailwind.css +0 -1
- package/styles/recurrence-editor/tailwind.scss +1 -1
- package/styles/schedule/_layout.scss +15 -0
- package/styles/schedule/_material3-definition.scss +1 -1
- package/styles/schedule/bootstrap-dark.css +15 -0
- package/styles/schedule/bootstrap-dark.scss +1 -1
- package/styles/schedule/bootstrap.css +15 -0
- package/styles/schedule/bootstrap.scss +1 -1
- package/styles/schedule/bootstrap4.css +15 -0
- package/styles/schedule/bootstrap4.scss +1 -1
- package/styles/schedule/bootstrap5-dark.css +15 -0
- package/styles/schedule/bootstrap5-dark.scss +1 -1
- package/styles/schedule/bootstrap5.css +15 -0
- package/styles/schedule/bootstrap5.scss +1 -1
- package/styles/schedule/fabric-dark.css +15 -0
- package/styles/schedule/fabric-dark.scss +1 -1
- package/styles/schedule/fabric.css +15 -0
- package/styles/schedule/fabric.scss +1 -1
- package/styles/schedule/fluent-dark.css +15 -0
- package/styles/schedule/fluent-dark.scss +1 -1
- package/styles/schedule/fluent.css +15 -0
- package/styles/schedule/fluent.scss +1 -1
- package/styles/schedule/highcontrast-light.css +15 -0
- package/styles/schedule/highcontrast-light.scss +1 -1
- package/styles/schedule/highcontrast.css +15 -0
- package/styles/schedule/highcontrast.scss +1 -1
- package/styles/schedule/material-dark.css +15 -1
- package/styles/schedule/material-dark.scss +1 -1
- package/styles/schedule/material.css +15 -1
- package/styles/schedule/material.scss +1 -1
- package/styles/schedule/material3-dark.css +16 -2
- package/styles/schedule/material3-dark.scss +1 -1
- package/styles/schedule/material3.css +16 -2
- package/styles/schedule/material3.scss +1 -1
- package/styles/schedule/tailwind-dark.css +15 -1
- package/styles/schedule/tailwind-dark.scss +1 -1
- package/styles/schedule/tailwind.css +15 -1
- package/styles/schedule/tailwind.scss +1 -1
- package/styles/tailwind-dark.css +15 -2
- package/styles/tailwind.css +15 -2
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version :
|
|
3
|
+
* version : 23.1.36
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2020. 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@22.
|
|
3
|
+
"_id": "@syncfusion/ej2-schedule@22.5.7",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-OkyacVmb2OC8LhOoRaL2gksKeFKVUc/KR1DbSjBkJmpZ05BDdYH5Oxcm8V2z7E5GV2fzVwfHDUjbHO60A8CMlQ==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-schedule",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
"/@syncfusion/ej2-react-schedule",
|
|
24
24
|
"/@syncfusion/ej2-vue-schedule"
|
|
25
25
|
],
|
|
26
|
-
"_resolved": "https://nexus.syncfusion.com/repository/ej2-
|
|
27
|
-
"_shasum": "
|
|
26
|
+
"_resolved": "https://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-schedule/-/ej2-schedule-22.5.7.tgz",
|
|
27
|
+
"_shasum": "67afb25d998973aec9b52b4ed0948d850175c558",
|
|
28
28
|
"_spec": "@syncfusion/ej2-schedule@*",
|
|
29
|
-
"_where": "/jenkins/workspace/elease-
|
|
29
|
+
"_where": "/jenkins/workspace/elease-automation_release_23.1.1/packages/included",
|
|
30
30
|
"author": {
|
|
31
31
|
"name": "Syncfusion Inc."
|
|
32
32
|
},
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
},
|
|
36
36
|
"bundleDependencies": false,
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@syncfusion/ej2-base": "~
|
|
39
|
-
"@syncfusion/ej2-buttons": "~
|
|
40
|
-
"@syncfusion/ej2-calendars": "~
|
|
41
|
-
"@syncfusion/ej2-data": "~
|
|
42
|
-
"@syncfusion/ej2-dropdowns": "~
|
|
43
|
-
"@syncfusion/ej2-excel-export": "~
|
|
44
|
-
"@syncfusion/ej2-inputs": "~
|
|
45
|
-
"@syncfusion/ej2-lists": "~
|
|
46
|
-
"@syncfusion/ej2-navigations": "~
|
|
47
|
-
"@syncfusion/ej2-popups": "~
|
|
38
|
+
"@syncfusion/ej2-base": "~23.1.36",
|
|
39
|
+
"@syncfusion/ej2-buttons": "~23.1.36",
|
|
40
|
+
"@syncfusion/ej2-calendars": "~23.1.36",
|
|
41
|
+
"@syncfusion/ej2-data": "~23.1.36",
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~23.1.36",
|
|
43
|
+
"@syncfusion/ej2-excel-export": "~23.1.36",
|
|
44
|
+
"@syncfusion/ej2-inputs": "~23.1.36",
|
|
45
|
+
"@syncfusion/ej2-lists": "~23.1.36",
|
|
46
|
+
"@syncfusion/ej2-navigations": "~23.1.36",
|
|
47
|
+
"@syncfusion/ej2-popups": "~23.1.36"
|
|
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": "
|
|
76
|
+
"version": "23.1.36",
|
|
77
77
|
"sideEffects": false
|
|
78
78
|
}
|
|
@@ -13,7 +13,7 @@ export declare class Crud {
|
|
|
13
13
|
refreshDataManager(): void;
|
|
14
14
|
private dataManagerSuccess;
|
|
15
15
|
dataManagerFailure(e: ReturnType): void;
|
|
16
|
-
refreshProcessedData(isVirtualScrollAction?: boolean): void;
|
|
16
|
+
refreshProcessedData(isVirtualScrollAction?: boolean, dynamicEvents?: Record<string, any>[]): void;
|
|
17
17
|
private refreshData;
|
|
18
18
|
addEvent(eventData: Record<string, any> | Record<string, any>[]): void;
|
|
19
19
|
saveEvent(eventData: Record<string, any> | Record<string, any>[], action: CurrentAction): void;
|
|
@@ -62,7 +62,7 @@ var Crud = /** @class */ (function () {
|
|
|
62
62
|
}
|
|
63
63
|
this.parent.trigger(events.actionFailure, { error: e }, function () { return _this.parent.hideSpinner(); });
|
|
64
64
|
};
|
|
65
|
-
Crud.prototype.refreshProcessedData = function (isVirtualScrollAction) {
|
|
65
|
+
Crud.prototype.refreshProcessedData = function (isVirtualScrollAction, dynamicEvents) {
|
|
66
66
|
if (isVirtualScrollAction === void 0) { isVirtualScrollAction = false; }
|
|
67
67
|
if (this.parent.dragAndDropModule) {
|
|
68
68
|
this.parent.dragAndDropModule.actionObj.action = '';
|
|
@@ -86,7 +86,7 @@ var Crud = /** @class */ (function () {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
if (isVirtualScrollAction) {
|
|
89
|
-
this.parent.notify(events.dataReady, { processedData: this.parent.eventsProcessed });
|
|
89
|
+
this.parent.notify(events.dataReady, { processedData: dynamicEvents ? this.parent.eventBase.processData(dynamicEvents) : this.parent.eventsProcessed });
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
92
|
var eventsData = this.parent.eventsData || [];
|
|
@@ -252,6 +252,8 @@ var Crud = /** @class */ (function () {
|
|
|
252
252
|
editParams.changedRecords.push(event_4);
|
|
253
253
|
promise = _this.parent.dataModule.dataManager.update(fields.id, event_4, _this.getTable(), _this.getQuery());
|
|
254
254
|
}
|
|
255
|
+
var cloneEvent = extend({}, saveArgs.changedRecords[saveArgs.changedRecords.length - 1], null, true);
|
|
256
|
+
_this.parent.eventBase.selectWorkCellByTime([_this.parent.eventBase.processTimezone(cloneEvent)]);
|
|
255
257
|
var crudArgs = {
|
|
256
258
|
requestType: 'eventChanged', cancel: false,
|
|
257
259
|
data: saveArgs.changedRecords, promise: promise, editParams: editParams
|
|
@@ -387,7 +389,8 @@ var Crud = /** @class */ (function () {
|
|
|
387
389
|
_loop_2(a, count);
|
|
388
390
|
}
|
|
389
391
|
var promise = _this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, _this.getTable(), _this.getQuery());
|
|
390
|
-
|
|
392
|
+
var cloneEvent = extend({}, occurrenceArgs.changedRecords[occurrenceArgs.changedRecords.length - 1], null, true);
|
|
393
|
+
_this.parent.eventBase.selectWorkCellByTime(action === 'EditOccurrence' ? [_this.parent.eventBase.processTimezone(cloneEvent)] : [cloneEvent]);
|
|
391
394
|
var crudArgs = {
|
|
392
395
|
requestType: action === 'EditOccurrence' ? 'eventChanged' : 'eventRemoved',
|
|
393
396
|
cancel: false, data: isDeletedRecords ? occurrenceArgs.deletedRecords : occurrenceArgs.changedRecords,
|
|
@@ -464,7 +467,8 @@ var Crud = /** @class */ (function () {
|
|
|
464
467
|
_loop_3(a, count);
|
|
465
468
|
}
|
|
466
469
|
var promise = _this.parent.dataModule.dataManager.saveChanges(editParams, fields_1.id, _this.getTable(), _this.getQuery());
|
|
467
|
-
|
|
470
|
+
var cloneEvent = extend({}, followArgs.changedRecords[followArgs.changedRecords.length - 1], null, true);
|
|
471
|
+
_this.parent.eventBase.selectWorkCellByTime(action === 'EditFollowingEvents' ? [_this.parent.eventBase.processTimezone(cloneEvent)] : [cloneEvent]);
|
|
468
472
|
var crudArgs = {
|
|
469
473
|
requestType: action === 'EditFollowingEvents' ? 'eventChanged' : 'eventRemoved',
|
|
470
474
|
cancel: false, data: followArgs.changedRecords, promise: promise, editParams: editParams
|
|
@@ -532,7 +536,8 @@ var Crud = /** @class */ (function () {
|
|
|
532
536
|
_loop_4(a, count);
|
|
533
537
|
}
|
|
534
538
|
var promise = _this.parent.dataModule.dataManager.saveChanges(editParams, fields_2.id, _this.getTable(), _this.getQuery());
|
|
535
|
-
|
|
539
|
+
var cloneEvent = extend({}, seriesArgs.changedRecords[seriesArgs.changedRecords.length - 1], null, true);
|
|
540
|
+
_this.parent.eventBase.selectWorkCellByTime(action === 'EditSeries' ? [_this.parent.eventBase.processTimezone(cloneEvent)] : [cloneEvent]);
|
|
536
541
|
var crudArgs = {
|
|
537
542
|
requestType: action === 'EditSeries' ? 'eventChanged' : 'eventRemoved',
|
|
538
543
|
cancel: false, data: isDeletedRecords ? seriesArgs.deletedRecords : seriesArgs.changedRecords,
|
|
@@ -593,6 +598,7 @@ var Crud = /** @class */ (function () {
|
|
|
593
598
|
_loop_5(a, count);
|
|
594
599
|
}
|
|
595
600
|
var promise = _this.parent.dataModule.dataManager.saveChanges(editParams, fields_3.id, _this.getTable(), _this.getQuery());
|
|
601
|
+
_this.parent.eventBase.selectWorkCellByTime(deleteArgs.deletedRecords);
|
|
596
602
|
var crudArgs = {
|
|
597
603
|
requestType: 'eventRemoved', cancel: false, data: deleteArgs.deletedRecords, promise: promise, editParams: editParams
|
|
598
604
|
};
|
|
@@ -636,6 +642,8 @@ var Crud = /** @class */ (function () {
|
|
|
636
642
|
}
|
|
637
643
|
}
|
|
638
644
|
var promise = _this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, _this.getTable(), _this.getQuery());
|
|
645
|
+
var cloneEvent = extend({}, editArgs.changedRecords[editArgs.changedRecords.length - 1], null, true);
|
|
646
|
+
_this.parent.eventBase.selectWorkCellByTime([_this.parent.eventBase.processTimezone(cloneEvent)]);
|
|
639
647
|
var crudArgs = { requestType: 'eventChanged', cancel: false, data: editArgs.changedRecords, promise: promise, editParams: editParams };
|
|
640
648
|
_this.refreshData(crudArgs);
|
|
641
649
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { Query, DataManager, Predicate } from '@syncfusion/ej2-data';
|
|
3
|
+
import { isNullOrUndefined } from '@syncfusion/ej2-base';
|
|
3
4
|
/**
|
|
4
5
|
* data module is used to generate query and data source.
|
|
5
6
|
*
|
|
@@ -40,15 +41,35 @@ var Data = /** @class */ (function () {
|
|
|
40
41
|
*/
|
|
41
42
|
Data.prototype.generateQuery = function (startDate, endDate) {
|
|
42
43
|
var query = this.query.clone();
|
|
43
|
-
if (this.parent &&
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
if (this.parent && startDate && endDate) {
|
|
45
|
+
if (this.parent.activeViewOptions && this.parent.activeViewOptions.enableLazyLoading &&
|
|
46
|
+
!isNullOrUndefined(this.parent.activeViewOptions.group.resources) &&
|
|
47
|
+
this.parent.activeViewOptions.group.resources.length > 0 && this.parent.resourceBase &&
|
|
48
|
+
this.parent.resourceBase.resourceCollection.length > 0 && this.parent.resourceBase.renderedResources.length > 0) {
|
|
49
|
+
var resIdCollection_1 = [];
|
|
50
|
+
this.parent.resourceBase.resourceCollection.forEach(function () { return resIdCollection_1.push([]); });
|
|
51
|
+
this.parent.resourceBase.renderedResources.forEach(function (resource) {
|
|
52
|
+
resIdCollection_1.forEach(function (resId, index) {
|
|
53
|
+
var groupId = resource.groupOrder[parseInt(index.toString(), 10)];
|
|
54
|
+
if (groupId && resId.indexOf(groupId) < 0) {
|
|
55
|
+
resId.push(groupId);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
this.parent.resourceBase.resourceCollection.forEach(function (resource, index) {
|
|
60
|
+
query.addParams(resource.field, resIdCollection_1[parseInt(index.toString(), 10)].toString());
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (this.parent.timezone) {
|
|
64
|
+
startDate = this.parent.tzModule.remove(new Date(+startDate.getTime()), this.parent.timezone);
|
|
65
|
+
endDate = this.parent.tzModule.remove(new Date(+endDate.getTime()), this.parent.timezone);
|
|
66
|
+
}
|
|
67
|
+
if (this.parent.eventSettings.includeFiltersInQuery) {
|
|
68
|
+
var dateQuery = this.getStartEndQuery(startDate, endDate);
|
|
69
|
+
var recurrenceQuery = new Predicate(this.parent.eventFields.recurrenceRule, 'notequal', null).and(new Predicate(this.parent.eventFields.recurrenceRule, 'notequal', ''));
|
|
70
|
+
return query.where(dateQuery.or(recurrenceQuery));
|
|
71
|
+
}
|
|
49
72
|
query.addParams('StartDate', startDate.toISOString());
|
|
50
|
-
}
|
|
51
|
-
if (endDate) {
|
|
52
73
|
query.addParams('EndDate', endDate.toISOString());
|
|
53
74
|
}
|
|
54
75
|
return query;
|
|
@@ -212,8 +212,7 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
212
212
|
var queryStr = '.' + cls.WORK_CELLS_CLASS + ',.' + cls.ALLDAY_CELLS_CLASS + ',.' + cls.HEADER_CELLS_CLASS;
|
|
213
213
|
var target = closest(e.target, queryStr);
|
|
214
214
|
var selectedCells = this.parent.getSelectedCells();
|
|
215
|
-
if (
|
|
216
|
-
selectedCells[0].getAttribute('data-group-index') !== target.getAttribute('data-group-index')) {
|
|
215
|
+
if (selectedCells.length > 0 && selectedCells.indexOf(target) === -1) {
|
|
217
216
|
target = selectedCells[selectedCells.length - 1];
|
|
218
217
|
}
|
|
219
218
|
if (this.parent.currentView === 'TimelineYear' && target.classList.contains(cls.OTHERMONTH_CLASS)) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
1
2
|
import { append, addClass, remove, isNullOrUndefined, setStyleAttribute, createElement, prepend } from '@syncfusion/ej2-base';
|
|
2
3
|
import * as events from '../base/constant';
|
|
3
4
|
import * as cls from '../base/css-constant';
|
|
@@ -89,6 +90,16 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
89
90
|
};
|
|
90
91
|
VirtualScroll.prototype.renderEvents = function () {
|
|
91
92
|
this.setTabIndex();
|
|
93
|
+
var dynamicData = this.triggerScrollEvent(events.virtualScrollStop);
|
|
94
|
+
if (this.parent.activeViewOptions && this.parent.activeViewOptions.enableLazyLoading && this.parent.crudModule) {
|
|
95
|
+
if (dynamicData.length > 0) {
|
|
96
|
+
this.parent.crudModule.refreshProcessedData(true, dynamicData);
|
|
97
|
+
this.parent.hideSpinner();
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
this.parent.crudModule.refreshDataManager();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
92
103
|
if (this.parent.crudModule) {
|
|
93
104
|
this.parent.crudModule.refreshProcessedData(true);
|
|
94
105
|
}
|
|
@@ -125,7 +136,7 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
125
136
|
resCollection = this.downScroll(conWrap, firstTDIndex);
|
|
126
137
|
}
|
|
127
138
|
if (!isNullOrUndefined(resCollection) && resCollection.length > 0) {
|
|
128
|
-
this.
|
|
139
|
+
this.triggerScrollEvent(events.virtualScrollStart);
|
|
129
140
|
var selectedEle = this.parent.getSelectedCells();
|
|
130
141
|
this.focusedEle = selectedEle[selectedEle.length - 1] || this.focusedEle;
|
|
131
142
|
this.updateContent(resWrap, conWrap, eventWrap, resCollection);
|
|
@@ -153,7 +164,7 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
153
164
|
this.parent.resourceBase.expandedResources[0] !== resCollection[0] ||
|
|
154
165
|
this.parent.resourceBase.expandedResources[this.parent.resourceBase.expandedResources.length - 1] !==
|
|
155
166
|
resCollection[resCollection.length - 1]) {
|
|
156
|
-
this.
|
|
167
|
+
this.triggerScrollEvent(events.virtualScrollStart);
|
|
157
168
|
var colLevels = this.parent.activeView.colLevels.slice(0);
|
|
158
169
|
this.updateHorizontalContent(conWrap, resCollection);
|
|
159
170
|
setStyleAttribute(conWrap.querySelector('table'), { transform: "translateX(" + this.translateY + "px)" });
|
|
@@ -166,6 +177,30 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
166
177
|
this.timeValue = window.setTimeout(function () { _this.renderEvents(); }, 250);
|
|
167
178
|
}
|
|
168
179
|
};
|
|
180
|
+
VirtualScroll.prototype.triggerScrollEvent = function (action) {
|
|
181
|
+
var _this = this;
|
|
182
|
+
var dynamicData = [];
|
|
183
|
+
if (!this.parent.activeView) {
|
|
184
|
+
return dynamicData;
|
|
185
|
+
}
|
|
186
|
+
var eventArgs = {
|
|
187
|
+
startDate: this.parent.activeView.startDate(),
|
|
188
|
+
endDate: this.parent.activeView.endDate(),
|
|
189
|
+
startIndex: this.parent.resourceBase.renderedResources[0].groupIndex,
|
|
190
|
+
endIndex: this.parent.resourceBase.renderedResources[this.parent.resourceBase.renderedResources.length - 1].groupIndex,
|
|
191
|
+
resourceData: this.parent.resourceBase.renderedResources.map(function (x) { return x.resourceData; }),
|
|
192
|
+
name: action
|
|
193
|
+
};
|
|
194
|
+
this.parent.trigger(action, eventArgs, function (args) {
|
|
195
|
+
if (action === events.virtualScrollStart) {
|
|
196
|
+
_this.parent.showSpinner();
|
|
197
|
+
}
|
|
198
|
+
else if (action === events.virtualScrollStop && !isNullOrUndefined(args.eventData) && args.eventData.length > 0) {
|
|
199
|
+
dynamicData = args.eventData;
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
return dynamicData;
|
|
203
|
+
};
|
|
169
204
|
VirtualScroll.prototype.upScroll = function (conWrap, firstTDIndex) {
|
|
170
205
|
var index = 0;
|
|
171
206
|
index = (~~(conWrap.scrollTop / this.itemSize) + Math.ceil(conWrap.clientHeight / this.itemSize)) - this.renderedLength;
|
|
@@ -49,6 +49,10 @@ export declare const resizeStop: string;
|
|
|
49
49
|
export declare const inlineClick: string;
|
|
50
50
|
/** @private */
|
|
51
51
|
export declare const cellSelect: string;
|
|
52
|
+
/** @private */
|
|
53
|
+
export declare const virtualScrollStart: string;
|
|
54
|
+
/** @private */
|
|
55
|
+
export declare const virtualScrollStop: string;
|
|
52
56
|
/**
|
|
53
57
|
* Specifies schedule internal events
|
|
54
58
|
*/
|
|
@@ -49,6 +49,10 @@ export var resizeStop = 'resizeStop';
|
|
|
49
49
|
export var inlineClick = 'inlineClick';
|
|
50
50
|
/** @private */
|
|
51
51
|
export var cellSelect = 'cellSelect';
|
|
52
|
+
/** @private */
|
|
53
|
+
export var virtualScrollStart = 'virtualScrollStart';
|
|
54
|
+
/** @private */
|
|
55
|
+
export var virtualScrollStop = 'virtualScrollStop';
|
|
52
56
|
/**
|
|
53
57
|
* Specifies schedule internal events
|
|
54
58
|
*/
|
|
@@ -248,6 +248,21 @@ export interface DragEventArgs extends BaseEventArgs {
|
|
|
248
248
|
/** Defines the date range navigation action while dragging. */
|
|
249
249
|
navigation?: NavigateOptions;
|
|
250
250
|
}
|
|
251
|
+
/** An interface that holds options of virtual scroll action. */
|
|
252
|
+
export interface ScrollEventArgs extends BaseEventArgs {
|
|
253
|
+
/** Returns the group index of last resource which is currently being rendered. */
|
|
254
|
+
endIndex: number;
|
|
255
|
+
/** Returns the end date from the active view of scheduler. */
|
|
256
|
+
endDate: Date;
|
|
257
|
+
/** Returns the group index of first resource which is currently being rendered. */
|
|
258
|
+
startIndex: number;
|
|
259
|
+
/** Returns the start date from the active view of scheduler. */
|
|
260
|
+
startDate: Date;
|
|
261
|
+
/** Returns the resource data collection which is currently rendered. */
|
|
262
|
+
resourceData: Record<string, any>[];
|
|
263
|
+
/** Allows to define the event data collection that needs to be rendered on every virtual scroll action only when enableLazyLoading property is enabled. */
|
|
264
|
+
eventData?: Record<string, any>[];
|
|
265
|
+
}
|
|
251
266
|
/** An interface that holds options to control the navigation, while performing drag action on appointments. */
|
|
252
267
|
export interface NavigateOptions {
|
|
253
268
|
/** Allows to enable or disable the auto navigation while performing drag action on appointments. */
|
|
@@ -337,6 +337,7 @@ var ResourceBase = /** @class */ (function () {
|
|
|
337
337
|
nodeClicked: this.resourceClick.bind(this),
|
|
338
338
|
created: this.resourceTreeCreated.bind(this)
|
|
339
339
|
});
|
|
340
|
+
this.treeViewObj.root = this.parent.root ? this.parent.root : this.parent;
|
|
340
341
|
this.treeViewObj.appendTo(resourceTree);
|
|
341
342
|
this.treeViewObj.expandAll();
|
|
342
343
|
this.treePopup = new Popup(treeWrapper, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ModuleDeclaration, Property, Event, Animation, Collection, append } from '@syncfusion/ej2-base';import { EventHandler, EmitType, Browser, Internationalization, getDefaultDateObject, cldrData, L10n } from '@syncfusion/ej2-base';import { getValue, compile, extend, isNullOrUndefined, NotifyPropertyChanges, INotifyPropertyChanged, Complex } from '@syncfusion/ej2-base';import { getElement, removeClass, addClass, classList, remove, SanitizeHtmlHelper } from '@syncfusion/ej2-base';import { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';import { HeaderRenderer } from '../renderer/header-renderer';import { Scroll } from '../actions/scroll';import { ScheduleTouch } from '../actions/touch';import { KeyboardInteraction } from '../actions/keyboard';import { Data } from '../actions/data';import { View, CurrentAction, ReturnType, WeekRule } from '../base/type';import { EventBase } from '../event-renderer/event-base';import { InlineEdit } from '../event-renderer/inline-edit';import { QuickPopups } from '../popups/quick-popups';import { EventTooltip } from '../popups/event-tooltip';import { EventWindow } from '../popups/event-window';import { Render } from '../renderer/renderer';import { Day } from '../renderer/day';import { Week } from '../renderer/week';import { WorkWeek } from '../renderer/work-week';import { Month } from '../renderer/month';import { Year } from '../renderer/year';import { Agenda } from '../renderer/agenda';import { MonthAgenda } from '../renderer/month-agenda';import { TimelineViews } from '../renderer/timeline-view';import { TimelineMonth } from '../renderer/timeline-month';import { TimelineYear } from '../renderer/timeline-year';import { WorkHours } from '../models/work-hours';import { TimeScale } from '../models/time-scale';import { QuickInfoTemplates } from '../models/quick-info-templates';import { HeaderRows } from '../models/header-rows';import { Crud } from '../actions/crud';import { Resize } from '../actions/resize';import { DragAndDrop } from '../actions/drag';import { VirtualScroll } from '../actions/virtual-scroll';import { WorkCellInteraction } from '../actions/work-cells';import { WorkHoursModel, ViewsModel, EventSettingsModel, GroupModel, ResourcesModel, TimeScaleModel } from '../models/models';import { QuickInfoTemplatesModel, HeaderRowsModel } from '../models/models';import { EventSettings } from '../models/event-settings';import { Group } from '../models/group';import { Resources } from '../models/resources';import { ICalendarExport } from '../exports/calendar-export';import { ICalendarImport } from '../exports/calendar-import';import { ExcelExport } from '../exports/excel-export';import { Print } from '../exports/print';import { IRenderer, ActionEventArgs, NavigatingEventArgs, CellClickEventArgs, RenderCellEventArgs, ScrollCss, TimezoneFields } from '../base/interface';import { EventClickArgs, EventRenderedArgs, PopupOpenEventArgs, UIStateArgs, DragEventArgs, ResizeEventArgs } from '../base/interface';import { EventFieldsMapping, TdData, ResourceDetails, ResizeEdges, StateArgs, ExportOptions, SelectEventArgs } from '../base/interface';import { ViewsData, PopupCloseEventArgs, HoverEventArgs, MoreEventsClickArgs, CallbackFunction } from '../base/interface';import { CalendarUtil, Gregorian, Islamic, CalendarType } from '../../common/calendar-util';import { ResourceBase } from '../base/resource';import { Timezone, timezoneData } from '../timezone/timezone';import { RecurrenceEditor } from '../../recurrence-editor/recurrence-editor';import * as events from '../base/constant';import * as cls from '../base/css-constant';import * as util from '../base/util';
|
|
1
|
+
import { Component, ModuleDeclaration, Property, Event, Animation, Collection, append } from '@syncfusion/ej2-base';import { EventHandler, EmitType, Browser, Internationalization, getDefaultDateObject, cldrData, L10n } from '@syncfusion/ej2-base';import { getValue, compile, extend, isNullOrUndefined, NotifyPropertyChanges, INotifyPropertyChanged, Complex } from '@syncfusion/ej2-base';import { getElement, removeClass, addClass, classList, remove, SanitizeHtmlHelper } from '@syncfusion/ej2-base';import { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';import { HeaderRenderer } from '../renderer/header-renderer';import { Scroll } from '../actions/scroll';import { ScheduleTouch } from '../actions/touch';import { KeyboardInteraction } from '../actions/keyboard';import { Data } from '../actions/data';import { View, CurrentAction, ReturnType, WeekRule } from '../base/type';import { EventBase } from '../event-renderer/event-base';import { InlineEdit } from '../event-renderer/inline-edit';import { QuickPopups } from '../popups/quick-popups';import { EventTooltip } from '../popups/event-tooltip';import { EventWindow } from '../popups/event-window';import { Render } from '../renderer/renderer';import { Day } from '../renderer/day';import { Week } from '../renderer/week';import { WorkWeek } from '../renderer/work-week';import { Month } from '../renderer/month';import { Year } from '../renderer/year';import { Agenda } from '../renderer/agenda';import { MonthAgenda } from '../renderer/month-agenda';import { TimelineViews } from '../renderer/timeline-view';import { TimelineMonth } from '../renderer/timeline-month';import { TimelineYear } from '../renderer/timeline-year';import { WorkHours } from '../models/work-hours';import { TimeScale } from '../models/time-scale';import { QuickInfoTemplates } from '../models/quick-info-templates';import { HeaderRows } from '../models/header-rows';import { Crud } from '../actions/crud';import { Resize } from '../actions/resize';import { DragAndDrop } from '../actions/drag';import { VirtualScroll } from '../actions/virtual-scroll';import { WorkCellInteraction } from '../actions/work-cells';import { WorkHoursModel, ViewsModel, EventSettingsModel, GroupModel, ResourcesModel, TimeScaleModel } from '../models/models';import { QuickInfoTemplatesModel, HeaderRowsModel } from '../models/models';import { EventSettings } from '../models/event-settings';import { Group } from '../models/group';import { Resources } from '../models/resources';import { ICalendarExport } from '../exports/calendar-export';import { ICalendarImport } from '../exports/calendar-import';import { ExcelExport } from '../exports/excel-export';import { Print } from '../exports/print';import { IRenderer, ActionEventArgs, NavigatingEventArgs, CellClickEventArgs, RenderCellEventArgs, ScrollCss, TimezoneFields } from '../base/interface';import { EventClickArgs, EventRenderedArgs, PopupOpenEventArgs, UIStateArgs, DragEventArgs, ResizeEventArgs } from '../base/interface';import { EventFieldsMapping, TdData, ResourceDetails, ResizeEdges, StateArgs, ExportOptions, SelectEventArgs } from '../base/interface';import { ViewsData, PopupCloseEventArgs, HoverEventArgs, MoreEventsClickArgs, ScrollEventArgs, CallbackFunction } from '../base/interface';import { CalendarUtil, Gregorian, Islamic, CalendarType } from '../../common/calendar-util';import { ResourceBase } from '../base/resource';import { Timezone, timezoneData } from '../timezone/timezone';import { RecurrenceEditor } from '../../recurrence-editor/recurrence-editor';import * as events from '../base/constant';import * as cls from '../base/css-constant';import * as util from '../base/util';
|
|
2
2
|
import {ComponentModel} from '@syncfusion/ej2-base';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -477,6 +477,30 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
477
477
|
*/
|
|
478
478
|
editorTemplate?: string | Function;
|
|
479
479
|
|
|
480
|
+
/**
|
|
481
|
+
* The template option to render the customized header of the editor window.
|
|
482
|
+
*
|
|
483
|
+
*
|
|
484
|
+
* @default null
|
|
485
|
+
* @angularType string | object
|
|
486
|
+
* @reactType string | function | JSX.Element
|
|
487
|
+
* @vueType string | function
|
|
488
|
+
* @aspType string
|
|
489
|
+
*/
|
|
490
|
+
editorHeaderTemplate?: string | Function;
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* The template option to render the customized footer of the editor window.
|
|
494
|
+
*
|
|
495
|
+
*
|
|
496
|
+
* @default null
|
|
497
|
+
* @angularType string | object
|
|
498
|
+
* @reactType string | function | JSX.Element
|
|
499
|
+
* @vueType string | function
|
|
500
|
+
* @aspType string
|
|
501
|
+
*/
|
|
502
|
+
editorFooterTemplate?: string | Function;
|
|
503
|
+
|
|
480
504
|
/**
|
|
481
505
|
* The template option to customize the quick window. The three sections of the quick popup whereas the header, content,
|
|
482
506
|
* and footer can be easily customized with individual template option.
|
|
@@ -681,8 +705,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
681
705
|
/**
|
|
682
706
|
* Triggers on beginning of every scheduler action.
|
|
683
707
|
*
|
|
684
|
-
* {% codeBlock src='schedule/actionBegin/index.md' %}{% endcodeBlock %}
|
|
685
|
-
*
|
|
686
708
|
* @event 'actionBegin'
|
|
687
709
|
*/
|
|
688
710
|
actionBegin?: EmitType<ActionEventArgs>;
|
|
@@ -690,8 +712,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
690
712
|
/**
|
|
691
713
|
* Triggers on successful completion of the scheduler actions.
|
|
692
714
|
*
|
|
693
|
-
* {% codeBlock src='schedule/actionComplete/index.md' %}{% endcodeBlock %}
|
|
694
|
-
*
|
|
695
715
|
* @event 'actionComplete'
|
|
696
716
|
*/
|
|
697
717
|
actionComplete?: EmitType<ActionEventArgs>;
|
|
@@ -699,8 +719,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
699
719
|
/**
|
|
700
720
|
* Triggers when a scheduler action gets failed or interrupted and an error information will be returned.
|
|
701
721
|
*
|
|
702
|
-
* {% codeBlock src='schedule/actionFailure/index.md' %}{% endcodeBlock %}
|
|
703
|
-
*
|
|
704
722
|
* @event 'actionFailure'
|
|
705
723
|
*/
|
|
706
724
|
actionFailure?: EmitType<ActionEventArgs>;
|
|
@@ -708,8 +726,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
708
726
|
/**
|
|
709
727
|
* Triggers before the date or view navigation takes place on scheduler.
|
|
710
728
|
*
|
|
711
|
-
* {% codeBlock src='schedule/navigating/index.md' %}{% endcodeBlock %}
|
|
712
|
-
*
|
|
713
729
|
* @event 'navigating'
|
|
714
730
|
*/
|
|
715
731
|
navigating?: EmitType<NavigatingEventArgs>;
|
|
@@ -717,8 +733,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
717
733
|
/**
|
|
718
734
|
* Triggers before each element of the schedule rendering on the page.
|
|
719
735
|
*
|
|
720
|
-
* {% codeBlock src='schedule/renderCell/index.md' %}{% endcodeBlock %}
|
|
721
|
-
*
|
|
722
736
|
* @event 'renderCell'
|
|
723
737
|
*/
|
|
724
738
|
renderCell?: EmitType<RenderCellEventArgs>;
|
|
@@ -726,8 +740,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
726
740
|
/**
|
|
727
741
|
* Triggers when the events are single clicked or on single tapping the events on the mobile devices.
|
|
728
742
|
*
|
|
729
|
-
* {% codeBlock src='schedule/eventClick/index.md' %}{% endcodeBlock %}
|
|
730
|
-
*
|
|
731
743
|
* @event 'eventClick'
|
|
732
744
|
*/
|
|
733
745
|
eventClick?: EmitType<EventClickArgs>;
|
|
@@ -735,8 +747,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
735
747
|
/**
|
|
736
748
|
* Triggers before each of the event getting rendered on the scheduler user interface.
|
|
737
749
|
*
|
|
738
|
-
* {% codeBlock src='schedule/eventRendered/index.md' %}{% endcodeBlock %}
|
|
739
|
-
*
|
|
740
750
|
* @event 'eventRendered'
|
|
741
751
|
*/
|
|
742
752
|
eventRendered?: EmitType<EventRenderedArgs>;
|
|
@@ -744,8 +754,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
744
754
|
/**
|
|
745
755
|
* Triggers before the data binds to the scheduler.
|
|
746
756
|
*
|
|
747
|
-
* {% codeBlock src='schedule/dataBinding/index.md' %}{% endcodeBlock %}
|
|
748
|
-
*
|
|
749
757
|
* @event 'dataBinding'
|
|
750
758
|
*/
|
|
751
759
|
dataBinding?: EmitType<ReturnType>;
|
|
@@ -753,8 +761,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
753
761
|
/**
|
|
754
762
|
* Triggers before any of the scheduler popups opens on the page.
|
|
755
763
|
*
|
|
756
|
-
* {% codeBlock src='schedule/popupOpen/index.md' %}{% endcodeBlock %}
|
|
757
|
-
*
|
|
758
764
|
* @event 'popupOpen'
|
|
759
765
|
*/
|
|
760
766
|
popupOpen?: EmitType<PopupOpenEventArgs>;
|
|
@@ -762,8 +768,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
762
768
|
/**
|
|
763
769
|
* Triggers before any of the scheduler popups close on the page.
|
|
764
770
|
*
|
|
765
|
-
* {% codeBlock src='schedule/popupClose/index.md' %}{% endcodeBlock %}
|
|
766
|
-
*
|
|
767
771
|
* @event 'popupClose'
|
|
768
772
|
*/
|
|
769
773
|
popupClose?: EmitType<PopupCloseEventArgs>;
|
|
@@ -771,8 +775,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
771
775
|
/**
|
|
772
776
|
* Triggers when an appointment is started to drag.
|
|
773
777
|
*
|
|
774
|
-
* {% codeBlock src='schedule/dragStart/index.md' %}{% endcodeBlock %}
|
|
775
|
-
*
|
|
776
778
|
* @event 'dragStart'
|
|
777
779
|
*/
|
|
778
780
|
dragStart?: EmitType<DragEventArgs>;
|
|
@@ -780,8 +782,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
780
782
|
/**
|
|
781
783
|
* Triggers when an appointment is being in a dragged state.
|
|
782
784
|
*
|
|
783
|
-
* {% codeBlock src='schedule/drag/index.md' %}{% endcodeBlock %}
|
|
784
|
-
*
|
|
785
785
|
* @event 'drag'
|
|
786
786
|
*/
|
|
787
787
|
drag?: EmitType<DragEventArgs>;
|
|
@@ -789,8 +789,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
789
789
|
/**
|
|
790
790
|
* Triggers when the dragging of appointment is stopped.
|
|
791
791
|
*
|
|
792
|
-
* {% codeBlock src='schedule/dragStop/index.md' %}{% endcodeBlock %}
|
|
793
|
-
*
|
|
794
792
|
* @event 'dragStop'
|
|
795
793
|
*/
|
|
796
794
|
dragStop?: EmitType<DragEventArgs>;
|
|
@@ -798,8 +796,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
798
796
|
/**
|
|
799
797
|
* Triggers when an appointment is started to resize.
|
|
800
798
|
*
|
|
801
|
-
* {% codeBlock src='schedule/resizeStart/index.md' %}{% endcodeBlock %}
|
|
802
|
-
*
|
|
803
799
|
* @event 'resizeStart'
|
|
804
800
|
*/
|
|
805
801
|
resizeStart?: EmitType<ResizeEventArgs>;
|
|
@@ -807,8 +803,6 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
807
803
|
/**
|
|
808
804
|
* Triggers when an appointment is being in a resizing action.
|
|
809
805
|
*
|
|
810
|
-
* {% codeBlock src='schedule/resizing/index.md' %}{% endcodeBlock %}
|
|
811
|
-
*
|
|
812
806
|
* @event 'resizing'
|
|
813
807
|
*/
|
|
814
808
|
resizing?: EmitType<ResizeEventArgs>;
|
|
@@ -816,16 +810,28 @@ export interface ScheduleModel extends ComponentModel{
|
|
|
816
810
|
/**
|
|
817
811
|
* Triggers when the resizing of appointment is stopped.
|
|
818
812
|
*
|
|
819
|
-
* {% codeBlock src='schedule/resizeStop/index.md' %}{% endcodeBlock %}
|
|
820
|
-
*
|
|
821
813
|
* @event 'resizeStop'
|
|
822
814
|
*/
|
|
823
815
|
resizeStop?: EmitType<ResizeEventArgs>;
|
|
824
816
|
|
|
825
817
|
/**
|
|
826
|
-
* Triggers
|
|
818
|
+
* Triggers when the scroll action is started.
|
|
819
|
+
* This event triggers only when `allowVirtualScrolling` or `enableLazyLoading` properties are enabled along with resource grouping.
|
|
827
820
|
*
|
|
828
|
-
*
|
|
821
|
+
* @event 'virtualScrollStart'
|
|
822
|
+
*/
|
|
823
|
+
virtualScrollStart?: EmitType<ScrollEventArgs>;
|
|
824
|
+
|
|
825
|
+
/**
|
|
826
|
+
* Triggers when the scroll action is stopped.
|
|
827
|
+
* This event triggers only when `allowVirtualScrolling` or `enableLazyLoading` properties are enabled along with resource grouping.
|
|
828
|
+
*
|
|
829
|
+
* @event 'virtualScrollStop'
|
|
830
|
+
*/
|
|
831
|
+
virtualScrollStop?: EmitType<ScrollEventArgs>;
|
|
832
|
+
|
|
833
|
+
/**
|
|
834
|
+
* Triggers once the event data is bound to the scheduler.
|
|
829
835
|
*
|
|
830
836
|
* @event 'dataBound'
|
|
831
837
|
*/
|