@syncfusion/ej2-schedule 28.2.11 → 29.1.34
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/.gitleaksignore +4 -0
- package/README.md +2 -2
- 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 +518 -146
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +570 -186
- 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 +24 -26
- package/src/recurrence-editor/recurrence-editor-model.d.ts +14 -0
- package/src/recurrence-editor/recurrence-editor.d.ts +12 -0
- package/src/recurrence-editor/recurrence-editor.js +8 -1
- package/src/schedule/actions/action-base.js +4 -1
- package/src/schedule/actions/crud.d.ts +3 -0
- package/src/schedule/actions/crud.js +129 -63
- package/src/schedule/actions/drag.js +3 -0
- package/src/schedule/actions/resize.js +4 -1
- package/src/schedule/actions/virtual-scroll.js +3 -1
- package/src/schedule/base/constant.d.ts +6 -0
- package/src/schedule/base/constant.js +6 -0
- package/src/schedule/base/interface.d.ts +53 -0
- package/src/schedule/base/schedule-model.d.ts +54 -1
- package/src/schedule/base/schedule.d.ts +68 -2
- package/src/schedule/base/schedule.js +67 -0
- package/src/schedule/base/type.d.ts +2 -1
- package/src/schedule/event-renderer/event-base.d.ts +5 -0
- package/src/schedule/event-renderer/event-base.js +123 -27
- package/src/schedule/event-renderer/inline-edit.d.ts +3 -1
- package/src/schedule/event-renderer/inline-edit.js +18 -6
- package/src/schedule/event-renderer/month.d.ts +1 -0
- package/src/schedule/event-renderer/month.js +25 -0
- package/src/schedule/event-renderer/timeline-view.d.ts +1 -1
- package/src/schedule/event-renderer/timeline-view.js +12 -19
- package/src/schedule/event-renderer/vertical-view.js +2 -2
- package/src/schedule/event-renderer/year.js +1 -1
- package/src/schedule/exports/excel-export.js +9 -2
- package/src/schedule/exports/print.d.ts +2 -0
- package/src/schedule/exports/print.js +90 -52
- package/src/schedule/models/views-model.d.ts +32 -0
- package/src/schedule/models/views.d.ts +30 -0
- package/src/schedule/models/views.js +6 -0
- package/src/schedule/popups/event-tooltip.js +18 -0
- package/src/schedule/popups/event-window.d.ts +1 -0
- package/src/schedule/popups/event-window.js +35 -4
- package/src/schedule/popups/quick-popups.js +11 -4
- package/src/schedule/renderer/month.js +3 -1
- package/styles/bds-lite.css +35 -6
- package/styles/bds.css +37 -21
- package/styles/bootstrap-dark-lite.css +46 -17
- package/styles/bootstrap-dark.css +49 -33
- package/styles/bootstrap-lite.css +42 -13
- package/styles/bootstrap.css +44 -28
- package/styles/bootstrap4-lite.css +55 -26
- package/styles/bootstrap4.css +57 -41
- package/styles/bootstrap5-dark-lite.css +128 -99
- package/styles/bootstrap5-dark.css +131 -115
- package/styles/bootstrap5-lite.css +50 -21
- package/styles/bootstrap5.3-lite.css +35 -6
- package/styles/bootstrap5.3.css +37 -21
- package/styles/bootstrap5.css +52 -36
- package/styles/fabric-dark-lite.css +46 -17
- package/styles/fabric-dark.css +49 -33
- package/styles/fabric-lite.css +56 -27
- package/styles/fabric.css +58 -42
- package/styles/fluent-dark-lite.css +39 -10
- package/styles/fluent-dark.css +40 -24
- package/styles/fluent-lite.css +39 -10
- package/styles/fluent.css +40 -24
- package/styles/fluent2-lite.css +35 -6
- package/styles/fluent2.css +38 -22
- package/styles/highcontrast-light-lite.css +53 -24
- package/styles/highcontrast-light.css +56 -40
- package/styles/highcontrast-lite.css +53 -24
- package/styles/highcontrast.css +56 -40
- package/styles/material-dark-lite.css +34 -5
- package/styles/material-dark.css +35 -19
- package/styles/material-lite.css +34 -5
- package/styles/material.css +35 -19
- package/styles/material3-dark-lite.css +36 -7
- package/styles/material3-dark.css +39 -23
- package/styles/material3-lite.css +36 -7
- package/styles/material3.css +39 -23
- package/styles/recurrence-editor/_layout.scss +6 -1
- package/styles/recurrence-editor/bds.css +5 -1
- package/styles/recurrence-editor/bootstrap-dark.css +5 -1
- package/styles/recurrence-editor/bootstrap.css +5 -1
- package/styles/recurrence-editor/bootstrap4.css +5 -1
- package/styles/recurrence-editor/bootstrap5-dark.css +5 -1
- package/styles/recurrence-editor/bootstrap5.3.css +5 -1
- package/styles/recurrence-editor/bootstrap5.css +5 -1
- package/styles/recurrence-editor/fabric-dark.css +5 -1
- package/styles/recurrence-editor/fabric.css +5 -1
- package/styles/recurrence-editor/fluent-dark.css +5 -1
- package/styles/recurrence-editor/fluent.css +5 -1
- package/styles/recurrence-editor/fluent2.css +5 -1
- package/styles/recurrence-editor/highcontrast-light.css +5 -1
- package/styles/recurrence-editor/highcontrast.css +5 -1
- package/styles/recurrence-editor/material-dark.css +5 -1
- package/styles/recurrence-editor/material.css +5 -1
- package/styles/recurrence-editor/material3-dark.css +5 -1
- package/styles/recurrence-editor/material3.css +5 -1
- package/styles/recurrence-editor/tailwind-dark.css +5 -1
- package/styles/recurrence-editor/tailwind.css +5 -1
- package/styles/recurrence-editor/tailwind3.css +5 -1
- package/styles/schedule/_bds-definition.scss +2 -0
- package/styles/schedule/_bigger.scss +2 -17
- package/styles/schedule/_bootstrap-dark-definition.scss +5 -1
- package/styles/schedule/_bootstrap-definition.scss +5 -1
- package/styles/schedule/_bootstrap4-definition.scss +9 -5
- package/styles/schedule/_bootstrap5-definition.scss +5 -1
- package/styles/schedule/_bootstrap5.3-definition.scss +2 -0
- package/styles/schedule/_fabric-dark-definition.scss +2 -0
- package/styles/schedule/_fabric-definition.scss +5 -1
- package/styles/schedule/_fluent-definition.scss +3 -1
- package/styles/schedule/_fluent2-definition.scss +3 -1
- package/styles/schedule/_fusionnew-definition.scss +2 -0
- package/styles/schedule/_highcontrast-definition.scss +6 -2
- package/styles/schedule/_highcontrast-light-definition.scss +6 -2
- package/styles/schedule/_layout.scss +39 -9
- package/styles/schedule/_material-dark-definition.scss +2 -0
- package/styles/schedule/_material-definition.scss +2 -0
- package/styles/schedule/_material3-definition.scss +4 -2
- package/styles/schedule/_tailwind-definition.scss +2 -0
- package/styles/schedule/_tailwind3-definition.scss +4 -2
- package/styles/schedule/bds.css +32 -20
- package/styles/schedule/bootstrap-dark.css +44 -32
- package/styles/schedule/bootstrap.css +39 -27
- package/styles/schedule/bootstrap4.css +52 -40
- package/styles/schedule/bootstrap5-dark.css +126 -114
- package/styles/schedule/bootstrap5.3.css +32 -20
- package/styles/schedule/bootstrap5.css +47 -35
- package/styles/schedule/fabric-dark.css +44 -32
- package/styles/schedule/fabric.css +53 -41
- package/styles/schedule/fluent-dark.css +35 -23
- package/styles/schedule/fluent.css +35 -23
- package/styles/schedule/fluent2.css +33 -21
- package/styles/schedule/highcontrast-light.css +51 -39
- package/styles/schedule/highcontrast.css +51 -39
- package/styles/schedule/material-dark.css +30 -18
- package/styles/schedule/material.css +30 -18
- package/styles/schedule/material3-dark.css +34 -22
- package/styles/schedule/material3.css +34 -22
- package/styles/schedule/tailwind-dark.css +49 -37
- package/styles/schedule/tailwind.css +32 -20
- package/styles/schedule/tailwind3.css +34 -22
- package/styles/tailwind-dark-lite.css +52 -23
- package/styles/tailwind-dark.css +54 -38
- package/styles/tailwind-lite.css +35 -6
- package/styles/tailwind.css +37 -21
- package/styles/tailwind3-lite.css +36 -7
- package/styles/tailwind3.css +39 -23
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version :
|
|
3
|
+
* version : 29.1.33
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2024. 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,32 +1,30 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_from": "@syncfusion/ej2-schedule
|
|
3
|
-
"_id": "@syncfusion/ej2-schedule@
|
|
2
|
+
"_from": "@syncfusion/ej2-schedule@29.1.33",
|
|
3
|
+
"_id": "@syncfusion/ej2-schedule@29.1.33",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-ivDkcDwdybEWPzEUSml+XZlml9wNx8X5O5UpT9sorn1bHFPeT5iJoXWMGoCtSz9eXHJ+z6ALiIwT8rj/oksOeA==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-schedule",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
9
|
-
"type": "
|
|
9
|
+
"type": "version",
|
|
10
10
|
"registry": true,
|
|
11
|
-
"raw": "@syncfusion/ej2-schedule
|
|
11
|
+
"raw": "@syncfusion/ej2-schedule@29.1.33",
|
|
12
12
|
"name": "@syncfusion/ej2-schedule",
|
|
13
13
|
"escapedName": "@syncfusion%2fej2-schedule",
|
|
14
14
|
"scope": "@syncfusion",
|
|
15
|
-
"rawSpec": "
|
|
15
|
+
"rawSpec": "29.1.34",
|
|
16
16
|
"saveSpec": null,
|
|
17
|
-
"fetchSpec": "
|
|
17
|
+
"fetchSpec": "29.1.34"
|
|
18
18
|
},
|
|
19
19
|
"_requiredBy": [
|
|
20
|
-
"/",
|
|
21
|
-
"/@syncfusion/ej2",
|
|
22
20
|
"/@syncfusion/ej2-angular-schedule",
|
|
23
21
|
"/@syncfusion/ej2-react-schedule",
|
|
24
22
|
"/@syncfusion/ej2-vue-schedule"
|
|
25
23
|
],
|
|
26
|
-
"_resolved": "https://
|
|
27
|
-
"_shasum": "
|
|
28
|
-
"_spec": "@syncfusion/ej2-schedule
|
|
29
|
-
"_where": "
|
|
24
|
+
"_resolved": "https://registry.npmjs.org/@syncfusion/ej2-schedule/-/ej2-schedule-29.1.33.tgz",
|
|
25
|
+
"_shasum": "ea34b90c0855afef8524f880e9f2e5cbd47c1865",
|
|
26
|
+
"_spec": "@syncfusion/ej2-schedule@29.1.33",
|
|
27
|
+
"_where": "E:\\march2025\\memory-leaks\\node_modules\\@syncfusion\\ej2-angular-schedule",
|
|
30
28
|
"author": {
|
|
31
29
|
"name": "Syncfusion Inc."
|
|
32
30
|
},
|
|
@@ -35,16 +33,16 @@
|
|
|
35
33
|
},
|
|
36
34
|
"bundleDependencies": false,
|
|
37
35
|
"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": "~
|
|
36
|
+
"@syncfusion/ej2-base": "~29.1.33",
|
|
37
|
+
"@syncfusion/ej2-buttons": "~29.1.33",
|
|
38
|
+
"@syncfusion/ej2-calendars": "~29.1.33",
|
|
39
|
+
"@syncfusion/ej2-data": "~29.1.33",
|
|
40
|
+
"@syncfusion/ej2-dropdowns": "~29.1.33",
|
|
41
|
+
"@syncfusion/ej2-excel-export": "~29.1.33",
|
|
42
|
+
"@syncfusion/ej2-inputs": "~29.1.33",
|
|
43
|
+
"@syncfusion/ej2-lists": "~29.1.33",
|
|
44
|
+
"@syncfusion/ej2-navigations": "~29.1.33",
|
|
45
|
+
"@syncfusion/ej2-popups": "~29.1.33"
|
|
48
46
|
},
|
|
49
47
|
"deprecated": false,
|
|
50
48
|
"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.",
|
|
@@ -72,7 +70,7 @@
|
|
|
72
70
|
"type": "git",
|
|
73
71
|
"url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
|
|
74
72
|
},
|
|
73
|
+
"sideEffects": false,
|
|
75
74
|
"typings": "index.d.ts",
|
|
76
|
-
"version": "
|
|
77
|
-
|
|
78
|
-
}
|
|
75
|
+
"version": "29.1.34"
|
|
76
|
+
}
|
|
@@ -95,4 +95,18 @@ export interface RecurrenceEditorModel extends ComponentModel{
|
|
|
95
95
|
*/
|
|
96
96
|
change?: EmitType<RecurrenceEditorChangeEventArgs>;
|
|
97
97
|
|
|
98
|
+
/**
|
|
99
|
+
* Triggers when the component is created.
|
|
100
|
+
*
|
|
101
|
+
* @event 'created'
|
|
102
|
+
*/
|
|
103
|
+
created?: EmitType<Object>;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Triggers when the component is destroyed.
|
|
107
|
+
*
|
|
108
|
+
* @event 'destroyed'
|
|
109
|
+
*/
|
|
110
|
+
destroyed?: EmitType<Object>;
|
|
111
|
+
|
|
98
112
|
}
|
|
@@ -91,6 +91,18 @@ export declare class RecurrenceEditor extends Component<HTMLElement> implements
|
|
|
91
91
|
* @event 'change'
|
|
92
92
|
*/
|
|
93
93
|
change: EmitType<RecurrenceEditorChangeEventArgs>;
|
|
94
|
+
/**
|
|
95
|
+
* Triggers when the component is created.
|
|
96
|
+
*
|
|
97
|
+
* @event 'created'
|
|
98
|
+
*/
|
|
99
|
+
created: EmitType<Object>;
|
|
100
|
+
/**
|
|
101
|
+
* Triggers when the component is destroyed.
|
|
102
|
+
*
|
|
103
|
+
* @event 'destroyed'
|
|
104
|
+
*/
|
|
105
|
+
destroyed: EmitType<Object>;
|
|
94
106
|
/**
|
|
95
107
|
* Constructor for creating the widget
|
|
96
108
|
*
|
|
@@ -42,6 +42,7 @@ var MONETHEXPANDERWRAPPER = 'e-month-expander';
|
|
|
42
42
|
var MONETHEXPANDWRAPPER = 'e-month-expand-wrapper';
|
|
43
43
|
var MONTHEXPANDERELEMENT = 'e-month-expander-element';
|
|
44
44
|
var MONTHEXPANDERCHECKBOXWRAPPER = 'e-month-expander-checkbox-wrapper';
|
|
45
|
+
var REPEATONWEEKSELECTOR = 'e-repeat-on-week-selector';
|
|
45
46
|
var FORMLEFT = 'e-form-left';
|
|
46
47
|
var FORMRIGHT = 'e-form-right';
|
|
47
48
|
var MONTHDAYWRAPPER = 'e-month-day';
|
|
@@ -749,7 +750,7 @@ var RecurrenceEditor = /** @class */ (function (_super) {
|
|
|
749
750
|
this.localeObj.getConstant('on') + '" />' +
|
|
750
751
|
'</div></td></tr>' +
|
|
751
752
|
'<tr><td>' +
|
|
752
|
-
'<div class="' + INPUTWARAPPER + ' ' + MONTHEXPANDERCHECKBOXWRAPPER + '
|
|
753
|
+
'<div class="' + INPUTWARAPPER + ' ' + MONTHEXPANDERCHECKBOXWRAPPER + ' ' + REPEATONWEEKSELECTOR + '">' +
|
|
753
754
|
'<input class="' + MONTHEXPANNDERELEM + '"title="' + this.localeObj.getConstant('monthExpander') + '" type="radio">' +
|
|
754
755
|
'</div></td>' +
|
|
755
756
|
'<td><div class="' + INPUTWARAPPER + ' ' + WEEKPOSITION + '" >' +
|
|
@@ -1151,6 +1152,12 @@ var RecurrenceEditor = /** @class */ (function (_super) {
|
|
|
1151
1152
|
__decorate([
|
|
1152
1153
|
Event()
|
|
1153
1154
|
], RecurrenceEditor.prototype, "change", void 0);
|
|
1155
|
+
__decorate([
|
|
1156
|
+
Event()
|
|
1157
|
+
], RecurrenceEditor.prototype, "created", void 0);
|
|
1158
|
+
__decorate([
|
|
1159
|
+
Event()
|
|
1160
|
+
], RecurrenceEditor.prototype, "destroyed", void 0);
|
|
1154
1161
|
RecurrenceEditor = __decorate([
|
|
1155
1162
|
NotifyPropertyChanges
|
|
1156
1163
|
], RecurrenceEditor);
|
|
@@ -88,7 +88,9 @@ var ActionBase = /** @class */ (function () {
|
|
|
88
88
|
};
|
|
89
89
|
ActionBase.prototype.calculateIntervalTime = function (date) {
|
|
90
90
|
var dateInMS = util.resetTime(date).getTime();
|
|
91
|
+
var startHour = this.parent.activeView.getStartHour();
|
|
91
92
|
var intervalInMS = util.MS_PER_MINUTE * this.actionObj.interval;
|
|
93
|
+
dateInMS += (startHour.getHours() * 60 + startHour.getMinutes()) * util.MS_PER_MINUTE + startHour.getSeconds() * 1000;
|
|
92
94
|
dateInMS = dateInMS + Math.floor((date.getTime() - dateInMS) / intervalInMS) * intervalInMS;
|
|
93
95
|
return new Date(dateInMS);
|
|
94
96
|
};
|
|
@@ -199,7 +201,8 @@ var ActionBase = /** @class */ (function () {
|
|
|
199
201
|
return originalElement;
|
|
200
202
|
};
|
|
201
203
|
ActionBase.prototype.createCloneElement = function (element) {
|
|
202
|
-
var cloneWrapper = createElement('div'
|
|
204
|
+
var cloneWrapper = document.createElement('div');
|
|
205
|
+
cloneWrapper.appendChild(element.cloneNode(true));
|
|
203
206
|
var cloneElement = cloneWrapper.children[0];
|
|
204
207
|
var cloneClassLists = [cls.CLONE_ELEMENT_CLASS];
|
|
205
208
|
cloneClassLists.push((this.actionObj.action === 'drag') ? cls.DRAG_CLONE_CLASS : cls.RESIZE_CLONE_CLASS);
|
|
@@ -15,6 +15,9 @@ export declare class Crud {
|
|
|
15
15
|
dataManagerFailure(e: ReturnType): void;
|
|
16
16
|
refreshProcessedData(isVirtualScrollAction?: boolean, dynamicEvents?: Record<string, any>[]): void;
|
|
17
17
|
private refreshData;
|
|
18
|
+
private processAddEvent;
|
|
19
|
+
private processSaveEvent;
|
|
20
|
+
private processDeleteEvent;
|
|
18
21
|
addEvent(eventData: Record<string, any> | Record<string, any>[]): void;
|
|
19
22
|
saveEvent(eventData: Record<string, any> | Record<string, any>[], action: CurrentAction): void;
|
|
20
23
|
deleteEvent(eventData: string | number | Record<string, any> | Record<string, any>[], action: CurrentAction): void;
|
|
@@ -167,6 +167,74 @@ var Crud = /** @class */ (function () {
|
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
};
|
|
170
|
+
Crud.prototype.processAddEvent = function (addArgs) {
|
|
171
|
+
var fields = this.parent.eventFields;
|
|
172
|
+
var editParams = { addedRecords: [], changedRecords: [], deletedRecords: [] };
|
|
173
|
+
var promise;
|
|
174
|
+
if (addArgs.addedRecords instanceof Array) {
|
|
175
|
+
for (var _i = 0, _a = addArgs.addedRecords; _i < _a.length; _i++) {
|
|
176
|
+
var event_1 = _a[_i];
|
|
177
|
+
event_1 = this.parent.eventBase.updateEventDateTime(event_1);
|
|
178
|
+
var eventData = extend({}, this.parent.eventBase.processTimezone(event_1, true), null, true);
|
|
179
|
+
editParams.addedRecords.push(eventData);
|
|
180
|
+
}
|
|
181
|
+
promise = this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, this.getTable(), this.getQuery());
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
var event_2 = this.parent.eventBase.processTimezone(addArgs.addedRecords, true);
|
|
185
|
+
editParams.addedRecords.push(event_2);
|
|
186
|
+
promise = this.parent.dataModule.dataManager.insert(event_2, this.getTable(), this.getQuery());
|
|
187
|
+
}
|
|
188
|
+
var crudArgs = {
|
|
189
|
+
requestType: 'eventCreated', cancel: false, data: addArgs.addedRecords, promise: promise, editParams: editParams
|
|
190
|
+
};
|
|
191
|
+
this.refreshData(crudArgs);
|
|
192
|
+
};
|
|
193
|
+
Crud.prototype.processSaveEvent = function (saveArgs) {
|
|
194
|
+
var promise;
|
|
195
|
+
var fields = this.parent.eventFields;
|
|
196
|
+
var editParams = { addedRecords: [], changedRecords: [], deletedRecords: [] };
|
|
197
|
+
if (saveArgs.changedRecords instanceof Array) {
|
|
198
|
+
for (var _i = 0, _a = saveArgs.changedRecords; _i < _a.length; _i++) {
|
|
199
|
+
var event_3 = _a[_i];
|
|
200
|
+
event_3 = this.parent.eventBase.updateEventDateTime(event_3);
|
|
201
|
+
var eventData = extend({}, this.parent.eventBase.processTimezone(event_3, true), null, true);
|
|
202
|
+
editParams.changedRecords.push(eventData);
|
|
203
|
+
}
|
|
204
|
+
promise = this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, this.getTable(), this.getQuery());
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
var event_4 = this.parent.eventBase.processTimezone(saveArgs.changedRecords, true);
|
|
208
|
+
editParams.changedRecords.push(event_4);
|
|
209
|
+
promise = this.parent.dataModule.dataManager.update(fields.id, event_4, this.getTable(), this.getQuery());
|
|
210
|
+
}
|
|
211
|
+
var cloneEvent = extend({}, saveArgs.changedRecords[saveArgs.changedRecords.length - 1], null, true);
|
|
212
|
+
this.parent.eventBase.selectWorkCellByTime([this.parent.eventBase.processTimezone(cloneEvent)]);
|
|
213
|
+
var crudArgs = {
|
|
214
|
+
requestType: 'eventChanged', cancel: false,
|
|
215
|
+
data: saveArgs.changedRecords, promise: promise, editParams: editParams
|
|
216
|
+
};
|
|
217
|
+
this.refreshData(crudArgs);
|
|
218
|
+
};
|
|
219
|
+
Crud.prototype.processDeleteEvent = function (deleteArgs) {
|
|
220
|
+
var promise;
|
|
221
|
+
var fields = this.parent.eventFields;
|
|
222
|
+
var editParams = { addedRecords: [], changedRecords: [], deletedRecords: [] };
|
|
223
|
+
if (deleteArgs.deletedRecords.length > 1) {
|
|
224
|
+
editParams.deletedRecords = editParams.deletedRecords.concat(deleteArgs.deletedRecords);
|
|
225
|
+
promise = this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, this.getTable(), this.getQuery());
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
editParams.deletedRecords.push(deleteArgs.deletedRecords[0]);
|
|
229
|
+
promise = this.parent.dataModule.dataManager.remove(fields.id, deleteArgs.deletedRecords[0], this.getTable(), this.getQuery());
|
|
230
|
+
}
|
|
231
|
+
this.parent.eventBase.selectWorkCellByTime(deleteArgs.deletedRecords);
|
|
232
|
+
var crudArgs = {
|
|
233
|
+
requestType: 'eventRemoved', cancel: false,
|
|
234
|
+
data: deleteArgs.deletedRecords, promise: promise, editParams: editParams
|
|
235
|
+
};
|
|
236
|
+
this.refreshData(crudArgs);
|
|
237
|
+
};
|
|
170
238
|
Crud.prototype.addEvent = function (eventData) {
|
|
171
239
|
var _this = this;
|
|
172
240
|
if (this.parent.eventSettings.allowAdding && !this.parent.activeViewOptions.readonly) {
|
|
@@ -174,6 +242,9 @@ var Crud = /** @class */ (function () {
|
|
|
174
242
|
this.parent.quickPopup.openValidationError('blockAlert', eventData);
|
|
175
243
|
return;
|
|
176
244
|
}
|
|
245
|
+
if (this.parent.eventBase.checkOverlap(eventData)) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
177
248
|
var addEvents = (eventData instanceof Array) ? eventData : [eventData];
|
|
178
249
|
if (addEvents.length === 0) {
|
|
179
250
|
return;
|
|
@@ -184,27 +255,24 @@ var Crud = /** @class */ (function () {
|
|
|
184
255
|
};
|
|
185
256
|
this.parent.trigger(events.actionBegin, args, function (addArgs) {
|
|
186
257
|
if (!addArgs.cancel) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
258
|
+
if (addArgs.promise) {
|
|
259
|
+
addArgs.promise.then(function (hasContinue) {
|
|
260
|
+
if (!_this.parent || _this.parent && _this.parent.isDestroyed) {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
if (hasContinue) {
|
|
264
|
+
_this.processAddEvent(addArgs);
|
|
265
|
+
}
|
|
266
|
+
}).catch(function (e) {
|
|
267
|
+
if (!_this.parent || _this.parent && _this.parent.isDestroyed) {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
_this.parent.trigger(events.actionFailure, { error: e });
|
|
271
|
+
});
|
|
198
272
|
}
|
|
199
273
|
else {
|
|
200
|
-
|
|
201
|
-
editParams.addedRecords.push(event_2);
|
|
202
|
-
promise = _this.parent.dataModule.dataManager.insert(event_2, _this.getTable(), _this.getQuery());
|
|
274
|
+
_this.processAddEvent(addArgs);
|
|
203
275
|
}
|
|
204
|
-
var crudArgs = {
|
|
205
|
-
requestType: 'eventCreated', cancel: false, data: addArgs.addedRecords, promise: promise, editParams: editParams
|
|
206
|
-
};
|
|
207
|
-
_this.refreshData(crudArgs);
|
|
208
276
|
}
|
|
209
277
|
});
|
|
210
278
|
}
|
|
@@ -240,36 +308,33 @@ var Crud = /** @class */ (function () {
|
|
|
240
308
|
}
|
|
241
309
|
}
|
|
242
310
|
else {
|
|
311
|
+
if (this.parent.eventBase.checkOverlap(eventData)) {
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
243
314
|
var args = {
|
|
244
315
|
requestType: 'eventChange', cancel: false, data: eventData,
|
|
245
316
|
addedRecords: [], changedRecords: updateEvents, deletedRecords: []
|
|
246
317
|
};
|
|
247
318
|
this.parent.trigger(events.actionBegin, args, function (saveArgs) {
|
|
248
319
|
if (!saveArgs.cancel) {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
320
|
+
if (saveArgs.promise) {
|
|
321
|
+
saveArgs.promise.then(function (hasContinue) {
|
|
322
|
+
if (!_this.parent || _this.parent && _this.parent.isDestroyed) {
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
if (hasContinue) {
|
|
326
|
+
_this.processSaveEvent(saveArgs);
|
|
327
|
+
}
|
|
328
|
+
}).catch(function (e) {
|
|
329
|
+
if (!_this.parent || _this.parent && _this.parent.isDestroyed) {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
_this.parent.trigger(events.actionFailure, { error: e });
|
|
333
|
+
});
|
|
260
334
|
}
|
|
261
335
|
else {
|
|
262
|
-
|
|
263
|
-
editParams.changedRecords.push(event_4);
|
|
264
|
-
promise = _this.parent.dataModule.dataManager.update(fields.id, event_4, _this.getTable(), _this.getQuery());
|
|
336
|
+
_this.processSaveEvent(saveArgs);
|
|
265
337
|
}
|
|
266
|
-
var cloneEvent = extend({}, saveArgs.changedRecords[saveArgs.changedRecords.length - 1], null, true);
|
|
267
|
-
_this.parent.eventBase.selectWorkCellByTime([_this.parent.eventBase.processTimezone(cloneEvent)]);
|
|
268
|
-
var crudArgs = {
|
|
269
|
-
requestType: 'eventChanged', cancel: false,
|
|
270
|
-
data: saveArgs.changedRecords, promise: promise, editParams: editParams
|
|
271
|
-
};
|
|
272
|
-
_this.refreshData(crudArgs);
|
|
273
338
|
}
|
|
274
339
|
});
|
|
275
340
|
}
|
|
@@ -314,23 +379,24 @@ var Crud = /** @class */ (function () {
|
|
|
314
379
|
};
|
|
315
380
|
this.parent.trigger(events.actionBegin, args, function (deleteArgs) {
|
|
316
381
|
if (!deleteArgs.cancel) {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
382
|
+
if (deleteArgs.promise) {
|
|
383
|
+
deleteArgs.promise.then(function (hasContinue) {
|
|
384
|
+
if (!_this.parent || _this.parent && _this.parent.isDestroyed) {
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
if (hasContinue) {
|
|
388
|
+
_this.processDeleteEvent(deleteArgs);
|
|
389
|
+
}
|
|
390
|
+
}).catch(function (e) {
|
|
391
|
+
if (!_this.parent || _this.parent && _this.parent.isDestroyed) {
|
|
392
|
+
return;
|
|
393
|
+
}
|
|
394
|
+
_this.parent.trigger(events.actionFailure, { error: e });
|
|
395
|
+
});
|
|
323
396
|
}
|
|
324
397
|
else {
|
|
325
|
-
|
|
326
|
-
promise = _this.parent.dataModule.dataManager.remove(fields.id, deleteArgs.deletedRecords[0], _this.getTable(), _this.getQuery());
|
|
398
|
+
_this.processDeleteEvent(deleteArgs);
|
|
327
399
|
}
|
|
328
|
-
_this.parent.eventBase.selectWorkCellByTime(deleteArgs.deletedRecords);
|
|
329
|
-
var crudArgs = {
|
|
330
|
-
requestType: 'eventRemoved', cancel: false,
|
|
331
|
-
data: deleteArgs.deletedRecords, promise: promise, editParams: editParams
|
|
332
|
-
};
|
|
333
|
-
_this.refreshData(crudArgs);
|
|
334
400
|
}
|
|
335
401
|
});
|
|
336
402
|
}
|
|
@@ -341,8 +407,8 @@ var Crud = /** @class */ (function () {
|
|
|
341
407
|
var occurrenceData = [];
|
|
342
408
|
var isDeletedRecords = false;
|
|
343
409
|
if (eventData instanceof Array) {
|
|
344
|
-
for (var _i = 0,
|
|
345
|
-
var event_5 =
|
|
410
|
+
for (var _i = 0, eventData_1 = eventData; _i < eventData_1.length; _i++) {
|
|
411
|
+
var event_5 = eventData_1[_i];
|
|
346
412
|
occurrenceData.push({ occurrence: event_5, parent: this.getParentEvent(event_5) });
|
|
347
413
|
}
|
|
348
414
|
}
|
|
@@ -415,8 +481,8 @@ var Crud = /** @class */ (function () {
|
|
|
415
481
|
var _this = this;
|
|
416
482
|
var followData = [];
|
|
417
483
|
if (eventData instanceof Array) {
|
|
418
|
-
for (var _i = 0,
|
|
419
|
-
var event_6 =
|
|
484
|
+
for (var _i = 0, eventData_2 = eventData; _i < eventData_2.length; _i++) {
|
|
485
|
+
var event_6 = eventData_2[_i];
|
|
420
486
|
followData.push({ occurrence: event_6, parent: this.getParentEvent(event_6) });
|
|
421
487
|
}
|
|
422
488
|
}
|
|
@@ -493,8 +559,8 @@ var Crud = /** @class */ (function () {
|
|
|
493
559
|
var seriesData = [];
|
|
494
560
|
var isDeletedRecords = false;
|
|
495
561
|
if (eventData instanceof Array) {
|
|
496
|
-
for (var _i = 0,
|
|
497
|
-
var event_7 =
|
|
562
|
+
for (var _i = 0, eventData_3 = eventData; _i < eventData_3.length; _i++) {
|
|
563
|
+
var event_7 = eventData_3[_i];
|
|
498
564
|
seriesData.push(this.getParentEvent(event_7, true));
|
|
499
565
|
}
|
|
500
566
|
}
|
|
@@ -577,8 +643,8 @@ var Crud = /** @class */ (function () {
|
|
|
577
643
|
Crud.prototype.processDelete = function (eventData) {
|
|
578
644
|
var _this = this;
|
|
579
645
|
var deleteData = [];
|
|
580
|
-
for (var _i = 0,
|
|
581
|
-
var eventObj =
|
|
646
|
+
for (var _i = 0, eventData_4 = eventData; _i < eventData_4.length; _i++) {
|
|
647
|
+
var eventObj = eventData_4[_i];
|
|
582
648
|
if (eventObj[this.parent.eventFields.recurrenceRule]) {
|
|
583
649
|
deleteData.push({ occurrence: eventObj, parent: this.getParentEvent(eventObj) });
|
|
584
650
|
}
|
|
@@ -644,8 +710,8 @@ var Crud = /** @class */ (function () {
|
|
|
644
710
|
var _this = this;
|
|
645
711
|
var eventData = (data instanceof Array) ? data : [data];
|
|
646
712
|
var editData = [];
|
|
647
|
-
for (var _i = 0,
|
|
648
|
-
var eventObj =
|
|
713
|
+
for (var _i = 0, eventData_5 = eventData; _i < eventData_5.length; _i++) {
|
|
714
|
+
var eventObj = eventData_5[_i];
|
|
649
715
|
if (eventObj[this.parent.eventFields.recurrenceRule]) {
|
|
650
716
|
editData.push({ occurrence: eventObj, parent: this.getParentEvent(eventObj) });
|
|
651
717
|
}
|
|
@@ -426,6 +426,9 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
426
426
|
if (dragEventArgs.cancel) {
|
|
427
427
|
return;
|
|
428
428
|
}
|
|
429
|
+
if (_this.parent.eventBase.checkOverlap(dragEventArgs.data)) {
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
429
432
|
if (_this.parent.isSpecificResourceEvents()) {
|
|
430
433
|
_this.parent.crudModule.crudObj.isCrudAction = true;
|
|
431
434
|
_this.parent.crudModule.crudObj.sourceEvent =
|
|
@@ -332,6 +332,9 @@ var Resize = /** @class */ (function (_super) {
|
|
|
332
332
|
if (resizeEventArgs.cancel) {
|
|
333
333
|
return;
|
|
334
334
|
}
|
|
335
|
+
if (_this.parent.eventBase.checkOverlap(resizeEventArgs.data)) {
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
335
338
|
if (_this.parent.isSpecificResourceEvents()) {
|
|
336
339
|
_this.parent.crudModule.crudObj.sourceEvent =
|
|
337
340
|
[_this.parent.resourceBase.lastResourceLevel[parseInt(resizeEventArgs.element.getAttribute('data-group-index'), 10)]];
|
|
@@ -457,7 +460,7 @@ var Resize = /** @class */ (function (_super) {
|
|
|
457
460
|
resizeTime.setHours(eventEnd.getHours(), eventEnd.getMinutes(), eventEnd.getSeconds());
|
|
458
461
|
}
|
|
459
462
|
}
|
|
460
|
-
var isNotHourSlot = ['TimelineMonth', 'Year', 'Month', 'Week', 'Date'].indexOf(headerName) !== -1 ||
|
|
463
|
+
var isNotHourSlot = ['TimelineMonth', 'Year', 'Month', 'Week', 'WorkWeek', 'Date', 'Day'].indexOf(headerName) !== -1 ||
|
|
461
464
|
!this.parent.activeViewOptions.timeScale.enable;
|
|
462
465
|
if (isLeft) {
|
|
463
466
|
if ((eventEnd.getTime() - resizeTime.getTime()) <= 0) {
|
|
@@ -10,13 +10,13 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
10
10
|
function VirtualScroll(parent) {
|
|
11
11
|
this.translateY = 0;
|
|
12
12
|
this.itemSize = 60;
|
|
13
|
-
this.bufferCount = 3;
|
|
14
13
|
this.renderedLength = 0;
|
|
15
14
|
this.averageRowHeight = 0;
|
|
16
15
|
this.startIndex = 0;
|
|
17
16
|
this.existingDataCollection = [];
|
|
18
17
|
this.enableTransition = true;
|
|
19
18
|
this.parent = parent;
|
|
19
|
+
this.bufferCount = parent.activeViewOptions.overscanCount < 3 ? 3 : parent.activeViewOptions.overscanCount;
|
|
20
20
|
this.addEventListener();
|
|
21
21
|
}
|
|
22
22
|
VirtualScroll.prototype.addEventListener = function () {
|
|
@@ -293,6 +293,7 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
293
293
|
};
|
|
294
294
|
VirtualScroll.prototype.getCollection = function (startIndex, endIndex) {
|
|
295
295
|
this.translateY = startIndex * this.itemSize;
|
|
296
|
+
startIndex = (startIndex < 0) ? 0 : startIndex;
|
|
296
297
|
var lastLevel = this.getResCollection(startIndex, endIndex);
|
|
297
298
|
if (this.parent.enableRtl) {
|
|
298
299
|
this.translateY = -this.translateY;
|
|
@@ -301,6 +302,7 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
301
302
|
};
|
|
302
303
|
VirtualScroll.prototype.getResCollection = function (startIndex, endIndex) {
|
|
303
304
|
var lastLevel = this.parent.activeView.colLevels[this.parent.activeView.colLevels.length - 1];
|
|
305
|
+
endIndex = endIndex > lastLevel.length ? lastLevel.length - 1 : endIndex;
|
|
304
306
|
var resCollection = [];
|
|
305
307
|
var index = { startIndex: 0, endIndex: 0 };
|
|
306
308
|
if (this.parent.activeViewOptions.group.byDate) {
|
|
@@ -65,6 +65,12 @@ export declare const resourceHeader: string;
|
|
|
65
65
|
export declare const dateHeader: string;
|
|
66
66
|
/** @private */
|
|
67
67
|
export declare const beforePaste: string;
|
|
68
|
+
/** @private */
|
|
69
|
+
export declare const beforePrint: string;
|
|
70
|
+
/** @private */
|
|
71
|
+
export declare const excelExport: string;
|
|
72
|
+
/** @private */
|
|
73
|
+
export declare const tooltipOpen: string;
|
|
68
74
|
/**
|
|
69
75
|
* Specifies schedule internal events
|
|
70
76
|
*/
|
|
@@ -65,6 +65,12 @@ export var resourceHeader = 'resourceHeader';
|
|
|
65
65
|
export var dateHeader = 'dateHeader';
|
|
66
66
|
/** @private */
|
|
67
67
|
export var beforePaste = 'beforePaste';
|
|
68
|
+
/** @private */
|
|
69
|
+
export var beforePrint = 'beforePrint';
|
|
70
|
+
/** @private */
|
|
71
|
+
export var excelExport = 'excelExport';
|
|
72
|
+
/** @private */
|
|
73
|
+
export var tooltipOpen = 'tooltipOpen';
|
|
68
74
|
/**
|
|
69
75
|
* Specifies schedule internal events
|
|
70
76
|
*/
|
|
@@ -2,6 +2,7 @@ import { BaseEventArgs } from '@syncfusion/ej2-base';
|
|
|
2
2
|
import { ItemModel } from '@syncfusion/ej2-navigations';
|
|
3
3
|
import { PopupType, ExcelFormat, View, NavigationDirection } from './type';
|
|
4
4
|
import { ResourcesModel, ViewsModel } from '../models/models';
|
|
5
|
+
import { Worksheets } from '@syncfusion/ej2-excel-export';
|
|
5
6
|
/**
|
|
6
7
|
* Interface
|
|
7
8
|
*/
|
|
@@ -23,6 +24,13 @@ export interface ActionEventArgs extends ToolbarActionArgs {
|
|
|
23
24
|
changedRecords?: Record<string, any>[];
|
|
24
25
|
/** Returns the appropriate deleted data based on the action. */
|
|
25
26
|
deletedRecords?: Record<string, any>[];
|
|
27
|
+
/**
|
|
28
|
+
* A Promise that, when provided, checks for overlapping events on the server.
|
|
29
|
+
* If the promise resolves with overlapping events, the action (add/update) will be
|
|
30
|
+
* canceled, and an alert will be displayed to the user.
|
|
31
|
+
* If no overlapping events are found, the scheduler proceeds with the action.
|
|
32
|
+
*/
|
|
33
|
+
promise?: Promise<boolean>;
|
|
26
34
|
}
|
|
27
35
|
/** */
|
|
28
36
|
export interface ToolbarActionArgs extends BaseEventArgs {
|
|
@@ -122,6 +130,7 @@ export interface PopupOpenEventArgs extends BaseEventArgs {
|
|
|
122
130
|
* * `EditEventInfo`: Denotes the quick popup on the events in responsive mode.
|
|
123
131
|
* * `Editor`: Denotes the detailed editor window.
|
|
124
132
|
* * `EventContainer`: Denotes the more indicator popup.
|
|
133
|
+
* * `OverlapAlert`: Denotes the popup showing overlap events.
|
|
125
134
|
* * `QuickInfo`: Denotes the quick popup.
|
|
126
135
|
* * `RecurrenceAlert`: Denotes the popup showing recurrence alerts.
|
|
127
136
|
* * `RecurrenceValidationAlert`: Denotes the popup showing recurrence validation alerts.
|
|
@@ -142,6 +151,11 @@ export interface PopupOpenEventArgs extends BaseEventArgs {
|
|
|
142
151
|
* will be processed based on the `interval` value within the `timeScale` property.
|
|
143
152
|
*/
|
|
144
153
|
duration?: number;
|
|
154
|
+
/**
|
|
155
|
+
* Returns the collection of appointment data that overlaps with the active time range in the Scheduler.
|
|
156
|
+
* The `overlapEvents` array includes only the appointments that conflict with the time range of the appointment being created or updated.
|
|
157
|
+
*/
|
|
158
|
+
overlapEvents?: Record<string, any>[];
|
|
145
159
|
}
|
|
146
160
|
/** An interface that holds options to control the popup close action. */
|
|
147
161
|
export interface PopupCloseEventArgs extends BaseEventArgs {
|
|
@@ -281,6 +295,26 @@ export interface ScrollOptions {
|
|
|
281
295
|
/** Allows to define the time delay value while scrolling. */
|
|
282
296
|
timeDelay: number;
|
|
283
297
|
}
|
|
298
|
+
/** An interface that holds the properties for the before Excel expoprt event. */
|
|
299
|
+
export interface ExcelExportEventArgs {
|
|
300
|
+
/** Specifies the Worksheets that will be exported. */
|
|
301
|
+
worksheets: Worksheets;
|
|
302
|
+
/** Specifies whether to cancel the export operation. */
|
|
303
|
+
cancel: boolean;
|
|
304
|
+
}
|
|
305
|
+
/** An interface that holds options for the before print event. */
|
|
306
|
+
export interface BeforePrintEventArgs {
|
|
307
|
+
/**
|
|
308
|
+
* The HTML element that will be printed.
|
|
309
|
+
* This element can be modified to customize the print output.
|
|
310
|
+
*/
|
|
311
|
+
printElement?: HTMLElement;
|
|
312
|
+
/**
|
|
313
|
+
* Indicates whether to cancel the print operation.
|
|
314
|
+
* Set to `true` to prevent the schedule from being printed.
|
|
315
|
+
*/
|
|
316
|
+
cancel?: boolean;
|
|
317
|
+
}
|
|
284
318
|
/** An interface that holds export options. */
|
|
285
319
|
export interface ExportOptions {
|
|
286
320
|
/** The fileName denotes the name to be given for the exported file. */
|
|
@@ -304,6 +338,25 @@ export interface ExportOptions {
|
|
|
304
338
|
*/
|
|
305
339
|
separator?: string;
|
|
306
340
|
}
|
|
341
|
+
/** An interface that holds the options for the tooltip event in the Schedule component. */
|
|
342
|
+
export interface TooltipOpenEventArgs {
|
|
343
|
+
/**
|
|
344
|
+
* Determines whether the tooltip should be canceled or not.
|
|
345
|
+
*/
|
|
346
|
+
cancel?: boolean;
|
|
347
|
+
/**
|
|
348
|
+
* The data associated with the tooltip.
|
|
349
|
+
*/
|
|
350
|
+
data?: Record<string, any>;
|
|
351
|
+
/**
|
|
352
|
+
* The target element that triggered the tooltip.
|
|
353
|
+
*/
|
|
354
|
+
target?: HTMLElement;
|
|
355
|
+
/**
|
|
356
|
+
* The content to be displayed in the tooltip. Can be an HTMLElement.
|
|
357
|
+
*/
|
|
358
|
+
content?: HTMLElement;
|
|
359
|
+
}
|
|
307
360
|
/** An interface that holds the field name and its header text to export to excel. */
|
|
308
361
|
export interface ExportFieldInfo {
|
|
309
362
|
/** Defines the header display text. */
|