@syncfusion/ej2-schedule 21.2.9 → 22.1.34

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 (98) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +22 -0
  3. package/dist/ej2-schedule.min.js +2 -2
  4. package/dist/ej2-schedule.umd.min.js +2 -2
  5. package/dist/ej2-schedule.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es2015.js +59 -31
  7. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  8. package/dist/es6/ej2-schedule.es5.js +60 -32
  9. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  10. package/dist/global/ej2-schedule.min.js +2 -2
  11. package/dist/global/ej2-schedule.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +15 -15
  14. package/src/recurrence-editor/recurrence-editor-model.d.ts +8 -1
  15. package/src/recurrence-editor/recurrence-editor.d.ts +17 -0
  16. package/src/recurrence-editor/recurrence-editor.js +7 -4
  17. package/src/schedule/actions/keyboard.js +2 -0
  18. package/src/schedule/base/schedule-model.d.ts +18 -9
  19. package/src/schedule/base/schedule.d.ts +20 -11
  20. package/src/schedule/base/schedule.js +14 -5
  21. package/src/schedule/models/event-settings-model.d.ts +4 -2
  22. package/src/schedule/models/event-settings.d.ts +4 -2
  23. package/src/schedule/models/group-model.d.ts +2 -1
  24. package/src/schedule/models/group.d.ts +2 -1
  25. package/src/schedule/models/header-rows-model.d.ts +2 -1
  26. package/src/schedule/models/header-rows.d.ts +2 -1
  27. package/src/schedule/models/quick-info-templates-model.d.ts +6 -3
  28. package/src/schedule/models/quick-info-templates.d.ts +6 -3
  29. package/src/schedule/models/time-scale-model.d.ts +4 -2
  30. package/src/schedule/models/time-scale.d.ts +4 -2
  31. package/src/schedule/models/views-model.d.ts +18 -9
  32. package/src/schedule/models/views.d.ts +18 -9
  33. package/src/schedule/popups/event-tooltip.js +6 -3
  34. package/src/schedule/popups/event-window.js +18 -14
  35. package/src/schedule/popups/quick-popups.js +3 -1
  36. package/src/schedule/renderer/timeline-view.js +11 -6
  37. package/styles/bootstrap-dark.css +15 -12
  38. package/styles/bootstrap.css +15 -12
  39. package/styles/bootstrap4.css +16 -13
  40. package/styles/bootstrap5-dark.css +15 -12
  41. package/styles/bootstrap5.css +15 -12
  42. package/styles/fabric-dark.css +15 -12
  43. package/styles/fabric.css +15 -12
  44. package/styles/fluent-dark.css +15 -12
  45. package/styles/fluent.css +15 -12
  46. package/styles/highcontrast-light.css +16 -13
  47. package/styles/highcontrast.css +16 -13
  48. package/styles/material-dark.css +15 -12
  49. package/styles/material.css +15 -12
  50. package/styles/material3-dark.css +4597 -0
  51. package/styles/material3-dark.scss +4 -0
  52. package/styles/material3.css +4653 -0
  53. package/styles/material3.scss +4 -0
  54. package/styles/recurrence-editor/_material3-dark-definition.scss +1 -0
  55. package/styles/recurrence-editor/_material3-definition.scss +13 -0
  56. package/styles/recurrence-editor/material3-dark.css +593 -0
  57. package/styles/recurrence-editor/material3-dark.scss +9 -0
  58. package/styles/recurrence-editor/material3.css +649 -0
  59. package/styles/recurrence-editor/material3.scss +9 -0
  60. package/styles/schedule/_bootstrap-dark-definition.scss +3 -2
  61. package/styles/schedule/_bootstrap-definition.scss +3 -2
  62. package/styles/schedule/_bootstrap4-definition.scss +3 -2
  63. package/styles/schedule/_bootstrap5-definition.scss +3 -2
  64. package/styles/schedule/_fabric-dark-definition.scss +3 -2
  65. package/styles/schedule/_fabric-definition.scss +3 -2
  66. package/styles/schedule/_fluent-definition.scss +3 -2
  67. package/styles/schedule/_fusionnew-definition.scss +3 -2
  68. package/styles/schedule/_highcontrast-definition.scss +3 -2
  69. package/styles/schedule/_highcontrast-light-definition.scss +3 -2
  70. package/styles/schedule/_layout.scss +31 -16
  71. package/styles/schedule/_material-dark-definition.scss +3 -2
  72. package/styles/schedule/_material-definition.scss +3 -2
  73. package/styles/schedule/_material3-dark-definition.scss +1 -0
  74. package/styles/schedule/_material3-definition.scss +292 -0
  75. package/styles/schedule/_tailwind-definition.scss +3 -2
  76. package/styles/schedule/_theme.scss +7 -2
  77. package/styles/schedule/bootstrap-dark.css +15 -12
  78. package/styles/schedule/bootstrap.css +15 -12
  79. package/styles/schedule/bootstrap4.css +16 -13
  80. package/styles/schedule/bootstrap5-dark.css +15 -12
  81. package/styles/schedule/bootstrap5.css +15 -12
  82. package/styles/schedule/fabric-dark.css +15 -12
  83. package/styles/schedule/fabric.css +15 -12
  84. package/styles/schedule/fluent-dark.css +15 -12
  85. package/styles/schedule/fluent.css +15 -12
  86. package/styles/schedule/highcontrast-light.css +16 -13
  87. package/styles/schedule/highcontrast.css +16 -13
  88. package/styles/schedule/icons/_material3-dark.scss +1 -0
  89. package/styles/schedule/material-dark.css +15 -12
  90. package/styles/schedule/material.css +15 -12
  91. package/styles/schedule/material3-dark.css +4191 -0
  92. package/styles/schedule/material3-dark.scss +16 -0
  93. package/styles/schedule/material3.css +4247 -0
  94. package/styles/schedule/material3.scss +17 -0
  95. package/styles/schedule/tailwind-dark.css +15 -12
  96. package/styles/schedule/tailwind.css +15 -12
  97. package/styles/tailwind-dark.css +15 -12
  98. package/styles/tailwind.css +15 -12
@@ -80,8 +80,9 @@ export interface ViewsModel {
80
80
  * This template is only applicable for month view day cells.
81
81
  *
82
82
  * @default null
83
+ * @aspType string
83
84
  */
84
- cellHeaderTemplate?: string;
85
+ cellHeaderTemplate?: string | Function;
85
86
 
86
87
  /**
87
88
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
@@ -89,15 +90,17 @@ export interface ViewsModel {
89
90
  * It gets applied only to the view objects on which it is defined.
90
91
  *
91
92
  * @default null
93
+ * @aspType string
92
94
  */
93
- dateHeaderTemplate?: string;
95
+ dateHeaderTemplate?: string | Function;
94
96
 
95
97
  /**
96
98
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the header date range.
97
99
  *
98
100
  * @default null
101
+ * @aspType string
99
102
  */
100
- dateRangeTemplate?: string;
103
+ dateRangeTemplate?: string | Function;
101
104
 
102
105
  /**
103
106
  * The template option which is used to render the customized work cells on the Schedule. Here, the
@@ -105,8 +108,9 @@ export interface ViewsModel {
105
108
  * The field accessible via template is `date`. It gets applied only to the view objects on which it is defined.
106
109
  *
107
110
  * @default null
111
+ * @aspType string
108
112
  */
109
- cellTemplate?: string;
113
+ cellTemplate?: string | Function;
110
114
 
111
115
  /**
112
116
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
@@ -114,8 +118,9 @@ export interface ViewsModel {
114
118
  * This template is only applicable for year view header cells.
115
119
  *
116
120
  * @default null
121
+ * @aspType string
117
122
  */
118
- dayHeaderTemplate?: string;
123
+ dayHeaderTemplate?: string | Function;
119
124
 
120
125
  /**
121
126
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
@@ -123,8 +128,9 @@ export interface ViewsModel {
123
128
  * This template is only applicable for year view header cells.
124
129
  *
125
130
  * @default null
131
+ * @aspType string
126
132
  */
127
- monthHeaderTemplate?: string;
133
+ monthHeaderTemplate?: string | Function;
128
134
 
129
135
  /**
130
136
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
@@ -133,8 +139,9 @@ export interface ViewsModel {
133
139
  * whereas it will get applied only on the events of the view to which it is currently being defined.
134
140
  *
135
141
  * @default null
142
+ * @aspType string
136
143
  */
137
- eventTemplate?: string;
144
+ eventTemplate?: string | Function;
138
145
 
139
146
  /**
140
147
  * When set to `false`, it hides the weekend days of a week from the Schedule.
@@ -212,8 +219,9 @@ export interface ViewsModel {
212
219
  * It gets applied only to the view objects on which it is defined.
213
220
  *
214
221
  * @default null
222
+ * @aspType string
215
223
  */
216
- resourceHeaderTemplate?: string;
224
+ resourceHeaderTemplate?: string | Function;
217
225
 
218
226
  /**
219
227
  * The template option which is used to render the customized header indent cell on the schedule. Here, the
@@ -221,8 +229,9 @@ export interface ViewsModel {
221
229
  * It gets applied only to the view objects on which it is defined.
222
230
  *
223
231
  * @default null
232
+ * @aspType string
224
233
  */
225
- headerIndentTemplate?: string;
234
+ headerIndentTemplate?: string | Function;
226
235
 
227
236
  /**
228
237
  * By default, Schedule follows the time-format as per the default culture assigned to it.
@@ -73,46 +73,52 @@ export declare class Views extends ChildProperty<Views> {
73
73
  * This template is only applicable for month view day cells.
74
74
  *
75
75
  * @default null
76
+ * @aspType string
76
77
  */
77
- cellHeaderTemplate: string;
78
+ cellHeaderTemplate: string | Function;
78
79
  /**
79
80
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
80
81
  * date header cells. The field that can be accessed via this template is `date`.
81
82
  * It gets applied only to the view objects on which it is defined.
82
83
  *
83
84
  * @default null
85
+ * @aspType string
84
86
  */
85
- dateHeaderTemplate: string;
87
+ dateHeaderTemplate: string | Function;
86
88
  /**
87
89
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the header date range.
88
90
  *
89
91
  * @default null
92
+ * @aspType string
90
93
  */
91
- dateRangeTemplate: string;
94
+ dateRangeTemplate: string | Function;
92
95
  /**
93
96
  * The template option which is used to render the customized work cells on the Schedule. Here, the
94
97
  * template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
95
98
  * The field accessible via template is `date`. It gets applied only to the view objects on which it is defined.
96
99
  *
97
100
  * @default null
101
+ * @aspType string
98
102
  */
99
- cellTemplate: string;
103
+ cellTemplate: string | Function;
100
104
  /**
101
105
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
102
106
  * Year view day cell header.
103
107
  * This template is only applicable for year view header cells.
104
108
  *
105
109
  * @default null
110
+ * @aspType string
106
111
  */
107
- dayHeaderTemplate: string;
112
+ dayHeaderTemplate: string | Function;
108
113
  /**
109
114
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
110
115
  * Year view day cell header.
111
116
  * This template is only applicable for year view header cells.
112
117
  *
113
118
  * @default null
119
+ * @aspType string
114
120
  */
115
- monthHeaderTemplate: string;
121
+ monthHeaderTemplate: string | Function;
116
122
  /**
117
123
  * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
118
124
  * the event background. All the event fields mapped to Schedule from dataSource can be accessed within this template code.
@@ -120,8 +126,9 @@ export declare class Views extends ChildProperty<Views> {
120
126
  * whereas it will get applied only on the events of the view to which it is currently being defined.
121
127
  *
122
128
  * @default null
129
+ * @aspType string
123
130
  */
124
- eventTemplate: string;
131
+ eventTemplate: string | Function;
125
132
  /**
126
133
  * When set to `false`, it hides the weekend days of a week from the Schedule.
127
134
  * The days which are not defined in the working days collection are usually treated as weekend days.
@@ -190,16 +197,18 @@ export declare class Views extends ChildProperty<Views> {
190
197
  * It gets applied only to the view objects on which it is defined.
191
198
  *
192
199
  * @default null
200
+ * @aspType string
193
201
  */
194
- resourceHeaderTemplate: string;
202
+ resourceHeaderTemplate: string | Function;
195
203
  /**
196
204
  * The template option which is used to render the customized header indent cell on the schedule. Here, the
197
205
  * template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the header indent cell.
198
206
  * It gets applied only to the view objects on which it is defined.
199
207
  *
200
208
  * @default null
209
+ * @aspType string
201
210
  */
202
- headerIndentTemplate: string;
211
+ headerIndentTemplate: string | Function;
203
212
  /**
204
213
  * By default, Schedule follows the time-format as per the default culture assigned to it.
205
214
  * It is also possible to manually set specific time format by using the `timeFormat` property.
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { isNullOrUndefined, append, createElement, addClass } from '@syncfusion/ej2-base';
2
+ import { isNullOrUndefined, append, createElement, addClass, initializeCSPTemplate } from '@syncfusion/ej2-base';
3
3
  import { Tooltip } from '@syncfusion/ej2-popups';
4
4
  import * as cls from '../base/css-constant';
5
5
  import * as util from '../base/util';
@@ -116,11 +116,14 @@ var EventTooltip = /** @class */ (function () {
116
116
  }
117
117
  var tooltipTime = (record[fields.isAllDay]) ? this.parent.localeObj.getConstant('allDay') :
118
118
  (startTime + ' - ' + endTime);
119
- var content = '<div><div class="e-subject">' + tooltipSubject + '</div>' +
119
+ var content_1 = '<div><div class="e-subject">' + tooltipSubject + '</div>' +
120
120
  '<div class="e-location">' + tooltipLocation + '</div>' +
121
121
  '<div class="e-details">' + tooltipDetails + '</div>' +
122
122
  '<div class="e-all-day">' + tooltipTime + '</div></div>';
123
- this.setContent(content);
123
+ var contentTemp = function () {
124
+ return content_1;
125
+ };
126
+ this.setContent(initializeCSPTemplate(contentTemp));
124
127
  }
125
128
  this.parent.renderTemplates();
126
129
  };
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { createElement, isNullOrUndefined, addClass, remove, EventHandler, extend, append, detach } from '@syncfusion/ej2-base';
3
- import { cldrData, removeClass, getValue, getDefaultDateObject, closest, SanitizeHtmlHelper } from '@syncfusion/ej2-base';
3
+ import { cldrData, removeClass, getValue, getDefaultDateObject, closest, SanitizeHtmlHelper, initializeCSPTemplate } from '@syncfusion/ej2-base';
4
4
  import { Query, Deferred } from '@syncfusion/ej2-data';
5
5
  import { CheckBox, Button } from '@syncfusion/ej2-buttons';
6
6
  import { Dialog } from '@syncfusion/ej2-popups';
@@ -430,8 +430,10 @@ var EventWindow = /** @class */ (function () {
430
430
  var resourceDiv = this.createDivElement(value + '-container' + ' ' + 'e-resources');
431
431
  var resourceInput = this.createInputElement(value + ' ' + EVENT_FIELD, fieldName);
432
432
  resourceDiv.appendChild(resourceInput);
433
- var resourceTemplate = '<div class="e-resource-template"><div class="e-resource-color" style="background-color:${' +
434
- resourceData.colorField + '}"></div><div class="e-resource-text">${' + resourceData.textField + '}</div></div>';
433
+ function resourceTemplate(data) {
434
+ return "<div class=\"e-resource-template\"><div class=\"e-resource-color\" style=\"background-color:" + data[resourceData.colorField] + "\"></div><div class=\"e-resource-text\">" + data[resourceData.textField] + "</div></div>";
435
+ }
436
+ initializeCSPTemplate(resourceTemplate, resourceData);
435
437
  if (resourceData.allowMultiple) {
436
438
  var listObj = new MultiSelect({
437
439
  enableRtl: this.parent.enableRtl,
@@ -681,16 +683,18 @@ var EventWindow = /** @class */ (function () {
681
683
  return labelText;
682
684
  };
683
685
  EventWindow.prototype.onChange = function (args) {
684
- var targetSelector = "." + cls.EVENT_WINDOW_ALL_DAY_CLASS + ",." + cls.TIME_ZONE_CLASS + ",." + cls.EVENT_WINDOW_REPEAT_CLASS;
685
- var target = closest(args.event.target, targetSelector);
686
- if (target.classList.contains(cls.EVENT_WINDOW_ALL_DAY_CLASS)) {
687
- this.onAllDayChange(args.checked);
688
- }
689
- else if (target.classList.contains(cls.TIME_ZONE_CLASS)) {
690
- this.timezoneChangeStyle(args.checked);
691
- }
692
- else if (target.classList.contains(cls.EVENT_WINDOW_REPEAT_CLASS)) {
693
- this.onRepeatChange(args.checked);
686
+ if (args.event && args.event.target) {
687
+ var targetSelector = "." + cls.EVENT_WINDOW_ALL_DAY_CLASS + ",." + cls.TIME_ZONE_CLASS + ",." + cls.EVENT_WINDOW_REPEAT_CLASS;
688
+ var target = closest(args.event.target, targetSelector);
689
+ if (target.classList.contains(cls.EVENT_WINDOW_ALL_DAY_CLASS)) {
690
+ this.onAllDayChange(args.checked);
691
+ }
692
+ else if (target.classList.contains(cls.TIME_ZONE_CLASS)) {
693
+ this.timezoneChangeStyle(args.checked);
694
+ }
695
+ else if (target.classList.contains(cls.EVENT_WINDOW_REPEAT_CLASS)) {
696
+ this.onRepeatChange(args.checked);
697
+ }
694
698
  }
695
699
  };
696
700
  EventWindow.prototype.renderRepeatDialog = function () {
@@ -1525,7 +1529,7 @@ var EventWindow = /** @class */ (function () {
1525
1529
  this.parent.quickPopup.openRecurrenceValidationAlert('sameDayAlert');
1526
1530
  return true;
1527
1531
  }
1528
- else if (!(previousEndTime.getTime() <= currentStartTime.getTime() && nextStartTime.getTime() >
1532
+ else if (!(previousEndTime.getTime() <= currentStartTime.getTime() && nextStartTime.getTime() >=
1529
1533
  currentEndTime.getTime()) || (util.resetTime(nextEndTime).getTime() <
1530
1534
  util.resetTime(currentStartTime).getTime()) ||
1531
1535
  (util.resetTime(previousStartTime).getTime() > util.resetTime(currentEndTime).getTime()) ||
@@ -1325,7 +1325,9 @@ var QuickPopups = /** @class */ (function () {
1325
1325
  this.dialogEvent = event;
1326
1326
  }
1327
1327
  this.quickPopupHide();
1328
- this.parent.eventBase.focusElement();
1328
+ if (isNullOrUndefined(event) || (!isNullOrUndefined(event) && event.action !== 'escape')) {
1329
+ this.parent.eventBase.focusElement();
1330
+ }
1329
1331
  };
1330
1332
  QuickPopups.prototype.addEventListener = function () {
1331
1333
  this.parent.on(event.cellClick, this.cellClick, this);
@@ -151,18 +151,23 @@ var TimelineViews = /** @class */ (function (_super) {
151
151
  };
152
152
  TimelineViews.prototype.getLeftFromDateTime = function (currentDateIndex, date) {
153
153
  var startHour = this.getStartHour();
154
- var endHour = this.getEndHour();
155
154
  var diffInDates = 0;
156
155
  var diffInMinutes = ((date.getHours() - startHour.getHours()) * 60) + (date.getMinutes() - startHour.getMinutes());
157
156
  if (!isNullOrUndefined(currentDateIndex)) {
158
- var end = (endHour.getHours() === 0) ? 24 : endHour.getHours();
159
157
  if (currentDateIndex[0] !== 0) {
160
- diffInDates = (currentDateIndex[0]) * ((end - startHour.getHours()) * 60) + (endHour.getMinutes() - startHour.getMinutes());
158
+ if (this.parent.activeView.colLevels[0] && this.parent.activeView.colLevels[0][0].colSpan) {
159
+ diffInDates = currentDateIndex[0] * this.parent.activeView.colLevels[0][0].colSpan * this.getWorkCellWidth();
160
+ }
161
+ else {
162
+ var endHour = this.getEndHour();
163
+ var end = (endHour.getHours() === 0) ? 24 : endHour.getHours();
164
+ diffInMinutes = diffInMinutes + ((currentDateIndex[0]) * (((end - startHour.getHours()) * 60) +
165
+ (endHour.getMinutes() - startHour.getMinutes())));
166
+ }
161
167
  }
162
- diffInMinutes = diffInDates + diffInMinutes;
163
168
  }
164
- return (diffInMinutes * this.getWorkCellWidth() * this.parent.activeViewOptions.timeScale.slotCount) /
165
- this.parent.activeViewOptions.timeScale.interval;
169
+ return diffInDates + ((diffInMinutes * this.getWorkCellWidth() * this.parent.activeViewOptions.timeScale.slotCount) /
170
+ this.parent.activeViewOptions.timeScale.interval);
166
171
  };
167
172
  TimelineViews.prototype.getWorkCellWidth = function () {
168
173
  return this.element.querySelector('.e-work-cells').getBoundingClientRect().width;
@@ -1668,20 +1668,13 @@
1668
1668
  }
1669
1669
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-icon,
1670
1670
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-edit-icon {
1671
- line-height: 38px;
1671
+ line-height: 22px;
1672
1672
  padding: 0 5px;
1673
1673
  }
1674
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-indicator {
1675
- display: block;
1676
- }
1677
1674
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-left-icon,
1678
1675
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1679
- font-size: 10px;
1680
- line-height: 38px;
1681
- padding-right: 7px;
1682
- }
1683
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1684
- padding-right: 5px;
1676
+ line-height: 22px;
1677
+ padding: 0 2px;
1685
1678
  }
1686
1679
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment.e-appointment-border, .e-schedule .e-timeline-year-view .e-event-table .e-appointment:focus {
1687
1680
  border: 0;
@@ -2148,6 +2141,12 @@
2148
2141
  .e-schedule .e-month-agenda-view .e-appointment.e-appointment-border, .e-schedule .e-month-agenda-view .e-appointment:focus {
2149
2142
  background: #484848;
2150
2143
  }
2144
+ .e-schedule .e-month-agenda-view .e-appointment.e-template {
2145
+ display: -ms-inline-flexbox;
2146
+ display: inline-flex;
2147
+ -ms-flex-direction: row-reverse;
2148
+ flex-direction: row-reverse;
2149
+ }
2151
2150
  .e-schedule .e-month-agenda-view .e-subject-wrap {
2152
2151
  display: -ms-flexbox;
2153
2152
  display: flex;
@@ -2543,9 +2542,9 @@
2543
2542
  height: 35px;
2544
2543
  }
2545
2544
  .e-bigger .e-schedule .e-month-view .e-resource-cells,
2546
- .e-bigger .e-schedule .e-month-view .e-date-header-wrap,
2545
+ .e-bigger .e-schedule .e-month-view .e-date-header-wrap table td,
2547
2546
  .e-bigger.e-schedule .e-month-view .e-resource-cells,
2548
- .e-bigger.e-schedule .e-month-view .e-date-header-wrap {
2547
+ .e-bigger.e-schedule .e-month-view .e-date-header-wrap table td {
2549
2548
  font-size: 14px;
2550
2549
  }
2551
2550
  .e-bigger .e-schedule .e-month-view .e-content-wrap,
@@ -2562,6 +2561,10 @@
2562
2561
  .e-bigger.e-schedule .e-month-view .e-m-day {
2563
2562
  font-size: 14px;
2564
2563
  }
2564
+ .e-bigger .e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar,
2565
+ .e-bigger.e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar {
2566
+ min-width: 306px;
2567
+ }
2565
2568
 
2566
2569
  .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment.e-appointment-border, .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment:focus {
2567
2570
  border: 1px solid #fff;
@@ -1668,20 +1668,13 @@
1668
1668
  }
1669
1669
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-icon,
1670
1670
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-edit-icon {
1671
- line-height: 38px;
1671
+ line-height: 22px;
1672
1672
  padding: 0 5px;
1673
1673
  }
1674
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-indicator {
1675
- display: block;
1676
- }
1677
1674
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-left-icon,
1678
1675
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1679
- font-size: 10px;
1680
- line-height: 38px;
1681
- padding-right: 7px;
1682
- }
1683
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1684
- padding-right: 5px;
1676
+ line-height: 22px;
1677
+ padding: 0 2px;
1685
1678
  }
1686
1679
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment.e-appointment-border, .e-schedule .e-timeline-year-view .e-event-table .e-appointment:focus {
1687
1680
  border: 0;
@@ -2148,6 +2141,12 @@
2148
2141
  .e-schedule .e-month-agenda-view .e-appointment.e-appointment-border, .e-schedule .e-month-agenda-view .e-appointment:focus {
2149
2142
  background: #e6e6e6;
2150
2143
  }
2144
+ .e-schedule .e-month-agenda-view .e-appointment.e-template {
2145
+ display: -ms-inline-flexbox;
2146
+ display: inline-flex;
2147
+ -ms-flex-direction: row-reverse;
2148
+ flex-direction: row-reverse;
2149
+ }
2151
2150
  .e-schedule .e-month-agenda-view .e-subject-wrap {
2152
2151
  display: -ms-flexbox;
2153
2152
  display: flex;
@@ -2543,9 +2542,9 @@
2543
2542
  height: 35px;
2544
2543
  }
2545
2544
  .e-bigger .e-schedule .e-month-view .e-resource-cells,
2546
- .e-bigger .e-schedule .e-month-view .e-date-header-wrap,
2545
+ .e-bigger .e-schedule .e-month-view .e-date-header-wrap table td,
2547
2546
  .e-bigger.e-schedule .e-month-view .e-resource-cells,
2548
- .e-bigger.e-schedule .e-month-view .e-date-header-wrap {
2547
+ .e-bigger.e-schedule .e-month-view .e-date-header-wrap table td {
2549
2548
  font-size: 14px;
2550
2549
  }
2551
2550
  .e-bigger .e-schedule .e-month-view .e-content-wrap,
@@ -2562,6 +2561,10 @@
2562
2561
  .e-bigger.e-schedule .e-month-view .e-m-day {
2563
2562
  font-size: 14px;
2564
2563
  }
2564
+ .e-bigger .e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar,
2565
+ .e-bigger.e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar {
2566
+ min-width: 306px;
2567
+ }
2565
2568
 
2566
2569
  .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment.e-appointment-border, .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment:focus {
2567
2570
  border: 1px solid rgba(0, 0, 0, 0.5);
@@ -1747,20 +1747,13 @@
1747
1747
  }
1748
1748
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-icon,
1749
1749
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-edit-icon {
1750
- line-height: 38px;
1750
+ line-height: 22px;
1751
1751
  padding: 0 5px;
1752
1752
  }
1753
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-indicator {
1754
- display: block;
1755
- }
1756
1753
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-left-icon,
1757
1754
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1758
- font-size: 10px;
1759
- line-height: 38px;
1760
- padding-right: 7px;
1761
- }
1762
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1763
- padding-right: 5px;
1755
+ line-height: 22px;
1756
+ padding: 0 2px;
1764
1757
  }
1765
1758
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment.e-appointment-border, .e-schedule .e-timeline-year-view .e-event-table .e-appointment:focus {
1766
1759
  border: 0;
@@ -2227,6 +2220,12 @@
2227
2220
  .e-schedule .e-month-agenda-view .e-appointment.e-appointment-border, .e-schedule .e-month-agenda-view .e-appointment:focus {
2228
2221
  background: #e9ecef;
2229
2222
  }
2223
+ .e-schedule .e-month-agenda-view .e-appointment.e-template {
2224
+ display: -ms-inline-flexbox;
2225
+ display: inline-flex;
2226
+ -ms-flex-direction: row-reverse;
2227
+ flex-direction: row-reverse;
2228
+ }
2230
2229
  .e-schedule .e-month-agenda-view .e-subject-wrap {
2231
2230
  display: -ms-flexbox;
2232
2231
  display: flex;
@@ -2622,9 +2621,9 @@
2622
2621
  height: 35px;
2623
2622
  }
2624
2623
  .e-bigger .e-schedule .e-month-view .e-resource-cells,
2625
- .e-bigger .e-schedule .e-month-view .e-date-header-wrap,
2624
+ .e-bigger .e-schedule .e-month-view .e-date-header-wrap table td,
2626
2625
  .e-bigger.e-schedule .e-month-view .e-resource-cells,
2627
- .e-bigger.e-schedule .e-month-view .e-date-header-wrap {
2626
+ .e-bigger.e-schedule .e-month-view .e-date-header-wrap table td {
2628
2627
  font-size: 16px;
2629
2628
  }
2630
2629
  .e-bigger .e-schedule .e-month-view .e-content-wrap,
@@ -2641,6 +2640,10 @@
2641
2640
  .e-bigger.e-schedule .e-month-view .e-m-day {
2642
2641
  font-size: 14px;
2643
2642
  }
2643
+ .e-bigger .e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar,
2644
+ .e-bigger.e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar {
2645
+ min-width: 306px;
2646
+ }
2644
2647
 
2645
2648
  .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment.e-appointment-border, .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment:focus {
2646
2649
  border: 1px solid rgba(0, 0, 0, 0.5);
@@ -3869,7 +3872,7 @@
3869
3872
  border-top: 1px solid #007bff;
3870
3873
  }
3871
3874
  .e-schedule .e-vertical-view .e-previous-timeline {
3872
- border-top: 1px dotted #007bff;
3875
+ border-top: 1px dashed #007bff;
3873
3876
  }
3874
3877
  .e-schedule .e-vertical-view.e-by-date .e-date-header-wrap table tbody td.e-header-cells {
3875
3878
  border-bottom-width: 1px;
@@ -1721,20 +1721,13 @@
1721
1721
  }
1722
1722
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-icon,
1723
1723
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-edit-icon {
1724
- line-height: 38px;
1724
+ line-height: 26px;
1725
1725
  padding: 0 5px;
1726
1726
  }
1727
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-indicator {
1728
- display: block;
1729
- }
1730
1727
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-left-icon,
1731
1728
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1732
- font-size: 10px;
1733
- line-height: 38px;
1734
- padding-right: 7px;
1735
- }
1736
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1737
- padding-right: 5px;
1729
+ line-height: 26px;
1730
+ padding: 0 2px;
1738
1731
  }
1739
1732
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment.e-appointment-border, .e-schedule .e-timeline-year-view .e-event-table .e-appointment:focus {
1740
1733
  border: 0;
@@ -2201,6 +2194,12 @@
2201
2194
  .e-schedule .e-month-agenda-view .e-appointment.e-appointment-border, .e-schedule .e-month-agenda-view .e-appointment:focus {
2202
2195
  background: #343a40;
2203
2196
  }
2197
+ .e-schedule .e-month-agenda-view .e-appointment.e-template {
2198
+ display: -ms-inline-flexbox;
2199
+ display: inline-flex;
2200
+ -ms-flex-direction: row-reverse;
2201
+ flex-direction: row-reverse;
2202
+ }
2204
2203
  .e-schedule .e-month-agenda-view .e-subject-wrap {
2205
2204
  display: -ms-flexbox;
2206
2205
  display: flex;
@@ -2596,9 +2595,9 @@
2596
2595
  height: 38px;
2597
2596
  }
2598
2597
  .e-bigger .e-schedule .e-month-view .e-resource-cells,
2599
- .e-bigger .e-schedule .e-month-view .e-date-header-wrap,
2598
+ .e-bigger .e-schedule .e-month-view .e-date-header-wrap table td,
2600
2599
  .e-bigger.e-schedule .e-month-view .e-resource-cells,
2601
- .e-bigger.e-schedule .e-month-view .e-date-header-wrap {
2600
+ .e-bigger.e-schedule .e-month-view .e-date-header-wrap table td {
2602
2601
  font-size: 16px;
2603
2602
  }
2604
2603
  .e-bigger .e-schedule .e-month-view .e-content-wrap,
@@ -2615,6 +2614,10 @@
2615
2614
  .e-bigger.e-schedule .e-month-view .e-m-day {
2616
2615
  font-size: 14px;
2617
2616
  }
2617
+ .e-bigger .e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar,
2618
+ .e-bigger.e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar {
2619
+ min-width: 306px;
2620
+ }
2618
2621
 
2619
2622
  .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment.e-appointment-border, .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment:focus {
2620
2623
  border: 1px solid rgba(68, 76, 84, 0.5);
@@ -1721,20 +1721,13 @@
1721
1721
  }
1722
1722
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-icon,
1723
1723
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-recurrence-edit-icon {
1724
- line-height: 38px;
1724
+ line-height: 26px;
1725
1725
  padding: 0 5px;
1726
1726
  }
1727
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-indicator {
1728
- display: block;
1729
- }
1730
1727
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-left-icon,
1731
1728
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1732
- font-size: 10px;
1733
- line-height: 38px;
1734
- padding-right: 7px;
1735
- }
1736
- .e-schedule .e-timeline-year-view .e-event-table .e-appointment .e-right-icon {
1737
- padding-right: 5px;
1729
+ line-height: 26px;
1730
+ padding: 0 2px;
1738
1731
  }
1739
1732
  .e-schedule .e-timeline-year-view .e-event-table .e-appointment.e-appointment-border, .e-schedule .e-timeline-year-view .e-event-table .e-appointment:focus {
1740
1733
  border: 0;
@@ -2201,6 +2194,12 @@
2201
2194
  .e-schedule .e-month-agenda-view .e-appointment.e-appointment-border, .e-schedule .e-month-agenda-view .e-appointment:focus {
2202
2195
  background: #e9ecef;
2203
2196
  }
2197
+ .e-schedule .e-month-agenda-view .e-appointment.e-template {
2198
+ display: -ms-inline-flexbox;
2199
+ display: inline-flex;
2200
+ -ms-flex-direction: row-reverse;
2201
+ flex-direction: row-reverse;
2202
+ }
2204
2203
  .e-schedule .e-month-agenda-view .e-subject-wrap {
2205
2204
  display: -ms-flexbox;
2206
2205
  display: flex;
@@ -2596,9 +2595,9 @@
2596
2595
  height: 38px;
2597
2596
  }
2598
2597
  .e-bigger .e-schedule .e-month-view .e-resource-cells,
2599
- .e-bigger .e-schedule .e-month-view .e-date-header-wrap,
2598
+ .e-bigger .e-schedule .e-month-view .e-date-header-wrap table td,
2600
2599
  .e-bigger.e-schedule .e-month-view .e-resource-cells,
2601
- .e-bigger.e-schedule .e-month-view .e-date-header-wrap {
2600
+ .e-bigger.e-schedule .e-month-view .e-date-header-wrap table td {
2602
2601
  font-size: 16px;
2603
2602
  }
2604
2603
  .e-bigger .e-schedule .e-month-view .e-content-wrap,
@@ -2615,6 +2614,10 @@
2615
2614
  .e-bigger.e-schedule .e-month-view .e-m-day {
2616
2615
  font-size: 14px;
2617
2616
  }
2617
+ .e-bigger .e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar,
2618
+ .e-bigger.e-schedule .e-year-view .e-calendar-wrapper .e-month-calendar.e-calendar {
2619
+ min-width: 306px;
2620
+ }
2618
2621
 
2619
2622
  .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment.e-appointment-border, .e-schedule.e-multi-drag .e-vertical-view .e-all-day-appointment-wrapper .e-appointment:focus {
2620
2623
  border: 1px solid rgba(222, 226, 230, 0.5);