@syncfusion/ej2-schedule 30.2.4 → 31.1.17
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.
- package/dist/ej2-schedule.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +132 -43
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +132 -43
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +2 -2
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/dist/ts/common/calendar-util.d.ts +92 -0
- package/dist/ts/common/calendar-util.ts +261 -0
- package/dist/ts/common/index.d.ts +4 -0
- package/dist/ts/common/index.ts +4 -0
- package/dist/ts/components.d.ts +5 -0
- package/dist/ts/components.ts +5 -0
- package/dist/ts/index.d.ts +6 -0
- package/dist/ts/index.ts +7 -0
- package/dist/ts/recurrence-editor/date-generator.d.ts +76 -0
- package/dist/ts/recurrence-editor/date-generator.ts +1699 -0
- package/dist/ts/recurrence-editor/index.d.ts +6 -0
- package/dist/ts/recurrence-editor/index.ts +6 -0
- package/dist/ts/recurrence-editor/recurrence-editor-model.d.ts +112 -0
- package/dist/ts/recurrence-editor/recurrence-editor.d.ts +245 -0
- package/dist/ts/recurrence-editor/recurrence-editor.ts +1257 -0
- package/dist/ts/schedule/actions/action-base.d.ts +44 -0
- package/dist/ts/schedule/actions/action-base.ts +493 -0
- package/dist/ts/schedule/actions/crud.d.ts +41 -0
- package/dist/ts/schedule/actions/crud.ts +784 -0
- package/dist/ts/schedule/actions/data.d.ts +63 -0
- package/dist/ts/schedule/actions/data.ts +128 -0
- package/dist/ts/schedule/actions/drag.d.ts +75 -0
- package/dist/ts/schedule/actions/drag.ts +1401 -0
- package/dist/ts/schedule/actions/keyboard.d.ts +100 -0
- package/dist/ts/schedule/actions/keyboard.ts +1435 -0
- package/dist/ts/schedule/actions/resize.d.ts +27 -0
- package/dist/ts/schedule/actions/resize.ts +602 -0
- package/dist/ts/schedule/actions/scroll.d.ts +69 -0
- package/dist/ts/schedule/actions/scroll.ts +105 -0
- package/dist/ts/schedule/actions/touch.d.ts +32 -0
- package/dist/ts/schedule/actions/touch.ts +314 -0
- package/dist/ts/schedule/actions/virtual-scroll.d.ts +55 -0
- package/dist/ts/schedule/actions/virtual-scroll.ts +596 -0
- package/dist/ts/schedule/actions/work-cells.d.ts +14 -0
- package/dist/ts/schedule/actions/work-cells.ts +151 -0
- package/dist/ts/schedule/base/constant.d.ts +102 -0
- package/dist/ts/schedule/base/constant.ts +103 -0
- package/dist/ts/schedule/base/css-constant.d.ts +475 -0
- package/dist/ts/schedule/base/css-constant.ts +475 -0
- package/dist/ts/schedule/base/interface.d.ts +673 -0
- package/dist/ts/schedule/base/interface.ts +738 -0
- package/dist/ts/schedule/base/resource.d.ts +59 -0
- package/dist/ts/schedule/base/resource.ts +1091 -0
- package/dist/ts/schedule/base/schedule-model.d.ts +930 -0
- package/dist/ts/schedule/base/schedule.d.ts +1967 -0
- package/dist/ts/schedule/base/schedule.ts +4221 -0
- package/dist/ts/schedule/base/type.d.ts +134 -0
- package/dist/ts/schedule/base/type.ts +142 -0
- package/dist/ts/schedule/base/util.d.ts +266 -0
- package/dist/ts/schedule/base/util.ts +492 -0
- package/dist/ts/schedule/event-renderer/agenda-base.d.ts +15 -0
- package/dist/ts/schedule/event-renderer/agenda-base.ts +423 -0
- package/dist/ts/schedule/event-renderer/event-base.d.ts +101 -0
- package/dist/ts/schedule/event-renderer/event-base.ts +1501 -0
- package/dist/ts/schedule/event-renderer/inline-edit.d.ts +23 -0
- package/dist/ts/schedule/event-renderer/inline-edit.ts +287 -0
- package/dist/ts/schedule/event-renderer/month.d.ts +60 -0
- package/dist/ts/schedule/event-renderer/month.ts +760 -0
- package/dist/ts/schedule/event-renderer/timeline-view.d.ts +51 -0
- package/dist/ts/schedule/event-renderer/timeline-view.ts +606 -0
- package/dist/ts/schedule/event-renderer/vertical-view.d.ts +57 -0
- package/dist/ts/schedule/event-renderer/vertical-view.ts +898 -0
- package/dist/ts/schedule/event-renderer/year.d.ts +27 -0
- package/dist/ts/schedule/event-renderer/year.ts +623 -0
- package/dist/ts/schedule/exports/calendar-export.d.ts +16 -0
- package/dist/ts/schedule/exports/calendar-export.ts +160 -0
- package/dist/ts/schedule/exports/calendar-import.d.ts +18 -0
- package/dist/ts/schedule/exports/calendar-import.ts +277 -0
- package/dist/ts/schedule/exports/excel-export.d.ts +14 -0
- package/dist/ts/schedule/exports/excel-export.ts +89 -0
- package/dist/ts/schedule/exports/index.d.ts +7 -0
- package/dist/ts/schedule/exports/index.ts +7 -0
- package/dist/ts/schedule/exports/print.d.ts +20 -0
- package/dist/ts/schedule/exports/print.ts +233 -0
- package/dist/ts/schedule/index.d.ts +26 -0
- package/dist/ts/schedule/index.ts +26 -0
- package/dist/ts/schedule/models/event-settings-model.d.ts +165 -0
- package/dist/ts/schedule/models/event-settings.d.ts +149 -0
- package/dist/ts/schedule/models/event-settings.ts +187 -0
- package/dist/ts/schedule/models/field-options-model.d.ts +37 -0
- package/dist/ts/schedule/models/field-options.d.ts +31 -0
- package/dist/ts/schedule/models/field-options.ts +41 -0
- package/dist/ts/schedule/models/fields-model.d.ts +129 -0
- package/dist/ts/schedule/models/fields.d.ts +117 -0
- package/dist/ts/schedule/models/fields.ts +149 -0
- package/dist/ts/schedule/models/group-model.d.ts +69 -0
- package/dist/ts/schedule/models/group.d.ts +60 -0
- package/dist/ts/schedule/models/group.ts +75 -0
- package/dist/ts/schedule/models/header-rows-model.d.ts +33 -0
- package/dist/ts/schedule/models/header-rows.d.ts +30 -0
- package/dist/ts/schedule/models/header-rows.ts +35 -0
- package/dist/ts/schedule/models/models.d.ts +14 -0
- package/dist/ts/schedule/models/models.ts +15 -0
- package/dist/ts/schedule/models/quick-info-templates-model.d.ts +52 -0
- package/dist/ts/schedule/models/quick-info-templates.d.ts +47 -0
- package/dist/ts/schedule/models/quick-info-templates.ts +56 -0
- package/dist/ts/schedule/models/resources-model.d.ts +122 -0
- package/dist/ts/schedule/models/resources.d.ts +106 -0
- package/dist/ts/schedule/models/resources.ts +138 -0
- package/dist/ts/schedule/models/time-scale-model.d.ts +57 -0
- package/dist/ts/schedule/models/time-scale.d.ts +50 -0
- package/dist/ts/schedule/models/time-scale.ts +61 -0
- package/dist/ts/schedule/models/toolbar-model.d.ts +196 -0
- package/dist/ts/schedule/models/toolbar.d.ts +176 -0
- package/dist/ts/schedule/models/toolbar.ts +196 -0
- package/dist/ts/schedule/models/views-model.d.ts +370 -0
- package/dist/ts/schedule/models/views.d.ts +335 -0
- package/dist/ts/schedule/models/views.ts +408 -0
- package/dist/ts/schedule/models/work-hours-model.d.ts +29 -0
- package/dist/ts/schedule/models/work-hours.d.ts +24 -0
- package/dist/ts/schedule/models/work-hours.ts +31 -0
- package/dist/ts/schedule/popups/event-tooltip.d.ts +16 -0
- package/dist/ts/schedule/popups/event-tooltip.ts +203 -0
- package/dist/ts/schedule/popups/event-window.d.ts +118 -0
- package/dist/ts/schedule/popups/event-window.ts +2055 -0
- package/dist/ts/schedule/popups/form-validator.d.ts +16 -0
- package/dist/ts/schedule/popups/form-validator.ts +110 -0
- package/dist/ts/schedule/popups/quick-popups.d.ts +78 -0
- package/dist/ts/schedule/popups/quick-popups.ts +1470 -0
- package/dist/ts/schedule/renderer/agenda.d.ts +45 -0
- package/dist/ts/schedule/renderer/agenda.ts +497 -0
- package/dist/ts/schedule/renderer/day.d.ts +20 -0
- package/dist/ts/schedule/renderer/day.ts +28 -0
- package/dist/ts/schedule/renderer/header-renderer.d.ts +48 -0
- package/dist/ts/schedule/renderer/header-renderer.ts +736 -0
- package/dist/ts/schedule/renderer/month-agenda.d.ts +29 -0
- package/dist/ts/schedule/renderer/month-agenda.ts +184 -0
- package/dist/ts/schedule/renderer/month.d.ts +61 -0
- package/dist/ts/schedule/renderer/month.ts +766 -0
- package/dist/ts/schedule/renderer/renderer.d.ts +13 -0
- package/dist/ts/schedule/renderer/renderer.ts +165 -0
- package/dist/ts/schedule/renderer/timeline-header-row.d.ts +15 -0
- package/dist/ts/schedule/renderer/timeline-header-row.ts +132 -0
- package/dist/ts/schedule/renderer/timeline-month.d.ts +29 -0
- package/dist/ts/schedule/renderer/timeline-month.ts +184 -0
- package/dist/ts/schedule/renderer/timeline-view.d.ts +31 -0
- package/dist/ts/schedule/renderer/timeline-view.ts +308 -0
- package/dist/ts/schedule/renderer/timeline-year.d.ts +22 -0
- package/dist/ts/schedule/renderer/timeline-year.ts +450 -0
- package/dist/ts/schedule/renderer/vertical-view.d.ts +63 -0
- package/dist/ts/schedule/renderer/vertical-view.ts +911 -0
- package/dist/ts/schedule/renderer/view-base.d.ts +83 -0
- package/dist/ts/schedule/renderer/view-base.ts +709 -0
- package/dist/ts/schedule/renderer/week.d.ts +22 -0
- package/dist/ts/schedule/renderer/week.ts +35 -0
- package/dist/ts/schedule/renderer/work-week.d.ts +22 -0
- package/dist/ts/schedule/renderer/work-week.ts +36 -0
- package/dist/ts/schedule/renderer/year.d.ts +46 -0
- package/dist/ts/schedule/renderer/year.ts +470 -0
- package/dist/ts/schedule/timezone/timezone.d.ts +16 -0
- package/dist/ts/schedule/timezone/timezone.ts +313 -0
- package/package.json +56 -21
- package/src/schedule/actions/action-base.js +3 -0
- package/src/schedule/actions/drag.js +11 -4
- package/src/schedule/actions/keyboard.js +1 -1
- package/src/schedule/actions/resize.js +9 -5
- package/src/schedule/actions/virtual-scroll.js +3 -0
- package/src/schedule/base/css-constant.d.ts +2 -0
- package/src/schedule/base/css-constant.js +2 -0
- package/src/schedule/base/schedule.js +15 -1
- package/src/schedule/event-renderer/agenda-base.d.ts +1 -1
- package/src/schedule/event-renderer/agenda-base.js +5 -4
- package/src/schedule/event-renderer/inline-edit.js +11 -6
- package/src/schedule/event-renderer/month.js +5 -3
- package/src/schedule/event-renderer/vertical-view.js +3 -0
- package/src/schedule/event-renderer/year.d.ts +2 -0
- package/src/schedule/event-renderer/year.js +28 -4
- package/src/schedule/popups/event-tooltip.js +4 -0
- package/src/schedule/popups/event-window.js +2 -2
- package/src/schedule/popups/quick-popups.js +5 -1
- package/src/schedule/renderer/agenda.js +3 -2
- package/src/schedule/renderer/month.js +9 -7
- package/src/schedule/renderer/vertical-view.js +1 -1
- package/src/schedule/renderer/view-base.d.ts +2 -0
- package/src/schedule/renderer/view-base.js +9 -0
- package/src/schedule/renderer/year.js +3 -2
- package/styles/bds-lite.css +11 -8
- package/styles/bds.css +11 -8
- package/styles/bootstrap-dark-lite.css +12 -9
- package/styles/bootstrap-dark.css +12 -9
- package/styles/bootstrap-lite.css +12 -9
- package/styles/bootstrap.css +12 -9
- package/styles/bootstrap4-lite.css +11 -8
- package/styles/bootstrap4.css +11 -8
- package/styles/bootstrap5-dark-lite.css +11 -8
- package/styles/bootstrap5-dark.css +11 -8
- package/styles/bootstrap5-lite.css +11 -8
- package/styles/bootstrap5.3-lite.css +11 -8
- package/styles/bootstrap5.3.css +11 -8
- package/styles/bootstrap5.css +11 -8
- package/styles/fabric-dark-lite.css +12 -9
- package/styles/fabric-dark.css +12 -9
- package/styles/fabric-lite.css +12 -9
- package/styles/fabric.css +12 -9
- package/styles/fluent-dark-lite.css +13 -10
- package/styles/fluent-dark.css +13 -10
- package/styles/fluent-lite.css +13 -10
- package/styles/fluent.css +13 -10
- package/styles/fluent2-lite.css +11 -8
- package/styles/fluent2.css +11 -8
- package/styles/highcontrast-light-lite.css +12 -9
- package/styles/highcontrast-light.css +12 -9
- package/styles/highcontrast-lite.css +12 -9
- package/styles/highcontrast.css +12 -9
- package/styles/material-dark-lite.css +12 -9
- package/styles/material-dark.css +12 -9
- package/styles/material-lite.css +12 -9
- package/styles/material.css +12 -9
- package/styles/material3-dark-lite.css +11 -8
- package/styles/material3-dark.css +11 -8
- package/styles/material3-lite.css +11 -8
- package/styles/material3.css +11 -8
- package/styles/recurrence-editor/_bds-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap-dark-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap4-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap5-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap5.3-definition.scss +1 -0
- package/styles/recurrence-editor/_fabric-dark-definition.scss +1 -0
- package/styles/recurrence-editor/_fabric-definition.scss +1 -0
- package/styles/recurrence-editor/_fluent-definition.scss +1 -0
- package/styles/recurrence-editor/_fluent2-definition.scss +1 -0
- package/styles/recurrence-editor/_fusionnew-definition.scss +1 -0
- package/styles/recurrence-editor/_highcontrast-definition.scss +1 -0
- package/styles/recurrence-editor/_highcontrast-light-definition.scss +1 -0
- package/styles/recurrence-editor/_layout.scss +5 -1
- package/styles/recurrence-editor/_material-dark-definition.scss +1 -0
- package/styles/recurrence-editor/_material-definition.scss +1 -0
- package/styles/recurrence-editor/_material3-definition.scss +1 -0
- package/styles/recurrence-editor/_tailwind-definition.scss +1 -0
- package/styles/recurrence-editor/_tailwind3-definition.scss +1 -0
- package/styles/recurrence-editor/bds.css +3 -0
- package/styles/recurrence-editor/bootstrap-dark.css +4 -1
- package/styles/recurrence-editor/bootstrap.css +4 -1
- package/styles/recurrence-editor/bootstrap4.css +3 -0
- package/styles/recurrence-editor/bootstrap5-dark.css +3 -0
- package/styles/recurrence-editor/bootstrap5.3.css +3 -0
- package/styles/recurrence-editor/bootstrap5.css +3 -0
- package/styles/recurrence-editor/fabric-dark.css +4 -1
- package/styles/recurrence-editor/fabric.css +4 -1
- package/styles/recurrence-editor/fluent-dark.css +4 -1
- package/styles/recurrence-editor/fluent.css +4 -1
- package/styles/recurrence-editor/fluent2.css +3 -0
- package/styles/recurrence-editor/highcontrast-light.css +4 -1
- package/styles/recurrence-editor/highcontrast.css +4 -1
- package/styles/recurrence-editor/material-dark.css +4 -1
- package/styles/recurrence-editor/material.css +4 -1
- package/styles/recurrence-editor/material3-dark.css +3 -0
- package/styles/recurrence-editor/material3.css +3 -0
- package/styles/recurrence-editor/tailwind-dark.css +3 -0
- package/styles/recurrence-editor/tailwind.css +3 -0
- package/styles/recurrence-editor/tailwind3.css +3 -0
- package/styles/schedule/_bds-definition.scss +2 -0
- package/styles/schedule/_bootstrap-dark-definition.scss +2 -0
- package/styles/schedule/_bootstrap-definition.scss +2 -0
- package/styles/schedule/_bootstrap4-definition.scss +2 -0
- package/styles/schedule/_bootstrap5-definition.scss +2 -0
- package/styles/schedule/_bootstrap5.3-definition.scss +2 -0
- package/styles/schedule/_fabric-dark-definition.scss +2 -0
- package/styles/schedule/_fabric-definition.scss +2 -0
- package/styles/schedule/_fluent-definition.scss +3 -1
- package/styles/schedule/_fluent2-definition.scss +2 -0
- package/styles/schedule/_fusionnew-definition.scss +2 -0
- package/styles/schedule/_highcontrast-definition.scss +2 -0
- package/styles/schedule/_highcontrast-light-definition.scss +2 -0
- package/styles/schedule/_layout.scss +12 -11
- package/styles/schedule/_material-dark-definition.scss +2 -0
- package/styles/schedule/_material-definition.scss +2 -0
- package/styles/schedule/_material3-definition.scss +2 -0
- package/styles/schedule/_tailwind-definition.scss +2 -0
- package/styles/schedule/_tailwind3-definition.scss +2 -0
- package/styles/schedule/bds.css +8 -8
- package/styles/schedule/bootstrap-dark.css +8 -8
- package/styles/schedule/bootstrap.css +8 -8
- package/styles/schedule/bootstrap4.css +8 -8
- package/styles/schedule/bootstrap5-dark.css +8 -8
- package/styles/schedule/bootstrap5.3.css +8 -8
- package/styles/schedule/bootstrap5.css +8 -8
- package/styles/schedule/fabric-dark.css +8 -8
- package/styles/schedule/fabric.css +8 -8
- package/styles/schedule/fluent-dark.css +9 -9
- package/styles/schedule/fluent.css +9 -9
- package/styles/schedule/fluent2.css +8 -8
- package/styles/schedule/highcontrast-light.css +8 -8
- package/styles/schedule/highcontrast.css +8 -8
- package/styles/schedule/material-dark.css +8 -8
- package/styles/schedule/material.css +8 -8
- package/styles/schedule/material3-dark.css +8 -8
- package/styles/schedule/material3.css +8 -8
- package/styles/schedule/tailwind-dark.css +8 -8
- package/styles/schedule/tailwind.css +8 -8
- package/styles/schedule/tailwind3.css +8 -8
- package/styles/tailwind-dark-lite.css +11 -8
- package/styles/tailwind-dark.css +11 -8
- package/styles/tailwind-lite.css +11 -8
- package/styles/tailwind.css +11 -8
- package/styles/tailwind3-lite.css +11 -8
- package/styles/tailwind3.css +11 -8
|
@@ -1033,6 +1033,8 @@ const MONTH_HEADER_WRAPPER = 'e-month-header-wrapper';
|
|
|
1033
1033
|
const INLINE_SUBJECT_CLASS = 'e-inline-subject';
|
|
1034
1034
|
/** @private */
|
|
1035
1035
|
const INLINE_APPOINTMENT_CLASS = 'e-inline-appointment';
|
|
1036
|
+
/** @private */
|
|
1037
|
+
const INLINE_EDIT_CLASS = 'e-inline-edit';
|
|
1036
1038
|
/** @hidden */
|
|
1037
1039
|
const SCROLL_HIDDEN = 'e-scroll-hidden';
|
|
1038
1040
|
/** @private */
|
|
@@ -3228,7 +3230,7 @@ class KeyboardInteraction {
|
|
|
3228
3230
|
}
|
|
3229
3231
|
processDelete(e) {
|
|
3230
3232
|
let activeEle = document.activeElement;
|
|
3231
|
-
if (this.parent.currentView === 'MonthAgenda') {
|
|
3233
|
+
if (this.parent.currentView === 'MonthAgenda' || (!isNullOrUndefined(activeEle) && closest(activeEle, '.' + POPUP_WRAPPER_CLASS))) {
|
|
3232
3234
|
const selectedEle = this.parent.eventBase.getSelectedEvents().element;
|
|
3233
3235
|
activeEle = ((selectedEle && isNullOrUndefined(selectedEle.length)) ? selectedEle : selectedEle[0]);
|
|
3234
3236
|
}
|
|
@@ -7703,6 +7705,9 @@ class VerticalEvent extends EventBase {
|
|
|
7703
7705
|
const record = this.splitEvent(eventObj, currentDates)[0];
|
|
7704
7706
|
const eStart = new Date(record[this.parent.eventFields.startTime].getTime());
|
|
7705
7707
|
const eEnd = new Date(record[this.parent.eventFields.endTime].getTime());
|
|
7708
|
+
if (eStart.getTime() < this.parent.minDate.getTime() || eEnd.getTime() > this.parent.maxDate.getTime()) {
|
|
7709
|
+
return;
|
|
7710
|
+
}
|
|
7706
7711
|
let appWidth = 0;
|
|
7707
7712
|
let topValue = 1;
|
|
7708
7713
|
const isDateRange = currentDates[0].getTime() <= eStart.getTime() &&
|
|
@@ -8215,13 +8220,15 @@ class MonthEvent extends EventBase {
|
|
|
8215
8220
|
this.parent.notify(scrollUiUpdate, data);
|
|
8216
8221
|
if (this.parent.currentView === 'Month' && this.parent.showWeekNumber) {
|
|
8217
8222
|
const totalCells = [].slice.call(this.parent.element.querySelectorAll('.e-content-wrap table tr td:first-child'));
|
|
8218
|
-
const weekNumberCells = [].slice.call(this.parent.element.querySelectorAll('.' + WEEK_NUMBER_CLASS));
|
|
8223
|
+
const weekNumberCells = [].slice.call(this.parent.element.querySelectorAll('td' + '.' + WEEK_NUMBER_CLASS));
|
|
8219
8224
|
weekNumberCells.forEach((cell, i) => {
|
|
8220
8225
|
const height = totalCells[parseInt(i.toString(), 10)].offsetHeight;
|
|
8221
8226
|
setStyleAttribute(cell, { 'height': height + 'px' });
|
|
8222
8227
|
});
|
|
8223
|
-
this.parent.element.querySelector('.' + WEEK_NUMBER_WRAPPER_CLASS)
|
|
8224
|
-
|
|
8228
|
+
const weekNumberWrapper = this.parent.element.querySelector('.' + WEEK_NUMBER_WRAPPER_CLASS);
|
|
8229
|
+
if (!isNullOrUndefined(weekNumberWrapper)) {
|
|
8230
|
+
weekNumberWrapper.scrollTop = this.parent.element.querySelector('.' + CONTENT_WRAP_CLASS).scrollTop;
|
|
8231
|
+
}
|
|
8225
8232
|
}
|
|
8226
8233
|
}
|
|
8227
8234
|
this.parent.renderTemplates();
|
|
@@ -9452,6 +9459,7 @@ class InlineEdit {
|
|
|
9452
9459
|
eventEdit(args) {
|
|
9453
9460
|
let inlineSubject = args.element.querySelector('.' + INLINE_SUBJECT_CLASS);
|
|
9454
9461
|
let subject;
|
|
9462
|
+
addClass([args.element], INLINE_EDIT_CLASS);
|
|
9455
9463
|
if (inlineSubject) {
|
|
9456
9464
|
subject = inlineSubject.value;
|
|
9457
9465
|
}
|
|
@@ -9459,11 +9467,9 @@ class InlineEdit {
|
|
|
9459
9467
|
const subEle = args.element.querySelector('.' + SUBJECT_CLASS);
|
|
9460
9468
|
if (!isNullOrUndefined(subEle)) {
|
|
9461
9469
|
addClass([subEle], DISABLE_CLASS);
|
|
9462
|
-
subject = subEle.innerText;
|
|
9463
|
-
}
|
|
9464
|
-
else {
|
|
9465
|
-
subject = args.data[this.parent.eventFields.subject];
|
|
9466
9470
|
}
|
|
9471
|
+
subject = !isNullOrUndefined(args.data) && args.data[this.parent.eventFields.subject] ||
|
|
9472
|
+
this.parent.eventSettings.fields.subject.default || this.parent.localeObj.getConstant('addTitle');
|
|
9467
9473
|
inlineSubject = this.inlineInputEle =
|
|
9468
9474
|
createElement('input', { className: INLINE_SUBJECT_CLASS, attrs: { value: subject } });
|
|
9469
9475
|
if (closest(args.element, '.' + MORE_POPUP_WRAPPER_CLASS)) {
|
|
@@ -9485,7 +9491,12 @@ class InlineEdit {
|
|
|
9485
9491
|
args.element.querySelector('.e-appointment-details').prepend(inlineSubject);
|
|
9486
9492
|
}
|
|
9487
9493
|
else {
|
|
9488
|
-
|
|
9494
|
+
if (subEle && this.parent.activeViewOptions && !this.parent.activeViewOptions.eventTemplate) {
|
|
9495
|
+
innerWrapElement.insertBefore(inlineSubject, subEle);
|
|
9496
|
+
}
|
|
9497
|
+
else {
|
|
9498
|
+
innerWrapElement.prepend(inlineSubject);
|
|
9499
|
+
}
|
|
9489
9500
|
}
|
|
9490
9501
|
}
|
|
9491
9502
|
inlineSubject.focus();
|
|
@@ -9610,7 +9621,7 @@ class InlineEdit {
|
|
|
9610
9621
|
}
|
|
9611
9622
|
createInlineAppointmentElement(inlineData) {
|
|
9612
9623
|
const inlineAppointmentElement = createElement('div', {
|
|
9613
|
-
className: APPOINTMENT_CLASS + ' ' + INLINE_APPOINTMENT_CLASS
|
|
9624
|
+
className: APPOINTMENT_CLASS + ' ' + INLINE_APPOINTMENT_CLASS + ' ' + INLINE_EDIT_CLASS
|
|
9614
9625
|
});
|
|
9615
9626
|
const inlineDetails = createElement('div', { className: APPOINTMENT_DETAILS });
|
|
9616
9627
|
inlineAppointmentElement.appendChild(inlineDetails);
|
|
@@ -9636,6 +9647,7 @@ class InlineEdit {
|
|
|
9636
9647
|
const inlineSubject = this.getInlineElement();
|
|
9637
9648
|
if (inlineSubject) {
|
|
9638
9649
|
const appointmentSubject = closest(inlineSubject, '.' + APPOINTMENT_CLASS);
|
|
9650
|
+
removeClass([appointmentSubject], INLINE_EDIT_CLASS);
|
|
9639
9651
|
const subject = appointmentSubject.querySelector('.' + SUBJECT_CLASS);
|
|
9640
9652
|
if (!isNullOrUndefined(subject)) {
|
|
9641
9653
|
removeClass([subject], DISABLE_CLASS);
|
|
@@ -11058,7 +11070,11 @@ class QuickPopups {
|
|
|
11058
11070
|
if (closest(target, '.' + APPOINTMENT_CLASS + ',.' + HEADER_CELLS_CLASS)) {
|
|
11059
11071
|
this.parent.removeNewEventElement();
|
|
11060
11072
|
}
|
|
11061
|
-
|
|
11073
|
+
const isQuickPopupClick = closest(target, '.' + POPUP_WRAPPER_CLASS) ||
|
|
11074
|
+
closest(target, '.' + QUICK_DIALOG_CLASS);
|
|
11075
|
+
const isEditButton = target.classList.contains(EDIT_EVENT_CLASS) ||
|
|
11076
|
+
target.classList.contains(EDIT_CLASS) || target.classList.contains(EDIT_ICON_CLASS);
|
|
11077
|
+
if (isEditButton || !isQuickPopupClick && !closest(target, '.' + MORE_POPUP_WRAPPER_CLASS) && (target.classList &&
|
|
11062
11078
|
!target.classList.contains(MORE_INDICATOR_CLASS))
|
|
11063
11079
|
&& (!closest(target, '.' + MORE_POPUP_WRAPPER_CLASS + '.' + POPUP_OPEN))
|
|
11064
11080
|
&& !closest(target, '.' + WORK_CELLS_CLASS)) {
|
|
@@ -11204,6 +11220,10 @@ class EventTooltip {
|
|
|
11204
11220
|
return;
|
|
11205
11221
|
}
|
|
11206
11222
|
if (args.target.classList.contains(RESOURCE_CELLS_CLASS) && this.parent.activeViewOptions.group.resources.length > 0) {
|
|
11223
|
+
if (args.target.closest('.' + LEFT_INDENT_WRAP_CLASS)) {
|
|
11224
|
+
args.cancel = true;
|
|
11225
|
+
return;
|
|
11226
|
+
}
|
|
11207
11227
|
let resCollection;
|
|
11208
11228
|
if (this.parent.activeView.isTimelineView()) {
|
|
11209
11229
|
const index = parseInt(args.target.getAttribute('data-group-index'), 10);
|
|
@@ -13697,9 +13717,9 @@ class EventWindow {
|
|
|
13697
13717
|
const startObj = startDate.ej2_instances[0];
|
|
13698
13718
|
const endObj = endDate.ej2_instances[0];
|
|
13699
13719
|
startObj.min = this.parent.minDate;
|
|
13700
|
-
startObj.max = this.parent.maxDate;
|
|
13720
|
+
startObj.max = new Date(new Date(+this.parent.maxDate).setHours(23, 59, 59));
|
|
13701
13721
|
endObj.min = this.parent.minDate;
|
|
13702
|
-
endObj.max = this.parent.maxDate;
|
|
13722
|
+
endObj.max = new Date(new Date(+this.parent.maxDate).setHours(23, 59, 59));
|
|
13703
13723
|
startObj.dataBind();
|
|
13704
13724
|
endObj.dataBind();
|
|
13705
13725
|
}
|
|
@@ -14849,6 +14869,9 @@ class VirtualScroll {
|
|
|
14849
14869
|
this.removeObsoleteRows(resWrapRows, currentGroupIndices);
|
|
14850
14870
|
this.removeObsoleteRows(conWrapRows, currentGroupIndices);
|
|
14851
14871
|
const resourceRows = this.parent.resourceBase.getContentRows(resCollection, true);
|
|
14872
|
+
if (this.parent.isReact) {
|
|
14873
|
+
this.parent.renderTemplates();
|
|
14874
|
+
}
|
|
14852
14875
|
const contentRows = this.parent.activeView.getContentRows();
|
|
14853
14876
|
const eventRows = this.parent.activeView.getEventRows(resCollection.length);
|
|
14854
14877
|
for (let i = 0; i < newGroupIndices.length; i++) {
|
|
@@ -19170,6 +19193,14 @@ let Schedule = class Schedule extends Component {
|
|
|
19170
19193
|
if (newProp.allowKeyboardInteraction || newProp.allowClipboard) {
|
|
19171
19194
|
this.keyboardInteractionModule = new KeyboardInteraction(this);
|
|
19172
19195
|
}
|
|
19196
|
+
if (prop === 'allowClipboard') {
|
|
19197
|
+
if (newProp.allowClipboard) {
|
|
19198
|
+
EventHandler.add(document, 'paste', this.onDocumentPaste, this);
|
|
19199
|
+
}
|
|
19200
|
+
else {
|
|
19201
|
+
EventHandler.remove(document, 'paste', this.onDocumentPaste);
|
|
19202
|
+
}
|
|
19203
|
+
}
|
|
19173
19204
|
break;
|
|
19174
19205
|
case 'timezoneDataSource':
|
|
19175
19206
|
if (this.eventWindow) {
|
|
@@ -20111,12 +20142,18 @@ let Schedule = class Schedule extends Component {
|
|
|
20111
20142
|
* @returns {void}
|
|
20112
20143
|
*/
|
|
20113
20144
|
paste(targetElement) {
|
|
20114
|
-
if (!this.allowClipboard || !this.allowKeyboardInteraction) {
|
|
20145
|
+
if (!this.allowClipboard || !this.allowKeyboardInteraction || !targetElement) {
|
|
20115
20146
|
return;
|
|
20116
20147
|
}
|
|
20117
20148
|
if (!targetElement.classList.contains('e-work-cells') && !targetElement.classList.contains('e-all-day-cells')) {
|
|
20118
20149
|
return;
|
|
20119
20150
|
}
|
|
20151
|
+
if (!this.activeCellsData) {
|
|
20152
|
+
const cellData = this.getCellDetails([targetElement]);
|
|
20153
|
+
if (cellData) {
|
|
20154
|
+
this.activeCellsData = cellData;
|
|
20155
|
+
}
|
|
20156
|
+
}
|
|
20120
20157
|
const clipboardData = new DataTransfer();
|
|
20121
20158
|
if (!isNullOrUndefined(navigator.clipboard)) {
|
|
20122
20159
|
navigator.clipboard.readText()
|
|
@@ -21097,6 +21134,9 @@ class ActionBase {
|
|
|
21097
21134
|
if (this.parent.activeViewOptions.group.resources.length > 0) {
|
|
21098
21135
|
query = query.concat('[data-group-index = "' + cloneElement.getAttribute('data-group-index') + '"]');
|
|
21099
21136
|
}
|
|
21137
|
+
if (cloneElement.hasAttribute('data-guid')) {
|
|
21138
|
+
query += '[data-guid="' + cloneElement.getAttribute('data-guid') + '"]';
|
|
21139
|
+
}
|
|
21100
21140
|
const elements = [].slice.call(this.parent.element.querySelectorAll(query));
|
|
21101
21141
|
addClass(elements, EVENT_ACTION_CLASS);
|
|
21102
21142
|
const eventWrappers = [].slice.call(this.parent.element.querySelectorAll('.' + CLONE_ELEMENT_CLASS));
|
|
@@ -21265,17 +21305,20 @@ class Resize extends ActionBase {
|
|
|
21265
21305
|
}
|
|
21266
21306
|
}
|
|
21267
21307
|
resizeStart(e) {
|
|
21268
|
-
if (e && e.type === 'touchstart' && (!this.parent.uiStateValues.isTapHold ||
|
|
21269
|
-
!closest(e.target, '.' + APPOINTMENT_BORDER))) {
|
|
21308
|
+
if ((e && e.type === 'touchstart' && (!this.parent.uiStateValues.isTapHold ||
|
|
21309
|
+
!closest(e.target, '.' + APPOINTMENT_BORDER))) || closest(e.target, '.' + INLINE_EDIT_CLASS)) {
|
|
21310
|
+
return;
|
|
21311
|
+
}
|
|
21312
|
+
const resizeTarget = closest(e.target, '.' + EVENT_RESIZE_CLASS);
|
|
21313
|
+
this.actionObj.element = closest(resizeTarget, '.' + APPOINTMENT_CLASS);
|
|
21314
|
+
this.actionObj.event = this.parent.eventBase.getEventByGuid(this.actionObj.element.getAttribute('data-guid'));
|
|
21315
|
+
if (isNullOrUndefined(this.actionObj.event)) {
|
|
21270
21316
|
return;
|
|
21271
21317
|
}
|
|
21272
21318
|
this.parent.eventBase.removeSelectedAppointmentClass();
|
|
21273
21319
|
this.actionObj.action = 'resize';
|
|
21274
21320
|
this.actionObj.slotInterval = this.parent.activeViewOptions.timeScale.interval / this.parent.activeViewOptions.timeScale.slotCount;
|
|
21275
21321
|
this.actionObj.interval = this.actionObj.slotInterval;
|
|
21276
|
-
const resizeTarget = closest(e.target, '.' + EVENT_RESIZE_CLASS);
|
|
21277
|
-
this.actionObj.element = closest(resizeTarget, '.' + APPOINTMENT_CLASS);
|
|
21278
|
-
this.actionObj.event = this.parent.eventBase.getEventByGuid(this.actionObj.element.getAttribute('data-guid'));
|
|
21279
21322
|
const eventObj = extend({}, this.actionObj.event, null, true);
|
|
21280
21323
|
const resizeArgs = {
|
|
21281
21324
|
cancel: false,
|
|
@@ -21785,6 +21828,7 @@ class Resize extends ActionBase {
|
|
|
21785
21828
|
(Math.ceil((targetWidth - cloneWidth) / this.actionObj.cellWidth) * this.actionObj.cellWidth) : offsetLeft);
|
|
21786
21829
|
}
|
|
21787
21830
|
}
|
|
21831
|
+
width = Math.floor(width);
|
|
21788
21832
|
styles.width = formatUnit(width);
|
|
21789
21833
|
return styles;
|
|
21790
21834
|
}
|
|
@@ -21973,9 +22017,10 @@ class YearEvent extends TimelineEvent {
|
|
|
21973
22017
|
continue;
|
|
21974
22018
|
}
|
|
21975
22019
|
}
|
|
21976
|
-
|
|
21977
|
-
|
|
21978
|
-
|
|
22020
|
+
if (this.maxHeight && this.parent.currentView.indexOf('Timeline') !== -1 && overlapIndex > 0) {
|
|
22021
|
+
continue;
|
|
22022
|
+
}
|
|
22023
|
+
if (this.parent.rowAutoHeight || this.shouldRenderAppointment(overlapIndex, availedHeight)) {
|
|
21979
22024
|
this.renderEvent(eventWrapper, eventData, row, leftValue, rightValue, monthStart, dayIndex);
|
|
21980
22025
|
if (this.parent.rowAutoHeight || this.cellHeight > availedHeight) {
|
|
21981
22026
|
this.updateCellHeight(rowTd, availedHeight);
|
|
@@ -22105,6 +22150,19 @@ class YearEvent extends TimelineEvent {
|
|
|
22105
22150
|
});
|
|
22106
22151
|
}
|
|
22107
22152
|
}
|
|
22153
|
+
shouldRenderAppointment(overlapIndex, availedHeight) {
|
|
22154
|
+
const eventsPerRow = this.parent.rowAutoHeight ? 1 : this.parent.activeViewOptions.maxEventsPerRow;
|
|
22155
|
+
if (this.parent.activeViewOptions.maxEventsPerRow && !this.parent.rowAutoHeight &&
|
|
22156
|
+
!this.parent.eventSettings.enableIndicator) {
|
|
22157
|
+
return overlapIndex < eventsPerRow;
|
|
22158
|
+
}
|
|
22159
|
+
else if (this.maxOrIndicator) {
|
|
22160
|
+
return overlapIndex < 1;
|
|
22161
|
+
}
|
|
22162
|
+
else {
|
|
22163
|
+
return this.cellHeight > availedHeight;
|
|
22164
|
+
}
|
|
22165
|
+
}
|
|
22108
22166
|
renderResourceEvent(wrapper, resource, month, index, monthStart) {
|
|
22109
22167
|
const eventWrapper = createElement('div', { className: APPOINTMENT_WRAPPER_CLASS });
|
|
22110
22168
|
wrapper.appendChild(eventWrapper);
|
|
@@ -22141,7 +22199,10 @@ class YearEvent extends TimelineEvent {
|
|
|
22141
22199
|
continue;
|
|
22142
22200
|
}
|
|
22143
22201
|
}
|
|
22144
|
-
if (this.
|
|
22202
|
+
if (this.maxHeight && this.parent.currentView.indexOf('Timeline') !== -1 && overlapIndex > 0) {
|
|
22203
|
+
continue;
|
|
22204
|
+
}
|
|
22205
|
+
if (this.parent.rowAutoHeight || this.shouldRenderAppointment(overlapIndex, availedHeight)) {
|
|
22145
22206
|
this.renderEvent(eventWrapper, eventData, month, leftValue, leftValue, monthStart, index);
|
|
22146
22207
|
this.updateCellHeight(td, availedHeight);
|
|
22147
22208
|
isSpannedCollection.push(eventData);
|
|
@@ -22158,6 +22219,10 @@ class YearEvent extends TimelineEvent {
|
|
|
22158
22219
|
}
|
|
22159
22220
|
}
|
|
22160
22221
|
}
|
|
22222
|
+
setMaxEventHeight(event, cell) {
|
|
22223
|
+
const height = (cell.offsetHeight - this.cellHeader) - (this.maxHeight ? 0 : this.moreIndicatorHeight);
|
|
22224
|
+
setStyleAttribute(event, { 'height': height + 'px', 'align-items': 'center' });
|
|
22225
|
+
}
|
|
22161
22226
|
// eslint-disable-next-line max-len
|
|
22162
22227
|
renderEvent(wrapper, eventData, row, left, right, monthDate, rowIndex) {
|
|
22163
22228
|
const eventObj = this.isSpannedEvent(eventData, monthDate);
|
|
@@ -22187,6 +22252,9 @@ class YearEvent extends TimelineEvent {
|
|
|
22187
22252
|
setStyleAttribute(wrap, {
|
|
22188
22253
|
'width': width + 'px', 'height': this.eventHeight + 'px', 'left': left + 'px', 'right': right + 'px', 'top': top + 'px'
|
|
22189
22254
|
});
|
|
22255
|
+
if (this.maxOrIndicator && this.parent.currentView.indexOf('Timeline') !== -1) {
|
|
22256
|
+
this.setMaxEventHeight(wrap, rowTd);
|
|
22257
|
+
}
|
|
22190
22258
|
if (!this.isResource && this.parent.rowAutoHeight && this.parent.activeViewOptions.orientation === 'Vertical') {
|
|
22191
22259
|
wrap.setAttribute('data-index', eventObj.Index.toString());
|
|
22192
22260
|
}
|
|
@@ -22437,7 +22505,7 @@ class DragAndDrop extends ActionBase {
|
|
|
22437
22505
|
}
|
|
22438
22506
|
wireDragEvent(element) {
|
|
22439
22507
|
new Draggable(element, {
|
|
22440
|
-
abort: '.' + EVENT_RESIZE_CLASS,
|
|
22508
|
+
abort: '.' + EVENT_RESIZE_CLASS + ', .' + INLINE_EDIT_CLASS,
|
|
22441
22509
|
clone: true,
|
|
22442
22510
|
isDragScroll: true,
|
|
22443
22511
|
enableTailMode: this.parent.eventDragArea ? true : false,
|
|
@@ -22957,6 +23025,11 @@ class DragAndDrop extends ActionBase {
|
|
|
22957
23025
|
this.actionObj.clone.style.top = formatUnit(td.offsetParent.offsetTop);
|
|
22958
23026
|
this.actionObj.clone.style.left = formatUnit(td.offsetLeft);
|
|
22959
23027
|
this.actionObj.clone.style.width = formatUnit(td.offsetWidth);
|
|
23028
|
+
if (this.actionObj.cloneElement.length > 1) {
|
|
23029
|
+
this.actionObj.cloneElement.forEach((element) => {
|
|
23030
|
+
element.style.width = formatUnit(td.offsetWidth);
|
|
23031
|
+
});
|
|
23032
|
+
}
|
|
22960
23033
|
let eventContainer = td;
|
|
22961
23034
|
let eventWrapper;
|
|
22962
23035
|
if (this.parent.activeView.isTimelineView()) {
|
|
@@ -23244,6 +23317,10 @@ class DragAndDrop extends ActionBase {
|
|
|
23244
23317
|
this.verticalEvent.getTopValue(eStart) : this.actionObj.element.offsetTop;
|
|
23245
23318
|
if (isNullOrUndefined(index)) {
|
|
23246
23319
|
if (i === 0) {
|
|
23320
|
+
if (this.actionObj.clone.classList.contains(ALLDAY_APPOINTMENT_CLASS)) {
|
|
23321
|
+
topValue = this.parent.element.querySelector('.' + ALLDAY_ROW_CLASS).offsetTop;
|
|
23322
|
+
appHeight = this.getAllDayEventHeight();
|
|
23323
|
+
}
|
|
23247
23324
|
this.actionObj.clone.style.top = formatUnit(topValue);
|
|
23248
23325
|
this.actionObj.clone.style.height = formatUnit(appHeight);
|
|
23249
23326
|
}
|
|
@@ -23253,9 +23330,7 @@ class DragAndDrop extends ActionBase {
|
|
|
23253
23330
|
}
|
|
23254
23331
|
else {
|
|
23255
23332
|
let appWidth = this.actionObj.cellWidth;
|
|
23256
|
-
if (event[this.parent.eventFields.isAllDay]) {
|
|
23257
|
-
topValue = this.parent.element.querySelector('.' + ALLDAY_ROW_CLASS).offsetTop;
|
|
23258
|
-
appHeight = this.getAllDayEventHeight();
|
|
23333
|
+
if (event[this.parent.eventFields.isAllDay] && this.parent.activeViewOptions.timeScale.enable) {
|
|
23259
23334
|
const timeDiff = event[this.parent.eventFields.endTime].getTime() -
|
|
23260
23335
|
event[this.parent.eventFields.startTime].getTime();
|
|
23261
23336
|
const allDayDifference = Math.ceil(timeDiff / (1000 * 3600 * 24));
|
|
@@ -23784,6 +23859,8 @@ class ViewBase {
|
|
|
23784
23859
|
*/
|
|
23785
23860
|
constructor(parent) {
|
|
23786
23861
|
this.previousNextAction = 'Next';
|
|
23862
|
+
this.skipPersistenceSave = false;
|
|
23863
|
+
this.isScrolledBottom = false;
|
|
23787
23864
|
this.parent = parent;
|
|
23788
23865
|
}
|
|
23789
23866
|
isTimelineView() {
|
|
@@ -24329,6 +24406,12 @@ class ViewBase {
|
|
|
24329
24406
|
setPersistence() {
|
|
24330
24407
|
if (this.parent.enablePersistence) {
|
|
24331
24408
|
const contentWrap = this.element.querySelector('.e-content-wrap');
|
|
24409
|
+
if (this.parent.virtualScrollModule && this.isScrolledBottom) {
|
|
24410
|
+
this.isScrolledBottom = false;
|
|
24411
|
+
this.skipPersistenceSave = true;
|
|
24412
|
+
contentWrap.scrollTop = this.parent.scrollTop;
|
|
24413
|
+
this.skipPersistenceSave = false;
|
|
24414
|
+
}
|
|
24332
24415
|
if (!isNullOrUndefined(contentWrap)) {
|
|
24333
24416
|
this.parent.scrollLeft = contentWrap.scrollLeft;
|
|
24334
24417
|
this.parent.scrollTop = contentWrap.scrollTop;
|
|
@@ -24339,6 +24422,7 @@ class ViewBase {
|
|
|
24339
24422
|
if (this.parent.enablePersistence) {
|
|
24340
24423
|
const conWrap = this.parent.element.querySelector('.e-content-wrap');
|
|
24341
24424
|
if (!isNullOrUndefined(conWrap) && !isNullOrUndefined(this.parent.scrollLeft) && !isNullOrUndefined(this.parent.scrollTop)) {
|
|
24425
|
+
this.isScrolledBottom = conWrap.scrollHeight - conWrap.clientHeight < this.parent.scrollTop;
|
|
24342
24426
|
conWrap.scrollTop = this.parent.scrollTop;
|
|
24343
24427
|
conWrap.scrollLeft = this.parent.scrollLeft;
|
|
24344
24428
|
}
|
|
@@ -24782,7 +24866,7 @@ class VerticalView extends ViewBase {
|
|
|
24782
24866
|
case 'dateHeader':
|
|
24783
24867
|
if (this.parent.activeViewOptions.dateHeaderTemplate) {
|
|
24784
24868
|
templateName = 'dateHeaderTemplate';
|
|
24785
|
-
const args = { date: date, type: type };
|
|
24869
|
+
const args = { date: date, type: type, groupIndex: groupIndex };
|
|
24786
24870
|
const viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
|
|
24787
24871
|
cntEle = [].slice.call(this.parent.getDateHeaderTemplate()(args, this.parent, templateName, templateId + viewName + templateName, false, undefined, undefined, this.parent.root));
|
|
24788
24872
|
}
|
|
@@ -25388,13 +25472,15 @@ class Month extends ViewBase {
|
|
|
25388
25472
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25389
25473
|
onCellClick(event) { }
|
|
25390
25474
|
onContentScroll(e) {
|
|
25391
|
-
this.
|
|
25392
|
-
|
|
25393
|
-
|
|
25394
|
-
|
|
25395
|
-
|
|
25396
|
-
|
|
25397
|
-
|
|
25475
|
+
if (!this.skipPersistenceSave) {
|
|
25476
|
+
this.parent.removeNewEventElement();
|
|
25477
|
+
this.parent.notify(virtualScroll, e);
|
|
25478
|
+
this.scrollTopPanel(e.target);
|
|
25479
|
+
this.scrollLeftPanel(e.target);
|
|
25480
|
+
this.parent.uiStateValues.top = e.target.scrollTop;
|
|
25481
|
+
this.parent.uiStateValues.left = e.target.scrollLeft;
|
|
25482
|
+
this.setPersistence();
|
|
25483
|
+
}
|
|
25398
25484
|
}
|
|
25399
25485
|
scrollLeftPanel(target) {
|
|
25400
25486
|
const leftPanel = this.getLeftPanelElement();
|
|
@@ -26428,10 +26514,11 @@ class Year extends ViewBase {
|
|
|
26428
26514
|
const startDate = isDateColAvail ? dateCollection[0] : this.getStartDate();
|
|
26429
26515
|
const endDate = isDateColAvail ? dateCollection[dateCollection.length - 1] : this.getEndDate();
|
|
26430
26516
|
if (startDate.getFullYear() !== endDate.getFullYear()) {
|
|
26431
|
-
return this.parent.globalize.formatDate(startDate, {
|
|
26517
|
+
return this.parent.globalize.formatDate(startDate, { format: 'MMM y', calendar: this.parent.getCalendarMode() })
|
|
26518
|
+
+ ' - ' + this.parent.globalize.formatDate(endDate, { format: 'MMM y', calendar: this.parent.getCalendarMode() });
|
|
26432
26519
|
}
|
|
26433
26520
|
else {
|
|
26434
|
-
return this.parent.globalize.formatDate(isDateColAvail ? dateCollection[0] : date, { skeleton: 'y' });
|
|
26521
|
+
return this.parent.globalize.formatDate(isDateColAvail ? dateCollection[0] : date, { skeleton: 'y', calendar: this.parent.getCalendarMode() });
|
|
26435
26522
|
}
|
|
26436
26523
|
}
|
|
26437
26524
|
addEventListener() {
|
|
@@ -26685,7 +26772,8 @@ class AgendaBase extends ViewBase {
|
|
|
26685
26772
|
rowSpan: 1, type: 'dateColumn', resource: resColl[parseInt((resColl.length - 1).toString(), 10)],
|
|
26686
26773
|
groupOrder: resData[parseInt(res.toString(), 10)].groupOrder,
|
|
26687
26774
|
resourceData: resData[parseInt(res.toString(), 10)].resourceData,
|
|
26688
|
-
date: agendaDate
|
|
26775
|
+
date: agendaDate,
|
|
26776
|
+
groupIndex: resData[parseInt(res.toString(), 10)].groupIndex
|
|
26689
26777
|
};
|
|
26690
26778
|
if (!lastLevelInfo[parseInt(tempIndex.toString(), 10)]) {
|
|
26691
26779
|
lastLevelInfo[parseInt(tempIndex.toString(), 10)] = [];
|
|
@@ -26778,7 +26866,7 @@ class AgendaBase extends ViewBase {
|
|
|
26778
26866
|
continue;
|
|
26779
26867
|
}
|
|
26780
26868
|
ntd.setAttribute('data-date', data.date.getTime().toString());
|
|
26781
|
-
ntd.appendChild(this.createDateHeaderElement(data.date));
|
|
26869
|
+
ntd.appendChild(this.createDateHeaderElement(data.date, data.groupIndex));
|
|
26782
26870
|
const className = [AGENDA_CELLS_CLASS, AGENDA_DATE_CLASS];
|
|
26783
26871
|
if (data.cssClass) {
|
|
26784
26872
|
className.push(data.cssClass);
|
|
@@ -26833,11 +26921,11 @@ class AgendaBase extends ViewBase {
|
|
|
26833
26921
|
tBody.appendChild(ntr);
|
|
26834
26922
|
}
|
|
26835
26923
|
}
|
|
26836
|
-
createDateHeaderElement(date) {
|
|
26924
|
+
createDateHeaderElement(date, groupIndex) {
|
|
26837
26925
|
let dateHeader;
|
|
26838
26926
|
if (this.parent.activeViewOptions.dateHeaderTemplate) {
|
|
26839
26927
|
dateHeader = createElement('div', { className: AGENDA_HEADER_CLASS });
|
|
26840
|
-
const args = { date: date, type: 'dateHeader' };
|
|
26928
|
+
const args = { date: date, type: 'dateHeader', groupIndex: groupIndex };
|
|
26841
26929
|
const scheduleId = this.parent.element.id + '_';
|
|
26842
26930
|
const viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
|
|
26843
26931
|
const templateId = scheduleId + viewName + 'dateHeaderTemplate';
|
|
@@ -26944,11 +27032,12 @@ class Agenda extends AgendaBase {
|
|
|
26944
27032
|
this.parent.eventsProcessed = this.processAgendaEvents(eventCollection);
|
|
26945
27033
|
const agendaDate = resetTime(this.parent.selectedDate);
|
|
26946
27034
|
const tBody = this.element.querySelector('.' + CONTENT_TABLE_CLASS + ' tbody');
|
|
27035
|
+
const contentArea = closest(tBody, '.' + CONTENT_WRAP_CLASS);
|
|
27036
|
+
const scrollTop = contentArea.scrollTop;
|
|
26947
27037
|
removeChildren(tBody);
|
|
26948
27038
|
this.renderInitialContent(tBody, agendaDate);
|
|
26949
27039
|
this.wireEventActions();
|
|
26950
|
-
|
|
26951
|
-
contentArea.scrollTop = 1;
|
|
27040
|
+
contentArea.scrollTop = scrollTop;
|
|
26952
27041
|
this.parent.notify(eventsLoaded, {});
|
|
26953
27042
|
if (!this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
26954
27043
|
this.retainScrollPosition();
|