@syncfusion/ej2-schedule 20.1.57 → 20.2.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 +25 -0
- package/dist/ej2-schedule.umd.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +199 -48
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +204 -48
- 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/helpers/e2e/index.js +9 -7
- package/helpers/e2e/recurrence-editor.js +41 -25
- package/helpers/e2e/schedule.js +44 -28
- package/package.json +15 -15
- package/src/recurrence-editor/recurrence-editor.js +4 -1
- package/src/schedule/actions/action-base.d.ts +1 -0
- package/src/schedule/actions/action-base.js +3 -2
- package/src/schedule/actions/crud.js +9 -7
- package/src/schedule/actions/drag.js +1 -1
- package/src/schedule/base/interface.d.ts +6 -0
- package/src/schedule/base/schedule.d.ts +8 -0
- package/src/schedule/base/schedule.js +66 -0
- package/src/schedule/event-renderer/agenda-base.js +6 -6
- package/src/schedule/event-renderer/event-base.js +7 -4
- package/src/schedule/event-renderer/month.js +3 -6
- package/src/schedule/event-renderer/vertical-view.js +3 -3
- package/src/schedule/event-renderer/year.js +2 -2
- package/src/schedule/exports/excel-export.js +8 -4
- package/src/schedule/popups/event-window.js +2 -1
- package/src/schedule/popups/quick-popups.js +5 -4
- package/src/schedule/renderer/agenda.js +2 -2
- package/src/schedule/renderer/timeline-month.d.ts +1 -0
- package/src/schedule/renderer/timeline-month.js +9 -0
- package/src/schedule/renderer/timeline-view.d.ts +1 -0
- package/src/schedule/renderer/timeline-view.js +14 -0
- package/src/schedule/renderer/timeline-year.js +3 -0
- package/src/schedule/renderer/vertical-view.d.ts +2 -0
- package/src/schedule/renderer/vertical-view.js +37 -5
- package/src/schedule/renderer/view-base.d.ts +1 -0
- package/src/schedule/renderer/view-base.js +19 -0
- package/src/schedule/renderer/year.js +2 -1
- package/styles/bootstrap-dark.css +6 -5
- package/styles/bootstrap.css +6 -5
- package/styles/bootstrap4.css +6 -5
- package/styles/bootstrap5-dark.css +5 -3
- package/styles/bootstrap5.css +6 -5
- package/styles/fabric-dark.css +6 -5
- package/styles/fabric.css +6 -5
- package/styles/fluent-dark.css +7 -5
- package/styles/fluent.css +8 -7
- package/styles/highcontrast-light.css +6 -5
- package/styles/highcontrast.css +6 -5
- package/styles/material-dark.css +6 -5
- package/styles/material.css +6 -5
- package/styles/recurrence-editor/_fusionnew-definition.scss +15 -0
- package/styles/recurrence-editor/_material3-definition.scss +15 -0
- package/styles/schedule/_fluent-definition.scss +1 -1
- package/styles/schedule/_fusionnew-definition.scss +224 -0
- package/styles/schedule/_layout.scss +6 -2
- package/styles/schedule/_material3-definition.scss +224 -0
- package/styles/schedule/bootstrap-dark.css +6 -5
- package/styles/schedule/bootstrap.css +6 -5
- package/styles/schedule/bootstrap4.css +6 -5
- package/styles/schedule/bootstrap5-dark.css +5 -3
- package/styles/schedule/bootstrap5.css +6 -5
- package/styles/schedule/fabric-dark.css +6 -5
- package/styles/schedule/fabric.css +6 -5
- package/styles/schedule/fluent-dark.css +7 -5
- package/styles/schedule/fluent.css +8 -7
- package/styles/schedule/highcontrast-light.css +6 -5
- package/styles/schedule/highcontrast.css +6 -5
- package/styles/schedule/icons/_fusionnew.scss +232 -0
- package/styles/schedule/icons/_material3.scss +232 -0
- package/styles/schedule/material-dark.css +6 -5
- package/styles/schedule/material.css +6 -5
- package/styles/schedule/tailwind-dark.css +5 -3
- package/styles/schedule/tailwind.css +6 -5
- package/styles/tailwind-dark.css +5 -3
- package/styles/tailwind.css +6 -5
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 20.
|
|
3
|
+
* version : 20.2.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/helpers/e2e/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
__export(
|
|
1
|
+
define(["require", "exports", "./schedule", "./recurrence-editor"], function (require, exports, schedule_1, recurrence_editor_1) {
|
|
2
|
+
"use strict";
|
|
3
|
+
function __export(m) {
|
|
4
|
+
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
5
|
+
}
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
__export(schedule_1);
|
|
8
|
+
__export(recurrence_editor_1);
|
|
9
|
+
});
|
|
@@ -1,26 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
define(["require", "exports", "@syncfusion/ej2-base/helpers/e2e"], function (require, exports, e2e_1) {
|
|
15
|
+
"use strict";
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var RecurrenceEditorHelper = (function (_super) {
|
|
18
|
+
__extends(RecurrenceEditorHelper, _super);
|
|
19
|
+
function RecurrenceEditorHelper(id, wrapperFn) {
|
|
20
|
+
var _this = _super.call(this) || this;
|
|
21
|
+
_this.id = id;
|
|
22
|
+
if (wrapperFn !== undefined) {
|
|
23
|
+
_this.wrapperFn = wrapperFn;
|
|
24
|
+
}
|
|
25
|
+
return _this;
|
|
10
26
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
RecurrenceEditorHelper.prototype.getElement = function () {
|
|
28
|
+
return this.selector('#' + this.id);
|
|
29
|
+
};
|
|
30
|
+
RecurrenceEditorHelper.prototype.changeRepeatType = function (repeatType) {
|
|
31
|
+
if (typeof repeatType === 'string') {
|
|
32
|
+
this.setModel('selectedType', repeatType.toLowerCase());
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
var frequencies = this.getModel('frequencies');
|
|
36
|
+
this.setModel('selectedType', frequencies[repeatType]);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
return RecurrenceEditorHelper;
|
|
40
|
+
}(e2e_1.TestHelper));
|
|
41
|
+
exports.RecurrenceEditorHelper = RecurrenceEditorHelper;
|
|
42
|
+
});
|
package/helpers/e2e/schedule.js
CHANGED
|
@@ -1,29 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
define(["require", "exports", "@syncfusion/ej2-base/helpers/e2e"], function (require, exports, e2e_1) {
|
|
15
|
+
"use strict";
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var ScheduleHelper = (function (_super) {
|
|
18
|
+
__extends(ScheduleHelper, _super);
|
|
19
|
+
function ScheduleHelper(id, wrapperFn) {
|
|
20
|
+
var _this = _super.call(this) || this;
|
|
21
|
+
_this.id = id;
|
|
22
|
+
if (wrapperFn !== undefined) {
|
|
23
|
+
_this.wrapperFn = wrapperFn;
|
|
24
|
+
}
|
|
25
|
+
return _this;
|
|
10
26
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
ScheduleHelper.prototype.getElement = function () {
|
|
28
|
+
return this.selector('#' + this.id);
|
|
29
|
+
};
|
|
30
|
+
ScheduleHelper.prototype.getEventWindow = function () {
|
|
31
|
+
return this.selector('#' + this.id + '_dialog_wrapper');
|
|
32
|
+
};
|
|
33
|
+
ScheduleHelper.prototype.getAlertDialog = function () {
|
|
34
|
+
return this.selector('#' + this.id + 'QuickDialog');
|
|
35
|
+
};
|
|
36
|
+
ScheduleHelper.prototype.getQuickPopup = function () {
|
|
37
|
+
return this.selector('#' + this.id + ' .e-quick-popup-wrapper');
|
|
38
|
+
};
|
|
39
|
+
ScheduleHelper.prototype.getMorePopup = function () {
|
|
40
|
+
return this.selector('#' + this.id + ' .e-more-popup-wrapper');
|
|
41
|
+
};
|
|
42
|
+
return ScheduleHelper;
|
|
43
|
+
}(e2e_1.TestHelper));
|
|
44
|
+
exports.ScheduleHelper = ScheduleHelper;
|
|
45
|
+
});
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-schedule@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-schedule@
|
|
3
|
+
"_id": "@syncfusion/ej2-schedule@19.19.3",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-yRrF7cHt6giBASGyunHixawRX/57JGqtX3l2mBdM1AcPFrTszQGXiaYYfWrPjmUE17xtmz0/910RDHAgdYxinw==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-schedule",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"/@syncfusion/ej2-react-schedule",
|
|
24
24
|
"/@syncfusion/ej2-vue-schedule"
|
|
25
25
|
],
|
|
26
|
-
"_resolved": "http://nexus.syncfusion.com/repository/ej2-
|
|
27
|
-
"_shasum": "
|
|
26
|
+
"_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-schedule/-/ej2-schedule-19.19.3.tgz",
|
|
27
|
+
"_shasum": "c5df3df291a7c0b7d6dae1b29def618a17894953",
|
|
28
28
|
"_spec": "@syncfusion/ej2-schedule@*",
|
|
29
29
|
"_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
|
|
30
30
|
"author": {
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
},
|
|
36
36
|
"bundleDependencies": false,
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@syncfusion/ej2-base": "~20.
|
|
39
|
-
"@syncfusion/ej2-buttons": "~20.
|
|
40
|
-
"@syncfusion/ej2-calendars": "~20.
|
|
41
|
-
"@syncfusion/ej2-data": "~20.
|
|
42
|
-
"@syncfusion/ej2-dropdowns": "~20.
|
|
43
|
-
"@syncfusion/ej2-excel-export": "~20.
|
|
44
|
-
"@syncfusion/ej2-inputs": "~20.
|
|
45
|
-
"@syncfusion/ej2-lists": "~20.
|
|
46
|
-
"@syncfusion/ej2-navigations": "~20.
|
|
47
|
-
"@syncfusion/ej2-popups": "~20.
|
|
38
|
+
"@syncfusion/ej2-base": "~20.2.36",
|
|
39
|
+
"@syncfusion/ej2-buttons": "~20.2.36",
|
|
40
|
+
"@syncfusion/ej2-calendars": "~20.2.36",
|
|
41
|
+
"@syncfusion/ej2-data": "~20.2.36",
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~20.2.36",
|
|
43
|
+
"@syncfusion/ej2-excel-export": "~20.2.36",
|
|
44
|
+
"@syncfusion/ej2-inputs": "~20.2.36",
|
|
45
|
+
"@syncfusion/ej2-lists": "~20.2.36",
|
|
46
|
+
"@syncfusion/ej2-navigations": "~20.2.36",
|
|
47
|
+
"@syncfusion/ej2-popups": "~20.2.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.",
|
|
@@ -81,6 +81,6 @@
|
|
|
81
81
|
"url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
|
|
82
82
|
},
|
|
83
83
|
"typings": "index.d.ts",
|
|
84
|
-
"version": "20.
|
|
84
|
+
"version": "20.2.36",
|
|
85
85
|
"sideEffects": false
|
|
86
86
|
}
|
|
@@ -358,7 +358,7 @@ var RecurrenceEditor = /** @class */ (function (_super) {
|
|
|
358
358
|
value: VALUEFIELD
|
|
359
359
|
},
|
|
360
360
|
placeholder: this.localeObj.getConstant(REPEAT),
|
|
361
|
-
htmlAttributes: { 'title': this.localeObj.getConstant(REPEAT) },
|
|
361
|
+
htmlAttributes: { 'title': this.localeObj.getConstant(REPEAT), role: 'option' },
|
|
362
362
|
change: function (args) {
|
|
363
363
|
self.setProperties({ selectedType: _this.frequencies.indexOf(args.value) }, false);
|
|
364
364
|
self.element.querySelector('.' + REPEATCONTENT).innerHTML =
|
|
@@ -380,6 +380,7 @@ var RecurrenceEditor = /** @class */ (function (_super) {
|
|
|
380
380
|
text: TEXTFIELD,
|
|
381
381
|
value: VALUEFIELD
|
|
382
382
|
},
|
|
383
|
+
htmlAttributes: { role: 'option' },
|
|
383
384
|
change: function (args) {
|
|
384
385
|
self.freshOnEndForm();
|
|
385
386
|
self.updateEndOnForm(args.value);
|
|
@@ -397,6 +398,7 @@ var RecurrenceEditor = /** @class */ (function (_super) {
|
|
|
397
398
|
text: TEXTFIELD,
|
|
398
399
|
value: VALUEFIELD
|
|
399
400
|
},
|
|
401
|
+
htmlAttributes: { role: 'option' },
|
|
400
402
|
index: 1,
|
|
401
403
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
402
404
|
change: function (args) {
|
|
@@ -416,6 +418,7 @@ var RecurrenceEditor = /** @class */ (function (_super) {
|
|
|
416
418
|
text: TEXTFIELD,
|
|
417
419
|
value: VALUEFIELD
|
|
418
420
|
},
|
|
421
|
+
htmlAttributes: { role: 'option' },
|
|
419
422
|
enableRtl: this.enableRtl,
|
|
420
423
|
index: 7,
|
|
421
424
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -16,6 +16,7 @@ export declare class ActionBase {
|
|
|
16
16
|
verticalEvent: VerticalEvent;
|
|
17
17
|
yearEvent: YearEvent;
|
|
18
18
|
daysVariation: number;
|
|
19
|
+
private scrollEventArgs;
|
|
19
20
|
constructor(parent: Schedule);
|
|
20
21
|
getChangedData(multiData?: Record<string, any>[]): Record<string, any>;
|
|
21
22
|
saveChangedData(eventArgs: DragEventArgs | ResizeEventArgs, isMultiSelect?: boolean): void;
|
|
@@ -300,6 +300,7 @@ var ActionBase = /** @class */ (function () {
|
|
|
300
300
|
};
|
|
301
301
|
ActionBase.prototype.updateScrollPosition = function (e) {
|
|
302
302
|
var _this = this;
|
|
303
|
+
this.scrollEventArgs = e;
|
|
303
304
|
if (this.actionObj.scroll.enable && isNullOrUndefined(this.actionObj.scrollInterval)) {
|
|
304
305
|
this.actionObj.scrollInterval = window.setInterval(function () {
|
|
305
306
|
if (_this.autoScrollValidation() && !_this.actionObj.clone.classList.contains(cls.ALLDAY_APPOINTMENT_CLASS)) {
|
|
@@ -309,10 +310,10 @@ var ActionBase = /** @class */ (function () {
|
|
|
309
310
|
}
|
|
310
311
|
_this.autoScroll();
|
|
311
312
|
if (_this.actionObj.action === 'drag') {
|
|
312
|
-
_this.parent.dragAndDropModule.updateDraggingDateTime(
|
|
313
|
+
_this.parent.dragAndDropModule.updateDraggingDateTime(_this.scrollEventArgs);
|
|
313
314
|
}
|
|
314
315
|
else {
|
|
315
|
-
_this.parent.resizeModule.updateResizingDirection(
|
|
316
|
+
_this.parent.resizeModule.updateResizingDirection(_this.scrollEventArgs);
|
|
316
317
|
}
|
|
317
318
|
}
|
|
318
319
|
}, this.actionObj.scroll.timeDelay);
|
|
@@ -632,13 +632,15 @@ var Crud = /** @class */ (function () {
|
|
|
632
632
|
else {
|
|
633
633
|
endDate = new Date(+followEvent[fields.startTime]);
|
|
634
634
|
var newRecurrenceRule = followEvent[fields.recurrenceRule];
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
635
|
+
if (newRecurrenceRule) {
|
|
636
|
+
var startDate = parentEvent[fields.startTime];
|
|
637
|
+
var ruleException = (this.parent.currentAction === 'DeleteFollowingEvents') ? followEvent[fields.recurrenceException] : null;
|
|
638
|
+
var dateCollection = generate(startDate, newRecurrenceRule, ruleException, this.parent.activeViewOptions.firstDayOfWeek);
|
|
639
|
+
var untilDate = new Date(dateCollection.slice(-1)[0]);
|
|
640
|
+
untilDate.setHours(endDate.getHours(), endDate.getMinutes(), endDate.getSeconds());
|
|
641
|
+
endDate.setHours(startDate.getHours(), startDate.getMinutes(), startDate.getSeconds());
|
|
642
|
+
followEvent[fields.recurrenceRule] = this.getUpdatedRecurrenceRule(newRecurrenceRule, new Date(+untilDate), false);
|
|
643
|
+
}
|
|
642
644
|
}
|
|
643
645
|
parentEvent[fields.recurrenceRule] = this.getUpdatedRecurrenceRule(recurrenceRule, util.addDays(new Date(endDate.getTime()), -1), true);
|
|
644
646
|
};
|
|
@@ -1238,7 +1238,7 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
1238
1238
|
var cursorElement = this.getCursorElement(e);
|
|
1239
1239
|
if (cursorElement) {
|
|
1240
1240
|
top = cursorElement.classList.contains(cls.WORK_CELLS_CLASS) ? cursorElement.offsetTop :
|
|
1241
|
-
cursorElement.offsetParent.classList.contains(cls.APPOINTMENT_CLASS) ?
|
|
1241
|
+
(cursorElement.offsetParent && cursorElement.offsetParent.classList.contains(cls.APPOINTMENT_CLASS)) ?
|
|
1242
1242
|
cursorElement.offsetParent.offsetTop : top;
|
|
1243
1243
|
}
|
|
1244
1244
|
}
|
|
@@ -281,6 +281,11 @@ export interface ExportOptions {
|
|
|
281
281
|
* the occurrences as separate instances on an exported Excel file.
|
|
282
282
|
*/
|
|
283
283
|
includeOccurrences?: boolean;
|
|
284
|
+
/**
|
|
285
|
+
* Defines the delimiter for csv file export.
|
|
286
|
+
* By default, csv files are using comma(,) as separator. You can specify this property to change the delimiter in csv file.
|
|
287
|
+
*/
|
|
288
|
+
separator?: string;
|
|
284
289
|
}
|
|
285
290
|
/** An interface that holds the field name and its header text to export to excel. */
|
|
286
291
|
export interface ExportFieldInfo {
|
|
@@ -414,6 +419,7 @@ export interface IRenderer {
|
|
|
414
419
|
isTimelineView(): boolean;
|
|
415
420
|
setColWidth(content: HTMLElement): void;
|
|
416
421
|
resetColWidth(): void;
|
|
422
|
+
getAdjustedDate?(date: Date): Date;
|
|
417
423
|
viewIndex: number;
|
|
418
424
|
}
|
|
419
425
|
/** @private */
|
|
@@ -1641,6 +1641,14 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
1641
1641
|
* @returns {void}
|
|
1642
1642
|
*/
|
|
1643
1643
|
closeEditor(): void;
|
|
1644
|
+
/**
|
|
1645
|
+
* To manually open the quick info popup based on cell or event details.
|
|
1646
|
+
*
|
|
1647
|
+
* @param {object} data Defines the cell or event data. If the data contains valid ID, it will open event quick info popup,
|
|
1648
|
+
* otherwise cell quick info popup displayed.
|
|
1649
|
+
* @returns {void}
|
|
1650
|
+
*/
|
|
1651
|
+
openQuickInfoPopup(data: Record<string, any>): void;
|
|
1644
1652
|
/**
|
|
1645
1653
|
* To manually close the quick info popup
|
|
1646
1654
|
*
|
|
@@ -2399,6 +2399,72 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
2399
2399
|
this.eventWindow.dialogClose();
|
|
2400
2400
|
}
|
|
2401
2401
|
};
|
|
2402
|
+
/**
|
|
2403
|
+
* To manually open the quick info popup based on cell or event details.
|
|
2404
|
+
*
|
|
2405
|
+
* @param {object} data Defines the cell or event data. If the data contains valid ID, it will open event quick info popup,
|
|
2406
|
+
* otherwise cell quick info popup displayed.
|
|
2407
|
+
* @returns {void}
|
|
2408
|
+
*/
|
|
2409
|
+
Schedule.prototype.openQuickInfoPopup = function (data) {
|
|
2410
|
+
var _this = this;
|
|
2411
|
+
if (this.currentView === 'Year' || isNullOrUndefined(data)) {
|
|
2412
|
+
return;
|
|
2413
|
+
}
|
|
2414
|
+
if (isNullOrUndefined(data[this.eventFields.id])) {
|
|
2415
|
+
if (this.currentView === 'Agenda' || this.currentView === 'MonthAgenda' || isNullOrUndefined(this.activeView)) {
|
|
2416
|
+
return;
|
|
2417
|
+
}
|
|
2418
|
+
var cellData = {
|
|
2419
|
+
startTime: this.activeCellsData.startTime = this.getDateTime(data[this.eventFields.startTime]),
|
|
2420
|
+
endTime: this.activeCellsData.endTime = this.getDateTime(data[this.eventFields.endTime]),
|
|
2421
|
+
isAllDay: this.activeCellsData.isAllDay =
|
|
2422
|
+
!isNullOrUndefined(data[this.eventFields.isAllDay]) ? data[this.eventFields.isAllDay] : false
|
|
2423
|
+
};
|
|
2424
|
+
var startTime = this.activeView.getAdjustedDate(new Date(cellData.startTime));
|
|
2425
|
+
if (startTime) {
|
|
2426
|
+
var query = '.' + cls.WORK_CELLS_CLASS + '[data-date="' + startTime.getTime() + '"]';
|
|
2427
|
+
if (this.activeViewOptions.group.resources.length > 0 && !this.uiStateValues.isGroupAdaptive
|
|
2428
|
+
&& this.resourceBase && this.eventBase) {
|
|
2429
|
+
cellData.groupIndex = this.eventBase.getGroupIndexFromEvent(data);
|
|
2430
|
+
query = '.' + cls.WORK_CELLS_CLASS + '[data-date="' + startTime.getTime() + '"][data-group-index="' + cellData.groupIndex + '"]';
|
|
2431
|
+
}
|
|
2432
|
+
var workCell = this.element.querySelector(query);
|
|
2433
|
+
if (workCell) {
|
|
2434
|
+
workCell.focus();
|
|
2435
|
+
cellData.element = workCell;
|
|
2436
|
+
this.notify(events.cellClick, cellData);
|
|
2437
|
+
}
|
|
2438
|
+
}
|
|
2439
|
+
}
|
|
2440
|
+
else {
|
|
2441
|
+
var app = this.getCurrentViewEvents().filter(function (item) {
|
|
2442
|
+
return data[_this.eventFields.id] === item[_this.eventFields.id];
|
|
2443
|
+
});
|
|
2444
|
+
if (app.length <= 0) {
|
|
2445
|
+
return;
|
|
2446
|
+
}
|
|
2447
|
+
var selectEvent = app[0];
|
|
2448
|
+
if (data[this.eventFields.recurrenceRule]) {
|
|
2449
|
+
var occurence = app.filter(function (x) {
|
|
2450
|
+
return x[_this.eventFields.startTime].getTime() === data[_this.eventFields.startTime].getTime();
|
|
2451
|
+
});
|
|
2452
|
+
if (occurence.length > 0) {
|
|
2453
|
+
selectEvent = occurence[0];
|
|
2454
|
+
}
|
|
2455
|
+
}
|
|
2456
|
+
var element = this.element.querySelector('div[data-guid="' + selectEvent.Guid + '"]');
|
|
2457
|
+
if (element) {
|
|
2458
|
+
this.eventBase.removeSelectedAppointmentClass();
|
|
2459
|
+
this.eventBase.addSelectedAppointments([element]);
|
|
2460
|
+
this.activeEventData = { event: selectEvent, element: element };
|
|
2461
|
+
if (this.currentView === 'Agenda' || this.currentView === 'MonthAgenda') {
|
|
2462
|
+
addClass([this.activeEventData.element], cls.AGENDA_SELECTED_CELL);
|
|
2463
|
+
}
|
|
2464
|
+
this.notify(events.eventClick, this.activeEventData);
|
|
2465
|
+
}
|
|
2466
|
+
}
|
|
2467
|
+
};
|
|
2402
2468
|
/**
|
|
2403
2469
|
* To manually close the quick info popup
|
|
2404
2470
|
*
|
|
@@ -54,8 +54,8 @@ var AgendaBase = /** @class */ (function (_super) {
|
|
|
54
54
|
'data-guid': listData[li].Guid,
|
|
55
55
|
'role': 'button',
|
|
56
56
|
'tabindex': '0',
|
|
57
|
-
'aria-
|
|
58
|
-
'aria-
|
|
57
|
+
'aria-disabled': _this.parent.eventBase.getReadonlyAttribute(listData[li]),
|
|
58
|
+
'aria-pressed': 'false',
|
|
59
59
|
'aria-grabbed': 'true',
|
|
60
60
|
'aria-label': _this.parent.getAnnouncementString(listData[li])
|
|
61
61
|
}
|
|
@@ -323,8 +323,8 @@ var AgendaBase = /** @class */ (function (_super) {
|
|
|
323
323
|
ntd.appendChild(this.createDateHeaderElement(tempData.date));
|
|
324
324
|
addClass([ntd], [cls.AGENDA_CELLS_CLASS, cls.AGENDA_DATE_CLASS, cls.DATE_BORDER_CLASS]);
|
|
325
325
|
var daysCount = util.getDaysCount(this.parent.selectedDate.getTime(), tempData.date.getTime());
|
|
326
|
-
ntr.setAttribute('
|
|
327
|
-
if (this.parent.element.querySelector(".e-agenda-view tr[
|
|
326
|
+
ntr.setAttribute('data-row-index', daysCount.toString());
|
|
327
|
+
if (this.parent.element.querySelector(".e-agenda-view tr[data-row-index=\"" + daysCount + "\"]")) {
|
|
328
328
|
break;
|
|
329
329
|
}
|
|
330
330
|
ntr.insertBefore(ntd, ntr.childNodes[0]);
|
|
@@ -360,13 +360,13 @@ var AgendaBase = /** @class */ (function (_super) {
|
|
|
360
360
|
};
|
|
361
361
|
AgendaBase.prototype.createTableRowElement = function (date, type) {
|
|
362
362
|
var daysCount = util.getDaysCount(this.parent.selectedDate.getTime(), date.getTime());
|
|
363
|
-
var tr = createElement('tr', { attrs: { 'role': 'row', '
|
|
363
|
+
var tr = createElement('tr', { attrs: { 'role': 'row', 'data-row-index': daysCount.toString() } });
|
|
364
364
|
var td = createElement('td', {
|
|
365
365
|
attrs: {
|
|
366
366
|
'class': (type === 'monthHeader') ? cls.MONTH_HEADER_CLASS : cls.AGENDA_CELLS_CLASS,
|
|
367
367
|
'role': 'gridcell',
|
|
368
368
|
'aria-selected': 'false',
|
|
369
|
-
'
|
|
369
|
+
'data-column-index': daysCount.toString(),
|
|
370
370
|
'data-date': date.getTime().toString()
|
|
371
371
|
}
|
|
372
372
|
});
|
|
@@ -522,7 +522,7 @@ var EventBase = /** @class */ (function () {
|
|
|
522
522
|
var selectedAppointments = this.getSelectedAppointments();
|
|
523
523
|
for (var _i = 0, selectedAppointments_1 = selectedAppointments; _i < selectedAppointments_1.length; _i++) {
|
|
524
524
|
var appointment = selectedAppointments_1[_i];
|
|
525
|
-
appointment.setAttribute('aria-
|
|
525
|
+
appointment.setAttribute('aria-pressed', 'false');
|
|
526
526
|
}
|
|
527
527
|
removeClass(selectedAppointments, cls.APPOINTMENT_BORDER);
|
|
528
528
|
if (this.parent.currentView === 'Agenda' || this.parent.currentView === 'MonthAgenda') {
|
|
@@ -532,7 +532,7 @@ var EventBase = /** @class */ (function () {
|
|
|
532
532
|
EventBase.prototype.addSelectedAppointments = function (cells) {
|
|
533
533
|
for (var _i = 0, cells_1 = cells; _i < cells_1.length; _i++) {
|
|
534
534
|
var cell = cells_1[_i];
|
|
535
|
-
cell.setAttribute('aria-
|
|
535
|
+
cell.setAttribute('aria-pressed', 'true');
|
|
536
536
|
}
|
|
537
537
|
if (this.parent.currentView !== 'MonthAgenda') {
|
|
538
538
|
this.parent.removeSelectedClass();
|
|
@@ -660,6 +660,7 @@ var EventBase = /** @class */ (function () {
|
|
|
660
660
|
}
|
|
661
661
|
else if (!closest(element, '.' + cls.POPUP_OPEN)) {
|
|
662
662
|
this.removeSelectedAppointmentClass();
|
|
663
|
+
this.parent.selectedElements = [];
|
|
663
664
|
}
|
|
664
665
|
};
|
|
665
666
|
EventBase.prototype.wireAppointmentEvents = function (element, event, isPreventCrud) {
|
|
@@ -765,6 +766,7 @@ var EventBase = /** @class */ (function () {
|
|
|
765
766
|
this.parent.trigger(event.eventClick, args, function (eventClickArgs) {
|
|
766
767
|
if (eventClickArgs.cancel) {
|
|
767
768
|
_this.removeSelectedAppointmentClass();
|
|
769
|
+
_this.parent.selectedElements = [];
|
|
768
770
|
if (_this.parent.quickPopup) {
|
|
769
771
|
_this.parent.quickPopup.quickPopupHide();
|
|
770
772
|
}
|
|
@@ -796,6 +798,7 @@ var EventBase = /** @class */ (function () {
|
|
|
796
798
|
this.activeEventData(e, true);
|
|
797
799
|
}
|
|
798
800
|
this.removeSelectedAppointmentClass();
|
|
801
|
+
this.parent.selectedElements = [];
|
|
799
802
|
if (this.parent.activeEventData.element.classList.contains(cls.INLINE_APPOINTMENT_CLASS) ||
|
|
800
803
|
this.parent.activeEventData.element.querySelector('.' + cls.INLINE_SUBJECT_CLASS)) {
|
|
801
804
|
return;
|
|
@@ -877,7 +880,7 @@ var EventBase = /** @class */ (function () {
|
|
|
877
880
|
var exception = event[this.parent.eventFields.recurrenceException];
|
|
878
881
|
var maxCount;
|
|
879
882
|
if (this.parent.currentView !== 'Agenda' && isMaxCount) {
|
|
880
|
-
maxCount = util.getDateCount(
|
|
883
|
+
maxCount = util.getDateCount(viewDate, this.parent.activeView.endDate()) + 1;
|
|
881
884
|
}
|
|
882
885
|
var newTimezone = this.parent.timezone || this.parent.tzModule.getLocalTimezoneName();
|
|
883
886
|
var firstDay = this.parent.activeViewOptions.firstDayOfWeek;
|
|
@@ -1076,7 +1079,7 @@ var EventBase = /** @class */ (function () {
|
|
|
1076
1079
|
className: cls.BLOCK_APPOINTMENT_CLASS,
|
|
1077
1080
|
attrs: {
|
|
1078
1081
|
'data-id': 'Appointment_' + record[this.parent.eventFields.id],
|
|
1079
|
-
'aria-
|
|
1082
|
+
'aria-disabled': 'true', 'aria-pressed': 'false'
|
|
1080
1083
|
}
|
|
1081
1084
|
});
|
|
1082
1085
|
var templateElement;
|
|
@@ -163,9 +163,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
163
163
|
this.sortByDateTime(blockList);
|
|
164
164
|
if (this.parent.currentView === 'Month' && this.parent.rowAutoHeight && this.parent.activeViewOptions.group.resources.length === 0) {
|
|
165
165
|
var totalCells = [].slice.call(this.parent.element.querySelectorAll('.e-content-wrap table tr td:first-child'));
|
|
166
|
-
var height_1 = this.parent.
|
|
167
|
-
this.parent.element.querySelector('.e-date-header-wrap').clientHeight) / totalCells.length
|
|
168
|
-
: this.parent.element.querySelector('.e-schedule-table').clientHeight / totalCells.length;
|
|
166
|
+
var height_1 = this.parent.element.querySelector('.' + cls.CONTENT_TABLE_CLASS).clientHeight / totalCells.length;
|
|
169
167
|
totalCells.forEach(function (cell) {
|
|
170
168
|
setStyleAttribute(cell, { 'height': height_1 + 'px' });
|
|
171
169
|
});
|
|
@@ -376,7 +374,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
376
374
|
var attrs = {
|
|
377
375
|
'data-id': 'Appointment_' + record[this.fields.id],
|
|
378
376
|
'role': 'button', 'tabindex': '0',
|
|
379
|
-
'aria-
|
|
377
|
+
'aria-disabled': this.parent.eventBase.getReadonlyAttribute(record), 'aria-pressed': 'false', 'aria-grabbed': 'true',
|
|
380
378
|
'aria-label': this.parent.getAnnouncementString(newRecord, eventSubject)
|
|
381
379
|
};
|
|
382
380
|
if (!isCloneElement) {
|
|
@@ -671,8 +669,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
671
669
|
'tabindex': '0',
|
|
672
670
|
'data-count': count.toString(),
|
|
673
671
|
'data-start-date': startDate.getTime().toString(),
|
|
674
|
-
'data-end-date': endDate.getTime().toString()
|
|
675
|
-
'role': 'list'
|
|
672
|
+
'data-end-date': endDate.getTime().toString()
|
|
676
673
|
}
|
|
677
674
|
});
|
|
678
675
|
return moreIndicatorElement;
|
|
@@ -282,8 +282,8 @@ var VerticalEvent = /** @class */ (function (_super) {
|
|
|
282
282
|
'data-guid': record.Guid,
|
|
283
283
|
'role': 'button',
|
|
284
284
|
'tabindex': '0',
|
|
285
|
-
'aria-
|
|
286
|
-
'aria-
|
|
285
|
+
'aria-disabled': this.parent.eventBase.getReadonlyAttribute(record),
|
|
286
|
+
'aria-pressed': 'false',
|
|
287
287
|
'aria-grabbed': 'true',
|
|
288
288
|
'aria-label': this.parent.getAnnouncementString(record)
|
|
289
289
|
}
|
|
@@ -378,7 +378,7 @@ var VerticalEvent = /** @class */ (function (_super) {
|
|
|
378
378
|
});
|
|
379
379
|
var moreIndicatorElement = createElement('div', {
|
|
380
380
|
className: cls.MORE_INDICATOR_CLASS,
|
|
381
|
-
attrs: { 'tabindex': '0', '
|
|
381
|
+
attrs: { 'tabindex': '0', 'data-index': index.toString(), 'data-count': '1' },
|
|
382
382
|
innerHTML: '+1 ' + (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more'))
|
|
383
383
|
});
|
|
384
384
|
innerCountWrap.appendChild(moreIndicatorElement);
|
|
@@ -84,7 +84,7 @@ var YearEvent = /** @class */ (function (_super) {
|
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
YearEvent.prototype.timelineYearViewEvents = function () {
|
|
87
|
-
var workCell = this.parent.element.querySelector('.' + cls.WORK_CELLS_CLASS);
|
|
87
|
+
var workCell = this.parent.element.querySelector('.' + cls.WORK_CELLS_CLASS + ':not(.' + cls.OTHERMONTH_CLASS + ')');
|
|
88
88
|
this.cellWidth = workCell.offsetWidth;
|
|
89
89
|
this.cellHeader = util.getOuterHeight(workCell.querySelector('.' + cls.DATE_HEADER_CLASS));
|
|
90
90
|
var eventTable = this.parent.element.querySelector('.' + cls.EVENT_TABLE_CLASS);
|
|
@@ -369,7 +369,7 @@ var YearEvent = /** @class */ (function (_super) {
|
|
|
369
369
|
'data-id': 'Appointment_' + record[this.fields.id],
|
|
370
370
|
'data-guid': record.Guid,
|
|
371
371
|
'role': 'button', 'tabindex': '0',
|
|
372
|
-
'aria-
|
|
372
|
+
'aria-disabled': this.parent.eventBase.getReadonlyAttribute(record), 'aria-pressed': 'false', 'aria-grabbed': 'true',
|
|
373
373
|
'aria-label': this.parent.getAnnouncementString(record)
|
|
374
374
|
}
|
|
375
375
|
});
|