@syncfusion/ej2-schedule 20.2.36 → 20.2.43
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 +26 -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 +146 -55
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +145 -54
- 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 +15 -15
- package/src/schedule/actions/crud.d.ts +1 -0
- package/src/schedule/actions/crud.js +27 -2
- package/src/schedule/base/interface.d.ts +1 -1
- package/src/schedule/base/schedule.js +9 -21
- package/src/schedule/event-renderer/event-base.d.ts +2 -0
- package/src/schedule/event-renderer/event-base.js +17 -1
- package/src/schedule/exports/calendar-export.d.ts +1 -0
- package/src/schedule/exports/calendar-export.js +6 -2
- package/src/schedule/exports/calendar-import.js +32 -18
- package/src/schedule/popups/event-window.js +1 -0
- package/src/schedule/renderer/agenda.d.ts +1 -0
- package/src/schedule/renderer/agenda.js +14 -0
- package/src/schedule/renderer/timeline-view.js +14 -5
- package/src/schedule/renderer/timeline-year.js +18 -6
- package/src/schedule/renderer/year.d.ts +1 -0
- package/src/schedule/renderer/year.js +8 -0
- package/styles/fluent-dark.css +13 -13
- package/styles/schedule/fluent-dark.css +13 -13
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 20.2.
|
|
3
|
+
* version : 20.2.43
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-schedule@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-schedule@
|
|
3
|
+
"_id": "@syncfusion/ej2-schedule@20.2.40",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-kU/0Be1pH5yFXhucutY7aGY+0JD6l+S/dOwICMpItjm794B1hhepBKqgexfw9BuGB0hDGOnNHsQEwVnZ+yXt+w==",
|
|
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-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-20.2.40.tgz",
|
|
27
|
+
"_shasum": "d9b88f81c4941440ba79cefcb0ec412a5b581ccb",
|
|
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.2.
|
|
39
|
-
"@syncfusion/ej2-buttons": "~20.2.
|
|
40
|
-
"@syncfusion/ej2-calendars": "~20.2.
|
|
41
|
-
"@syncfusion/ej2-data": "~20.2.
|
|
42
|
-
"@syncfusion/ej2-dropdowns": "~20.2.
|
|
43
|
-
"@syncfusion/ej2-excel-export": "~20.2.
|
|
44
|
-
"@syncfusion/ej2-inputs": "~20.2.
|
|
45
|
-
"@syncfusion/ej2-lists": "~20.2.
|
|
46
|
-
"@syncfusion/ej2-navigations": "~20.2.
|
|
47
|
-
"@syncfusion/ej2-popups": "~20.2.
|
|
38
|
+
"@syncfusion/ej2-base": "~20.2.43",
|
|
39
|
+
"@syncfusion/ej2-buttons": "~20.2.43",
|
|
40
|
+
"@syncfusion/ej2-calendars": "~20.2.43",
|
|
41
|
+
"@syncfusion/ej2-data": "~20.2.43",
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~20.2.43",
|
|
43
|
+
"@syncfusion/ej2-excel-export": "~20.2.43",
|
|
44
|
+
"@syncfusion/ej2-inputs": "~20.2.43",
|
|
45
|
+
"@syncfusion/ej2-lists": "~20.2.43",
|
|
46
|
+
"@syncfusion/ej2-navigations": "~20.2.43",
|
|
47
|
+
"@syncfusion/ej2-popups": "~20.2.43"
|
|
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.2.
|
|
84
|
+
"version": "20.2.43",
|
|
85
85
|
"sideEffects": false
|
|
86
86
|
}
|
|
@@ -13,6 +13,7 @@ export declare class Crud {
|
|
|
13
13
|
refreshDataManager(): void;
|
|
14
14
|
private dataManagerSuccess;
|
|
15
15
|
dataManagerFailure(e: ReturnType): void;
|
|
16
|
+
refreshProcessedData(): void;
|
|
16
17
|
private refreshData;
|
|
17
18
|
addEvent(eventData: Record<string, any> | Record<string, any>[]): void;
|
|
18
19
|
saveEvent(eventData: Record<string, any> | Record<string, any>[], action: CurrentAction): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
/* eslint-disable max-len */
|
|
3
|
-
import { isNullOrUndefined, extend } from '@syncfusion/ej2-base';
|
|
3
|
+
import { isNullOrUndefined, extend, removeClass } from '@syncfusion/ej2-base';
|
|
4
4
|
import { getRecurrenceStringFromDate, generate } from '../../recurrence-editor/date-generator';
|
|
5
5
|
import * as events from '../base/constant';
|
|
6
6
|
import * as util from '../base/util';
|
|
@@ -43,7 +43,7 @@ var Crud = /** @class */ (function () {
|
|
|
43
43
|
var resultData = extend([], args.result, null, true);
|
|
44
44
|
_this.parent.eventsData = resultData.filter(function (data) { return !data[_this.parent.eventFields.isBlock]; });
|
|
45
45
|
_this.parent.blockData = resultData.filter(function (data) { return data[_this.parent.eventFields.isBlock]; });
|
|
46
|
-
_this.
|
|
46
|
+
_this.refreshProcessedData();
|
|
47
47
|
if (_this.parent.dragAndDropModule && _this.parent.dragAndDropModule.actionObj.action === 'drag') {
|
|
48
48
|
_this.parent.dragAndDropModule.navigationWrapper();
|
|
49
49
|
}
|
|
@@ -62,6 +62,31 @@ var Crud = /** @class */ (function () {
|
|
|
62
62
|
}
|
|
63
63
|
this.parent.trigger(events.actionFailure, { error: e }, function () { return _this.parent.hideSpinner(); });
|
|
64
64
|
};
|
|
65
|
+
Crud.prototype.refreshProcessedData = function () {
|
|
66
|
+
if (this.parent.dragAndDropModule) {
|
|
67
|
+
this.parent.dragAndDropModule.actionObj.action = '';
|
|
68
|
+
removeClass([this.parent.element], 'e-event-action');
|
|
69
|
+
}
|
|
70
|
+
if (this.parent.activeViewOptions && this.parent.activeViewOptions.eventTemplate) {
|
|
71
|
+
var templateNames = ['eventTemplate'];
|
|
72
|
+
if (this.crudObj.isCrudAction &&
|
|
73
|
+
['Agenda', 'MonthAgenda', 'Year', 'TimelineYear'].indexOf(this.parent.currentView) === -1) {
|
|
74
|
+
templateNames = [];
|
|
75
|
+
for (var i = 0, len = this.crudObj.sourceEvent.length; i < len; i++) {
|
|
76
|
+
templateNames.push('eventTemplate_' + this.crudObj.sourceEvent[i].groupIndex);
|
|
77
|
+
if (this.crudObj.targetEvent[i] && this.crudObj.sourceEvent[i].groupIndex !==
|
|
78
|
+
this.crudObj.targetEvent[i].groupIndex) {
|
|
79
|
+
templateNames.push('eventTemplate_' + this.crudObj.targetEvent[i].groupIndex);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
this.parent.resetTemplates(templateNames);
|
|
84
|
+
}
|
|
85
|
+
var eventsData = this.parent.eventsData || [];
|
|
86
|
+
var blockData = this.parent.blockData || [];
|
|
87
|
+
var data = eventsData.concat(blockData);
|
|
88
|
+
this.parent.notify(events.dataReady, { processedData: this.parent.eventBase ? this.parent.eventBase.processData(data) : [] });
|
|
89
|
+
};
|
|
65
90
|
Crud.prototype.refreshData = function (args) {
|
|
66
91
|
var _this = this;
|
|
67
92
|
var actionArgs = {
|
|
@@ -657,7 +657,7 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
657
657
|
if (this && isNullOrUndefined(this.uiStateValues) || !(this.enablePersistence)) {
|
|
658
658
|
this.uiStateValues = {
|
|
659
659
|
expand: false, isInitial: true, left: 0, top: 0, isGroupAdaptive: false,
|
|
660
|
-
isIgnoreOccurrence: false, groupIndex: 0, action: false, isBlock: false, isCustomMonth: true,
|
|
660
|
+
isIgnoreOccurrence: false, groupIndex: 0, action: false, isBlock: false, isCustomMonth: true, isPreventTimezone: false
|
|
661
661
|
};
|
|
662
662
|
}
|
|
663
663
|
this.activeCellsData = { startTime: this.getCurrentTime(), endTime: this.getCurrentTime(), isAllDay: false };
|
|
@@ -1119,11 +1119,9 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1119
1119
|
}
|
|
1120
1120
|
if (this.currentView === 'Month' || ((this.currentView !== 'Agenda' && this.currentView !== 'MonthAgenda')
|
|
1121
1121
|
&& !this.activeViewOptions.timeScale.enable) || this.activeView.isTimelineView()) {
|
|
1122
|
-
this.uiStateValues.isResize = true;
|
|
1123
1122
|
this.activeView.resetColWidth();
|
|
1124
1123
|
this.notify(events.scrollUiUpdate, { cssProperties: this.getCssProperties(), isPreventScrollUpdate: true });
|
|
1125
1124
|
this.refreshEvents(false);
|
|
1126
|
-
this.uiStateValues.isResize = false;
|
|
1127
1125
|
}
|
|
1128
1126
|
else {
|
|
1129
1127
|
this.notify(events.contentReady, {});
|
|
@@ -2195,25 +2193,15 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
2195
2193
|
this.crudModule.refreshDataManager();
|
|
2196
2194
|
}
|
|
2197
2195
|
else {
|
|
2198
|
-
if (this.
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
this.crudModule.crudObj.targetEvent[i].groupIndex) {
|
|
2207
|
-
templateNames.push('eventTemplate_' + this.crudModule.crudObj.targetEvent[i].groupIndex);
|
|
2208
|
-
}
|
|
2209
|
-
}
|
|
2210
|
-
}
|
|
2211
|
-
this.resetTemplates(templateNames);
|
|
2196
|
+
if (this.uiStateValues) {
|
|
2197
|
+
this.uiStateValues.isPreventTimezone = true;
|
|
2198
|
+
}
|
|
2199
|
+
if (this.crudModule) {
|
|
2200
|
+
this.crudModule.refreshProcessedData();
|
|
2201
|
+
}
|
|
2202
|
+
if (this.uiStateValues) {
|
|
2203
|
+
this.uiStateValues.isPreventTimezone = false;
|
|
2212
2204
|
}
|
|
2213
|
-
var eventsData = this.eventsData || [];
|
|
2214
|
-
var blockData = this.blockData || [];
|
|
2215
|
-
var data = eventsData.concat(blockData);
|
|
2216
|
-
this.notify(events.dataReady, { processedData: this.eventBase ? this.eventBase.processData(data) : [] });
|
|
2217
2205
|
}
|
|
2218
2206
|
};
|
|
2219
2207
|
/**
|
|
@@ -58,6 +58,8 @@ export declare class EventBase {
|
|
|
58
58
|
getEventMaxID(resourceId?: number): number | string;
|
|
59
59
|
private activeEventData;
|
|
60
60
|
generateOccurrence(event: Record<string, any>, viewDate?: Date, oldTimezone?: string, isMaxCount?: boolean): Record<string, any>[];
|
|
61
|
+
private getDSTAdjustedTime;
|
|
62
|
+
private getDSTDiff;
|
|
61
63
|
getParentEvent(eventObj: Record<string, any>, isParent?: boolean): Record<string, any>;
|
|
62
64
|
getEventCollections(parentObj: Record<string, any>, childObj?: Record<string, any>): {
|
|
63
65
|
[key: string]: Record<string, any>[];
|
|
@@ -41,7 +41,7 @@ var EventBase = /** @class */ (function () {
|
|
|
41
41
|
if (timeZonePropChanged) {
|
|
42
42
|
this_1.processTimezoneChange(event_1, oldTimezone);
|
|
43
43
|
}
|
|
44
|
-
else if (!this_1.parent.isPrinting && !this_1.parent.uiStateValues.
|
|
44
|
+
else if (!this_1.parent.isPrinting && !this_1.parent.uiStateValues.isPreventTimezone) {
|
|
45
45
|
event_1 = this_1.processTimezone(event_1);
|
|
46
46
|
}
|
|
47
47
|
for (var level = 0; level < resourceCollection.length; level++) {
|
|
@@ -903,6 +903,7 @@ var EventBase = /** @class */ (function () {
|
|
|
903
903
|
for (var _i = 0, dates_1 = dates; _i < dates_1.length; _i++) {
|
|
904
904
|
var date = dates_1[_i];
|
|
905
905
|
var clonedObject = extend({}, event, null, true);
|
|
906
|
+
date = this.getDSTAdjustedTime(date, clonedObject);
|
|
906
907
|
clonedObject[this.parent.eventFields.startTime] = new Date(date);
|
|
907
908
|
clonedObject[this.parent.eventFields.endTime] = new Date(new Date(date).setMilliseconds(duration));
|
|
908
909
|
clonedObject[this.parent.eventFields.recurrenceID] = clonedObject[this.parent.eventFields.id];
|
|
@@ -913,6 +914,21 @@ var EventBase = /** @class */ (function () {
|
|
|
913
914
|
}
|
|
914
915
|
return occurrenceCollection;
|
|
915
916
|
};
|
|
917
|
+
EventBase.prototype.getDSTAdjustedTime = function (date, event) {
|
|
918
|
+
var occurDate = date;
|
|
919
|
+
if (this.parent.timezone &&
|
|
920
|
+
(event[this.parent.eventFields.startTimezone] || event[this.parent.eventFields.endTimezone])) {
|
|
921
|
+
var eventOffset = this.getDSTDiff(event[this.parent.eventFields.startTime], new Date(date), event[this.parent.eventFields.startTimezone]);
|
|
922
|
+
var schOffset = this.getDSTDiff(event[this.parent.eventFields.startTime], new Date(date), this.parent.timezone);
|
|
923
|
+
occurDate = (new Date(date).getTime() - (eventOffset - schOffset) * 60000);
|
|
924
|
+
}
|
|
925
|
+
return occurDate;
|
|
926
|
+
};
|
|
927
|
+
EventBase.prototype.getDSTDiff = function (startDate, occurDate, timezone) {
|
|
928
|
+
var startOffset = this.parent.tzModule.offset(new Date(startDate), timezone);
|
|
929
|
+
var occurOffset = this.parent.tzModule.offset(new Date(occurDate), timezone);
|
|
930
|
+
return startOffset - occurOffset;
|
|
931
|
+
};
|
|
916
932
|
EventBase.prototype.getParentEvent = function (eventObj, isParent) {
|
|
917
933
|
if (isParent === void 0) { isParent = false; }
|
|
918
934
|
var parentEvent;
|
|
@@ -6,6 +6,7 @@ export declare class ICalendarExport {
|
|
|
6
6
|
private parent;
|
|
7
7
|
constructor(parent: Schedule);
|
|
8
8
|
initializeCalendarExport(fileName: string, customData: Record<string, any>[]): void;
|
|
9
|
+
getCalendarString(fileName?: string, customData?: Record<string, any>[]): string;
|
|
9
10
|
private customFieldFilter;
|
|
10
11
|
private convertDateToString;
|
|
11
12
|
private download;
|
|
@@ -9,6 +9,10 @@ var ICalendarExport = /** @class */ (function () {
|
|
|
9
9
|
this.parent = parent;
|
|
10
10
|
}
|
|
11
11
|
ICalendarExport.prototype.initializeCalendarExport = function (fileName, customData) {
|
|
12
|
+
var icsString = this.getCalendarString(fileName, customData);
|
|
13
|
+
this.download(icsString, fileName);
|
|
14
|
+
};
|
|
15
|
+
ICalendarExport.prototype.getCalendarString = function (fileName, customData) {
|
|
12
16
|
var _this = this;
|
|
13
17
|
var eventsData = (customData) ? customData :
|
|
14
18
|
extend([], this.parent.eventsData, null, true);
|
|
@@ -19,7 +23,7 @@ var ICalendarExport = /** @class */ (function () {
|
|
|
19
23
|
var timeZone = this.parent.timezone || this.parent.tzModule.getLocalTimezoneName();
|
|
20
24
|
var fields = this.parent.eventFields;
|
|
21
25
|
eventsData.forEach(function (eventObj) {
|
|
22
|
-
var uId = _this.parent.eventBase.generateGuid();
|
|
26
|
+
var uId = eventObj[fields.id] || eventObj.Guid || _this.parent.eventBase.generateGuid();
|
|
23
27
|
var editedExDate = [];
|
|
24
28
|
if (eventObj[fields.recurrenceID]) {
|
|
25
29
|
var filter = _this.filterEvents(filterCollection, fields.id, eventObj[fields.recurrenceID]);
|
|
@@ -94,7 +98,7 @@ var ICalendarExport = /** @class */ (function () {
|
|
|
94
98
|
'X-WR-TIMEZONE:' + timeZone
|
|
95
99
|
].join(SEPARATOR);
|
|
96
100
|
var icsString = iCalendar + SEPARATOR + iCalendarEvents.join(SEPARATOR) + SEPARATOR + 'END:VCALENDAR';
|
|
97
|
-
|
|
101
|
+
return icsString;
|
|
98
102
|
};
|
|
99
103
|
ICalendarExport.prototype.customFieldFilter = function (eventObj, fields) {
|
|
100
104
|
var defaultFields = Object.keys(fields).map(function (key) { return fields[key]; });
|
|
@@ -78,8 +78,16 @@ var ICalendarImport = /** @class */ (function () {
|
|
|
78
78
|
break;
|
|
79
79
|
case 'UID':
|
|
80
80
|
curEvent[uId] = value;
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
if (typeof (id) == 'number') {
|
|
82
|
+
curEvent[fields.id] = parseInt(value, 10);
|
|
83
|
+
if (isNaN(curEvent[fields.id])) {
|
|
84
|
+
curEvent[fields.id] = id + count;
|
|
85
|
+
count++;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
curEvent[fields.id] = value;
|
|
90
|
+
}
|
|
83
91
|
break;
|
|
84
92
|
case 'SUMMARY':
|
|
85
93
|
curEvent[fields.subject] = value;
|
|
@@ -115,6 +123,10 @@ var ICalendarImport = /** @class */ (function () {
|
|
|
115
123
|
var appoint = [];
|
|
116
124
|
var uId = 'UID';
|
|
117
125
|
var fields = this.parent.eventFields;
|
|
126
|
+
var appointmentIds = [];
|
|
127
|
+
this.parent.eventsData.forEach(function (eventObj) {
|
|
128
|
+
appointmentIds.push(eventObj[fields.id]);
|
|
129
|
+
});
|
|
118
130
|
app.forEach(function (eventObj) {
|
|
119
131
|
var parentObj;
|
|
120
132
|
var id;
|
|
@@ -123,24 +135,26 @@ var ICalendarImport = /** @class */ (function () {
|
|
|
123
135
|
parentObj = eventObj;
|
|
124
136
|
id = eventObj[fields.id];
|
|
125
137
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
138
|
+
if (appointmentIds.indexOf(eventObj[fields.id]) < 0) {
|
|
139
|
+
var data = app.filter(function (data) { return data.UID === eventObj[uId]; });
|
|
140
|
+
if (data.length > 1 && isNullOrUndefined(eventObj[fields.recurrenceID])) {
|
|
141
|
+
for (var i = 0; i < data.length; i++) {
|
|
142
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
143
|
+
if (data[i].hasOwnProperty(fields.recurrenceID)) {
|
|
144
|
+
var exdate = data[i][fields.recurrenceID];
|
|
145
|
+
data[i][fields.recurrenceID] = id;
|
|
146
|
+
data[i][fields.recurrenceException] = null;
|
|
147
|
+
parentObj[fields.recurrenceException] = (isNullOrUndefined(parentObj[fields.recurrenceException])) ?
|
|
148
|
+
exdate : parentObj[fields.recurrenceException] + ',' + exdate;
|
|
149
|
+
appoint.push(data[i]);
|
|
150
|
+
}
|
|
137
151
|
}
|
|
152
|
+
appoint.push(parentObj);
|
|
153
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
154
|
+
}
|
|
155
|
+
else if (!eventObj.hasOwnProperty(fields.recurrenceID)) {
|
|
156
|
+
appoint.push(eventObj);
|
|
138
157
|
}
|
|
139
|
-
appoint.push(parentObj);
|
|
140
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
141
|
-
}
|
|
142
|
-
else if (!eventObj.hasOwnProperty(fields.recurrenceID)) {
|
|
143
|
-
appoint.push(eventObj);
|
|
144
158
|
}
|
|
145
159
|
});
|
|
146
160
|
return appoint;
|
|
@@ -154,6 +154,7 @@ var EventWindow = /** @class */ (function () {
|
|
|
154
154
|
EventWindow.prototype.setDialogContent = function () {
|
|
155
155
|
this.dialogObject.content = this.getEventWindowContent();
|
|
156
156
|
this.dialogObject.dataBind();
|
|
157
|
+
this.applyFormValidation();
|
|
157
158
|
};
|
|
158
159
|
EventWindow.prototype.preventEventSave = function (e) {
|
|
159
160
|
if (this.parent && !this.parent.allowKeyboardInteraction && e.code === 'Enter') {
|
|
@@ -436,6 +436,20 @@ var Agenda = /** @class */ (function (_super) {
|
|
|
436
436
|
contentArea.style.height = formatUnit(this.parent.element.offsetHeight - headerHeight);
|
|
437
437
|
}
|
|
438
438
|
};
|
|
439
|
+
Agenda.prototype.scrollToDate = function (scrollDate) {
|
|
440
|
+
var date = new Date(+util.resetTime(scrollDate));
|
|
441
|
+
if (this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
442
|
+
if (!this.parent.hideEmptyAgendaDays || this.parent.getEvents(date, util.addDays(date, 1), true).length > 0) {
|
|
443
|
+
this.parent.changeDate(date);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
var dateElement = this.element.querySelector('.' + cls.AGENDA_CELLS_CLASS + '[data-date="' + date.getTime() + '"]');
|
|
448
|
+
if (dateElement) {
|
|
449
|
+
this.getContentAreaElement().scrollTop = dateElement.offsetTop;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
};
|
|
439
453
|
Agenda.prototype.destroy = function () {
|
|
440
454
|
if (!this.parent || this.parent && this.parent.isDestroyed) {
|
|
441
455
|
return;
|
|
@@ -57,9 +57,12 @@ var TimelineViews = /** @class */ (function (_super) {
|
|
|
57
57
|
if (scrollDate) {
|
|
58
58
|
index = this.parent.getIndexOfDate(this.renderDates, util.resetTime(scrollDate));
|
|
59
59
|
if (index >= 0) {
|
|
60
|
-
|
|
61
|
-
if (
|
|
62
|
-
|
|
60
|
+
date = scrollDate;
|
|
61
|
+
if (!isNullOrUndefined(hour)) {
|
|
62
|
+
var timeString = hour.split(':');
|
|
63
|
+
if (timeString.length === 2) {
|
|
64
|
+
date = new Date(scrollDate.setHours(parseInt(timeString[0], 10), parseInt(timeString[1], 10), 0));
|
|
65
|
+
}
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
68
|
}
|
|
@@ -67,8 +70,14 @@ var TimelineViews = /** @class */ (function (_super) {
|
|
|
67
70
|
if (isNullOrUndefined(date)) {
|
|
68
71
|
return;
|
|
69
72
|
}
|
|
70
|
-
var scrollLeft
|
|
71
|
-
|
|
73
|
+
var scrollLeft;
|
|
74
|
+
if (isNullOrUndefined(hour) || !this.parent.activeViewOptions.timeScale.enable) {
|
|
75
|
+
scrollLeft = index * this.getWorkCellWidth();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
scrollLeft = isNullOrUndefined(scrollDate) ? this.getLeftFromDateTime(null, date) :
|
|
79
|
+
this.getLeftFromDateTime([index], date);
|
|
80
|
+
}
|
|
72
81
|
this.getScrollableElement().scrollLeft = !this.parent.enableRtl ? scrollLeft : -scrollLeft;
|
|
73
82
|
};
|
|
74
83
|
TimelineViews.prototype.generateColumnLevels = function () {
|
|
@@ -422,13 +422,25 @@ var TimelineYear = /** @class */ (function (_super) {
|
|
|
422
422
|
append(cellTemplate, td);
|
|
423
423
|
};
|
|
424
424
|
TimelineYear.prototype.scrollToDate = function (scrollDate) {
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
425
|
+
var date;
|
|
426
|
+
if (this.parent.activeViewOptions.group.resources !== null && this.parent.activeViewOptions.group.resources.length > 0 &&
|
|
427
|
+
!this.parent.uiStateValues.isGroupAdaptive) {
|
|
428
|
+
date = +new Date(util.resetTime(util.firstDateOfMonth(scrollDate)));
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
date = +new Date(util.resetTime(scrollDate));
|
|
432
|
+
}
|
|
433
|
+
var element = this.element.querySelector('[data-date="' + date + '"]');
|
|
434
|
+
if (element) {
|
|
435
|
+
var wrap = this.getScrollableElement();
|
|
436
|
+
if (this.parent.enableRtl) {
|
|
437
|
+
var conTable = this.element.querySelector('.' + cls.CONTENT_TABLE_CLASS);
|
|
438
|
+
wrap.scrollLeft = -(conTable.offsetWidth - element.offsetLeft - element.offsetWidth);
|
|
439
|
+
}
|
|
440
|
+
else {
|
|
441
|
+
wrap.scrollLeft = element.offsetLeft;
|
|
431
442
|
}
|
|
443
|
+
wrap.scrollTop = element.offsetTop;
|
|
432
444
|
}
|
|
433
445
|
};
|
|
434
446
|
TimelineYear.prototype.getScrollableElement = function () {
|
|
@@ -40,5 +40,6 @@ export declare class Year extends ViewBase implements IRenderer {
|
|
|
40
40
|
removeEventListener(): void;
|
|
41
41
|
onDataReady(args: NotifyEventArgs): void;
|
|
42
42
|
wireEvents(element: HTMLElement, type: string): void;
|
|
43
|
+
scrollToDate(scrollDate: Date): void;
|
|
43
44
|
destroy(): void;
|
|
44
45
|
}
|
|
@@ -386,6 +386,14 @@ var Year = /** @class */ (function (_super) {
|
|
|
386
386
|
EventHandler.add(element, 'scroll', this.onContentScroll, this);
|
|
387
387
|
}
|
|
388
388
|
};
|
|
389
|
+
Year.prototype.scrollToDate = function (scrollDate) {
|
|
390
|
+
var date = +new Date(util.resetTime(scrollDate));
|
|
391
|
+
var element = this.element.querySelector('.' + cls.WORK_CELLS_CLASS + ':not(.' + cls.OTHERMONTH_CLASS + ')[data-date="' + date + '"]');
|
|
392
|
+
if (element) {
|
|
393
|
+
element = closest(element, '.e-month-calendar');
|
|
394
|
+
this.getContentAreaElement().scrollTop = element.offsetTop;
|
|
395
|
+
}
|
|
396
|
+
};
|
|
389
397
|
Year.prototype.destroy = function () {
|
|
390
398
|
if (!this.parent || this.parent && this.parent.isDestroyed) {
|
|
391
399
|
return;
|
package/styles/fluent-dark.css
CHANGED
|
@@ -350,7 +350,7 @@
|
|
|
350
350
|
}
|
|
351
351
|
.e-schedule .e-new-event {
|
|
352
352
|
background-color: #0078d4;
|
|
353
|
-
border: 1px solid #
|
|
353
|
+
border: 1px solid #1b1a19;
|
|
354
354
|
border-radius: 5px;
|
|
355
355
|
height: 100%;
|
|
356
356
|
opacity: 0.9;
|
|
@@ -359,7 +359,7 @@
|
|
|
359
359
|
z-index: 1;
|
|
360
360
|
}
|
|
361
361
|
.e-schedule .e-new-event .e-title {
|
|
362
|
-
color: #
|
|
362
|
+
color: #1b1a19;
|
|
363
363
|
font-size: 12px;
|
|
364
364
|
line-height: 1.2;
|
|
365
365
|
margin: 0;
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
.e-schedule .e-appointment .e-inline-subject {
|
|
474
474
|
background-color: transparent;
|
|
475
475
|
border: 0;
|
|
476
|
-
color: #
|
|
476
|
+
color: #1b1a19;
|
|
477
477
|
font-size: 13px;
|
|
478
478
|
font-weight: 500;
|
|
479
479
|
line-height: 1.2;
|
|
@@ -585,7 +585,7 @@
|
|
|
585
585
|
background: #0078d4;
|
|
586
586
|
border: 1px solid #292827;
|
|
587
587
|
border-radius: 2px;
|
|
588
|
-
color: #
|
|
588
|
+
color: #1b1a19;
|
|
589
589
|
display: -ms-flexbox;
|
|
590
590
|
display: flex;
|
|
591
591
|
height: 54px;
|
|
@@ -850,7 +850,7 @@
|
|
|
850
850
|
background: #0078d4;
|
|
851
851
|
border: 1px solid #292827;
|
|
852
852
|
border-radius: 2px;
|
|
853
|
-
color: #
|
|
853
|
+
color: #1b1a19;
|
|
854
854
|
display: -ms-flexbox;
|
|
855
855
|
display: flex;
|
|
856
856
|
height: 26px;
|
|
@@ -900,7 +900,7 @@
|
|
|
900
900
|
background: #0078d4;
|
|
901
901
|
border: 1px solid #292827;
|
|
902
902
|
border-radius: 2px;
|
|
903
|
-
color: #
|
|
903
|
+
color: #1b1a19;
|
|
904
904
|
overflow: hidden;
|
|
905
905
|
position: absolute;
|
|
906
906
|
}
|
|
@@ -1135,7 +1135,7 @@
|
|
|
1135
1135
|
background: #0078d4;
|
|
1136
1136
|
border: 1px solid #292827;
|
|
1137
1137
|
border-radius: 2px;
|
|
1138
|
-
color: #
|
|
1138
|
+
color: #1b1a19;
|
|
1139
1139
|
cursor: default;
|
|
1140
1140
|
display: -ms-flexbox;
|
|
1141
1141
|
display: flex;
|
|
@@ -1508,7 +1508,7 @@
|
|
|
1508
1508
|
background: #0078d4;
|
|
1509
1509
|
border: 1px solid #292827;
|
|
1510
1510
|
border-radius: 2px;
|
|
1511
|
-
color: #
|
|
1511
|
+
color: #1b1a19;
|
|
1512
1512
|
cursor: default;
|
|
1513
1513
|
display: -ms-flexbox;
|
|
1514
1514
|
display: flex;
|
|
@@ -1743,7 +1743,7 @@
|
|
|
1743
1743
|
background: #0078d4;
|
|
1744
1744
|
border: 1px solid #292827;
|
|
1745
1745
|
border-radius: 2px;
|
|
1746
|
-
color: #
|
|
1746
|
+
color: #1b1a19;
|
|
1747
1747
|
cursor: default;
|
|
1748
1748
|
display: -ms-flexbox;
|
|
1749
1749
|
display: flex;
|
|
@@ -2128,7 +2128,7 @@
|
|
|
2128
2128
|
vertical-align: top;
|
|
2129
2129
|
}
|
|
2130
2130
|
.e-schedule .e-agenda-view .e-month-header .e-date-header {
|
|
2131
|
-
color: #
|
|
2131
|
+
color: #1b1a19;
|
|
2132
2132
|
font-size: 18px;
|
|
2133
2133
|
}
|
|
2134
2134
|
.e-schedule .e-agenda-view .e-day-date-header {
|
|
@@ -3227,7 +3227,7 @@
|
|
|
3227
3227
|
background: #0078d4;
|
|
3228
3228
|
border-radius: 2px;
|
|
3229
3229
|
box-shadow: 0 25.6px 57.6px 0 rgba(0, 0, 0, 0.22), 0 4.8px 14.4px 0 rgba(0, 0, 0, 0.18), 0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108), 0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108);
|
|
3230
|
-
color: #
|
|
3230
|
+
color: #1b1a19;
|
|
3231
3231
|
display: -ms-flexbox;
|
|
3232
3232
|
display: flex;
|
|
3233
3233
|
height: 38px;
|
|
@@ -3396,7 +3396,7 @@
|
|
|
3396
3396
|
.e-more-popup-wrapper .e-appointment {
|
|
3397
3397
|
background: #0078d4;
|
|
3398
3398
|
border-radius: 2px;
|
|
3399
|
-
color: #
|
|
3399
|
+
color: #1b1a19;
|
|
3400
3400
|
display: -ms-flexbox;
|
|
3401
3401
|
display: flex;
|
|
3402
3402
|
height: 26px;
|
|
@@ -3407,7 +3407,7 @@
|
|
|
3407
3407
|
}
|
|
3408
3408
|
.e-bigger .e-more-popup-wrapper .e-appointment .e-subject,
|
|
3409
3409
|
.e-more-popup-wrapper .e-appointment .e-subject {
|
|
3410
|
-
color: #
|
|
3410
|
+
color: #1b1a19;
|
|
3411
3411
|
-ms-flex: auto;
|
|
3412
3412
|
flex: auto;
|
|
3413
3413
|
font-size: 13px;
|