@syncfusion/ej2-schedule 25.2.7 → 26.1.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 (174) hide show
  1. package/.eslintrc.json +3 -2
  2. package/dist/ej2-schedule.min.js +2 -2
  3. package/dist/ej2-schedule.umd.min.js +2 -2
  4. package/dist/ej2-schedule.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-schedule.es2015.js +436 -376
  6. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  7. package/dist/es6/ej2-schedule.es5.js +496 -450
  8. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  9. package/dist/global/ej2-schedule.min.js +2 -2
  10. package/dist/global/ej2-schedule.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +17 -16
  13. package/src/recurrence-editor/date-generator.js +1 -0
  14. package/src/recurrence-editor/recurrence-editor.d.ts +8 -8
  15. package/src/recurrence-editor/recurrence-editor.js +1 -2
  16. package/src/schedule/actions/crud.js +3 -1
  17. package/src/schedule/actions/drag.js +2 -1
  18. package/src/schedule/actions/keyboard.js +1 -1
  19. package/src/schedule/actions/resize.js +5 -0
  20. package/src/schedule/actions/virtual-scroll.js +2 -1
  21. package/src/schedule/base/interface.js +0 -1
  22. package/src/schedule/base/schedule-model.d.ts +11 -11
  23. package/src/schedule/base/schedule.d.ts +11 -11
  24. package/src/schedule/base/schedule.js +28 -12
  25. package/src/schedule/base/util.js +1 -1
  26. package/src/schedule/event-renderer/agenda-base.js +2 -2
  27. package/src/schedule/event-renderer/event-base.js +6 -4
  28. package/src/schedule/event-renderer/month.js +2 -1
  29. package/src/schedule/event-renderer/timeline-view.js +10 -3
  30. package/src/schedule/event-renderer/vertical-view.js +4 -4
  31. package/src/schedule/event-renderer/year.js +3 -2
  32. package/src/schedule/exports/calendar-import.js +1 -2
  33. package/src/schedule/exports/print.js +10 -7
  34. package/src/schedule/models/toolbar-model.d.ts +2 -2
  35. package/src/schedule/popups/event-window.js +1 -1
  36. package/src/schedule/popups/quick-popups.js +1 -1
  37. package/src/schedule/renderer/header-renderer.js +7 -5
  38. package/src/schedule/renderer/month.js +5 -4
  39. package/src/schedule/renderer/renderer.js +8 -2
  40. package/src/schedule/renderer/timeline-year.js +3 -3
  41. package/src/schedule/renderer/vertical-view.d.ts +1 -0
  42. package/src/schedule/renderer/vertical-view.js +24 -9
  43. package/src/schedule/renderer/view-base.d.ts +1 -0
  44. package/src/schedule/renderer/view-base.js +33 -6
  45. package/src/schedule/renderer/year.js +1 -1
  46. package/styles/bootstrap-dark.css +236 -147
  47. package/styles/bootstrap-dark.scss +19 -2
  48. package/styles/bootstrap.css +237 -148
  49. package/styles/bootstrap.scss +19 -2
  50. package/styles/bootstrap4.css +239 -153
  51. package/styles/bootstrap4.scss +19 -2
  52. package/styles/bootstrap5-dark.css +229 -144
  53. package/styles/bootstrap5-dark.scss +19 -2
  54. package/styles/bootstrap5.css +229 -144
  55. package/styles/bootstrap5.scss +19 -2
  56. package/styles/fabric-dark.css +234 -146
  57. package/styles/fabric-dark.scss +19 -2
  58. package/styles/fabric.css +234 -146
  59. package/styles/fabric.scss +19 -2
  60. package/styles/fluent-dark.css +229 -142
  61. package/styles/fluent-dark.scss +19 -2
  62. package/styles/fluent.css +229 -142
  63. package/styles/fluent.scss +19 -2
  64. package/styles/fluent2.css +5947 -0
  65. package/styles/fluent2.scss +19 -0
  66. package/styles/highcontrast-light.css +229 -138
  67. package/styles/highcontrast-light.scss +19 -2
  68. package/styles/highcontrast.css +229 -138
  69. package/styles/highcontrast.scss +19 -2
  70. package/styles/material-dark.css +273 -155
  71. package/styles/material-dark.scss +19 -2
  72. package/styles/material.css +285 -156
  73. package/styles/material.scss +19 -2
  74. package/styles/material3-dark.css +278 -154
  75. package/styles/material3-dark.scss +19 -2
  76. package/styles/material3.css +278 -154
  77. package/styles/material3.scss +19 -2
  78. package/styles/recurrence-editor/_bds-definition.scss +0 -1
  79. package/styles/recurrence-editor/_bootstrap-dark-definition.scss +0 -1
  80. package/styles/recurrence-editor/_bootstrap-definition.scss +0 -1
  81. package/styles/recurrence-editor/_bootstrap4-definition.scss +0 -1
  82. package/styles/recurrence-editor/_bootstrap5-definition.scss +0 -1
  83. package/styles/recurrence-editor/_bootstrap5.3-definition.scss +14 -0
  84. package/styles/recurrence-editor/_fabric-dark-definition.scss +0 -1
  85. package/styles/recurrence-editor/_fabric-definition.scss +0 -1
  86. package/styles/recurrence-editor/_fluent-definition.scss +0 -1
  87. package/styles/recurrence-editor/_fluent2-definition.scss +14 -0
  88. package/styles/recurrence-editor/_fusionnew-definition.scss +0 -1
  89. package/styles/recurrence-editor/_highcontrast-definition.scss +0 -1
  90. package/styles/recurrence-editor/_highcontrast-light-definition.scss +0 -1
  91. package/styles/recurrence-editor/_layout.scss +1 -17
  92. package/styles/recurrence-editor/_material-dark-definition.scss +0 -1
  93. package/styles/recurrence-editor/_material-definition.scss +0 -1
  94. package/styles/recurrence-editor/_material3-definition.scss +0 -1
  95. package/styles/recurrence-editor/_tailwind-definition.scss +0 -1
  96. package/styles/recurrence-editor/bootstrap-dark.css +21 -23
  97. package/styles/recurrence-editor/bootstrap.css +21 -23
  98. package/styles/recurrence-editor/bootstrap4.css +22 -23
  99. package/styles/recurrence-editor/bootstrap5-dark.css +22 -23
  100. package/styles/recurrence-editor/bootstrap5.css +22 -23
  101. package/styles/recurrence-editor/fabric-dark.css +19 -22
  102. package/styles/recurrence-editor/fabric.css +19 -22
  103. package/styles/recurrence-editor/fluent-dark.css +22 -23
  104. package/styles/recurrence-editor/fluent.css +22 -23
  105. package/styles/recurrence-editor/fluent2.css +1534 -0
  106. package/styles/recurrence-editor/fluent2.scss +8 -0
  107. package/styles/recurrence-editor/highcontrast-light.css +19 -22
  108. package/styles/recurrence-editor/highcontrast.css +19 -22
  109. package/styles/recurrence-editor/material-dark.css +32 -26
  110. package/styles/recurrence-editor/material.css +32 -26
  111. package/styles/recurrence-editor/material3-dark.css +33 -27
  112. package/styles/recurrence-editor/material3.css +33 -27
  113. package/styles/recurrence-editor/tailwind-dark.css +32 -26
  114. package/styles/recurrence-editor/tailwind.css +32 -26
  115. package/styles/schedule/_bds-definition.scss +0 -15
  116. package/styles/schedule/_bootstrap-dark-definition.scss +4 -19
  117. package/styles/schedule/_bootstrap-definition.scss +4 -19
  118. package/styles/schedule/_bootstrap4-definition.scss +3 -18
  119. package/styles/schedule/_bootstrap5-definition.scss +1 -22
  120. package/styles/schedule/_bootstrap5.3-definition.scss +273 -0
  121. package/styles/schedule/_fabric-dark-definition.scss +4 -17
  122. package/styles/schedule/_fabric-definition.scss +4 -19
  123. package/styles/schedule/_fluent-definition.scss +0 -14
  124. package/styles/schedule/_fluent2-definition.scss +273 -0
  125. package/styles/schedule/_fusionnew-definition.scss +0 -21
  126. package/styles/schedule/_highcontrast-definition.scss +1 -16
  127. package/styles/schedule/_highcontrast-light-definition.scss +1 -16
  128. package/styles/schedule/_layout.scss +83 -130
  129. package/styles/schedule/_material-dark-definition.scss +5 -20
  130. package/styles/schedule/_material-definition.scss +4 -19
  131. package/styles/schedule/_material3-definition.scss +1 -23
  132. package/styles/schedule/_tailwind-definition.scss +0 -16
  133. package/styles/schedule/_theme.scss +18 -2
  134. package/styles/schedule/bootstrap-dark.css +220 -126
  135. package/styles/schedule/bootstrap.css +221 -127
  136. package/styles/schedule/bootstrap4.css +223 -132
  137. package/styles/schedule/bootstrap5-dark.css +213 -123
  138. package/styles/schedule/bootstrap5.css +213 -123
  139. package/styles/schedule/fabric-dark.css +218 -125
  140. package/styles/schedule/fabric.css +218 -125
  141. package/styles/schedule/fluent-dark.css +213 -121
  142. package/styles/schedule/fluent.css +213 -121
  143. package/styles/schedule/fluent2.css +5551 -0
  144. package/styles/schedule/fluent2.scss +16 -0
  145. package/styles/schedule/highcontrast-light.css +213 -117
  146. package/styles/schedule/highcontrast.css +213 -117
  147. package/styles/schedule/icons/_bds.scss +6 -21
  148. package/styles/schedule/icons/_bootstrap-dark.scss +4 -16
  149. package/styles/schedule/icons/_bootstrap.scss +4 -16
  150. package/styles/schedule/icons/_bootstrap4.scss +8 -26
  151. package/styles/schedule/icons/_bootstrap5.3.scss +220 -0
  152. package/styles/schedule/icons/_bootstrap5.scss +7 -22
  153. package/styles/schedule/icons/_fabric-dark.scss +5 -17
  154. package/styles/schedule/icons/_fabric.scss +5 -17
  155. package/styles/schedule/icons/_fluent.scss +7 -22
  156. package/styles/schedule/icons/_fluent2.scss +220 -0
  157. package/styles/schedule/icons/_fusionnew.scss +7 -22
  158. package/styles/schedule/icons/_highcontrast-light.scss +5 -17
  159. package/styles/schedule/icons/_highcontrast.scss +5 -17
  160. package/styles/schedule/icons/_material-dark.scss +5 -17
  161. package/styles/schedule/icons/_material.scss +5 -17
  162. package/styles/schedule/icons/_material3.scss +7 -22
  163. package/styles/schedule/icons/_tailwind.scss +7 -22
  164. package/styles/schedule/material-dark.css +257 -134
  165. package/styles/schedule/material.css +269 -135
  166. package/styles/schedule/material3-dark.css +262 -133
  167. package/styles/schedule/material3.css +262 -133
  168. package/styles/schedule/tailwind-dark.css +223 -124
  169. package/styles/schedule/tailwind.css +223 -124
  170. package/styles/tailwind-dark.css +239 -145
  171. package/styles/tailwind-dark.scss +19 -2
  172. package/styles/tailwind.css +239 -145
  173. package/styles/tailwind.scss +19 -2
  174. package/CHANGELOG.md +0 -1932
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 25.2.7
3
+ * version : 26.1.38
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. 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@25.2.6",
3
+ "_id": "@syncfusion/ej2-schedule@26.1.35",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-aXd7tMHVsBq4mHdKaSB36j3MptWPFdOgtHOJFlT1NysLPpYsDsO6/yqbAlTkUMRgC+XpU7adwy6ssJjh0oz8RQ==",
5
+ "_integrity": "sha512-Fx4Kngq33Dx3e7MaYbkyysaB99zrNmlxsiUS5l5I/i6dz5oBVgsB7j0ttdv7s75jatZSpQRUax7qSuwOy60Exg==",
6
6
  "_location": "/@syncfusion/ej2-schedule",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,10 +23,10 @@
23
23
  "/@syncfusion/ej2-react-schedule",
24
24
  "/@syncfusion/ej2-vue-schedule"
25
25
  ],
26
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-25.2.6.tgz",
27
- "_shasum": "50408fb65ba59161c2dff9d9151acca1ce96d62b",
26
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-26.1.35.tgz",
27
+ "_shasum": "e7f8fe076094a6a3f108ff2219696d7dcf9f27cf",
28
28
  "_spec": "@syncfusion/ej2-schedule@*",
29
- "_where": "/jenkins/workspace/elease-automation_release_25.1.1/packages/included",
29
+ "_where": "/jenkins/workspace/elease-automation_release_26.1.1/packages/included",
30
30
  "author": {
31
31
  "name": "Syncfusion Inc."
32
32
  },
@@ -35,16 +35,17 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~25.2.7",
39
- "@syncfusion/ej2-buttons": "~25.2.7",
40
- "@syncfusion/ej2-calendars": "~25.2.7",
41
- "@syncfusion/ej2-data": "~25.2.3",
42
- "@syncfusion/ej2-dropdowns": "~25.2.7",
43
- "@syncfusion/ej2-excel-export": "~25.2.3",
44
- "@syncfusion/ej2-inputs": "~25.2.6",
45
- "@syncfusion/ej2-lists": "~25.2.3",
46
- "@syncfusion/ej2-navigations": "~25.2.6",
47
- "@syncfusion/ej2-popups": "~25.2.7"
38
+ "@syncfusion/ej2-base": "~26.1.37",
39
+ "@syncfusion/ej2-buttons": "~26.1.35",
40
+ "@syncfusion/ej2-calendars": "~26.1.38",
41
+ "@syncfusion/ej2-data": "~26.1.35",
42
+ "@syncfusion/ej2-dropdowns": "~26.1.38",
43
+ "@syncfusion/ej2-excel-export": "~26.1.35",
44
+ "@syncfusion/ej2-inputs": "~26.1.38",
45
+ "@syncfusion/ej2-lists": "~26.1.35",
46
+ "@syncfusion/ej2-navigations": "~26.1.38",
47
+ "@syncfusion/ej2-popups": "~26.1.38",
48
+ "@types/requirejs": "^2.1.37"
48
49
  },
49
50
  "deprecated": false,
50
51
  "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 +74,6 @@
73
74
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
74
75
  },
75
76
  "typings": "index.d.ts",
76
- "version": "25.2.7",
77
+ "version": "26.1.38",
77
78
  "sideEffects": false
78
79
  }
@@ -142,6 +142,7 @@ export function generate(startDate, rule, excludeDate, startDayOfWeek, maximumCo
142
142
  return data;
143
143
  }
144
144
  maxOccurrence = maximumCount;
145
+ startDayOfWeek = startDayOfWeek || 0;
145
146
  setFirstDayOfWeek(DAYINDEX[parseInt(startDayOfWeek.toString(), 10)]);
146
147
  if (ruleObject.until) {
147
148
  var end = resetTime(ruleObject.until);
@@ -221,13 +221,13 @@ export interface RecurrenceEditorChangeEventArgs {
221
221
  */
222
222
  export declare type RepeatType = 'none' | 'daily' | 'weekly' | 'monthly' | 'yearly';
223
223
  /**
224
- * Defines the available types of recurrence end for the recurrence editor.
225
- * ```props
226
- * The following options are available:
227
- *
228
- * never :- Denotes that the recurrence has no end date and continues indefinitely.
229
- * until :- Denotes that the recurrence ends on a specified date.
230
- * count :- Denotes that the recurrence ends after a specified number of occurrences.
231
- * ```
224
+ * Defines the available types of recurrence end for the recurrence editor.
225
+ * ```props
226
+ * The following options are available:
227
+ *
228
+ * never :- Denotes that the recurrence has no end date and continues indefinitely.
229
+ * until :- Denotes that the recurrence ends on a specified date.
230
+ * count :- Denotes that the recurrence ends after a specified number of occurrences.
231
+ * ```
232
232
  */
233
233
  export declare type EndType = 'never' | 'until' | 'count';
@@ -51,7 +51,6 @@ var MONTHWEEK = 'e-month-week';
51
51
  var ENDON = 'e-end-on';
52
52
  var MONTHEXPANDERLABEL = 'e-month-expander-label';
53
53
  var WEEKEXPANDERLABEL = 'e-week-expander-label';
54
- var ENDONLABEL = 'e-end-on-label';
55
54
  var ENDONLEFT = 'e-end-on-left';
56
55
  var MONTHDAYELEMENT = 'e-monthday-element';
57
56
  var ENDONELEMENT = 'e-end-on-element';
@@ -933,7 +932,7 @@ var RecurrenceEditor = /** @class */ (function (_super) {
933
932
  }
934
933
  };
935
934
  RecurrenceEditor.prototype.getCalendarMode = function () {
936
- return this.calendarMode.toLowerCase();
935
+ return !isNullOrUndefined(this.calendarMode) ? this.calendarMode.toLowerCase() : 'gregorian';
937
936
  };
938
937
  RecurrenceEditor.prototype.getRuleSummary = function (rule) {
939
938
  if (rule === void 0) { rule = this.getRecurrenceRule(); }
@@ -59,7 +59,9 @@ var Crud = /** @class */ (function () {
59
59
  _this.parent.trigger(events.dataBound, null, function () {
60
60
  _this.parent.hideSpinner();
61
61
  if (_this.parent.isPrinting) {
62
- _this.parent.notify(events.print, {});
62
+ setTimeout(function () {
63
+ _this.parent.notify(events.print, {});
64
+ }, 100);
63
65
  }
64
66
  });
65
67
  });
@@ -294,7 +294,8 @@ var DragAndDrop = /** @class */ (function (_super) {
294
294
  if (this.parent.quickPopup) {
295
295
  this.parent.quickPopup.quickPopupHide(true);
296
296
  }
297
- if ((!isNullOrUndefined(e.target)) && e.target.classList && e.target.classList.contains(cls.DISABLE_DATES)) {
297
+ if ((!isNullOrUndefined(e.target)) && e.target.classList &&
298
+ e.target.classList.contains(cls.DISABLE_DATES)) {
298
299
  return;
299
300
  }
300
301
  var eventObj = extend({}, this.actionObj.event, null, true);
@@ -550,7 +550,7 @@ var KeyboardInteraction = /** @class */ (function () {
550
550
  };
551
551
  KeyboardInteraction.prototype.processViewNavigation = function (e) {
552
552
  var index = parseInt(e.key, 10) - 1;
553
- if (index < this.parent.views.length) {
553
+ if (!isNullOrUndefined(this.parent.views) && index < this.parent.views.length) {
554
554
  var view = this.parent.viewCollections[parseInt(index.toString(), 10)].option;
555
555
  this.parent.changeView(view, e, undefined, index);
556
556
  if (this.parent.headerModule) {
@@ -116,6 +116,11 @@ var Resize = /** @class */ (function (_super) {
116
116
  }
117
117
  var viewElement = _this.parent.element.querySelector('.' + cls.CONTENT_WRAP_CLASS);
118
118
  _this.scrollArgs = { element: viewElement, width: viewElement.scrollWidth, height: viewElement.scrollHeight };
119
+ // 883565 - To fix the resizing not working issue at the last column of the timeline view
120
+ if (['Month', 'TimelineYear'].indexOf(_this.parent.currentView) < 0) {
121
+ var scrollWidth = Math.round(_this.scrollArgs.width / _this.actionObj.cellWidth) * _this.actionObj.cellWidth;
122
+ _this.scrollArgs.width = _this.scrollArgs.width < scrollWidth ? scrollWidth : _this.scrollArgs.width;
123
+ }
119
124
  EventHandler.add(document, Browser.touchMoveEvent, _this.resizing, _this);
120
125
  EventHandler.add(document, Browser.touchEndEvent, _this.resizeStop, _this);
121
126
  });
@@ -57,7 +57,7 @@ var VirtualScroll = /** @class */ (function () {
57
57
  conTable.offsetHeight / this.renderedLength) + 'px';
58
58
  var conWrap = this.parent.element.querySelector('.' + cls.CONTENT_WRAP_CLASS);
59
59
  if ((conWrap.scrollHeight - conWrap.scrollTop) < conWrap.offsetHeight * this.bufferCount) {
60
- virtual.style.height = parseInt(virtual.style.height) + (conWrap.offsetHeight * this.bufferCount) + 'px';
60
+ virtual.style.height = parseInt(virtual.style.height, 10) + (conWrap.offsetHeight * this.bufferCount) + 'px';
61
61
  }
62
62
  }
63
63
  else {
@@ -107,6 +107,7 @@ var VirtualScroll = /** @class */ (function () {
107
107
  var endIndex = (firstTDIndex + this.renderedLength);
108
108
  firstTDIndex = (endIndex > this.parent.resourceBase.expandedResources.length) ?
109
109
  (this.parent.resourceBase.expandedResources.length - this.renderedLength) : firstTDIndex;
110
+ firstTDIndex = firstTDIndex < 0 ? 0 : firstTDIndex;
110
111
  this.parent.resourceBase.renderedResources = this.parent.resourceBase.expandedResources.slice(firstTDIndex, endIndex);
111
112
  if (this.parent.resourceBase.renderedResources.length > 0) {
112
113
  this.updateContent(resWrap, conWrap, eventWrap, this.parent.resourceBase.renderedResources);
@@ -1 +0,0 @@
1
-
@@ -55,17 +55,17 @@ export interface ScheduleModel extends ComponentModel{
55
55
  allowSwiping?: boolean;
56
56
 
57
57
  /**
58
- * To render the custom toolbar items, the `toolbarItems` property can be used. It contains built-in and custom toolbar items.
59
- * To avail the built-in toolbar items, the below string values are assigned to the `name` property of the `ToolbarItemModel`.
60
- * * `Previous`: Schedule component navigates to the previous date from the current date.
61
- * * `Next`: Schedule component navigates to the next date from the current date.
62
- * * `Today`: Schedule component navigates to the current date from any date.
63
- * * `Views`: Schedule component render the defined view options in the toolbar. If view option is not defined, then it will render default view options in the Schedule.
64
- * * `DateRangeText`: Schedule component displays the current date text range.
65
- * * `NewEvent`: Schedule component render the icon to add a new event.
66
- *
67
- * @default []
68
- */
58
+ * To render the custom toolbar items, the `toolbarItems` property can be used. It contains built-in and custom toolbar items.
59
+ * To avail the built-in toolbar items, the below string values are assigned to the `name` property of the `ToolbarItemModel`.
60
+ * * `Previous`: Schedule component navigates to the previous date from the current date.
61
+ * * `Next`: Schedule component navigates to the next date from the current date.
62
+ * * `Today`: Schedule component navigates to the current date from any date.
63
+ * * `Views`: Schedule component render the defined view options in the toolbar. If view option is not defined, then it will render default view options in the Schedule.
64
+ * * `DateRangeText`: Schedule component displays the current date text range.
65
+ * * `NewEvent`: Schedule component render the icon to add a new event.
66
+ *
67
+ * @default []
68
+ */
69
69
  toolbarItems?: ToolbarItemModel[]
70
70
 
71
71
  /**
@@ -183,17 +183,17 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
183
183
  */
184
184
  allowSwiping: boolean;
185
185
  /**
186
- * To render the custom toolbar items, the `toolbarItems` property can be used. It contains built-in and custom toolbar items.
187
- * To avail the built-in toolbar items, the below string values are assigned to the `name` property of the `ToolbarItemModel`.
188
- * * `Previous`: Schedule component navigates to the previous date from the current date.
189
- * * `Next`: Schedule component navigates to the next date from the current date.
190
- * * `Today`: Schedule component navigates to the current date from any date.
191
- * * `Views`: Schedule component render the defined view options in the toolbar. If view option is not defined, then it will render default view options in the Schedule.
192
- * * `DateRangeText`: Schedule component displays the current date text range.
193
- * * `NewEvent`: Schedule component render the icon to add a new event.
194
- *
195
- * @default []
196
- */
186
+ * To render the custom toolbar items, the `toolbarItems` property can be used. It contains built-in and custom toolbar items.
187
+ * To avail the built-in toolbar items, the below string values are assigned to the `name` property of the `ToolbarItemModel`.
188
+ * * `Previous`: Schedule component navigates to the previous date from the current date.
189
+ * * `Next`: Schedule component navigates to the next date from the current date.
190
+ * * `Today`: Schedule component navigates to the current date from any date.
191
+ * * `Views`: Schedule component render the defined view options in the toolbar. If view option is not defined, then it will render default view options in the Schedule.
192
+ * * `DateRangeText`: Schedule component displays the current date text range.
193
+ * * `NewEvent`: Schedule component render the icon to add a new event.
194
+ *
195
+ * @default []
196
+ */
197
197
  toolbarItems: ToolbarItemModel[];
198
198
  /**
199
199
  * To set the active view on scheduler, the `currentView` property can be used and it usually accepts either of the following available
@@ -241,8 +241,10 @@ var Schedule = /** @class */ (function (_super) {
241
241
  if (selectedDate === void 0) { selectedDate = this.selectedDate; }
242
242
  // persist the selected date value
243
243
  var date = selectedDate instanceof Date ? new Date(selectedDate.getTime()) : new Date(selectedDate);
244
- var minDate = this.minDate instanceof Date ? new Date(this.minDate.getTime()) : new Date(this.minDate);
245
- var maxDate = this.maxDate instanceof Date ? new Date(this.maxDate.getTime()) : new Date(this.maxDate);
244
+ var minDate = isNullOrUndefined(this.minDate) ? new Date(1900, 0, 1) :
245
+ this.minDate instanceof Date ? new Date(this.minDate.getTime()) : new Date(this.minDate);
246
+ var maxDate = isNullOrUndefined(this.maxDate) ? new Date(2099, 11, 31) :
247
+ this.maxDate instanceof Date ? new Date(this.maxDate.getTime()) : new Date(this.maxDate);
246
248
  if (minDate <= maxDate) {
247
249
  if (date < minDate) {
248
250
  date = minDate;
@@ -270,6 +272,9 @@ var Schedule = /** @class */ (function (_super) {
270
272
  };
271
273
  Schedule.prototype.setViewOptions = function (isModuleLoad) {
272
274
  if (isModuleLoad === void 0) { isModuleLoad = false; }
275
+ if (isNullOrUndefined(this.views) || this.views.length === 0) {
276
+ return;
277
+ }
273
278
  this.viewOptions = {};
274
279
  this.viewCollections = [];
275
280
  var viewName;
@@ -342,7 +347,7 @@ var Schedule = /** @class */ (function (_super) {
342
347
  byDate: isYearView ? false : this.group.byDate,
343
348
  byGroupID: this.group.byGroupID,
344
349
  allowGroupEdit: this.group.allowGroupEdit,
345
- resources: this.group.resources,
350
+ resources: isNullOrUndefined(this.group.resources) ? [] : this.group.resources,
346
351
  headerTooltipTemplate: this.group.headerTooltipTemplate,
347
352
  enableCompactView: this.group.enableCompactView,
348
353
  hideNonWorkingDays: ['Day', 'Week', 'WorkWeek', 'Month'].indexOf(this.currentView) > -1 ? this.group.hideNonWorkingDays : false
@@ -478,7 +483,7 @@ var Schedule = /** @class */ (function (_super) {
478
483
  var culShortNames = [];
479
484
  var cldrObj;
480
485
  var nameSpace = '';
481
- if (this.locale === 'en' || this.locale === 'en-US') {
486
+ if (isNullOrUndefined(this.locale) || this.locale === 'en' || this.locale === 'en-US') {
482
487
  nameSpace = 'days.stand-alone.';
483
488
  cldrObj = (getValue(nameSpace + type, getDefaultDateObject(this.getCalendarMode())));
484
489
  }
@@ -497,7 +502,7 @@ var Schedule = /** @class */ (function (_super) {
497
502
  this.internalTimeFormat = this.timeFormat;
498
503
  return;
499
504
  }
500
- if (this.locale === 'en' || this.locale === 'en-US') {
505
+ if (isNullOrUndefined(this.locale) || this.locale === 'en' || this.locale === 'en-US') {
501
506
  this.internalTimeFormat = (getValue('timeFormats.short', getDefaultDateObject(this.getCalendarMode())));
502
507
  }
503
508
  else {
@@ -511,7 +516,7 @@ var Schedule = /** @class */ (function (_super) {
511
516
  * @private
512
517
  */
513
518
  Schedule.prototype.getCalendarMode = function () {
514
- return this.calendarMode.toLowerCase();
519
+ return !isNullOrUndefined(this.calendarMode) ? this.calendarMode.toLowerCase() : 'gregorian';
515
520
  };
516
521
  /**
517
522
  * Method to get time in string
@@ -641,7 +646,9 @@ var Schedule = /** @class */ (function (_super) {
641
646
  */
642
647
  Schedule.prototype.isMinMaxDate = function (date) {
643
648
  if (date === void 0) { date = this.selectedDate; }
644
- return ((date.getTime() >= this.minDate.getTime()) && (date.getTime() <= this.maxDate.getTime()));
649
+ var maxDate = isNullOrUndefined(this.maxDate) ? new Date(2099, 11, 31) : this.maxDate;
650
+ var minDate = isNullOrUndefined(this.minDate) ? new Date(1900, 0, 1) : this.minDate;
651
+ return ((date.getTime() >= minDate.getTime()) && (date.getTime() <= maxDate.getTime()));
645
652
  };
646
653
  /**
647
654
  * Method to validate the selected date
@@ -723,7 +730,8 @@ var Schedule = /** @class */ (function (_super) {
723
730
  if (this && isNullOrUndefined(this.uiStateValues) || !(this.enablePersistence)) {
724
731
  this.uiStateValues = {
725
732
  expand: false, isInitial: true, left: 0, top: 0, isGroupAdaptive: false,
726
- isIgnoreOccurrence: false, groupIndex: this.adaptiveGroupIndex, action: false, isBlock: false, isCustomMonth: true, isPreventTimezone: false
733
+ isIgnoreOccurrence: false, groupIndex: this.adaptiveGroupIndex, action: false,
734
+ isBlock: false, isCustomMonth: true, isPreventTimezone: false
727
735
  };
728
736
  }
729
737
  this.currentTimezoneDate = this.getCurrentTime();
@@ -780,6 +788,7 @@ var Schedule = /** @class */ (function (_super) {
780
788
  subject: 'Subject',
781
789
  addTitle: 'Add title',
782
790
  moreDetails: 'More Details',
791
+ moreEvents: 'More Events',
783
792
  save: 'Save',
784
793
  editContent: 'How would you like to change the appointment in the series?',
785
794
  deleteContent: 'Are you sure you want to delete this event?',
@@ -814,6 +823,7 @@ var Schedule = /** @class */ (function (_super) {
814
823
  ok: 'Ok',
815
824
  yes: 'Yes',
816
825
  no: 'No',
826
+ of: 'of',
817
827
  occurrence: 'Occurrence',
818
828
  series: 'Series',
819
829
  previous: 'Previous',
@@ -1385,7 +1395,7 @@ var Schedule = /** @class */ (function (_super) {
1385
1395
  var scheduleId = this.element.id + '_';
1386
1396
  var viewName = this.activeViewOptions.headerIndentTemplateName;
1387
1397
  var templateId = scheduleId + viewName + 'headerIndentTemplate';
1388
- var indentTemplate = [].slice.call(this.getHeaderIndentTemplate()(data, this, 'headerIndentTemplate', templateId, false));
1398
+ var indentTemplate = [].slice.call(this.getHeaderIndentTemplate()(data, this, 'headerIndentTemplate', templateId, false, undefined, undefined, this.root));
1389
1399
  append(indentTemplate, td);
1390
1400
  }
1391
1401
  };
@@ -1545,7 +1555,9 @@ var Schedule = /** @class */ (function (_super) {
1545
1555
  break;
1546
1556
  case 'timezone':
1547
1557
  this.eventBase.timezonePropertyChange(oldProp.timezone);
1548
- this.headerModule.setCalendarTimezone();
1558
+ if (this.headerModule) {
1559
+ this.headerModule.setCalendarTimezone();
1560
+ }
1549
1561
  break;
1550
1562
  case 'enableRtl':
1551
1563
  this.setRtlClass();
@@ -1569,6 +1581,9 @@ var Schedule = /** @class */ (function (_super) {
1569
1581
  this.changeView(this.currentView, null, true);
1570
1582
  }
1571
1583
  else if (state.isDate) {
1584
+ if (isNullOrUndefined(this.selectedDate)) {
1585
+ this.setProperties({ selectedDate: this.getCurrentTime() }, true);
1586
+ }
1572
1587
  this.changeDate(this.selectedDate);
1573
1588
  }
1574
1589
  else if (state.isLayout) {
@@ -1912,8 +1927,9 @@ var Schedule = /** @class */ (function (_super) {
1912
1927
  }
1913
1928
  var msMajorInterval = this.activeViewOptions.timeScale.interval * util.MS_PER_MINUTE;
1914
1929
  var msInterval = msMajorInterval / this.activeViewOptions.timeScale.slotCount;
1915
- var startIndex = Math.round((startHour.getTime() - viewStartHour.getTime()) / msInterval);
1916
- var endIndex = Math.ceil((endHour.getTime() - viewStartHour.getTime()) / msInterval);
1930
+ var offsetDiff = ((viewStartHour.getTimezoneOffset() - startHour.getTimezoneOffset()) * util.MS_PER_MINUTE);
1931
+ var startIndex = Math.round((startHour.getTime() - viewStartHour.getTime() + offsetDiff) / msInterval);
1932
+ var endIndex = Math.ceil((endHour.getTime() - viewStartHour.getTime() + offsetDiff) / msInterval);
1917
1933
  var tempStartIndex = startIndex;
1918
1934
  var tempEndIndex = endIndex;
1919
1935
  var cells = [];
@@ -73,7 +73,7 @@ export function getTranslateX(element) {
73
73
  export function getWeekFirstDate(date, firstDayOfWeek) {
74
74
  var date1 = new Date(date.getTime());
75
75
  firstDayOfWeek = (firstDayOfWeek - date1.getDay() + 7 * (-1)) % 7;
76
- return new Date(date1.setDate(date1.getDate() + firstDayOfWeek));
76
+ return new Date(date1.setDate(date1.getDate() + (isNaN(firstDayOfWeek) ? 0 : firstDayOfWeek)));
77
77
  }
78
78
  /**
79
79
  * Method to get week last date
@@ -68,7 +68,7 @@ var AgendaBase = /** @class */ (function (_super) {
68
68
  var scheduleId = _this.parent.element.id + '_';
69
69
  var viewName = _this.parent.activeViewOptions.eventTemplateName;
70
70
  var templateId = scheduleId + viewName + 'eventTemplate';
71
- templateEle = _this.parent.getAppointmentTemplate()(listData[parseInt(li.toString(), 10)], _this.parent, 'eventTemplate', templateId, false);
71
+ templateEle = _this.parent.getAppointmentTemplate()(listData[parseInt(li.toString(), 10)], _this.parent, 'eventTemplate', templateId, false, undefined, undefined, _this.parent.root);
72
72
  if (!isNullOrUndefined(listData[parseInt(li.toString(), 10)][fieldMapping.recurrenceRule])) {
73
73
  var iconClass = (listData[parseInt(li.toString(), 10)][fieldMapping.id] ===
74
74
  listData[parseInt(li.toString(), 10)][fieldMapping.recurrenceID]) ?
@@ -372,7 +372,7 @@ var AgendaBase = /** @class */ (function (_super) {
372
372
  var scheduleId = this.parent.element.id + '_';
373
373
  var viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
374
374
  var templateId = scheduleId + viewName + 'dateHeaderTemplate';
375
- var dateTemplate = [].slice.call(this.parent.getDateHeaderTemplate()(args, this.parent, 'dateHeaderTemplate', templateId, false));
375
+ var dateTemplate = [].slice.call(this.parent.getDateHeaderTemplate()(args, this.parent, 'dateHeaderTemplate', templateId, false, undefined, undefined, this.parent.root));
376
376
  append(dateTemplate, dateHeader);
377
377
  }
378
378
  else {
@@ -1131,7 +1131,7 @@ var EventBase = /** @class */ (function () {
1131
1131
  var templateId = scheduleId + viewName + 'eventTemplate';
1132
1132
  var templateName = isResourceEventTemplate && this.parent.currentView.indexOf('Year') === -1 ?
1133
1133
  this.parent.getEventTemplateName(resIndex) : 'eventTemplate';
1134
- templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false);
1134
+ templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false, undefined, undefined, this.parent.root);
1135
1135
  }
1136
1136
  else {
1137
1137
  var appointmentSubject = createElement('div', { className: cls.SUBJECT_CLASS });
@@ -1230,12 +1230,14 @@ var EventBase = /** @class */ (function () {
1230
1230
  var firstDate = 0;
1231
1231
  var lastDate = dateRender.length;
1232
1232
  var filteredDates;
1233
- if (dateRender[0] < this.parent.minDate && dateRender[dateRender.length - 1] > this.parent.maxDate) {
1233
+ var maxDate = isNullOrUndefined(this.parent.maxDate) ? new Date(2099, 11, 31) : this.parent.maxDate;
1234
+ var minDate = isNullOrUndefined(this.parent.minDate) ? new Date(1900, 0, 1) : this.parent.minDate;
1235
+ if (dateRender[0] < minDate && dateRender[dateRender.length - 1] > maxDate) {
1234
1236
  for (var i = 0; i < dateRender.length; i++) {
1235
- if (util.resetTime(dateRender[parseInt(i.toString(), 10)]).getTime() === util.resetTime(new Date(this.parent.minDate)).getTime()) {
1237
+ if (util.resetTime(dateRender[parseInt(i.toString(), 10)]).getTime() === util.resetTime(new Date(minDate)).getTime()) {
1236
1238
  firstDate = i;
1237
1239
  }
1238
- if (util.resetTime(dateRender[parseInt(i.toString(), 10)]).getTime() === util.resetTime(new Date(this.parent.maxDate)).getTime()) {
1240
+ if (util.resetTime(dateRender[parseInt(i.toString(), 10)]).getTime() === util.resetTime(new Date(maxDate)).getTime()) {
1239
1241
  lastDate = i;
1240
1242
  }
1241
1243
  }
@@ -406,7 +406,7 @@ var MonthEvent = /** @class */ (function (_super) {
406
406
  var viewName = this.parent.activeViewOptions.eventTemplateName;
407
407
  var templateId = scheduleId + viewName + 'eventTemplate';
408
408
  var eventTemplate = this.isResourceEventTemplate ? this.parent.getEventTemplateName(resIndex) : 'eventTemplate';
409
- templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, eventTemplate, templateId, false);
409
+ templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, eventTemplate, templateId, false, undefined, undefined, this.parent.root);
410
410
  }
411
411
  else {
412
412
  var eventLocation = (record[this.fields.location] || this.parent.eventSettings.fields.location.default || '');
@@ -535,6 +535,7 @@ var MonthEvent = /** @class */ (function (_super) {
535
535
  if (indicator) {
536
536
  var count = parseInt(indicator.getAttribute('data-count'), 10) + 1;
537
537
  indicator.setAttribute('data-count', count.toString());
538
+ indicator.setAttribute('aria-label', count + ' ' + this.parent.localeObj.getConstant('moreEvents'));
538
539
  indicator.innerHTML = this.getMoreIndicatorText(count);
539
540
  }
540
541
  else {
@@ -70,8 +70,10 @@ var TimelineEvent = /** @class */ (function (_super) {
70
70
  for (var _a = 0, appointments_2 = appointments; _a < appointments_2.length; _a++) {
71
71
  var app = appointments_2[_a];
72
72
  var eventData = app.data;
73
- if (eventData.trimStartTime.getTime() <= date.getTime() &&
74
- eventData.trimEndTime.getTime() > date.getTime()) {
73
+ if ((eventData.trimStartTime.getTime() <= date.getTime() &&
74
+ eventData.trimEndTime.getTime() > date.getTime()) ||
75
+ (eventData.trimStartTime.getTime() === date.getTime() &&
76
+ eventData.trimEndTime.getTime() === date.getTime())) {
75
77
  appointmentsList.push(app);
76
78
  }
77
79
  }
@@ -460,8 +462,13 @@ var TimelineEvent = /** @class */ (function (_super) {
460
462
  }
461
463
  };
462
464
  TimelineEvent.prototype.getSameDayEventsWidth = function (startDate, endDate) {
465
+ var intervalMins = this.interval;
466
+ if (this.slotsPerDay === 1) {
467
+ var hoursRange = util.getStartEndHours(util.resetTime(new Date(startDate.getTime())), this.startHour, this.endHour);
468
+ intervalMins = (hoursRange.endHour.getTime() - hoursRange.startHour.getTime()) / util.MS_PER_MINUTE;
469
+ }
463
470
  return ((util.getUniversalTime(endDate) - util.getUniversalTime(startDate)) /
464
- util.MS_PER_MINUTE * (this.cellWidth * this.slotCount) / this.interval);
471
+ util.MS_PER_MINUTE * (this.cellWidth * this.slotCount) / intervalMins);
465
472
  };
466
473
  TimelineEvent.prototype.getSpannedEventsWidth = function (startDate, endDate, diffInDays) {
467
474
  var width = (diffInDays * this.slotsPerDay) * this.cellWidth;
@@ -360,7 +360,7 @@ var VerticalEvent = /** @class */ (function (_super) {
360
360
  var templateId = elementId + viewName + 'eventTemplate';
361
361
  var resIndex = this.parent.uiStateValues.isGroupAdaptive ? this.parent.uiStateValues.groupIndex : resource;
362
362
  var templateName = this.isResourceEventTemplate ? this.parent.getEventTemplateName(resIndex) : 'eventTemplate';
363
- templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false);
363
+ templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false, undefined, undefined, this.parent.root);
364
364
  }
365
365
  else {
366
366
  var appointmentSubject = createElement('div', { className: cls.SUBJECT_CLASS });
@@ -575,7 +575,7 @@ var VerticalEvent = /** @class */ (function (_super) {
575
575
  }
576
576
  if (eStart <= eEnd && isValidEvent && this.isWorkDayAvailable(resource, eStart)) {
577
577
  var appHeight = this.getHeight(eStart, eEnd);
578
- if (eStart.getTime() > schedule.startHour.getTime()) {
578
+ if (eStart.getTime() >= schedule.startHour.getTime()) {
579
579
  topValue = this.getTopValue(eStart, dayIndex, resource);
580
580
  }
581
581
  var appIndex = this.getOverlapIndex(record, dayIndex, false, resource);
@@ -842,12 +842,12 @@ var VerticalEvent = /** @class */ (function (_super) {
842
842
  var rowHeight;
843
843
  if (this.parent.uiStateValues.expand) {
844
844
  target.setAttribute('title', this.parent.localeObj.getConstant('collapseAllDaySection'));
845
- target.setAttribute('aria-label', 'Collapse section');
845
+ target.setAttribute('aria-label', this.parent.localeObj.getConstant('collapseAllDaySection'));
846
846
  rowHeight = ((this.allDayLevel + 1) * this.getEventHeight()) + 4;
847
847
  }
848
848
  else {
849
849
  target.setAttribute('title', this.parent.localeObj.getConstant('expandAllDaySection'));
850
- target.setAttribute('aria-label', 'Expand section');
850
+ target.setAttribute('aria-label', this.parent.localeObj.getConstant('expandAllDaySection'));
851
851
  rowHeight = (3 * this.getEventHeight()) + 4;
852
852
  this.parent.element.querySelector('.' + cls.DATE_HEADER_WRAP_CLASS).scrollTop = 0;
853
853
  }
@@ -175,7 +175,8 @@ var YearEvent = /** @class */ (function (_super) {
175
175
  return "continue";
176
176
  }
177
177
  }
178
- var enableAppRender = this_1.maxOrIndicator || (overlapIndex < eventsPerRow) || (this_1.cellHeight > availedHeight);
178
+ var enableAppRender = this_1.maxOrIndicator || (overlapIndex < eventsPerRow) ||
179
+ (this_1.cellHeight > availedHeight);
179
180
  if (this_1.parent.rowAutoHeight || enableAppRender || this_1.cellHeight > availedHeight) {
180
181
  this_1.renderEvent(eventWrapper, eventData, row, leftValue, rightValue, monthStart, dayIndex);
181
182
  if (this_1.parent.rowAutoHeight || this_1.cellHeight > availedHeight) {
@@ -478,7 +479,7 @@ var YearEvent = /** @class */ (function (_super) {
478
479
  var eventObj = extend({}, record, null, true);
479
480
  if (this.parent.activeViewOptions.eventTemplate) {
480
481
  var templateId = this.parent.element.id + '_' + this.parent.activeViewOptions.eventTemplateName + 'eventTemplate';
481
- templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, 'eventTemplate', templateId, false);
482
+ templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, 'eventTemplate', templateId, false, undefined, undefined, this.parent.root);
482
483
  }
483
484
  else {
484
485
  var locationEle = (record[this.fields.location] || this.parent.eventSettings.fields.location.default || '');
@@ -49,8 +49,7 @@ var ICalendarImport = /** @class */ (function () {
49
49
  else {
50
50
  newlineOffset = 1;
51
51
  }
52
- // eslint-disable-next-line security/detect-object-injection
53
- var firstChar = iCalString[lastPosition];
52
+ var firstChar = iCalString.charAt(lastPosition);
54
53
  if (firstChar === ' ' || firstChar === '\n' || firstChar === '\t') {
55
54
  iString += iCalString.slice(lastPosition + 1, position - newlineOffset);
56
55
  }
@@ -78,6 +78,7 @@ var Print = /** @class */ (function () {
78
78
  Schedule.Inject(Day, Week, WorkWeek, Month, Agenda, MonthAgenda, TimelineViews, TimelineMonth, Year, TimelineYear);
79
79
  this.printInstance = new Schedule(this.getPrintScheduleModel(printOptions));
80
80
  this.printInstance.isPrinting = true;
81
+ this.printInstance.root = this.parent.root ? this.parent.root : this.parent;
81
82
  this.printInstance.appendTo(element);
82
83
  this.printInstance.on(events.print, this.contentReady, this);
83
84
  this.printWindow = window.open('', 'print', 'height=' + window.outerHeight + ',width=' + window.outerWidth + ',tabbar=no');
@@ -111,7 +112,7 @@ var Print = /** @class */ (function () {
111
112
  eventSettings.dataSource = this.parent.eventsData;
112
113
  var eventTemplate = !isNullOrUndefined(printOptions.eventSettings) &&
113
114
  !isNullOrUndefined(printOptions.eventSettings.template) ? printOptions.eventSettings.template : eventSettings.template;
114
- eventSettings.template = typeof (eventTemplate) === 'function' ? null : eventTemplate;
115
+ eventSettings.template = !this.parent.isAngular && typeof (eventTemplate) === 'function' ? null : eventTemplate;
115
116
  printModel.eventSettings = eventSettings;
116
117
  break;
117
118
  }
@@ -122,13 +123,15 @@ var Print = /** @class */ (function () {
122
123
  break;
123
124
  case 'timeScale':
124
125
  timeScale = isNullOrUndefined(printOptions.timeScale) ? this.parent.timeScale : printOptions.timeScale;
125
- timeScale.majorSlotTemplate = typeof (timeScale.majorSlotTemplate) === 'function' ? null : timeScale.majorSlotTemplate;
126
- timeScale.minorSlotTemplate = typeof (timeScale.minorSlotTemplate) === 'function' ? null : timeScale.minorSlotTemplate;
127
- printOptions.timeScale = timeScale;
126
+ if (!this.parent.isAngular) {
127
+ timeScale.majorSlotTemplate = typeof (timeScale.majorSlotTemplate) === 'function' ? null : timeScale.majorSlotTemplate;
128
+ timeScale.minorSlotTemplate = typeof (timeScale.minorSlotTemplate) === 'function' ? null : timeScale.minorSlotTemplate;
129
+ }
130
+ printModel.timeScale = timeScale;
128
131
  break;
129
132
  case 'views':
130
133
  views = isNullOrUndefined(printOptions.views) ? this.parent.views : printOptions.views;
131
- if (views && views.length > 0 && typeof (views[0]) === 'object') {
134
+ if (!this.parent.isAngular && views && views.length > 0 && typeof (views[0]) === 'object') {
132
135
  var _loop_1 = function (view) {
133
136
  scheduleTemplates.forEach(function (x) {
134
137
  if (!isNullOrUndefined(view["" + x])) {
@@ -146,8 +149,8 @@ var Print = /** @class */ (function () {
146
149
  default:
147
150
  if (scheduleTemplates.indexOf(key) > -1) {
148
151
  printModel["" + key] = isNullOrUndefined(printOptions["" + key]) ?
149
- (typeof (this.parent["" + key]) === 'function' ? null : this.parent["" + key]) :
150
- (typeof (printOptions["" + key]) === 'function' ? null : printOptions["" + key]);
152
+ (!this.parent.isAngular && typeof (this.parent["" + key]) === 'function' ? null : this.parent["" + key]) :
153
+ (!this.parent.isAngular && typeof (printOptions["" + key]) === 'function' ? null : printOptions["" + key]);
151
154
  break;
152
155
  }
153
156
  if (scheduleEvents.indexOf(key) > -1) {
@@ -168,9 +168,9 @@ export interface ToolbarItemModel {
168
168
 
169
169
  /**
170
170
  * Specifies the unique name for each toolbar item rendered in Schedule. This name is used to map the toolbar items in the Schedule component.
171
- *
171
+ *
172
172
  * To access the default toolbar items, provide the name below,
173
- *
173
+ *
174
174
  * * `Custom`: Schedule component render the custom toolbar item.
175
175
  * * `Previous`: Schedule component navigates to the previous date from the current date.
176
176
  * * `Next`: Schedule component navigates to the next date from the current date.