@syncfusion/ej2-schedule 20.3.61 → 20.4.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.
Files changed (157) hide show
  1. package/.eslintrc.json +16 -1
  2. package/CHANGELOG.md +8 -0
  3. package/README.md +62 -46
  4. package/dist/ej2-schedule.min.js +2 -2
  5. package/dist/ej2-schedule.umd.min.js +2 -2
  6. package/dist/ej2-schedule.umd.min.js.map +1 -1
  7. package/dist/es6/ej2-schedule.es2015.js +786 -524
  8. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  9. package/dist/es6/ej2-schedule.es5.js +821 -535
  10. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  11. package/dist/global/ej2-schedule.min.js +2 -2
  12. package/dist/global/ej2-schedule.min.js.map +1 -1
  13. package/dist/global/index.d.ts +1 -1
  14. package/package.json +22 -30
  15. package/src/common/calendar-util.js +1 -1
  16. package/src/recurrence-editor/date-generator.js +26 -26
  17. package/src/recurrence-editor/recurrence-editor.js +5 -5
  18. package/src/schedule/actions/action-base.js +3 -3
  19. package/src/schedule/actions/crud.js +16 -16
  20. package/src/schedule/actions/drag.js +36 -32
  21. package/src/schedule/actions/keyboard.js +10 -8
  22. package/src/schedule/actions/resize.js +6 -6
  23. package/src/schedule/actions/touch.js +4 -3
  24. package/src/schedule/actions/virtual-scroll.js +10 -7
  25. package/src/schedule/base/interface.d.ts +8 -1
  26. package/src/schedule/base/resource.d.ts +1 -0
  27. package/src/schedule/base/resource.js +179 -93
  28. package/src/schedule/base/schedule-model.d.ts +7 -0
  29. package/src/schedule/base/schedule.d.ts +23 -0
  30. package/src/schedule/base/schedule.js +73 -22
  31. package/src/schedule/base/util.js +4 -6
  32. package/src/schedule/event-renderer/agenda-base.js +36 -31
  33. package/src/schedule/event-renderer/event-base.js +25 -25
  34. package/src/schedule/event-renderer/inline-edit.js +8 -5
  35. package/src/schedule/event-renderer/month.js +17 -14
  36. package/src/schedule/event-renderer/timeline-view.js +11 -11
  37. package/src/schedule/event-renderer/vertical-view.d.ts +1 -0
  38. package/src/schedule/event-renderer/vertical-view.js +97 -70
  39. package/src/schedule/event-renderer/year.js +25 -17
  40. package/src/schedule/exports/calendar-export.js +4 -4
  41. package/src/schedule/exports/calendar-import.js +14 -15
  42. package/src/schedule/exports/excel-export.js +1 -1
  43. package/src/schedule/models/group-model.d.ts +8 -0
  44. package/src/schedule/models/group.d.ts +7 -0
  45. package/src/schedule/models/group.js +3 -0
  46. package/src/schedule/models/views-model.d.ts +8 -1
  47. package/src/schedule/models/views.d.ts +7 -1
  48. package/src/schedule/models/views.js +3 -0
  49. package/src/schedule/popups/event-tooltip.js +3 -2
  50. package/src/schedule/popups/event-window.js +36 -30
  51. package/src/schedule/popups/quick-popups.js +6 -6
  52. package/src/schedule/renderer/agenda.js +5 -5
  53. package/src/schedule/renderer/header-renderer.d.ts +1 -1
  54. package/src/schedule/renderer/header-renderer.js +21 -5
  55. package/src/schedule/renderer/month-agenda.js +11 -4
  56. package/src/schedule/renderer/month.js +44 -16
  57. package/src/schedule/renderer/renderer.js +3 -3
  58. package/src/schedule/renderer/timeline-header-row.js +7 -7
  59. package/src/schedule/renderer/timeline-month.js +5 -5
  60. package/src/schedule/renderer/timeline-view.js +2 -2
  61. package/src/schedule/renderer/timeline-year.js +20 -14
  62. package/src/schedule/renderer/vertical-view.js +24 -9
  63. package/src/schedule/renderer/view-base.d.ts +3 -0
  64. package/src/schedule/renderer/view-base.js +11 -3
  65. package/src/schedule/renderer/year.js +11 -5
  66. package/styles/bootstrap-dark.css +364 -101
  67. package/styles/bootstrap.css +363 -99
  68. package/styles/bootstrap4.css +375 -141
  69. package/styles/bootstrap5-dark.css +339 -137
  70. package/styles/bootstrap5.css +339 -137
  71. package/styles/fabric-dark.css +330 -101
  72. package/styles/fabric.css +316 -106
  73. package/styles/fluent-dark.css +395 -102
  74. package/styles/fluent.css +395 -102
  75. package/styles/highcontrast-light.css +407 -98
  76. package/styles/highcontrast.css +399 -113
  77. package/styles/material-dark.css +362 -110
  78. package/styles/material.css +404 -110
  79. package/styles/recurrence-editor/_layout.scss +42 -28
  80. package/styles/recurrence-editor/bootstrap-dark.css +137 -28
  81. package/styles/recurrence-editor/bootstrap-dark.scss +5 -0
  82. package/styles/recurrence-editor/bootstrap.css +137 -28
  83. package/styles/recurrence-editor/bootstrap.scss +5 -0
  84. package/styles/recurrence-editor/bootstrap4.css +171 -28
  85. package/styles/recurrence-editor/bootstrap4.scss +5 -0
  86. package/styles/recurrence-editor/bootstrap5-dark.css +178 -28
  87. package/styles/recurrence-editor/bootstrap5-dark.scss +5 -0
  88. package/styles/recurrence-editor/bootstrap5.css +178 -28
  89. package/styles/recurrence-editor/bootstrap5.scss +5 -0
  90. package/styles/recurrence-editor/fabric-dark.css +113 -28
  91. package/styles/recurrence-editor/fabric-dark.scss +5 -0
  92. package/styles/recurrence-editor/fabric.css +106 -28
  93. package/styles/recurrence-editor/fabric.scss +5 -0
  94. package/styles/recurrence-editor/fluent-dark.css +158 -28
  95. package/styles/recurrence-editor/fluent-dark.scss +5 -0
  96. package/styles/recurrence-editor/fluent.css +158 -28
  97. package/styles/recurrence-editor/fluent.scss +5 -0
  98. package/styles/recurrence-editor/highcontrast-light.css +110 -28
  99. package/styles/recurrence-editor/highcontrast-light.scss +5 -0
  100. package/styles/recurrence-editor/highcontrast.css +110 -28
  101. package/styles/recurrence-editor/highcontrast.scss +5 -0
  102. package/styles/recurrence-editor/material-dark.css +138 -28
  103. package/styles/recurrence-editor/material-dark.scss +5 -0
  104. package/styles/recurrence-editor/material.css +163 -28
  105. package/styles/recurrence-editor/material.scss +5 -0
  106. package/styles/recurrence-editor/tailwind-dark.css +126 -28
  107. package/styles/recurrence-editor/tailwind-dark.scss +5 -0
  108. package/styles/recurrence-editor/tailwind.css +126 -28
  109. package/styles/recurrence-editor/tailwind.scss +5 -0
  110. package/styles/schedule/_bootstrap-dark-definition.scss +63 -4
  111. package/styles/schedule/_bootstrap-definition.scss +62 -3
  112. package/styles/schedule/_bootstrap4-definition.scss +65 -5
  113. package/styles/schedule/_bootstrap5-definition.scss +63 -5
  114. package/styles/schedule/_fabric-dark-definition.scss +61 -3
  115. package/styles/schedule/_fabric-definition.scss +62 -3
  116. package/styles/schedule/_fluent-definition.scss +63 -6
  117. package/styles/schedule/_fusionnew-definition.scss +60 -3
  118. package/styles/schedule/_highcontrast-definition.scss +62 -3
  119. package/styles/schedule/_highcontrast-light-definition.scss +62 -3
  120. package/styles/schedule/_layout.scss +117 -506
  121. package/styles/schedule/_material-dark-definition.scss +63 -4
  122. package/styles/schedule/_material-definition.scss +63 -4
  123. package/styles/schedule/_material3-definition.scss +62 -3
  124. package/styles/schedule/_tailwind-definition.scss +63 -6
  125. package/styles/schedule/_theme.scss +97 -62
  126. package/styles/schedule/bootstrap-dark.css +332 -73
  127. package/styles/schedule/bootstrap-dark.scss +11 -0
  128. package/styles/schedule/bootstrap.css +331 -71
  129. package/styles/schedule/bootstrap.scss +11 -0
  130. package/styles/schedule/bootstrap4.css +343 -113
  131. package/styles/schedule/bootstrap4.scss +11 -0
  132. package/styles/schedule/bootstrap5-dark.css +307 -109
  133. package/styles/schedule/bootstrap5-dark.scss +11 -0
  134. package/styles/schedule/bootstrap5.css +307 -109
  135. package/styles/schedule/bootstrap5.scss +11 -0
  136. package/styles/schedule/fabric-dark.css +298 -73
  137. package/styles/schedule/fabric-dark.scss +11 -0
  138. package/styles/schedule/fabric.css +284 -78
  139. package/styles/schedule/fabric.scss +11 -0
  140. package/styles/schedule/fluent-dark.css +363 -74
  141. package/styles/schedule/fluent-dark.scss +11 -0
  142. package/styles/schedule/fluent.css +363 -74
  143. package/styles/schedule/fluent.scss +11 -0
  144. package/styles/schedule/highcontrast-light.css +375 -70
  145. package/styles/schedule/highcontrast-light.scss +11 -0
  146. package/styles/schedule/highcontrast.css +367 -85
  147. package/styles/schedule/highcontrast.scss +11 -0
  148. package/styles/schedule/material-dark.css +330 -82
  149. package/styles/schedule/material-dark.scss +11 -0
  150. package/styles/schedule/material.css +372 -82
  151. package/styles/schedule/material.scss +11 -0
  152. package/styles/schedule/tailwind-dark.css +246 -111
  153. package/styles/schedule/tailwind-dark.scss +11 -0
  154. package/styles/schedule/tailwind.css +246 -111
  155. package/styles/schedule/tailwind.scss +11 -0
  156. package/styles/tailwind-dark.css +279 -140
  157. package/styles/tailwind.css +279 -140
@@ -72,14 +72,17 @@ var YearEvent = /** @class */ (function (_super) {
72
72
  for (var index = 0; startDate.getTime() < endDate.getTime(); index++) {
73
73
  var start = util.resetTime(new Date(startDate.getTime()));
74
74
  var end = util.addDays(new Date(start.getTime()), 1);
75
+ startDate = util.addDays(new Date(startDate.getTime()), 1);
76
+ if (!this.parent.isMinMaxDate(start)) {
77
+ continue;
78
+ }
75
79
  var filterEvents = this.parent.eventBase.filterEvents(start, end);
76
80
  if (filterEvents.length > 0) {
77
- var workCell = workCells[index];
81
+ var workCell = workCells[parseInt(index.toString(), 10)];
78
82
  if (workCell) {
79
83
  workCell.appendChild(createElement('div', { className: cls.APPOINTMENT_CLASS }));
80
84
  }
81
85
  }
82
- startDate = util.addDays(new Date(startDate.getTime()), 1);
83
86
  }
84
87
  }
85
88
  };
@@ -91,12 +94,14 @@ var YearEvent = /** @class */ (function (_super) {
91
94
  this.eventHeight = util.getElementHeightFromClass(eventTable, cls.APPOINTMENT_CLASS);
92
95
  var wrapperCollection = [].slice.call(this.parent.element.querySelectorAll('.' + cls.APPOINTMENT_CONTAINER_CLASS));
93
96
  var months = this.getMonths();
97
+ var groupIndex = (this.parent.activeViewOptions.group.resources.length > 0 && this.parent.uiStateValues.isGroupAdaptive) ?
98
+ this.parent.uiStateValues.groupIndex : undefined;
94
99
  for (var row = 0; row < months.length; row++) {
95
- var wrapper = wrapperCollection[row];
100
+ var wrapper = wrapperCollection[parseInt(row.toString(), 10)];
96
101
  var td = row + 1;
97
102
  var eventWrapper = createElement('div', { className: cls.APPOINTMENT_WRAPPER_CLASS });
98
103
  wrapper.appendChild(eventWrapper);
99
- var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[row], 1);
104
+ var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(row.toString(), 10)], 1);
100
105
  var monthEnd = new Date(monthStart.getFullYear(), monthStart.getMonth() + 1, 0);
101
106
  var dayIndex = monthStart.getDay();
102
107
  var isSpannedCollection = [];
@@ -107,7 +112,7 @@ var YearEvent = /** @class */ (function (_super) {
107
112
  var leftValue = void 0;
108
113
  var rightValue = void 0;
109
114
  if (this.parent.activeViewOptions.orientation === 'Vertical') {
110
- var wrapper_1 = wrapperCollection[dayIndex];
115
+ var wrapper_1 = wrapperCollection[parseInt(dayIndex.toString(), 10)];
111
116
  td = dayIndex + 1;
112
117
  var eventWrapper_1 = wrapper_1.querySelector('.' + cls.APPOINTMENT_WRAPPER_CLASS);
113
118
  if (!eventWrapper_1) {
@@ -140,7 +145,7 @@ var YearEvent = /** @class */ (function (_super) {
140
145
  var dayEvents = this.parent.eventBase.filterEvents(dayStart, dayEnd, undefined, resource);
141
146
  dayEvents = this.parent.eventBase.sortByDateTime(dayEvents);
142
147
  var _loop_1 = function (index, count) {
143
- var eventData = extend({}, dayEvents[index], null, true);
148
+ var eventData = extend({}, dayEvents[parseInt(index.toString(), 10)], null, true);
144
149
  this_1.updateSpannedEvents(eventData, dayStart, dayEnd);
145
150
  var overlapIndex = this_1.getIndex(dayStart);
146
151
  eventData.Index = overlapIndex;
@@ -158,7 +163,7 @@ var YearEvent = /** @class */ (function (_super) {
158
163
  });
159
164
  if (isRendered.length > 0 && isRendered[0].MoreIndicator || isSpanned.length > 0 && isSpanned[0].MoreIndicator) {
160
165
  var moreIndex = this_1.parent.activeViewOptions.orientation === 'Horizontal' ? row : dayIndex;
161
- this_1.renderMoreIndicator(eventWrapper, moreIndicatorCount, dayStart, moreIndex, leftValue, rightValue);
166
+ this_1.renderMoreIndicator(eventWrapper, moreIndicatorCount, dayStart, moreIndex, leftValue, rightValue, groupIndex);
162
167
  return "continue";
163
168
  }
164
169
  else if (isRendered.length > 0 || isSpanned.length > 0) {
@@ -173,7 +178,7 @@ var YearEvent = /** @class */ (function (_super) {
173
178
  }
174
179
  else {
175
180
  var moreIndex = this_1.parent.activeViewOptions.orientation === 'Horizontal' ? row : dayIndex;
176
- this_1.renderMoreIndicator(eventWrapper, moreIndicatorCount, dayStart, moreIndex, leftValue, rightValue);
181
+ this_1.renderMoreIndicator(eventWrapper, moreIndicatorCount, dayStart, moreIndex, leftValue, rightValue, groupIndex);
177
182
  if (this_1.parent.activeViewOptions.orientation === 'Horizontal') {
178
183
  eventData.MoreIndicator = true;
179
184
  this_1.renderedEvents.push(eventData);
@@ -230,10 +235,10 @@ var YearEvent = /** @class */ (function (_super) {
230
235
  var months = this.getMonths();
231
236
  if (this.parent.activeViewOptions.orientation === 'Horizontal') {
232
237
  for (var month = 0; month < months.length; month++) {
233
- var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[month], 1);
238
+ var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(month.toString(), 10)], 1);
234
239
  for (var i = 0, len = resources.length; i < len; i++) {
235
240
  this.renderedEvents = [];
236
- this.renderResourceEvent(wrapperCollection[month], resources[i], month, i, monthStart);
241
+ this.renderResourceEvent(wrapperCollection[parseInt(month.toString(), 10)], resources[parseInt(i.toString(), 10)], month, i, monthStart);
237
242
  }
238
243
  }
239
244
  }
@@ -241,8 +246,8 @@ var YearEvent = /** @class */ (function (_super) {
241
246
  for (var i = 0, len = resources.length; i < len; i++) {
242
247
  this.renderedEvents = [];
243
248
  for (var month = 0; month < months.length; month++) {
244
- var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[month], 1);
245
- this.renderResourceEvent(wrapperCollection[i], resources[i], month, i, monthStart);
249
+ var monthStart = new Date(this.parent.selectedDate.getFullYear(), months[parseInt(month.toString(), 10)], 1);
250
+ this.renderResourceEvent(wrapperCollection[parseInt(i.toString(), 10)], resources[parseInt(i.toString(), 10)], month, i, monthStart);
246
251
  }
247
252
  }
248
253
  }
@@ -257,7 +262,7 @@ var YearEvent = /** @class */ (function (_super) {
257
262
  this.cellHeight = td.offsetHeight;
258
263
  this.groupOrder = resource.groupOrder;
259
264
  for (var a = 0; a < eventDatas.length; a++) {
260
- var data = eventDatas[a];
265
+ var data = eventDatas[parseInt(a.toString(), 10)];
261
266
  var overlapIndex = void 0;
262
267
  var eventData = extend({}, data, null, true);
263
268
  if (this.parent.activeViewOptions.group.resources.length > 0) {
@@ -272,6 +277,9 @@ var YearEvent = /** @class */ (function (_super) {
272
277
  var availedHeight = this.cellHeader + (this.eventHeight * (a + 1)) + EVENT_GAP + this.moreIndicatorHeight;
273
278
  var leftValue = (this.parent.activeViewOptions.orientation === 'Vertical') ?
274
279
  month * this.cellWidth : index * this.cellWidth;
280
+ if (!this.parent.isMinMaxDate(eventData[this.fields.startTime])) {
281
+ return;
282
+ }
275
283
  if (this.parent.rowAutoHeight || this.cellHeight > availedHeight) {
276
284
  this.renderEvent(eventWrapper, eventData, month, leftValue, leftValue, monthStart, index);
277
285
  this.updateCellHeight(td, availedHeight);
@@ -281,7 +289,7 @@ var YearEvent = /** @class */ (function (_super) {
281
289
  this.renderMoreIndicator(eventWrapper, eventDatas.length - a, monthStart, moreIndex, leftValue, leftValue, index);
282
290
  if (this.parent.activeViewOptions.orientation === 'Horizontal') {
283
291
  for (var i = index; i < eventDatas.length; i++) {
284
- this.renderedEvents.push(extend({}, eventDatas[i], { Index: overlapIndex + i }, true));
292
+ this.renderedEvents.push(extend({}, eventDatas[parseInt(i.toString(), 10)], { Index: overlapIndex + i }, true));
285
293
  }
286
294
  }
287
295
  break;
@@ -342,7 +350,7 @@ var YearEvent = /** @class */ (function (_super) {
342
350
  return;
343
351
  }
344
352
  var endDate;
345
- if (this.parent.activeViewOptions.group.resources.length > 0) {
353
+ if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
346
354
  endDate = util.addDays(util.lastDateOfMonth(new Date(startDate.getTime())), 1);
347
355
  }
348
356
  else {
@@ -445,7 +453,7 @@ var YearEvent = /** @class */ (function (_super) {
445
453
  eventData[this.fields.endTime] = monthEnd;
446
454
  isSpanned.isRight = true;
447
455
  }
448
- if (this.parent.activeViewOptions.group.resources.length === 0) {
456
+ if (this.parent.activeViewOptions.group.resources.length === 0 || this.parent.uiStateValues.isGroupAdaptive) {
449
457
  var end = util.resetTime(eventData[this.fields.endTime]).getTime();
450
458
  var start = util.resetTime(eventData[this.fields.startTime]).getTime();
451
459
  if (eventObj[this.fields.isAllDay] && end === eventObj[this.fields.endTime].getTime() || isSpanned.isRight) {
@@ -466,7 +474,7 @@ var YearEvent = /** @class */ (function (_super) {
466
474
  var appointmentsList = [];
467
475
  var dateStart;
468
476
  var dateEnd;
469
- if (this.parent.activeViewOptions.group.resources.length > 0) {
477
+ if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
470
478
  var monthStart = this.parent.calendarUtil.getMonthStartDate(new Date(date.getTime()));
471
479
  var monthEnd = util.addDays(this.parent.calendarUtil.getMonthEndDate(new Date(date.getTime())), -1);
472
480
  dateStart = util.resetTime(new Date(monthStart.getTime())).getTime();
@@ -70,7 +70,7 @@ var ICalendarExport = /** @class */ (function () {
70
70
  var exDate = eventObj[fields.recurrenceException].split(',');
71
71
  for (var i = 0; i < exDate.length - 1; i++) {
72
72
  calendarEvent.splice(5, 0, 'EXDATE:' +
73
- _this.convertDateToString(getDateFromRecurrenceDateString(exDate[i]), eventObj[fields.isAllDay]));
73
+ _this.convertDateToString(getDateFromRecurrenceDateString(exDate[parseInt(i.toString(), 10)]), eventObj[fields.isAllDay]));
74
74
  }
75
75
  }
76
76
  if (eventObj[fields.recurrenceID]) {
@@ -80,7 +80,7 @@ var ICalendarExport = /** @class */ (function () {
80
80
  var customFields = _this.customFieldFilter(eventObj, fields);
81
81
  if (customFields.length > 0) {
82
82
  customFields.forEach(function (customField) {
83
- return calendarEvent.splice(4, 0, customField + ':' + (eventObj[customField] || ''));
83
+ return calendarEvent.splice(4, 0, customField + ':' + (eventObj["" + customField] || ''));
84
84
  });
85
85
  }
86
86
  var app = extend({}, eventObj);
@@ -101,7 +101,7 @@ var ICalendarExport = /** @class */ (function () {
101
101
  return icsString;
102
102
  };
103
103
  ICalendarExport.prototype.customFieldFilter = function (eventObj, fields) {
104
- var defaultFields = Object.keys(fields).map(function (key) { return fields[key]; });
104
+ var defaultFields = Object.keys(fields).map(function (key) { return fields["" + key]; });
105
105
  var eventFields = Object.keys(eventObj);
106
106
  return eventFields.filter(function (value) { return (defaultFields.indexOf(value) === -1) && (value !== 'Guid'); });
107
107
  };
@@ -135,7 +135,7 @@ var ICalendarExport = /** @class */ (function () {
135
135
  }
136
136
  };
137
137
  ICalendarExport.prototype.filterEvents = function (data, field, value) {
138
- return data.filter(function (e) { return e[field] === value; });
138
+ return data.filter(function (e) { return e["" + field] === value; });
139
139
  };
140
140
  ICalendarExport.prototype.getModuleName = function () {
141
141
  return 'iCalendarExport';
@@ -77,7 +77,7 @@ var ICalendarImport = /** @class */ (function () {
77
77
  case 'BEGIN':
78
78
  break;
79
79
  case 'UID':
80
- curEvent[uId] = value;
80
+ curEvent["" + uId] = value;
81
81
  if (typeof (id) == 'number') {
82
82
  curEvent[fields.id] = parseInt(value, 10);
83
83
  if (isNaN(curEvent[fields.id])) {
@@ -107,10 +107,10 @@ var ICalendarImport = /** @class */ (function () {
107
107
  default:
108
108
  if (_this.parent.resourceCollection.length > 0) {
109
109
  var resData = _this.parent.resourceCollection.filter(function (data) { return data.field === type; });
110
- curEvent[type] = (resData.length > 0 && (typeof (resData[0].dataSource[0][resData[0].idField]) == 'number')) ? parseInt(value, 10) : value;
110
+ curEvent["" + type] = (resData.length > 0 && (typeof (resData[0].dataSource[0][resData[0].idField]) == 'number')) ? parseInt(value, 10) : value;
111
111
  }
112
112
  else {
113
- curEvent[type] = value;
113
+ curEvent["" + type] = value;
114
114
  }
115
115
  }
116
116
  }
@@ -137,29 +137,29 @@ var ICalendarImport = /** @class */ (function () {
137
137
  id = eventObj[fields.id];
138
138
  }
139
139
  if (appointmentIds.indexOf(eventObj[fields.id]) < 0) {
140
- var data = app.filter(function (data) { return data.UID === eventObj[uId]; });
140
+ var data = app.filter(function (data) { return data.UID === eventObj["" + uId]; });
141
141
  if (data.length > 1 && isNullOrUndefined(eventObj[fields.recurrenceID])) {
142
142
  id = typeof (maxId) === 'number' ? maxId++ : id;
143
143
  for (var i = 0; i < data.length; i++) {
144
144
  // eslint-disable-next-line no-prototype-builtins
145
- if (data[i].hasOwnProperty(fields.recurrenceID)) {
146
- var exdate = data[i][fields.recurrenceID];
147
- data[i][fields.id] = typeof (maxId) === 'number' ? maxId++ : _this.parent.eventBase.generateGuid();
148
- data[i][fields.recurrenceID] = id;
149
- data[i][fields.recurrenceException] = null;
145
+ if (data[parseInt(i.toString(), 10)].hasOwnProperty(fields.recurrenceID)) {
146
+ var exdate = data[parseInt(i.toString(), 10)][fields.recurrenceID];
147
+ data[parseInt(i.toString(), 10)][fields.id] = typeof (maxId) === 'number' ? maxId++ : _this.parent.eventBase.generateGuid();
148
+ data[parseInt(i.toString(), 10)][fields.recurrenceID] = id;
149
+ data[parseInt(i.toString(), 10)][fields.recurrenceException] = null;
150
150
  parentObj[fields.recurrenceException] =
151
151
  _this.getExcludeDateString(parentObj[fields.recurrenceException], exdate);
152
- delete data[i][uId];
153
- appoint.push(data[i]);
152
+ delete data[parseInt(i.toString(), 10)]["" + uId];
153
+ appoint.push(data[parseInt(i.toString(), 10)]);
154
154
  }
155
155
  }
156
- delete parentObj[uId];
156
+ delete parentObj["" + uId];
157
157
  parentObj[fields.id] = id;
158
158
  appoint.push(parentObj);
159
159
  // eslint-disable-next-line no-prototype-builtins
160
160
  }
161
161
  else if (!eventObj.hasOwnProperty(fields.recurrenceID)) {
162
- delete eventObj[uId];
162
+ delete eventObj["" + uId];
163
163
  eventObj[fields.id] = typeof (maxId) === 'number' ? maxId++ : id;
164
164
  appoint.push(eventObj);
165
165
  }
@@ -188,8 +188,7 @@ var ICalendarImport = /** @class */ (function () {
188
188
  return (value.replace(/\\\,/g, ',').replace(/\\\;/g, ';').replace(/\\[nN]/g, '\n').replace(/\\\\/g, '\\'));
189
189
  };
190
190
  ICalendarImport.prototype.dateParsing = function (element) {
191
- var expression = /([^':;]+)((?:;(?:[^':;]+)(?:=(?:(?:'[^']*')|(?:[^':;]+))))*):(.*)/;
192
- var split = (element.match(expression)).slice(1);
191
+ var split = element.split(':');
193
192
  var value = split[split.length - 1];
194
193
  var newDate = new Date(this.getDateString(value));
195
194
  if (element && (element.indexOf('VALUE=DATE') > -1 || element.indexOf('RECURRENCE-ID;TZID') > -1)) {
@@ -58,7 +58,7 @@ var ExcelExport = /** @class */ (function () {
58
58
  var exportColumns = exportOptions.fieldsInfo || [];
59
59
  if (exportColumns.length === 0) {
60
60
  var fields = exportOptions.fields || Object.keys(this.parent.eventFields).map(function (field) {
61
- return _this.parent.eventFields[field];
61
+ return _this.parent.eventFields["" + field];
62
62
  });
63
63
  fields.forEach(function (field) { exportColumns.push({ name: field, text: field }); });
64
64
  }
@@ -54,4 +54,12 @@ export interface GroupModel {
54
54
  */
55
55
  headerTooltipTemplate?: string;
56
56
 
57
+ /**
58
+ * Decides whether to show/hide the non-working days. It is set to `false` by default and when set to `true`, it hides the non-working days.
59
+ * This property is applicable for `Day`, `Week`, `WorkWeek` and `month` views, which are grouped under date.
60
+ *
61
+ * @default false
62
+ */
63
+ hideNonWorkingDays?: boolean;
64
+
57
65
  }
@@ -46,4 +46,11 @@ export declare class Group extends ChildProperty<Group> {
46
46
  * @default null
47
47
  */
48
48
  headerTooltipTemplate: string;
49
+ /**
50
+ * Decides whether to show/hide the non-working days. It is set to `false` by default and when set to `true`, it hides the non-working days.
51
+ * This property is applicable for `Day`, `Week`, `WorkWeek` and `month` views, which are grouped under date.
52
+ *
53
+ * @default false
54
+ */
55
+ hideNonWorkingDays: boolean;
49
56
  }
@@ -44,6 +44,9 @@ var Group = /** @class */ (function (_super) {
44
44
  __decorate([
45
45
  Property()
46
46
  ], Group.prototype, "headerTooltipTemplate", void 0);
47
+ __decorate([
48
+ Property(false)
49
+ ], Group.prototype, "hideNonWorkingDays", void 0);
47
50
  return Group;
48
51
  }(ChildProperty));
49
52
  export { Group };
@@ -91,6 +91,13 @@ export interface ViewsModel {
91
91
  */
92
92
  dateHeaderTemplate?: string;
93
93
 
94
+ /**
95
+ * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the header date range.
96
+ *
97
+ * @default null
98
+ */
99
+ dateRangeTemplate?: string;
100
+
94
101
  /**
95
102
  * The template option which is used to render the customized work cells on the Schedule. Here, the
96
103
  * template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
@@ -245,7 +252,7 @@ export interface ViewsModel {
245
252
  /**
246
253
  * Allows to set different resource grouping options on all available schedule view modes.
247
254
  *
248
- * @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[]}
255
+ * @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[], hideNonWorkingDays: false }
249
256
  */
250
257
  group?: GroupModel;
251
258
 
@@ -82,6 +82,12 @@ export declare class Views extends ChildProperty<Views> {
82
82
  * @default null
83
83
  */
84
84
  dateHeaderTemplate: string;
85
+ /**
86
+ * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the header date range.
87
+ *
88
+ * @default null
89
+ */
90
+ dateRangeTemplate: string;
85
91
  /**
86
92
  * The template option which is used to render the customized work cells on the Schedule. Here, the
87
93
  * template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
@@ -219,7 +225,7 @@ export declare class Views extends ChildProperty<Views> {
219
225
  /**
220
226
  * Allows to set different resource grouping options on all available schedule view modes.
221
227
  *
222
- * @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[]}
228
+ * @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[], hideNonWorkingDays: false }
223
229
  */
224
230
  group: GroupModel;
225
231
  /**
@@ -56,6 +56,9 @@ var Views = /** @class */ (function (_super) {
56
56
  __decorate([
57
57
  Property()
58
58
  ], Views.prototype, "dateHeaderTemplate", void 0);
59
+ __decorate([
60
+ Property()
61
+ ], Views.prototype, "dateRangeTemplate", void 0);
59
62
  __decorate([
60
63
  Property()
61
64
  ], Views.prototype, "cellTemplate", void 0);
@@ -42,12 +42,13 @@ var EventTooltip = /** @class */ (function () {
42
42
  var resCollection = void 0;
43
43
  if (this.parent.activeView.isTimelineView()) {
44
44
  var index = parseInt(args.target.getAttribute('data-group-index'), 10);
45
- resCollection = this.parent.resourceBase.lastResourceLevel[index];
45
+ resCollection = this.parent.resourceBase.lastResourceLevel[parseInt(index.toString(), 10)];
46
46
  }
47
47
  else {
48
48
  var rowIndex = args.target.parentNode.sectionRowIndex;
49
49
  var cellIndex = args.target.cellIndex;
50
- resCollection = this.parent.activeView.getColumnLevels()[rowIndex][cellIndex];
50
+ resCollection =
51
+ this.parent.activeView.getColumnLevels()[parseInt(rowIndex.toString(), 10)][parseInt(cellIndex.toString(), 10)];
51
52
  }
52
53
  var data = {
53
54
  resource: resCollection.resource,
@@ -491,14 +491,14 @@ var EventWindow = /** @class */ (function () {
491
491
  var resourceCollection = this.parent.resourceBase.resourceCollection;
492
492
  var fieldName = args.element.getAttribute('name') || this.getColumnName(args.element);
493
493
  for (var i = 0; i < resourceCollection.length; i++) {
494
- if (resourceCollection[i].field === fieldName && i < resourceCollection.length - 1) {
494
+ if (resourceCollection[parseInt(i.toString(), 10)].field === fieldName && i < resourceCollection.length - 1) {
495
495
  var resObject = this.createInstance(i);
496
496
  var datasource = [];
497
497
  var _loop_1 = function (j) {
498
498
  var resourceModel = resourceCollection[i + 1];
499
499
  // eslint-disable-next-line max-len
500
500
  var filter = resourceModel.dataSource.filter(function (data) {
501
- return data[resourceModel.groupIDField] === args.value[j];
501
+ return data[resourceModel.groupIDField] === args.value[parseInt(j.toString(), 10)];
502
502
  })[0];
503
503
  var groupId = (!isNullOrUndefined(filter)) ?
504
504
  filter[resourceCollection[i + 1].groupIDField] : null;
@@ -528,9 +528,9 @@ var EventWindow = /** @class */ (function () {
528
528
  var fieldName = args.element.getAttribute('name') || this.getColumnName(args.element);
529
529
  var resourceCollection = this.parent.resourceBase.resourceCollection;
530
530
  for (var i = 0; i < resourceCollection.length; i++) {
531
- if ((i < resourceCollection.length - 1) && resourceCollection[i].field === fieldName) {
531
+ if ((i < resourceCollection.length - 1) && resourceCollection[parseInt(i.toString(), 10)].field === fieldName) {
532
532
  var resObj = this.createInstance(i);
533
- var groupId = args.itemData[resourceCollection[i].idField];
533
+ var groupId = args.itemData[resourceCollection[parseInt(i.toString(), 10)].idField];
534
534
  resObj.dataSource = this.filterDatasource(i, groupId);
535
535
  resObj.dataBind();
536
536
  var resValue = (resObj.dataSource.length > 0) ?
@@ -855,7 +855,7 @@ var EventWindow = /** @class */ (function () {
855
855
  var columnName = curElement.name || this.getColumnName(curElement);
856
856
  if (!isNullOrUndefined(columnName) && columnName !== '') {
857
857
  if (keyNames.indexOf(columnName) !== -1) {
858
- this.setValueToElement(curElement, eventObj[columnName]);
858
+ this.setValueToElement(curElement, eventObj["" + columnName]);
859
859
  }
860
860
  else {
861
861
  this.setDefaultValueToElement(curElement);
@@ -1302,7 +1302,7 @@ var EventWindow = /** @class */ (function () {
1302
1302
  var currentElement = formElement_2[_i];
1303
1303
  var columnName = currentElement.name || this.getColumnName(currentElement);
1304
1304
  if (!isNullOrUndefined(columnName) && columnName !== '') {
1305
- eventObj[columnName] = this.getValueFromElement(currentElement);
1305
+ eventObj["" + columnName] = this.getValueFromElement(currentElement);
1306
1306
  }
1307
1307
  }
1308
1308
  return eventObj;
@@ -1364,11 +1364,13 @@ var EventWindow = /** @class */ (function () {
1364
1364
  case 'WEEKLY':
1365
1365
  types = recEditor.value.split(';')[1].split('=')[1].split(',');
1366
1366
  for (var index = 0; index < types.length * (interval + 1); index++) {
1367
- temp[index] = (types.length > index) ? obj[types[index]] : temp[index - types.length] + (7 * interval);
1367
+ temp[parseInt(index.toString(), 10)] =
1368
+ (types.length > index) ? obj[types[parseInt(index.toString(), 10)]] :
1369
+ temp[index - types.length] + (7 * interval);
1368
1370
  }
1369
1371
  tempValue = temp.sort(function (a, b) { return a - b; });
1370
1372
  for (var index = 1; index < tempValue.length; index++) {
1371
- tempDiff.push(tempValue[index] - tempValue[index - 1]);
1373
+ tempDiff.push(tempValue[parseInt(index.toString(), 10)] - tempValue[index - 1]);
1372
1374
  }
1373
1375
  if ((((endDate.getTime() - startDate.getTime()) / (1000 * 3600)) >= Math.min.apply(Math, tempDiff) * 24)
1374
1376
  || isNullOrUndefined(interval)) {
@@ -1404,7 +1406,7 @@ var EventWindow = /** @class */ (function () {
1404
1406
  EventWindow.prototype.getRecurrenceIndex = function (recColl, event) {
1405
1407
  var recIndex;
1406
1408
  for (var index = 0; index < recColl.length; index++) {
1407
- if (event[this.fields.startTime].valueOf() === recColl[index][this.fields.startTime].valueOf()) {
1409
+ if (event[this.fields.startTime].valueOf() === recColl[parseInt(index.toString(), 10)][this.fields.startTime].valueOf()) {
1408
1410
  recIndex = index;
1409
1411
  break;
1410
1412
  }
@@ -1507,8 +1509,8 @@ var EventWindow = /** @class */ (function () {
1507
1509
  if (temp.length > 0) {
1508
1510
  temp[0][_this.fields.id] = eventObj[_this.fields.id];
1509
1511
  for (var k = 1; k < temp.length; k++) {
1510
- temp[k][_this.fields.id] = _this.parent.eventBase.getEventMaxID(i);
1511
- eventList.push(temp[k]);
1512
+ temp[parseInt(k.toString(), 10)][_this.fields.id] = _this.parent.eventBase.getEventMaxID(i);
1513
+ eventList.push(temp[parseInt(k.toString(), 10)]);
1512
1514
  _this.parent.saveEvent(temp[0], currentAction);
1513
1515
  }
1514
1516
  }
@@ -1520,8 +1522,8 @@ var EventWindow = /** @class */ (function () {
1520
1522
  else {
1521
1523
  if (temp.length > 0) {
1522
1524
  for (var j = 0; j < temp.length; j++) {
1523
- temp[j][_this.fields.id] = _this.parent.eventBase.getEventMaxID(j);
1524
- eventList.push(temp[j]);
1525
+ temp[parseInt(j.toString(), 10)][_this.fields.id] = _this.parent.eventBase.getEventMaxID(j);
1526
+ eventList.push(temp[parseInt(j.toString(), 10)]);
1525
1527
  }
1526
1528
  }
1527
1529
  else {
@@ -1535,50 +1537,54 @@ var EventWindow = /** @class */ (function () {
1535
1537
  var resCol = this_2.parent.resourceCollection;
1536
1538
  var index = void 0;
1537
1539
  if (resCol.length > 1) {
1538
- index = util.findIndexInData(lastResource, lastResourceData.idField, resourceData[i], events, resCol);
1540
+ index =
1541
+ util.findIndexInData(lastResource, lastResourceData.idField, resourceData[parseInt(i.toString(), 10)], events, resCol);
1539
1542
  }
1540
1543
  else {
1541
- index = util.findIndexInData(lastResource, lastResourceData.idField, resourceData[i]);
1544
+ index =
1545
+ util.findIndexInData(lastResource, lastResourceData.idField, resourceData[parseInt(i.toString(), 10)]);
1542
1546
  }
1543
1547
  if (index < 0) {
1544
1548
  return { value: void 0 };
1545
1549
  }
1546
- var groupId_1 = lastResource[index][lastResourceData.groupIDField];
1547
- var filter = lastLevel.filter(function (obj) { return obj.resourceData[lastResourceData.idField] === resourceData[i]; }).
1550
+ var groupId_1 = lastResource[parseInt(index.toString(), 10)][lastResourceData.groupIDField];
1551
+ var filter = lastLevel.filter(function (obj) { return obj.resourceData[lastResourceData.idField] ===
1552
+ resourceData[parseInt(i.toString(), 10)]; }).
1548
1553
  filter(function (obj) { return obj.resourceData[lastResourceData.groupIDField] === groupId_1; })[0];
1549
1554
  var groupOrder = filter.groupOrder;
1550
1555
  for (var index_1 = 0; index_1 < this_2.parent.resourceBase.resourceCollection.length; index_1++) {
1551
- var field = this_2.parent.resourceBase.resourceCollection[index_1].field;
1552
- events[field] = (groupOrder[index_1] instanceof Array) ? groupOrder[index_1][0] : groupOrder[index_1];
1556
+ var field = this_2.parent.resourceBase.resourceCollection[parseInt(index_1.toString(), 10)].field;
1557
+ events["" + field] = (groupOrder[parseInt(index_1.toString(), 10)] instanceof Array) ? groupOrder[parseInt(index_1.toString(), 10)][0] :
1558
+ groupOrder[parseInt(index_1.toString(), 10)];
1553
1559
  }
1554
1560
  addValues();
1555
1561
  }
1556
1562
  else {
1557
1563
  for (var index = 0; index < this_2.parent.resourceBase.resourceCollection.length - 1; index++) {
1558
- var field = this_2.parent.resourceBase.resourceCollection[index].field;
1559
- if (events[field] instanceof Array && events[field].length > 1) {
1560
- for (var k = 0; k < events[field].length; k++) {
1564
+ var field = this_2.parent.resourceBase.resourceCollection[parseInt(index.toString(), 10)].field;
1565
+ if (events["" + field] instanceof Array && events["" + field].length > 1) {
1566
+ for (var k = 0; k < events["" + field].length; k++) {
1561
1567
  var event_3 = extend({}, events, null, true);
1562
- event_3[field] = eventObj[field][k];
1563
- event_3[lastResourceData.field] = resourceData[i];
1568
+ event_3["" + field] = eventObj["" + field][parseInt(k.toString(), 10)];
1569
+ event_3[lastResourceData.field] = resourceData[parseInt(i.toString(), 10)];
1564
1570
  temp.push(event_3);
1565
1571
  }
1566
1572
  }
1567
1573
  else {
1568
1574
  if (temp.length === 0) {
1569
- events[field] = (eventObj[field] instanceof Array) ?
1570
- eventObj[field][0] : eventObj[field];
1571
- events[lastResourceData.field] = resourceData[i];
1575
+ events["" + field] = (eventObj["" + field] instanceof Array) ?
1576
+ eventObj["" + field][0] : eventObj["" + field];
1577
+ events[lastResourceData.field] = resourceData[parseInt(i.toString(), 10)];
1572
1578
  }
1573
1579
  else {
1574
1580
  for (var l = 0; l < temp.length; l++) {
1575
- temp[l][field] = (eventObj[field] instanceof Array) ?
1576
- eventObj[field][0] : eventObj[field];
1581
+ temp[parseInt(l.toString(), 10)]["" + field] = (eventObj["" + field] instanceof Array) ?
1582
+ eventObj["" + field][0] : eventObj["" + field];
1577
1583
  }
1578
1584
  }
1579
1585
  }
1580
1586
  }
1581
- events[lastResourceData.field] = resourceData[i];
1587
+ events[lastResourceData.field] = resourceData[parseInt(i.toString(), 10)];
1582
1588
  addValues();
1583
1589
  }
1584
1590
  };
@@ -723,9 +723,9 @@ var QuickPopups = /** @class */ (function () {
723
723
  var resourceData = void 0;
724
724
  var lastResource_1;
725
725
  for (var i = this.parent.resourceBase.resourceCollection.length - 1; i >= 0; i--) {
726
- resourceData = eventData[this.parent.resourceBase.resourceCollection[i].field];
726
+ resourceData = eventData[this.parent.resourceBase.resourceCollection[parseInt(i.toString(), 10)].field];
727
727
  if (!isNullOrUndefined(resourceData)) {
728
- lastResource_1 = this.parent.resourceBase.resourceCollection[i];
728
+ lastResource_1 = this.parent.resourceBase.resourceCollection[parseInt(i.toString(), 10)];
729
729
  break;
730
730
  }
731
731
  }
@@ -738,7 +738,7 @@ var QuickPopups = /** @class */ (function () {
738
738
  var text;
739
739
  var i = util.findIndexInData(lastResourceData_1, lastResource_1.idField, value);
740
740
  if (i > -1) {
741
- text = lastResourceData_1[i][lastResource_1.textField];
741
+ text = lastResourceData_1[parseInt(i.toString(), 10)][lastResource_1.textField];
742
742
  }
743
743
  if (text) {
744
744
  resNames_1.push(text);
@@ -749,7 +749,7 @@ var QuickPopups = /** @class */ (function () {
749
749
  else {
750
750
  var argsData = args;
751
751
  var groupIndex = !isNullOrUndefined(argsData.groupIndex) ? argsData.groupIndex : 0;
752
- var resourceDetails = this.parent.resourceBase.lastResourceLevel[groupIndex];
752
+ var resourceDetails = this.parent.resourceBase.lastResourceLevel[parseInt(groupIndex.toString(), 10)];
753
753
  resourceValue = resourceDetails.resourceData[resourceDetails.resource.textField];
754
754
  }
755
755
  }
@@ -826,9 +826,9 @@ var QuickPopups = /** @class */ (function () {
826
826
  var workCells = [].slice.call(this.parent.element.querySelectorAll('.' + cls.CONTENT_WRAP_CLASS +
827
827
  ' tbody tr td[data-group-index="' + gIndex + '"]'));
828
828
  for (var i = 0; i < workCells.length; i++) {
829
- var date = workCells[i].getAttribute('data-date');
829
+ var date = workCells[parseInt(i.toString(), 10)].getAttribute('data-date');
830
830
  if (date < tdDate) {
831
- this.morePopup.relateTo = workCells[i];
831
+ this.morePopup.relateTo = workCells[parseInt(i.toString(), 10)];
832
832
  }
833
833
  }
834
834
  }
@@ -162,7 +162,7 @@ var Agenda = /** @class */ (function (_super) {
162
162
  this.parent.activeViewOptions.allowVirtualScrolling = false;
163
163
  date = firstDate;
164
164
  if (this.parent.headerModule) {
165
- this.parent.headerModule.updateDateRange(this.parent.activeView.getDateRangeText());
165
+ this.parent.headerModule.updateDateRange();
166
166
  this.parent.headerModule.updateHeaderItems('remove');
167
167
  }
168
168
  }
@@ -236,8 +236,8 @@ var Agenda = /** @class */ (function (_super) {
236
236
  prepend([].slice.call(emptyTBody.childNodes), tBody);
237
237
  this.wireEventActions();
238
238
  for (var s = 0, element = tBody.children; s < element.length; s++) {
239
- if (element[s].getAttribute('data-row-index') === topElement.getAttribute('data-column-index')) {
240
- var scrollToValue = element[s].offsetTop -
239
+ if (element[parseInt(s.toString(), 10)].getAttribute('data-row-index') === topElement.getAttribute('data-column-index')) {
240
+ var scrollToValue = element[parseInt(s.toString(), 10)].offsetTop -
241
241
  this.element.querySelector('.e-agenda-item').offsetHeight;
242
242
  target.scrollTop = scrollToValue;
243
243
  break;
@@ -286,7 +286,7 @@ var Agenda = /** @class */ (function (_super) {
286
286
  }
287
287
  else {
288
288
  for (var a = 0, length_1 = liCollection.length; a < length_1; a++) {
289
- li = liCollection[a];
289
+ li = liCollection[parseInt(a.toString(), 10)];
290
290
  liDetails = li.getBoundingClientRect();
291
291
  if (liDetails.top >= 0) {
292
292
  filterElement = closest(li, '.' + cls.AGENDA_CELLS_CLASS);
@@ -299,7 +299,7 @@ var Agenda = /** @class */ (function (_super) {
299
299
  };
300
300
  Agenda.prototype.updateHeaderText = function (date) {
301
301
  if (this.parent.showHeaderBar) {
302
- this.parent.headerModule.updateDateRange(this.getDateRangeText(date));
302
+ this.parent.headerModule.updateDateRange(date);
303
303
  }
304
304
  };
305
305
  Agenda.prototype.getPreviousNextDate = function (date, type) {
@@ -25,7 +25,7 @@ export declare class HeaderRenderer {
25
25
  getCalendarView(): CalendarView;
26
26
  setCalendarView(): void;
27
27
  updateActiveView(): void;
28
- updateDateRange(text: string): void;
28
+ updateDateRange(date?: Date): void;
29
29
  refresh(): void;
30
30
  updateAddIcon(): void;
31
31
  private getDateRangeText;