@syncfusion/ej2-schedule 20.1.61 → 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 +13 -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 +165 -40
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +170 -40
- 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/crud.js +9 -7
- 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 +4 -4
- package/src/schedule/event-renderer/month.js +2 -3
- 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 +3 -3
- 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 +1 -0
- package/src/schedule/renderer/vertical-view.js +21 -4
- package/src/schedule/renderer/view-base.d.ts +1 -0
- package/src/schedule/renderer/view-base.js +11 -0
- package/src/schedule/renderer/year.js +2 -1
- package/styles/bootstrap-dark.css +5 -1
- package/styles/bootstrap.css +5 -1
- package/styles/bootstrap4.css +5 -1
- package/styles/bootstrap5-dark.css +5 -1
- package/styles/bootstrap5.css +5 -1
- package/styles/fabric-dark.css +5 -1
- package/styles/fabric.css +5 -1
- package/styles/fluent-dark.css +7 -3
- package/styles/fluent.css +7 -3
- package/styles/highcontrast-light.css +5 -1
- package/styles/highcontrast.css +5 -1
- package/styles/material-dark.css +5 -1
- package/styles/material.css +5 -1
- 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 -1
- package/styles/schedule/_material3-definition.scss +224 -0
- package/styles/schedule/bootstrap-dark.css +5 -1
- package/styles/schedule/bootstrap.css +5 -1
- package/styles/schedule/bootstrap4.css +5 -1
- package/styles/schedule/bootstrap5-dark.css +5 -1
- package/styles/schedule/bootstrap5.css +5 -1
- package/styles/schedule/fabric-dark.css +5 -1
- package/styles/schedule/fabric.css +5 -1
- package/styles/schedule/fluent-dark.css +7 -3
- package/styles/schedule/fluent.css +7 -3
- package/styles/schedule/highcontrast-light.css +5 -1
- package/styles/schedule/highcontrast.css +5 -1
- package/styles/schedule/icons/_fusionnew.scss +232 -0
- package/styles/schedule/icons/_material3.scss +232 -0
- package/styles/schedule/material-dark.css +5 -1
- package/styles/schedule/material.css +5 -1
- package/styles/schedule/tailwind-dark.css +5 -1
- package/styles/schedule/tailwind.css +5 -1
- package/styles/tailwind-dark.css +5 -1
- package/styles/tailwind.css +5 -1
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
|
|
@@ -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
|
};
|
|
@@ -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();
|
|
@@ -880,7 +880,7 @@ var EventBase = /** @class */ (function () {
|
|
|
880
880
|
var exception = event[this.parent.eventFields.recurrenceException];
|
|
881
881
|
var maxCount;
|
|
882
882
|
if (this.parent.currentView !== 'Agenda' && isMaxCount) {
|
|
883
|
-
maxCount = util.getDateCount(
|
|
883
|
+
maxCount = util.getDateCount(viewDate, this.parent.activeView.endDate()) + 1;
|
|
884
884
|
}
|
|
885
885
|
var newTimezone = this.parent.timezone || this.parent.tzModule.getLocalTimezoneName();
|
|
886
886
|
var firstDay = this.parent.activeViewOptions.firstDayOfWeek;
|
|
@@ -1079,7 +1079,7 @@ var EventBase = /** @class */ (function () {
|
|
|
1079
1079
|
className: cls.BLOCK_APPOINTMENT_CLASS,
|
|
1080
1080
|
attrs: {
|
|
1081
1081
|
'data-id': 'Appointment_' + record[this.parent.eventFields.id],
|
|
1082
|
-
'aria-
|
|
1082
|
+
'aria-disabled': 'true', 'aria-pressed': 'false'
|
|
1083
1083
|
}
|
|
1084
1084
|
});
|
|
1085
1085
|
var templateElement;
|
|
@@ -374,7 +374,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
374
374
|
var attrs = {
|
|
375
375
|
'data-id': 'Appointment_' + record[this.fields.id],
|
|
376
376
|
'role': 'button', 'tabindex': '0',
|
|
377
|
-
'aria-
|
|
377
|
+
'aria-disabled': this.parent.eventBase.getReadonlyAttribute(record), 'aria-pressed': 'false', 'aria-grabbed': 'true',
|
|
378
378
|
'aria-label': this.parent.getAnnouncementString(newRecord, eventSubject)
|
|
379
379
|
};
|
|
380
380
|
if (!isCloneElement) {
|
|
@@ -669,8 +669,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
669
669
|
'tabindex': '0',
|
|
670
670
|
'data-count': count.toString(),
|
|
671
671
|
'data-start-date': startDate.getTime().toString(),
|
|
672
|
-
'data-end-date': endDate.getTime().toString()
|
|
673
|
-
'role': 'list'
|
|
672
|
+
'data-end-date': endDate.getTime().toString()
|
|
674
673
|
}
|
|
675
674
|
});
|
|
676
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
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { Workbook } from '@syncfusion/ej2-excel-export';
|
|
3
|
-
import { extend } from '@syncfusion/ej2-base';
|
|
3
|
+
import { extend, isNullOrUndefined } from '@syncfusion/ej2-base';
|
|
4
4
|
/**
|
|
5
5
|
* Excel Export Module
|
|
6
6
|
*/
|
|
@@ -14,6 +14,10 @@ var ExcelExport = /** @class */ (function () {
|
|
|
14
14
|
var exportName = excelExportOptions.fileName || 'Schedule';
|
|
15
15
|
var exportType = excelExportOptions.exportType || 'xlsx';
|
|
16
16
|
var isIncludeOccurrences = excelExportOptions.includeOccurrences || false;
|
|
17
|
+
var separator;
|
|
18
|
+
if (!isNullOrUndefined(excelExportOptions.separator) && excelExportOptions.separator !== ',') {
|
|
19
|
+
separator = excelExportOptions.separator;
|
|
20
|
+
}
|
|
17
21
|
var eventCollection;
|
|
18
22
|
if (excelExportOptions.customData) {
|
|
19
23
|
eventCollection = !isIncludeOccurrences ? excelExportOptions.customData :
|
|
@@ -22,9 +26,9 @@ var ExcelExport = /** @class */ (function () {
|
|
|
22
26
|
else {
|
|
23
27
|
eventCollection = !isIncludeOccurrences ? this.parent.eventsData : this.parent.eventsProcessed;
|
|
24
28
|
}
|
|
25
|
-
this.processWorkbook(exportColumns, exportName, exportType, eventCollection);
|
|
29
|
+
this.processWorkbook(exportColumns, exportName, exportType, eventCollection, separator);
|
|
26
30
|
};
|
|
27
|
-
ExcelExport.prototype.processWorkbook = function (fields, name, type, eventCollection) {
|
|
31
|
+
ExcelExport.prototype.processWorkbook = function (fields, name, type, eventCollection, separator) {
|
|
28
32
|
var _this = this;
|
|
29
33
|
var columns = [];
|
|
30
34
|
var rows = [];
|
|
@@ -46,7 +50,7 @@ var ExcelExport = /** @class */ (function () {
|
|
|
46
50
|
rows.push({ index: i + 2, cells: columnData });
|
|
47
51
|
});
|
|
48
52
|
var workSheet = [{ columns: columns, rows: rows }];
|
|
49
|
-
var book = new Workbook({ worksheets: workSheet }, type, this.parent.locale);
|
|
53
|
+
var book = new Workbook({ worksheets: workSheet }, type, this.parent.locale, undefined, separator);
|
|
50
54
|
book.save(name + '.' + type);
|
|
51
55
|
};
|
|
52
56
|
ExcelExport.prototype.getExportColumns = function (exportOptions) {
|
|
@@ -415,6 +415,7 @@ var EventWindow = /** @class */ (function () {
|
|
|
415
415
|
resourceData.colorField + '}"></div><div class="e-resource-text">${' + resourceData.textField + '}</div></div>';
|
|
416
416
|
if (resourceData.allowMultiple) {
|
|
417
417
|
var listObj = new MultiSelect({
|
|
418
|
+
enableRtl: this.parent.enableRtl,
|
|
418
419
|
cssClass: this.parent.cssClass || '',
|
|
419
420
|
dataSource: resourceData.dataSource,
|
|
420
421
|
change: this.onMultiselectResourceChange.bind(this),
|
|
@@ -473,7 +474,7 @@ var EventWindow = /** @class */ (function () {
|
|
|
473
474
|
query = (e.text !== '') ? query.where('Text', 'contains', e.text, true) : query;
|
|
474
475
|
e.updateData(_this.parent.timezoneDataSource, query);
|
|
475
476
|
},
|
|
476
|
-
htmlAttributes: { 'title': this.getFieldLabel(value), 'name': fieldName },
|
|
477
|
+
htmlAttributes: { 'title': this.getFieldLabel(value), 'name': fieldName, role: 'option' },
|
|
477
478
|
floatLabelType: 'Always',
|
|
478
479
|
placeholder: this.getFieldLabel(value),
|
|
479
480
|
popupHeight: '230px'
|
|
@@ -318,8 +318,8 @@ var QuickPopups = /** @class */ (function () {
|
|
|
318
318
|
attrs: {
|
|
319
319
|
'data-id': '' + eventData[fields.id],
|
|
320
320
|
'data-guid': eventData.Guid, 'role': 'button', 'tabindex': '0',
|
|
321
|
-
'aria-
|
|
322
|
-
'aria-
|
|
321
|
+
'aria-disabled': this_1.parent.eventBase.getReadonlyAttribute(eventData),
|
|
322
|
+
'aria-pressed': 'false', 'aria-grabbed': 'true', 'aria-label': this_1.parent.getAnnouncementString(eventData)
|
|
323
323
|
}
|
|
324
324
|
});
|
|
325
325
|
var templateElement = void 0;
|
|
@@ -415,7 +415,7 @@ var QuickPopups = /** @class */ (function () {
|
|
|
415
415
|
this.quickPopupHide();
|
|
416
416
|
return;
|
|
417
417
|
}
|
|
418
|
-
var targetEle = args.event.target;
|
|
418
|
+
var targetEle = !isNullOrUndefined(args.event) ? args.event.target : args.element;
|
|
419
419
|
if (this.parent.isAdaptive) {
|
|
420
420
|
this.quickPopupHide();
|
|
421
421
|
var newEventClone = this.parent.element.querySelector('.' + cls.NEW_EVENT_CLASS);
|
|
@@ -171,7 +171,7 @@ var Agenda = /** @class */ (function (_super) {
|
|
|
171
171
|
for (var day = 0; day < this.parent.agendaDaysCount; day++) {
|
|
172
172
|
var filterData = this.appointmentFiltering(agendaDate);
|
|
173
173
|
var nTr = this.createTableRowElement(agendaDate, 'data');
|
|
174
|
-
if (this.element.querySelector('tr[
|
|
174
|
+
if (this.element.querySelector('tr[data-row-index="' + parseInt(nTr.getAttribute('data-row-index'), 10) + '"]')) {
|
|
175
175
|
agendaDate = util.addDays(agendaDate, 1);
|
|
176
176
|
continue;
|
|
177
177
|
}
|
|
@@ -235,7 +235,7 @@ var Agenda = /** @class */ (function (_super) {
|
|
|
235
235
|
prepend([].slice.call(emptyTBody.childNodes), tBody);
|
|
236
236
|
this.wireEventActions();
|
|
237
237
|
for (var s = 0, element = tBody.children; s < element.length; s++) {
|
|
238
|
-
if (element[s].getAttribute('
|
|
238
|
+
if (element[s].getAttribute('data-row-index') === topElement.getAttribute('data-column-index')) {
|
|
239
239
|
var scrollToValue = element[s].offsetTop -
|
|
240
240
|
this.element.querySelector('.e-agenda-item').offsetHeight;
|
|
241
241
|
target.scrollTop = scrollToValue;
|