@syncfusion/ej2-schedule 20.2.36 → 20.2.38

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.2.36
3
+ * version : 20.2.38
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@19.19.3",
3
+ "_id": "@syncfusion/ej2-schedule@20.2.36",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-yRrF7cHt6giBASGyunHixawRX/57JGqtX3l2mBdM1AcPFrTszQGXiaYYfWrPjmUE17xtmz0/910RDHAgdYxinw==",
5
+ "_integrity": "sha512-LvbKoK7n6mykYe9JbXXXshmU2sZVFJ0OJA22Ng55q2fBao9kgZt+AmwYZk9ffzyFZbzAYgIPKSiNrRF9+Ps3PA==",
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-release/@syncfusion/ej2-schedule/-/ej2-schedule-19.19.3.tgz",
27
- "_shasum": "c5df3df291a7c0b7d6dae1b29def618a17894953",
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-20.2.36.tgz",
27
+ "_shasum": "9714b4fa139a8afc99b3875e52350e177510889d",
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.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"
38
+ "@syncfusion/ej2-base": "~20.2.38",
39
+ "@syncfusion/ej2-buttons": "~20.2.38",
40
+ "@syncfusion/ej2-calendars": "~20.2.38",
41
+ "@syncfusion/ej2-data": "~20.2.38",
42
+ "@syncfusion/ej2-dropdowns": "~20.2.38",
43
+ "@syncfusion/ej2-excel-export": "~20.2.38",
44
+ "@syncfusion/ej2-inputs": "~20.2.38",
45
+ "@syncfusion/ej2-lists": "~20.2.38",
46
+ "@syncfusion/ej2-navigations": "~20.2.38",
47
+ "@syncfusion/ej2-popups": "~20.2.38"
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.36",
84
+ "version": "20.2.38",
85
85
  "sideEffects": false
86
86
  }
@@ -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>[];
@@ -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;
@@ -19,7 +19,7 @@ var ICalendarExport = /** @class */ (function () {
19
19
  var timeZone = this.parent.timezone || this.parent.tzModule.getLocalTimezoneName();
20
20
  var fields = this.parent.eventFields;
21
21
  eventsData.forEach(function (eventObj) {
22
- var uId = _this.parent.eventBase.generateGuid();
22
+ var uId = eventObj[fields.id] || eventObj.Guid || _this.parent.eventBase.generateGuid();
23
23
  var editedExDate = [];
24
24
  if (eventObj[fields.recurrenceID]) {
25
25
  var filter = _this.filterEvents(filterCollection, fields.id, eventObj[fields.recurrenceID]);
@@ -78,8 +78,16 @@ var ICalendarImport = /** @class */ (function () {
78
78
  break;
79
79
  case 'UID':
80
80
  curEvent[uId] = value;
81
- curEvent[fields.id] = typeof (id) === 'string' ? id + count.toString() : id + count;
82
- count++;
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
- var data = app.filter(function (data) { return data.UID === eventObj[uId]; });
127
- if (data.length > 1 && isNullOrUndefined(eventObj[fields.recurrenceID])) {
128
- for (var i = 0; i < data.length; i++) {
129
- // eslint-disable-next-line no-prototype-builtins
130
- if (data[i].hasOwnProperty(fields.recurrenceID)) {
131
- var exdate = data[i][fields.recurrenceID];
132
- data[i][fields.recurrenceID] = id;
133
- data[i][fields.recurrenceException] = null;
134
- parentObj[fields.recurrenceException] = (isNullOrUndefined(parentObj[fields.recurrenceException])) ?
135
- exdate : parentObj[fields.recurrenceException] + ',' + exdate;
136
- appoint.push(data[i]);
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') {
@@ -350,7 +350,7 @@
350
350
  }
351
351
  .e-schedule .e-new-event {
352
352
  background-color: #0078d4;
353
- border: 1px solid #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
3410
+ color: #1b1a19;
3411
3411
  -ms-flex: auto;
3412
3412
  flex: auto;
3413
3413
  font-size: 13px;
@@ -350,7 +350,7 @@
350
350
  }
351
351
  .e-schedule .e-new-event {
352
352
  background-color: #0078d4;
353
- border: 1px solid #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
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: #fff;
3410
+ color: #1b1a19;
3411
3411
  -ms-flex: auto;
3412
3412
  flex: auto;
3413
3413
  font-size: 13px;