@syncfusion/ej2-schedule 20.4.52 → 20.4.53

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.4.52
3
+ * version : 20.4.53
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@20.4.51",
3
+ "_id": "@syncfusion/ej2-schedule@20.4.52",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-Ilw+M0JxbeDcBOjBVxOoNaEZLZQWhwB020ex/SDKcf6KstTEhU3acUAtdKm3X3bwpH9XDDQ+lPkHLL9qJhH0BQ==",
5
+ "_integrity": "sha512-uvECp2PMDWK18jedeq5o1vF4NyacCb46ARZkPrApDlPZh/4Iqlvjeg74bBq+rlvNv88RV1ZO/EQQRDyma6S8VQ==",
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": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-20.4.51.tgz",
27
- "_shasum": "d90f6c39cbb04533b058dbd2af9c38cdb8f7cb5e",
26
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-20.4.52.tgz",
27
+ "_shasum": "b864b662411395cc14d52ed776c4b45961412870",
28
28
  "_spec": "@syncfusion/ej2-schedule@*",
29
29
  "_where": "/jenkins/workspace/ease-automation_release_19.1.0.1/packages/included",
30
30
  "author": {
@@ -36,15 +36,15 @@
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
38
  "@syncfusion/ej2-base": "~20.4.51",
39
- "@syncfusion/ej2-buttons": "~20.4.50",
39
+ "@syncfusion/ej2-buttons": "~20.4.53",
40
40
  "@syncfusion/ej2-calendars": "~20.4.52",
41
41
  "@syncfusion/ej2-data": "~20.4.48",
42
- "@syncfusion/ej2-dropdowns": "~20.4.52",
43
- "@syncfusion/ej2-excel-export": "~20.4.51",
42
+ "@syncfusion/ej2-dropdowns": "~20.4.53",
43
+ "@syncfusion/ej2-excel-export": "~20.4.53",
44
44
  "@syncfusion/ej2-inputs": "~20.4.52",
45
45
  "@syncfusion/ej2-lists": "~20.4.50",
46
- "@syncfusion/ej2-navigations": "~20.4.52",
47
- "@syncfusion/ej2-popups": "~20.4.52"
46
+ "@syncfusion/ej2-navigations": "~20.4.53",
47
+ "@syncfusion/ej2-popups": "~20.4.53"
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.",
@@ -73,6 +73,6 @@
73
73
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
74
74
  },
75
75
  "typings": "index.d.ts",
76
- "version": "20.4.52",
76
+ "version": "20.4.53",
77
77
  "sideEffects": false
78
78
  }
@@ -724,7 +724,7 @@ var RecurrenceEditor = /** @class */ (function (_super) {
724
724
  '"label="' + REPEATELEMENT.substr(2) + '" />' +
725
725
  '</div><div class="' + INPUTWARAPPER + ' ' +
726
726
  INTERVALCLASS + ' ' + FORMRIGHT + '"><table class="' + RECURRENCETABLE + ' ' + REPEATCONTENTWRAPPER + '"><tr>' +
727
- '<td><input type="text" tabindex="0" class="' + REPEATINTERVAL +
727
+ '<td><input type="text" tabindex="0" id="' + this.element.id + '_' + REPEATINTERVAL + '" class="' + REPEATINTERVAL +
728
728
  '"title="' + this.localeObj.getConstant('repeatEvery') + '" /></td>' +
729
729
  '<td><span class="' + REPEATCONTENT + '"></span></td>' +
730
730
  '</tr></table></div><div class="' + INPUTWARAPPERSIDE + ' ' + DAYWRAPPER + ' ' + FORMLEFT + '">' +
@@ -748,7 +748,7 @@ var RecurrenceEditor = /** @class */ (function (_super) {
748
748
  '<input class="' + MONTHEXPANDERELEMENT + '"title="' + this.localeObj.getConstant('monthExpander') + '" type="radio">' +
749
749
  '</div></td>' +
750
750
  '<td colspan="2"><div class="' + INPUTWARAPPER + ' ' + MONTHDAYELEMENT + '">' +
751
- '<input type="text" tabindex="0" class="' + MONTHDAYWRAPPER + '"title="' +
751
+ '<input type="text" tabindex="0" id="' + this.element.id + '_' + MONTHDAYWRAPPER + '" class="' + MONTHDAYWRAPPER + '"title="' +
752
752
  this.localeObj.getConstant('on') + '" />' +
753
753
  '</div></td></tr>' +
754
754
  '<tr><td>' +
@@ -771,7 +771,7 @@ var RecurrenceEditor = /** @class */ (function (_super) {
771
771
  '<input type="text" tabindex="0" class="' + UNTILDATE + '"title="' + this.localeObj.getConstant(UNTIL) + '" />' +
772
772
  '</div>' +
773
773
  '<div class="' + INPUTWARAPPER + ' ' + ENDONCOUNTWRAPPER + '">' +
774
- '<input type="text" tabindex="0" class="' + ENDONCOUNT + '"title="' + this.localeObj.getConstant(COUNT) + '" />' +
774
+ '<input type="text" tabindex="0" id="' + this.element.id + '_' + ENDONCOUNT + '" class="' + ENDONCOUNT + '"title="' + this.localeObj.getConstant(COUNT) + '" />' +
775
775
  '</div></div>' +
776
776
  '</div></div>';
777
777
  };
@@ -81,7 +81,9 @@ var Crud = /** @class */ (function () {
81
81
  }
82
82
  }
83
83
  }
84
- this.parent.resetTemplates(templateNames);
84
+ if (templateNames.length > 0) {
85
+ this.parent.resetTemplates(templateNames);
86
+ }
85
87
  }
86
88
  if (isVirtualScrollAction) {
87
89
  this.parent.notify(events.dataReady, { processedData: this.parent.eventsProcessed });
@@ -162,6 +164,9 @@ var Crud = /** @class */ (function () {
162
164
  return;
163
165
  }
164
166
  var addEvents = (eventData instanceof Array) ? eventData : [eventData];
167
+ if (addEvents.length === 0) {
168
+ return;
169
+ }
165
170
  var args = {
166
171
  requestType: 'eventCreate', cancel: false, data: addEvents,
167
172
  addedRecords: addEvents, changedRecords: [], deletedRecords: []
@@ -201,6 +206,10 @@ var Crud = /** @class */ (function () {
201
206
  this.parent.quickPopup.openValidationError('blockAlert', eventData);
202
207
  return;
203
208
  }
209
+ var updateEvents = (eventData instanceof Array) ? eventData : [eventData];
210
+ if (updateEvents.length === 0) {
211
+ return;
212
+ }
204
213
  this.parent.currentAction = action;
205
214
  if (action) {
206
215
  switch (action) {
@@ -219,7 +228,6 @@ var Crud = /** @class */ (function () {
219
228
  }
220
229
  }
221
230
  else {
222
- var updateEvents = (eventData instanceof Array) ? eventData : [eventData];
223
231
  var args = {
224
232
  requestType: 'eventChange', cancel: false, data: eventData,
225
233
  addedRecords: [], changedRecords: updateEvents, deletedRecords: []
@@ -266,6 +274,9 @@ var Crud = /** @class */ (function () {
266
274
  else {
267
275
  deleteEvents = (eventData instanceof Array ? eventData : [eventData]);
268
276
  }
277
+ if (deleteEvents.length === 0) {
278
+ return;
279
+ }
269
280
  if (action) {
270
281
  switch (action) {
271
282
  case 'Delete':
@@ -740,7 +740,12 @@ var DragAndDrop = /** @class */ (function (_super) {
740
740
  };
741
741
  DragAndDrop.prototype.getDayIndex = function (event) {
742
742
  var eventObj = extend({}, event, null, true);
743
- var startTime = util.resetTime(eventObj[this.parent.eventFields.startTime]).getTime();
743
+ var startDate = util.resetTime(eventObj[this.parent.eventFields.startTime]);
744
+ if (this.parent.activeViewOptions.timeScale.enable && !eventObj[this.parent.eventFields.isAllDay]) {
745
+ var startHour = this.parent.activeView.getStartHour();
746
+ startDate.setMilliseconds(startHour.getTime() - util.resetTime(startHour).getTime());
747
+ }
748
+ var startTime = startDate.getTime();
744
749
  var query = '';
745
750
  var wrapper = cls.DAY_WRAPPER_CLASS;
746
751
  if (this.parent.activeViewOptions.timeScale.enable && (eventObj[this.parent.eventFields.isAllDay])) {
@@ -8,7 +8,7 @@ export declare class KeyboardInteraction {
8
8
  */
9
9
  private parent;
10
10
  private initialTarget;
11
- private selectedCells;
11
+ selectedCells: HTMLTableCellElement[];
12
12
  private keyConfigs;
13
13
  private keyboardModule;
14
14
  constructor(parent: Schedule);
@@ -219,7 +219,7 @@ var KeyboardInteraction = /** @class */ (function () {
219
219
  if (this.parent.eventWindow) {
220
220
  this.parent.eventWindow.convertToEventData(this.parent.activeCellsData, cellData);
221
221
  }
222
- var selectedCells = this.parent.getSelectedElements();
222
+ var selectedCells = this.parent.getSelectedCells();
223
223
  var args = {
224
224
  data: cellData, element: this.parent.activeCellsData.element, event: e,
225
225
  requestType: cellSelect, showQuickPopup: false
@@ -571,7 +571,7 @@ var KeyboardInteraction = /** @class */ (function () {
571
571
  return;
572
572
  }
573
573
  var target = (e.target);
574
- var selectedElements = this.parent.getSelectedElements();
574
+ var selectedElements = this.parent.getSelectedCells();
575
575
  var selectedEventElements = this.parent.eventBase.getSelectedAppointments();
576
576
  var moreEventWrapper = this.parent.element.querySelector('.' + cls.MORE_POPUP_WRAPPER_CLASS);
577
577
  var quickPopupWrapper = this.getQuickPopupElement();
@@ -618,7 +618,7 @@ var KeyboardInteraction = /** @class */ (function () {
618
618
  return;
619
619
  }
620
620
  var target = (e.target);
621
- var selectedCells = this.parent.getSelectedElements();
621
+ var selectedCells = this.parent.getSelectedCells();
622
622
  var selectedElements = this.parent.eventBase.getSelectedAppointments();
623
623
  var moreEventWrapper = this.parent.element.querySelector('.' + cls.MORE_POPUP_WRAPPER_CLASS);
624
624
  var quickPopupWrapper = this.getQuickPopupElement();
@@ -726,7 +726,7 @@ var KeyboardInteraction = /** @class */ (function () {
726
726
  if (this.isCancelLeftRightAction(e, isMultiple, isTimelineYear)) {
727
727
  return;
728
728
  }
729
- var selectedCells = this.parent.getSelectedElements();
729
+ var selectedCells = this.parent.getSelectedCells();
730
730
  var targetCell;
731
731
  var selectedAppointments = this.parent.eventBase.getSelectedAppointments();
732
732
  var target = (e.target);
@@ -798,7 +798,7 @@ var KeyboardInteraction = /** @class */ (function () {
798
798
  return;
799
799
  }
800
800
  var target = (e.target);
801
- var selectedCells = this.parent.getSelectedElements();
801
+ var selectedCells = this.parent.getSelectedCells();
802
802
  var targetCell;
803
803
  if (selectedCells.length > 0 && !target.classList.contains(cls.WORK_CELLS_CLASS) &&
804
804
  !target.classList.contains(cls.ALLDAY_CELLS_CLASS)) {
@@ -1023,7 +1023,7 @@ var KeyboardInteraction = /** @class */ (function () {
1023
1023
  }
1024
1024
  return;
1025
1025
  }
1026
- var selectedCells = this.parent.getSelectedElements();
1026
+ var selectedCells = this.parent.getSelectedCells();
1027
1027
  if (selectedCells.length > 0 && !target.classList.contains(cls.APPOINTMENT_CLASS)) {
1028
1028
  target = selectedCells[selectedCells.length - 1];
1029
1029
  this.selectAppointmentElementFromWorkCell(isReverse, target);
@@ -1142,6 +1142,7 @@ var KeyboardInteraction = /** @class */ (function () {
1142
1142
  */
1143
1143
  KeyboardInteraction.prototype.destroy = function () {
1144
1144
  this.removeEventListener();
1145
+ this.selectedCells = [];
1145
1146
  this.keyboardModule.destroy();
1146
1147
  };
1147
1148
  return KeyboardInteraction;
@@ -126,7 +126,7 @@ var VirtualScroll = /** @class */ (function () {
126
126
  }
127
127
  if (!isNullOrUndefined(resCollection) && resCollection.length > 0) {
128
128
  this.parent.showSpinner();
129
- var selectedEle = this.parent.getSelectedElements();
129
+ var selectedEle = this.parent.getSelectedCells();
130
130
  this.focusedEle = selectedEle[selectedEle.length - 1] || this.focusedEle;
131
131
  this.updateContent(resWrap, conWrap, eventWrap, resCollection);
132
132
  this.setTranslate(resWrap, conWrap, eventWrap, timeIndicator);
@@ -311,7 +311,7 @@ var VirtualScroll = /** @class */ (function () {
311
311
  };
312
312
  VirtualScroll.prototype.updateHorizontalContent = function (conWrap, resCollection) {
313
313
  this.parent.resourceBase.expandedResources = resCollection;
314
- var selectedEle = this.parent.getSelectedElements();
314
+ var selectedEle = this.parent.getSelectedCells();
315
315
  this.focusedEle = selectedEle[selectedEle.length - 1] || this.focusedEle;
316
316
  var renderedLength = conWrap.querySelectorAll('tbody tr').length;
317
317
  for (var i = 0; i < renderedLength; i++) {
@@ -1086,7 +1086,9 @@ var ResourceBase = /** @class */ (function () {
1086
1086
  if (this.treeViewObj) {
1087
1087
  if (this.treeViewObj.portals && this.treeViewObj.portals.length > 0) {
1088
1088
  var treeViewTemplates = this.treeViewObj.portals.map(function (x) { return x.propName; });
1089
- this.parent.resetTemplates(treeViewTemplates);
1089
+ if (treeViewTemplates.length > 0) {
1090
+ this.parent.resetTemplates(treeViewTemplates);
1091
+ }
1090
1092
  }
1091
1093
  this.treeViewObj.destroy();
1092
1094
  this.treeViewObj = null;
@@ -1260,6 +1260,13 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
1260
1260
  * @private
1261
1261
  */
1262
1262
  templateParser(template: string): CallbackFunction;
1263
+ /**
1264
+ * Retrieves the selected cells.
1265
+ *
1266
+ * @returns {Element[]} The elements of currently selected cells will be returned.
1267
+ * @private
1268
+ */
1269
+ getSelectedCells(): Element[];
1263
1270
  /**
1264
1271
  * Method to generate the announcement string
1265
1272
  *
@@ -789,13 +789,16 @@ var Schedule = /** @class */ (function (_super) {
789
789
  * @private
790
790
  */
791
791
  Schedule.prototype.removeSelectedClass = function () {
792
- var selectedCells = this.getSelectedElements();
792
+ var selectedCells = this.getSelectedCells();
793
793
  for (var _i = 0, selectedCells_1 = selectedCells; _i < selectedCells_1.length; _i++) {
794
794
  var cell = selectedCells_1[_i];
795
795
  cell.setAttribute('aria-selected', 'false');
796
796
  cell.removeAttribute('tabindex');
797
797
  }
798
798
  removeClass(selectedCells, cls.SELECTED_CELL_CLASS);
799
+ if (this.keyboardInteractionModule && this.keyboardInteractionModule.selectedCells.length > 0) {
800
+ this.keyboardInteractionModule.selectedCells = [];
801
+ }
799
802
  };
800
803
  /**
801
804
  * Method to add selected class
@@ -1175,6 +1178,15 @@ var Schedule = /** @class */ (function (_super) {
1175
1178
  }
1176
1179
  return undefined;
1177
1180
  };
1181
+ /**
1182
+ * Retrieves the selected cells.
1183
+ *
1184
+ * @returns {Element[]} The elements of currently selected cells will be returned.
1185
+ * @private
1186
+ */
1187
+ Schedule.prototype.getSelectedCells = function () {
1188
+ return [].slice.call(this.element.querySelectorAll('.' + cls.SELECTED_CELL_CLASS));
1189
+ };
1178
1190
  /**
1179
1191
  * Method to generate the announcement string
1180
1192
  *
@@ -1865,7 +1877,10 @@ var Schedule = /** @class */ (function (_super) {
1865
1877
  * @returns {Element[]} The elements of currently selected cells will be returned.
1866
1878
  */
1867
1879
  Schedule.prototype.getSelectedElements = function () {
1868
- return [].slice.call(this.element.querySelectorAll('.' + cls.SELECTED_CELL_CLASS));
1880
+ if (this.keyboardInteractionModule && this.keyboardInteractionModule.selectedCells.length > 0) {
1881
+ return this.keyboardInteractionModule.selectedCells;
1882
+ }
1883
+ return this.getSelectedCells();
1869
1884
  };
1870
1885
  /**
1871
1886
  * To get the resource collection
@@ -558,7 +558,7 @@ var EventBase = /** @class */ (function () {
558
558
  return;
559
559
  }
560
560
  var activeEle = document.activeElement;
561
- var selectedCell = this.parent.getSelectedElements();
561
+ var selectedCell = this.parent.getSelectedCells();
562
562
  if (selectedCell.length > 0 && ((activeEle && (this.parent.element.contains(activeEle) ||
563
563
  selectedCell.indexOf(activeEle) !== -1)) || isFocused)) {
564
564
  if (this.parent.keyboardInteractionModule) {
@@ -329,7 +329,7 @@ var EventWindow = /** @class */ (function () {
329
329
  return parentDiv;
330
330
  };
331
331
  EventWindow.prototype.createRecurrenceEditor = function (parentDiv) {
332
- var recurrenceEditor = this.createDivElement();
332
+ var recurrenceEditor = createElement('div', { id: this.parent.element.id + '_recurrence_editor' });
333
333
  parentDiv.appendChild(recurrenceEditor);
334
334
  this.recurrenceEditor = this.renderRecurrenceEditor();
335
335
  this.recurrenceEditor.appendTo(recurrenceEditor);
@@ -1 +0,0 @@
1
- []
Binary file
Binary file