@syncfusion/ej2-schedule 19.4.42 → 19.4.50

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 (55) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/ej2-schedule.umd.min.js +2 -2
  3. package/dist/ej2-schedule.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-schedule.es2015.js +85 -30
  5. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es5.js +85 -30
  7. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  8. package/dist/global/ej2-schedule.min.js +2 -2
  9. package/dist/global/ej2-schedule.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +15 -15
  12. package/src/schedule/actions/drag.js +9 -7
  13. package/src/schedule/actions/keyboard.d.ts +1 -0
  14. package/src/schedule/actions/keyboard.js +23 -0
  15. package/src/schedule/base/interface.d.ts +1 -0
  16. package/src/schedule/base/schedule.js +16 -2
  17. package/src/schedule/event-renderer/agenda-base.js +1 -1
  18. package/src/schedule/event-renderer/event-base.js +4 -2
  19. package/src/schedule/event-renderer/month.js +2 -1
  20. package/src/schedule/event-renderer/timeline-view.d.ts +1 -0
  21. package/src/schedule/event-renderer/timeline-view.js +7 -5
  22. package/src/schedule/event-renderer/vertical-view.js +10 -2
  23. package/src/schedule/event-renderer/year.js +4 -1
  24. package/src/schedule/popups/event-window.js +1 -1
  25. package/src/schedule/popups/quick-popups.js +5 -5
  26. package/src/schedule/renderer/month.js +1 -1
  27. package/src/schedule/renderer/vertical-view.js +1 -1
  28. package/src/schedule/renderer/year.js +1 -1
  29. package/styles/bootstrap-dark.css +6 -2
  30. package/styles/bootstrap.css +6 -2
  31. package/styles/bootstrap4.css +6 -2
  32. package/styles/bootstrap5-dark.css +6 -2
  33. package/styles/bootstrap5.css +6 -2
  34. package/styles/fabric-dark.css +6 -2
  35. package/styles/fabric.css +6 -2
  36. package/styles/highcontrast-light.css +6 -2
  37. package/styles/highcontrast.css +6 -2
  38. package/styles/material-dark.css +6 -2
  39. package/styles/material.css +6 -2
  40. package/styles/schedule/_layout.scss +6 -2
  41. package/styles/schedule/bootstrap-dark.css +6 -2
  42. package/styles/schedule/bootstrap.css +6 -2
  43. package/styles/schedule/bootstrap4.css +6 -2
  44. package/styles/schedule/bootstrap5-dark.css +6 -2
  45. package/styles/schedule/bootstrap5.css +6 -2
  46. package/styles/schedule/fabric-dark.css +6 -2
  47. package/styles/schedule/fabric.css +6 -2
  48. package/styles/schedule/highcontrast-light.css +6 -2
  49. package/styles/schedule/highcontrast.css +6 -2
  50. package/styles/schedule/material-dark.css +6 -2
  51. package/styles/schedule/material.css +6 -2
  52. package/styles/schedule/tailwind-dark.css +6 -2
  53. package/styles/schedule/tailwind.css +6 -2
  54. package/styles/tailwind-dark.css +6 -2
  55. package/styles/tailwind.css +6 -2
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.4.42
3
+ * version : 19.4.50
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-schedule@*",
3
- "_id": "@syncfusion/ej2-schedule@19.4.41",
3
+ "_id": "@syncfusion/ej2-schedule@19.4.48",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-Y6K/LRGgeZJ6KdSHKmOvn3JpwOrigatndbpg+10wlSBAOJwBK2wDvRwVleG48St6jKUXglTs+q3vT57KBQYFQQ==",
5
+ "_integrity": "sha512-v1X2P/drFDg0e7og7Ue/aM/s6Pw8jMAP3xOZJtR3RaZm5OgexY84JXZqK0WdnodHTKw92vp2hEAG9u+yrFom6w==",
6
6
  "_location": "/@syncfusion/ej2-schedule",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,8 +23,8 @@
23
23
  "/@syncfusion/ej2-react-schedule",
24
24
  "/@syncfusion/ej2-vue-schedule"
25
25
  ],
26
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-19.4.41.tgz",
27
- "_shasum": "955cdeecc4c945122bf7b84cee5f098ee379d56b",
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-19.4.48.tgz",
27
+ "_shasum": "f8dbb6331e1a7c838d934a91c1ba1fe3eaa6f203",
28
28
  "_spec": "@syncfusion/ej2-schedule@*",
29
29
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
30
30
  "author": {
@@ -35,16 +35,16 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~19.4.42",
39
- "@syncfusion/ej2-buttons": "~19.4.42",
40
- "@syncfusion/ej2-calendars": "~19.4.42",
41
- "@syncfusion/ej2-data": "~19.4.42",
42
- "@syncfusion/ej2-dropdowns": "~19.4.42",
43
- "@syncfusion/ej2-excel-export": "~19.4.38",
44
- "@syncfusion/ej2-inputs": "~19.4.42",
45
- "@syncfusion/ej2-lists": "~19.4.38",
46
- "@syncfusion/ej2-navigations": "~19.4.41",
47
- "@syncfusion/ej2-popups": "~19.4.41"
38
+ "@syncfusion/ej2-base": "~19.4.48",
39
+ "@syncfusion/ej2-buttons": "~19.4.50",
40
+ "@syncfusion/ej2-calendars": "~19.4.50",
41
+ "@syncfusion/ej2-data": "~19.4.50",
42
+ "@syncfusion/ej2-dropdowns": "~19.4.50",
43
+ "@syncfusion/ej2-excel-export": "~19.4.50",
44
+ "@syncfusion/ej2-inputs": "~19.4.48",
45
+ "@syncfusion/ej2-lists": "~19.4.48",
46
+ "@syncfusion/ej2-navigations": "~19.4.50",
47
+ "@syncfusion/ej2-popups": "~19.4.50"
48
48
  },
49
49
  "deprecated": false,
50
50
  "description": "Flexible scheduling library with more built-in features and enhanced customization options similar to outlook and google calendar, allowing the users to plan and manage their appointments with efficient data-binding support.",
@@ -81,6 +81,6 @@
81
81
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
82
82
  },
83
83
  "typings": "index.d.ts",
84
- "version": "19.4.42",
84
+ "version": "19.4.50",
85
85
  "sideEffects": false
86
86
  }
@@ -487,14 +487,16 @@ var DragAndDrop = /** @class */ (function (_super) {
487
487
  else {
488
488
  outWrapper = this.parent.element.querySelector('.' + cls.APPOINTMENT_CONTAINER_CLASS);
489
489
  }
490
- var tarWrapper_1 = outWrapper.querySelector('.' + cls.APPOINTMENT_WRAPPER_CLASS);
491
- if (!tarWrapper_1) {
492
- tarWrapper_1 = createElement('div', { className: cls.APPOINTMENT_WRAPPER_CLASS });
493
- outWrapper.appendChild(tarWrapper_1);
490
+ if (!isNullOrUndefined(outWrapper)) {
491
+ var tarWrapper_1 = outWrapper.querySelector('.' + cls.APPOINTMENT_WRAPPER_CLASS);
492
+ if (!tarWrapper_1) {
493
+ tarWrapper_1 = createElement('div', { className: cls.APPOINTMENT_WRAPPER_CLASS });
494
+ outWrapper.appendChild(tarWrapper_1);
495
+ }
496
+ this.actionObj.cloneElement.forEach(function (ele) {
497
+ tarWrapper_1.appendChild(ele);
498
+ });
494
499
  }
495
- this.actionObj.cloneElement.forEach(function (ele) {
496
- tarWrapper_1.appendChild(ele);
497
- });
498
500
  }
499
501
  };
500
502
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -13,6 +13,7 @@ export declare class KeyboardInteraction {
13
13
  private keyboardModule;
14
14
  constructor(parent: Schedule);
15
15
  private keyActionHandler;
16
+ private processFTwelve;
16
17
  private addEventListener;
17
18
  private removeEventListener;
18
19
  private onCellMouseDown;
@@ -114,6 +114,29 @@ var KeyboardInteraction = /** @class */ (function () {
114
114
  break;
115
115
  case 'escape':
116
116
  this.processEscape(e);
117
+ break;
118
+ case 'fTwelve':
119
+ if (this.parent.allowInline && this.parent.inlineModule) {
120
+ e.preventDefault();
121
+ this.processFTwelve(e);
122
+ }
123
+ break;
124
+ }
125
+ };
126
+ KeyboardInteraction.prototype.processFTwelve = function (e) {
127
+ var target = e.target;
128
+ if (target.classList.contains(cls.WORK_CELLS_CLASS) || target.classList.contains(cls.ALLDAY_CELLS_CLASS)) {
129
+ this.parent.activeCellsData = this.getSelectedElements(target);
130
+ var args = extend(this.parent.activeCellsData, { cancel: false, event: e });
131
+ var inlineArgs = {
132
+ element: args.element,
133
+ groupIndex: args.groupIndex, type: 'Cell'
134
+ };
135
+ this.parent.notify(event.inlineClick, inlineArgs);
136
+ }
137
+ if (target.classList.contains(cls.APPOINTMENT_CLASS)) {
138
+ target.click();
139
+ return;
117
140
  }
118
141
  };
119
142
  KeyboardInteraction.prototype.addEventListener = function () {
@@ -486,6 +486,7 @@ export interface UIStateArgs {
486
486
  action?: boolean;
487
487
  isBlock?: boolean;
488
488
  isCustomMonth?: boolean;
489
+ isResize?: boolean;
489
490
  }
490
491
  /**
491
492
  * @private
@@ -656,7 +656,7 @@ var Schedule = /** @class */ (function (_super) {
656
656
  if (this && isNullOrUndefined(this.uiStateValues) || !(this.enablePersistence)) {
657
657
  this.uiStateValues = {
658
658
  expand: false, isInitial: true, left: 0, top: 0, isGroupAdaptive: false,
659
- isIgnoreOccurrence: false, groupIndex: 0, action: false, isBlock: false, isCustomMonth: true
659
+ isIgnoreOccurrence: false, groupIndex: 0, action: false, isBlock: false, isCustomMonth: true, isResize: false
660
660
  };
661
661
  }
662
662
  this.activeCellsData = { startTime: this.getCurrentTime(), endTime: this.getCurrentTime(), isAllDay: false };
@@ -1118,9 +1118,11 @@ var Schedule = /** @class */ (function (_super) {
1118
1118
  }
1119
1119
  if (this.currentView === 'Month' || ((this.currentView !== 'Agenda' && this.currentView !== 'MonthAgenda')
1120
1120
  && !this.activeViewOptions.timeScale.enable) || this.activeView.isTimelineView()) {
1121
+ this.uiStateValues.isResize = true;
1121
1122
  this.activeView.resetColWidth();
1122
1123
  this.notify(events.scrollUiUpdate, { cssProperties: this.getCssProperties(), isPreventScrollUpdate: true });
1123
1124
  this.refreshEvents(false);
1125
+ this.uiStateValues.isResize = false;
1124
1126
  }
1125
1127
  else {
1126
1128
  this.notify(events.contentReady, {});
@@ -2186,7 +2188,19 @@ var Schedule = /** @class */ (function (_super) {
2186
2188
  }
2187
2189
  else {
2188
2190
  if (this.activeViewOptions && this.activeViewOptions.eventTemplate) {
2189
- this.resetTemplates(['eventTemplate']);
2191
+ var templateNames = ['eventTemplate'];
2192
+ if (this.crudModule && this.crudModule.crudObj.isCrudAction &&
2193
+ ['Agenda', 'MonthAgenda', 'Year', 'TimelineYear'].indexOf(this.currentView) === -1) {
2194
+ templateNames = [];
2195
+ for (var i = 0, len = this.crudModule.crudObj.sourceEvent.length; i < len; i++) {
2196
+ templateNames.push('eventTemplate_' + this.crudModule.crudObj.sourceEvent[i].groupIndex);
2197
+ if (this.crudModule.crudObj.targetEvent[i] && this.crudModule.crudObj.sourceEvent[i].groupIndex !==
2198
+ this.crudModule.crudObj.targetEvent[i].groupIndex) {
2199
+ templateNames.push('eventTemplate_' + this.crudModule.crudObj.targetEvent[i].groupIndex);
2200
+ }
2201
+ }
2202
+ }
2203
+ this.resetTemplates(templateNames);
2190
2204
  }
2191
2205
  var eventsData = this.eventsData || [];
2192
2206
  var blockData = this.blockData || [];
@@ -149,7 +149,7 @@ var AgendaBase = /** @class */ (function (_super) {
149
149
  var eventElement = [].slice.call(this.parent.element.querySelectorAll('.' + cls.APPOINTMENT_CLASS));
150
150
  for (var _i = 0, eventElement_1 = eventElement; _i < eventElement_1.length; _i++) {
151
151
  var element = eventElement_1[_i];
152
- this.parent.eventBase.wireAppointmentEvents(element, null, true);
152
+ this.parent.eventBase.wireAppointmentEvents(element, this.parent.getEventDetails(element), true);
153
153
  }
154
154
  var dateHeaderElement = [].slice.call(this.parent.element.querySelectorAll('.e-m-date'));
155
155
  for (var _a = 0, dateHeaderElement_1 = dateHeaderElement; _a < dateHeaderElement_1.length; _a++) {
@@ -41,7 +41,7 @@ var EventBase = /** @class */ (function () {
41
41
  if (timeZonePropChanged) {
42
42
  this_1.processTimezoneChange(event_1, oldTimezone);
43
43
  }
44
- else if (!this_1.parent.isPrinting) {
44
+ else if (!this_1.parent.isPrinting && !this_1.parent.uiStateValues.isResize) {
45
45
  event_1 = this_1.processTimezone(event_1);
46
46
  }
47
47
  for (var level = 0; level < resourceCollection.length; level++) {
@@ -1081,7 +1081,9 @@ var EventBase = /** @class */ (function () {
1081
1081
  var scheduleId = this.parent.element.id + '_';
1082
1082
  var viewName = this.parent.activeViewOptions.eventTemplateName;
1083
1083
  var templateId = scheduleId + viewName + 'eventTemplate';
1084
- templateElement = this.parent.getAppointmentTemplate()(record, this.parent, 'eventTemplate', templateId, false);
1084
+ var templateName = 'eventTemplate' + (this.parent.activeViewOptions.group.resources.length > 0 &&
1085
+ this.parent.currentView.indexOf('Year') === -1 ? '_' + resIndex : '');
1086
+ templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false);
1085
1087
  }
1086
1088
  else {
1087
1089
  var appointmentSubject = createElement('div', {
@@ -394,7 +394,8 @@ var MonthEvent = /** @class */ (function (_super) {
394
394
  var scheduleId = this.parent.element.id + '_';
395
395
  var viewName = this.parent.activeViewOptions.eventTemplateName;
396
396
  var templateId = scheduleId + viewName + 'eventTemplate';
397
- templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, 'eventTemplate', templateId, false);
397
+ var eventTemplate = 'eventTemplate' + (this.parent.activeViewOptions.group.resources.length > 0 ? '_' + resIndex : '');
398
+ templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, eventTemplate, templateId, false);
398
399
  }
399
400
  else {
400
401
  var eventLocation = (record[this.fields.location] || this.parent.eventSettings.fields.location.default || '');
@@ -15,6 +15,7 @@ export declare class TimelineEvent extends MonthEvent {
15
15
  private content;
16
16
  private rowIndex;
17
17
  inlineValue: boolean;
18
+ private cellTops;
18
19
  constructor(parent: Schedule, type: string);
19
20
  getSlotDates(): void;
20
21
  getOverlapEvents(date: Date, appointments: Record<string, any>[]): Record<string, any>[];
@@ -33,6 +33,7 @@ var TimelineEvent = /** @class */ (function (_super) {
33
33
  _this.interval = _this.parent.activeViewOptions.timeScale.interval;
34
34
  _this.day = 0;
35
35
  _this.rowIndex = 0;
36
+ _this.cellTops = [];
36
37
  _this.renderType = type;
37
38
  _this.eventContainers = [].slice.call(_this.element.querySelectorAll('.' + cls.APPOINTMENT_CONTAINER_CLASS));
38
39
  var tr = [].slice.call(_this.element.querySelectorAll('.' + cls.CONTENT_TABLE_CLASS + ' tbody tr'));
@@ -152,9 +153,7 @@ var TimelineEvent = /** @class */ (function (_super) {
152
153
  var cellTd = this.getCellTd();
153
154
  var overlapCount = (isNullOrUndefined(this.parent.eventSettings.sortComparer)) ? this.getIndex(startTime) : this.getSortComparerIndex(startTime, endTime);
154
155
  event.Index = overlapCount;
155
- var elem = this.element.querySelector('.' + cls.APPOINTMENT_CLASS);
156
- var eleHeight = (elem) ? elem.getBoundingClientRect().height : 0;
157
- var appHeight = (elem && eleHeight > 0) ? eleHeight : this.eventHeight;
156
+ var appHeight = this.eventHeight;
158
157
  var diffInDays = eventData.count;
159
158
  var eventObj = extend({}, event, null, true);
160
159
  eventObj[this.fields.startTime] = eventData[this.fields.startTime];
@@ -170,7 +169,10 @@ var TimelineEvent = /** @class */ (function (_super) {
170
169
  var position = this.getPosition(startTime, endTime, event[this.fields.isAllDay], this.day);
171
170
  appWidth_1 = (appWidth_1 <= 0) ? this.cellWidth : appWidth_1; // appWidth 0 when start and end time as same
172
171
  this.renderedEvents.push(extend({}, event, null, true));
173
- var top_1 = this.getRowTop(resIndex);
172
+ if (isNullOrUndefined(this.cellTops[resIndex])) {
173
+ this.cellTops[resIndex] = this.getRowTop(resIndex);
174
+ }
175
+ var top_1 = this.cellTops[resIndex];
174
176
  var appTop = (top_1 + (this.maxHeight ? 0 : EVENT_GAP)) + (overlapCount * (appHeight + EVENT_GAP));
175
177
  appLeft = (this.parent.enableRtl) ? 0 : position;
176
178
  appRight = (this.parent.enableRtl) ? position : 0;
@@ -274,7 +276,7 @@ var TimelineEvent = /** @class */ (function (_super) {
274
276
  }
275
277
  };
276
278
  TimelineEvent.prototype.updateCellHeight = function (cell, height) {
277
- if ((height > cell.getBoundingClientRect().height)) {
279
+ if ((height > this.cellHeight)) {
278
280
  setStyleAttribute(cell, { 'height': height + 'px' });
279
281
  if (this.parent.activeViewOptions.group.resources.length > 0) {
280
282
  var resourceCell = this.parent.element.querySelector('.' + cls.RESOURCE_COLUMN_TABLE_CLASS + ' ' + 'tbody td[data-group-index="' +
@@ -303,7 +303,9 @@ var VerticalEvent = /** @class */ (function (_super) {
303
303
  var elementId = this.parent.element.id + '_';
304
304
  var viewName = this.parent.activeViewOptions.eventTemplateName;
305
305
  var templateId = elementId + viewName + 'eventTemplate';
306
- templateElement = this.parent.getAppointmentTemplate()(record, this.parent, 'eventTemplate', templateId, false);
306
+ var resIndex = this.parent.uiStateValues.isGroupAdaptive ? this.parent.uiStateValues.groupIndex : resource;
307
+ var templateName = 'eventTemplate' + (this.parent.activeViewOptions.group.resources.length > 0 ? '_' + resIndex : '');
308
+ templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false);
307
309
  }
308
310
  else {
309
311
  var appointmentSubject = createElement('div', { className: cls.SUBJECT_CLASS, innerHTML: recordSubject });
@@ -493,6 +495,8 @@ var VerticalEvent = /** @class */ (function (_super) {
493
495
  appointmentElement_1 = this.createAppointmentElement(eventObj, true, record.data, resource);
494
496
  }
495
497
  addClass([appointmentElement_1], cls.ALLDAY_APPOINTMENT_CLASS);
498
+ var eventData = extend({}, record.data, null, true);
499
+ eventObj.data = eventData;
496
500
  var args = { data: eventObj, element: appointmentElement_1, cancel: false };
497
501
  this.parent.trigger(events.eventRendered, args, function (eventArgs) {
498
502
  if (!eventArgs.cancel) {
@@ -574,7 +578,11 @@ var VerticalEvent = /** @class */ (function (_super) {
574
578
  subjectElement.style.maxHeight = formatUnit(maxHeight);
575
579
  }
576
580
  var index = this.parent.activeViewOptions.group.byDate ? (this.resources.length * dayIndex) + resource : dayCount;
577
- this.appendEvent(eventObj, appointmentElement, index, tempData.appLeft);
581
+ var eventData = {};
582
+ eventData[this.fields.startTime] = eventObj[this.fields.startTime];
583
+ eventData[this.fields.endTime] = eventObj[this.fields.endTime];
584
+ record.data = eventData;
585
+ this.appendEvent(record, appointmentElement, index, tempData.appLeft);
578
586
  this.wireAppointmentEvents(appointmentElement, eventObj);
579
587
  if (appHeight_1 < this.cellHeight) {
580
588
  var resizeHandlers = [].slice.call(appointmentElement.querySelectorAll('.' + cls.EVENT_RESIZE_CLASS));
@@ -253,6 +253,7 @@ var YearEvent = /** @class */ (function (_super) {
253
253
  var rowIndex = this.parent.activeViewOptions.orientation === 'Vertical' ? index : month;
254
254
  var td = this.parent.element.querySelector(".e-content-wrap tr:nth-child(" + (rowIndex + 1) + ") td");
255
255
  this.cellHeight = td.offsetHeight;
256
+ this.groupOrder = resource.groupOrder;
256
257
  for (var a = 0; a < eventDatas.length; a++) {
257
258
  var data = eventDatas[a];
258
259
  var overlapIndex = void 0;
@@ -489,7 +490,9 @@ var YearEvent = /** @class */ (function (_super) {
489
490
  }
490
491
  }
491
492
  else {
492
- if (((util.resetTime(appStart).getTime() <= dateStart) && (util.resetTime(appEnd).getTime() >= dateStart)) ||
493
+ var timeCondition = app[this.fields.isAllDay] ? util.resetTime(appEnd).getTime() > dateStart :
494
+ util.resetTime(appEnd).getTime() >= dateStart;
495
+ if (((util.resetTime(appStart).getTime() <= dateStart) && (timeCondition)) ||
493
496
  (util.resetTime(appStart).getTime() >= dateStart) && (util.resetTime(appEnd).getTime() <= dateEnd)) {
494
497
  appointmentsList.push(app);
495
498
  }
@@ -656,7 +656,7 @@ var EventWindow = /** @class */ (function () {
656
656
  return labelText;
657
657
  };
658
658
  EventWindow.prototype.onChange = function (args) {
659
- var target = (args.event.target);
659
+ var target = args.event.currentTarget.querySelector('input');
660
660
  if (target.classList.contains(cls.EVENT_WINDOW_ALL_DAY_CLASS)) {
661
661
  this.onAllDayChange(args.checked);
662
662
  }
@@ -471,13 +471,12 @@ var QuickPopups = /** @class */ (function () {
471
471
  if (saveButton) {
472
472
  this.renderButton('e-flat e-primary', '', this.parent.activeViewOptions.readonly, saveButton, this.saveClick);
473
473
  }
474
- this.quickPopup.content = quickCellPopup;
475
- this.quickPopup.dataBind();
476
- this.applyFormValidation();
477
474
  if (this.morePopup) {
478
475
  this.morePopup.hide();
479
476
  }
477
+ this.quickPopup.content = quickCellPopup;
480
478
  this.quickPopup.relateTo = target;
479
+ this.quickPopup.dataBind();
481
480
  this.beforeQuickPopupOpen(target);
482
481
  };
483
482
  QuickPopups.prototype.isSameEventClick = function (events) {
@@ -544,13 +543,13 @@ var QuickPopups = /** @class */ (function () {
544
543
  if (deleteButton) {
545
544
  this.renderButton('e-flat', '', deleteAction, deleteButton, this.deleteClick);
546
545
  }
547
- this.quickPopup.content = quickEventPopup;
548
- this.quickPopup.dataBind();
549
546
  if (this.morePopup && !closest(events.element, '.' + cls.MORE_EVENT_WRAPPER_CLASS)) {
550
547
  this.morePopup.hide();
551
548
  }
549
+ this.quickPopup.content = quickEventPopup;
552
550
  this.quickPopup.relateTo = this.parent.isAdaptive ? document.body :
553
551
  closest(events.element, '.' + cls.APPOINTMENT_CLASS);
552
+ this.quickPopup.dataBind();
554
553
  this.beforeQuickPopupOpen(events.element);
555
554
  }
556
555
  };
@@ -844,6 +843,7 @@ var QuickPopups = /** @class */ (function () {
844
843
  });
845
844
  };
846
845
  QuickPopups.prototype.saveClick = function (event) {
846
+ this.applyFormValidation();
847
847
  this.dialogEvent = event;
848
848
  this.isCrudAction = true;
849
849
  this.quickPopupHide();
@@ -172,7 +172,7 @@ var Month = /** @class */ (function (_super) {
172
172
  if (this.parent.activeViewOptions.allowVirtualScrolling) {
173
173
  clsList.push(cls.VIRTUAL_SCROLL_CLASS);
174
174
  }
175
- if (this.parent.eventSettings.ignoreWhitespace) {
175
+ if (this.parent.rowAutoHeight && this.parent.eventSettings.ignoreWhitespace) {
176
176
  clsList.push(cls.IGNORE_WHITESPACE);
177
177
  }
178
178
  addClass([this.element], clsList);
@@ -401,7 +401,7 @@ var VerticalView = /** @class */ (function (_super) {
401
401
  if (this.parent.activeViewOptions.allowVirtualScrolling) {
402
402
  clsList.push(cls.VIRTUAL_SCROLL_CLASS);
403
403
  }
404
- if (this.parent.eventSettings.ignoreWhitespace) {
404
+ if (this.parent.rowAutoHeight && this.parent.eventSettings.ignoreWhitespace) {
405
405
  clsList.push(cls.IGNORE_WHITESPACE);
406
406
  }
407
407
  this.renderPanel(type);
@@ -119,7 +119,7 @@ var Year = /** @class */ (function (_super) {
119
119
  var weekNumber = this.parent.getWeekNumberContent(weekDates);
120
120
  var td = createElement('td', {
121
121
  className: 'e-week-number',
122
- attrs: { 'role': 'gridcell', 'title': 'Week ' + weekNumber },
122
+ attrs: { 'role': 'gridcell', 'title': this.parent.localeObj.getConstant('week') + ' ' + weekNumber },
123
123
  innerHTML: weekNumber
124
124
  });
125
125
  tr_1.appendChild(td);
@@ -2092,7 +2092,7 @@
2092
2092
  .e-schedule .e-timeline-view.e-ignore-whitespace .e-resource-cells,
2093
2093
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-work-cells,
2094
2094
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells {
2095
- height: 60px;
2095
+ height: 42px;
2096
2096
  }
2097
2097
 
2098
2098
  .e-schedule .e-timeline-view.e-virtual-mask .e-work-cells,
@@ -2276,6 +2276,10 @@
2276
2276
  transform: translateY(0);
2277
2277
  }
2278
2278
 
2279
+ .e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
2280
+ position: relative;
2281
+ }
2282
+
2279
2283
  .e-schedule .e-virtual-scroll .e-content-wrap.e-transition {
2280
2284
  transition: all 1000ms linear;
2281
2285
  }
@@ -4004,7 +4008,7 @@
4004
4008
  .e-bigger .e-more-popup-wrapper .e-more-event-content,
4005
4009
  .e-more-popup-wrapper .e-more-event-content {
4006
4010
  height: calc(100% - 35px);
4007
- max-height: 300px;
4011
+ max-height: 150px;
4008
4012
  overflow-y: auto;
4009
4013
  padding-left: 10px;
4010
4014
  padding-right: 10px;
@@ -2089,7 +2089,7 @@
2089
2089
  .e-schedule .e-timeline-view.e-ignore-whitespace .e-resource-cells,
2090
2090
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-work-cells,
2091
2091
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells {
2092
- height: 60px;
2092
+ height: 42px;
2093
2093
  }
2094
2094
 
2095
2095
  .e-schedule .e-timeline-view.e-virtual-mask .e-work-cells,
@@ -2273,6 +2273,10 @@
2273
2273
  transform: translateY(0);
2274
2274
  }
2275
2275
 
2276
+ .e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
2277
+ position: relative;
2278
+ }
2279
+
2276
2280
  .e-schedule .e-virtual-scroll .e-content-wrap.e-transition {
2277
2281
  transition: all 1000ms linear;
2278
2282
  }
@@ -4002,7 +4006,7 @@
4002
4006
  .e-bigger .e-more-popup-wrapper .e-more-event-content,
4003
4007
  .e-more-popup-wrapper .e-more-event-content {
4004
4008
  height: calc(100% - 35px);
4005
- max-height: 300px;
4009
+ max-height: 150px;
4006
4010
  overflow-y: auto;
4007
4011
  padding-left: 10px;
4008
4012
  padding-right: 10px;
@@ -2095,7 +2095,7 @@
2095
2095
  .e-schedule .e-timeline-view.e-ignore-whitespace .e-resource-cells,
2096
2096
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-work-cells,
2097
2097
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells {
2098
- height: 60px;
2098
+ height: 42px;
2099
2099
  }
2100
2100
 
2101
2101
  .e-schedule .e-timeline-view.e-virtual-mask .e-work-cells,
@@ -2279,6 +2279,10 @@
2279
2279
  transform: translateY(0);
2280
2280
  }
2281
2281
 
2282
+ .e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
2283
+ position: relative;
2284
+ }
2285
+
2282
2286
  .e-schedule .e-virtual-scroll .e-content-wrap.e-transition {
2283
2287
  transition: all 1000ms linear;
2284
2288
  }
@@ -4113,7 +4117,7 @@
4113
4117
  .e-bigger .e-more-popup-wrapper .e-more-event-content,
4114
4118
  .e-more-popup-wrapper .e-more-event-content {
4115
4119
  height: calc(100% - 35px);
4116
- max-height: 300px;
4120
+ max-height: 150px;
4117
4121
  overflow-y: auto;
4118
4122
  padding-left: 10px;
4119
4123
  padding-right: 10px;
@@ -2100,7 +2100,7 @@
2100
2100
  .e-schedule .e-timeline-view.e-ignore-whitespace .e-resource-cells,
2101
2101
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-work-cells,
2102
2102
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells {
2103
- height: 60px;
2103
+ height: 42px;
2104
2104
  }
2105
2105
 
2106
2106
  .e-schedule .e-timeline-view.e-virtual-mask .e-work-cells,
@@ -2284,6 +2284,10 @@
2284
2284
  transform: translateY(0);
2285
2285
  }
2286
2286
 
2287
+ .e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
2288
+ position: relative;
2289
+ }
2290
+
2287
2291
  .e-schedule .e-virtual-scroll .e-content-wrap.e-transition {
2288
2292
  transition: all 1000ms linear;
2289
2293
  }
@@ -4120,7 +4124,7 @@
4120
4124
  .e-bigger .e-more-popup-wrapper .e-more-event-content,
4121
4125
  .e-more-popup-wrapper .e-more-event-content {
4122
4126
  height: calc(100% - 35px);
4123
- max-height: 300px;
4127
+ max-height: 150px;
4124
4128
  overflow-y: auto;
4125
4129
  padding-left: 10px;
4126
4130
  padding-right: 10px;
@@ -2101,7 +2101,7 @@
2101
2101
  .e-schedule .e-timeline-view.e-ignore-whitespace .e-resource-cells,
2102
2102
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-work-cells,
2103
2103
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells {
2104
- height: 60px;
2104
+ height: 42px;
2105
2105
  }
2106
2106
 
2107
2107
  .e-schedule .e-timeline-view.e-virtual-mask .e-work-cells,
@@ -2285,6 +2285,10 @@
2285
2285
  transform: translateY(0);
2286
2286
  }
2287
2287
 
2288
+ .e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
2289
+ position: relative;
2290
+ }
2291
+
2288
2292
  .e-schedule .e-virtual-scroll .e-content-wrap.e-transition {
2289
2293
  transition: all 1000ms linear;
2290
2294
  }
@@ -4121,7 +4125,7 @@
4121
4125
  .e-bigger .e-more-popup-wrapper .e-more-event-content,
4122
4126
  .e-more-popup-wrapper .e-more-event-content {
4123
4127
  height: calc(100% - 35px);
4124
- max-height: 300px;
4128
+ max-height: 150px;
4125
4129
  overflow-y: auto;
4126
4130
  padding-left: 10px;
4127
4131
  padding-right: 10px;
@@ -2092,7 +2092,7 @@
2092
2092
  .e-schedule .e-timeline-view.e-ignore-whitespace .e-resource-cells,
2093
2093
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-work-cells,
2094
2094
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells {
2095
- height: 60px;
2095
+ height: 42px;
2096
2096
  }
2097
2097
 
2098
2098
  .e-schedule .e-timeline-view.e-virtual-mask .e-work-cells,
@@ -2276,6 +2276,10 @@
2276
2276
  transform: translateY(0);
2277
2277
  }
2278
2278
 
2279
+ .e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
2280
+ position: relative;
2281
+ }
2282
+
2279
2283
  .e-schedule .e-virtual-scroll .e-content-wrap.e-transition {
2280
2284
  transition: all 1000ms linear;
2281
2285
  }
@@ -4005,7 +4009,7 @@
4005
4009
  .e-bigger .e-more-popup-wrapper .e-more-event-content,
4006
4010
  .e-more-popup-wrapper .e-more-event-content {
4007
4011
  height: calc(100% - 35px);
4008
- max-height: 300px;
4012
+ max-height: 150px;
4009
4013
  overflow-y: auto;
4010
4014
  padding-left: 10px;
4011
4015
  padding-right: 10px;
package/styles/fabric.css CHANGED
@@ -2092,7 +2092,7 @@
2092
2092
  .e-schedule .e-timeline-view.e-ignore-whitespace .e-resource-cells,
2093
2093
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-work-cells,
2094
2094
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells {
2095
- height: 60px;
2095
+ height: 42px;
2096
2096
  }
2097
2097
 
2098
2098
  .e-schedule .e-timeline-view.e-virtual-mask .e-work-cells,
@@ -2276,6 +2276,10 @@
2276
2276
  transform: translateY(0);
2277
2277
  }
2278
2278
 
2279
+ .e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
2280
+ position: relative;
2281
+ }
2282
+
2279
2283
  .e-schedule .e-virtual-scroll .e-content-wrap.e-transition {
2280
2284
  transition: all 1000ms linear;
2281
2285
  }
@@ -4021,7 +4025,7 @@
4021
4025
  .e-bigger .e-more-popup-wrapper .e-more-event-content,
4022
4026
  .e-more-popup-wrapper .e-more-event-content {
4023
4027
  height: calc(100% - 35px);
4024
- max-height: 300px;
4028
+ max-height: 150px;
4025
4029
  overflow-y: auto;
4026
4030
  padding-left: 10px;
4027
4031
  padding-right: 10px;
@@ -2088,7 +2088,7 @@
2088
2088
  .e-schedule .e-timeline-view.e-ignore-whitespace .e-resource-cells,
2089
2089
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-work-cells,
2090
2090
  .e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells {
2091
- height: 60px;
2091
+ height: 42px;
2092
2092
  }
2093
2093
 
2094
2094
  .e-schedule .e-timeline-view.e-virtual-mask .e-work-cells,
@@ -2272,6 +2272,10 @@
2272
2272
  transform: translateY(0);
2273
2273
  }
2274
2274
 
2275
+ .e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
2276
+ position: relative;
2277
+ }
2278
+
2275
2279
  .e-schedule .e-virtual-scroll .e-content-wrap.e-transition {
2276
2280
  transition: all 1000ms linear;
2277
2281
  }
@@ -4001,7 +4005,7 @@
4001
4005
  .e-bigger .e-more-popup-wrapper .e-more-event-content,
4002
4006
  .e-more-popup-wrapper .e-more-event-content {
4003
4007
  height: calc(100% - 35px);
4004
- max-height: 300px;
4008
+ max-height: 150px;
4005
4009
  overflow-y: auto;
4006
4010
  padding-left: 10px;
4007
4011
  padding-right: 10px;