@syncfusion/ej2-schedule 31.2.15 → 32.1.20
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 +65 -37
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +80 -52
- 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/package.json +11 -11
- package/src/recurrence-editor/date-generator.js +0 -4
- package/src/schedule/actions/action-base.d.ts +1 -0
- package/src/schedule/actions/action-base.js +11 -8
- package/src/schedule/actions/drag.js +1 -5
- package/src/schedule/actions/keyboard.js +1 -0
- package/src/schedule/actions/resize.js +23 -10
- package/src/schedule/base/interface.d.ts +2 -0
- package/src/schedule/base/resource.js +24 -12
- package/src/schedule/base/schedule.d.ts +2 -2
- package/src/schedule/base/schedule.js +3 -3
- package/src/schedule/event-renderer/agenda-base.js +3 -2
- package/src/schedule/event-renderer/month.js +2 -1
- package/src/schedule/event-renderer/timeline-view.js +2 -1
- package/src/schedule/event-renderer/vertical-view.js +1 -1
- package/src/schedule/event-renderer/year.js +2 -2
- package/src/schedule/renderer/view-base.js +7 -3
- package/styles/bds-lite.css +45 -8
- package/styles/bds-lite.scss +18 -18
- package/styles/bds.css +45 -8
- package/styles/bds.scss +20 -20
- package/styles/bootstrap-dark-lite.css +8 -8
- package/styles/bootstrap-dark-lite.scss +18 -18
- package/styles/bootstrap-dark.css +8 -8
- package/styles/bootstrap-dark.scss +20 -20
- package/styles/bootstrap-lite.css +8 -8
- package/styles/bootstrap-lite.scss +18 -18
- package/styles/bootstrap.css +8 -8
- package/styles/bootstrap.scss +20 -20
- package/styles/bootstrap4-lite.css +10 -10
- package/styles/bootstrap4-lite.scss +18 -18
- package/styles/bootstrap4.css +10 -10
- package/styles/bootstrap4.scss +20 -20
- package/styles/bootstrap5-dark-lite.css +8 -8
- package/styles/bootstrap5-dark-lite.scss +18 -18
- package/styles/bootstrap5-dark.css +8 -8
- package/styles/bootstrap5-dark.scss +20 -20
- package/styles/bootstrap5-lite.css +8 -8
- package/styles/bootstrap5-lite.scss +19 -18
- package/styles/bootstrap5.3-lite.css +112 -32
- package/styles/bootstrap5.3-lite.scss +19 -18
- package/styles/bootstrap5.3.css +114 -34
- package/styles/bootstrap5.3.scss +21 -20
- package/styles/bootstrap5.css +8 -8
- package/styles/bootstrap5.scss +21 -20
- package/styles/fabric-dark-lite.css +8 -8
- package/styles/fabric-dark-lite.scss +19 -18
- package/styles/fabric-dark.css +8 -8
- package/styles/fabric-dark.scss +21 -20
- package/styles/fabric-lite.css +8 -8
- package/styles/fabric-lite.scss +19 -18
- package/styles/fabric.css +8 -8
- package/styles/fabric.scss +21 -20
- package/styles/fluent-dark-lite.css +10 -10
- package/styles/fluent-dark-lite.scss +19 -18
- package/styles/fluent-dark.css +10 -10
- package/styles/fluent-dark.scss +21 -20
- package/styles/fluent-lite.css +10 -10
- package/styles/fluent-lite.scss +19 -18
- package/styles/fluent.css +10 -10
- package/styles/fluent.scss +21 -20
- package/styles/fluent2-lite.css +267 -34
- package/styles/fluent2-lite.scss +19 -18
- package/styles/fluent2.css +270 -37
- package/styles/fluent2.scss +21 -20
- package/styles/highcontrast-light-lite.css +8 -8
- package/styles/highcontrast-light-lite.scss +19 -18
- package/styles/highcontrast-light.css +8 -8
- package/styles/highcontrast-light.scss +21 -20
- package/styles/highcontrast-lite.css +8 -8
- package/styles/highcontrast-lite.scss +19 -18
- package/styles/highcontrast.css +8 -8
- package/styles/highcontrast.scss +21 -20
- package/styles/material-dark-lite.css +10 -10
- package/styles/material-dark-lite.scss +19 -18
- package/styles/material-dark.css +10 -10
- package/styles/material-dark.scss +21 -20
- package/styles/material-lite.css +12 -10
- package/styles/material-lite.scss +18 -18
- package/styles/material.css +12 -10
- package/styles/material.scss +20 -20
- package/styles/material3-dark-lite.css +432 -9
- package/styles/material3-dark-lite.scss +19 -18
- package/styles/material3-dark.css +432 -9
- package/styles/material3-dark.scss +21 -22
- package/styles/material3-lite.css +449 -26
- package/styles/material3-lite.scss +19 -18
- package/styles/material3.css +451 -28
- package/styles/material3.scss +21 -22
- package/styles/recurrence-editor/_all.scss +2 -2
- package/styles/recurrence-editor/_bds-definition.scss +27 -1
- package/styles/recurrence-editor/_bigger.scss +21 -19
- package/styles/recurrence-editor/_bootstrap-dark-definition.scss +27 -1
- package/styles/recurrence-editor/_bootstrap-definition.scss +27 -1
- package/styles/recurrence-editor/_bootstrap4-definition.scss +27 -1
- package/styles/recurrence-editor/_bootstrap5-dark-definition.scss +41 -1
- package/styles/recurrence-editor/_bootstrap5-definition.scss +27 -1
- package/styles/recurrence-editor/_bootstrap5.3-definition.scss +27 -1
- package/styles/recurrence-editor/_fabric-dark-definition.scss +27 -1
- package/styles/recurrence-editor/_fabric-definition.scss +27 -1
- package/styles/recurrence-editor/_fluent-dark-definition.scss +41 -1
- package/styles/recurrence-editor/_fluent-definition.scss +27 -1
- package/styles/recurrence-editor/_fluent2-definition.scss +27 -1
- package/styles/recurrence-editor/_fusionnew-definition.scss +27 -1
- package/styles/recurrence-editor/_highcontrast-definition.scss +27 -1
- package/styles/recurrence-editor/_highcontrast-light-definition.scss +27 -1
- package/styles/recurrence-editor/_layout.scss +60 -58
- package/styles/recurrence-editor/_material-dark-definition.scss +27 -1
- package/styles/recurrence-editor/_material-definition.scss +27 -1
- package/styles/recurrence-editor/_material3-dark-definition.scss +41 -1
- package/styles/recurrence-editor/_material3-definition.scss +27 -1
- package/styles/recurrence-editor/_tailwind-dark-definition.scss +41 -1
- package/styles/recurrence-editor/_tailwind-definition.scss +27 -1
- package/styles/recurrence-editor/_tailwind3-definition.scss +27 -1
- package/styles/recurrence-editor/_theme-variables.scss +1 -0
- package/styles/recurrence-editor/bds.scss +9 -9
- package/styles/recurrence-editor/bootstrap-dark.scss +9 -9
- package/styles/recurrence-editor/bootstrap.scss +9 -9
- package/styles/recurrence-editor/bootstrap4.css +2 -2
- package/styles/recurrence-editor/bootstrap4.scss +9 -9
- package/styles/recurrence-editor/bootstrap5-dark.scss +9 -9
- package/styles/recurrence-editor/bootstrap5.3.css +81 -1
- package/styles/recurrence-editor/bootstrap5.3.scss +9 -9
- package/styles/recurrence-editor/bootstrap5.scss +9 -9
- package/styles/recurrence-editor/fabric-dark.scss +9 -9
- package/styles/recurrence-editor/fabric.scss +9 -9
- package/styles/recurrence-editor/fluent-dark.css +2 -2
- package/styles/recurrence-editor/fluent-dark.scss +9 -9
- package/styles/recurrence-editor/fluent.css +2 -2
- package/styles/recurrence-editor/fluent.scss +9 -9
- package/styles/recurrence-editor/fluent2.css +334 -6
- package/styles/recurrence-editor/fluent2.scss +9 -9
- package/styles/recurrence-editor/highcontrast-light.scss +9 -9
- package/styles/recurrence-editor/highcontrast.scss +9 -9
- package/styles/recurrence-editor/material-dark.css +2 -2
- package/styles/recurrence-editor/material-dark.scss +9 -9
- package/styles/recurrence-editor/material.css +2 -2
- package/styles/recurrence-editor/material.scss +9 -9
- package/styles/recurrence-editor/material3-dark.css +140 -1
- package/styles/recurrence-editor/material3-dark.scss +9 -10
- package/styles/recurrence-editor/material3.css +140 -1
- package/styles/recurrence-editor/material3.scss +9 -10
- package/styles/recurrence-editor/tailwind-dark.scss +9 -9
- package/styles/recurrence-editor/tailwind.scss +9 -9
- package/styles/recurrence-editor/tailwind3.css +71 -1
- package/styles/recurrence-editor/tailwind3.scss +9 -9
- package/styles/schedule/_all.scss +2 -2
- package/styles/schedule/_bds-definition.scss +105 -0
- package/styles/schedule/_bigger.scss +88 -86
- package/styles/schedule/_bootstrap-dark-definition.scss +105 -0
- package/styles/schedule/_bootstrap-definition.scss +105 -0
- package/styles/schedule/_bootstrap4-definition.scss +105 -0
- package/styles/schedule/_bootstrap5-dark-definition.scss +385 -1
- package/styles/schedule/_bootstrap5-definition.scss +105 -0
- package/styles/schedule/_bootstrap5.3-definition.scss +113 -8
- package/styles/schedule/_fabric-dark-definition.scss +105 -0
- package/styles/schedule/_fabric-definition.scss +105 -0
- package/styles/schedule/_fluent-dark-definition.scss +385 -1
- package/styles/schedule/_fluent-definition.scss +105 -0
- package/styles/schedule/_fluent2-definition.scss +111 -6
- package/styles/schedule/_fusionnew-definition.scss +103 -0
- package/styles/schedule/_highcontrast-definition.scss +105 -0
- package/styles/schedule/_highcontrast-light-definition.scss +105 -0
- package/styles/schedule/_layout.scss +395 -391
- package/styles/schedule/_material-dark-definition.scss +105 -0
- package/styles/schedule/_material-definition.scss +105 -0
- package/styles/schedule/_material3-dark-definition.scss +384 -1
- package/styles/schedule/_material3-definition.scss +111 -6
- package/styles/schedule/_tailwind-dark-definition.scss +380 -1
- package/styles/schedule/_tailwind-definition.scss +105 -0
- package/styles/schedule/_tailwind3-definition.scss +112 -7
- package/styles/schedule/_theme-variables.scss +1 -0
- package/styles/schedule/_theme.scss +34 -32
- package/styles/schedule/bds.css +45 -8
- package/styles/schedule/bds.scss +18 -17
- package/styles/schedule/bootstrap-dark.css +8 -8
- package/styles/schedule/bootstrap-dark.scss +18 -17
- package/styles/schedule/bootstrap.css +8 -8
- package/styles/schedule/bootstrap.scss +18 -17
- package/styles/schedule/bootstrap4.css +8 -8
- package/styles/schedule/bootstrap4.scss +18 -17
- package/styles/schedule/bootstrap5-dark.css +8 -8
- package/styles/schedule/bootstrap5-dark.scss +18 -16
- package/styles/schedule/bootstrap5.3.css +114 -34
- package/styles/schedule/bootstrap5.3.scss +18 -17
- package/styles/schedule/bootstrap5.css +8 -8
- package/styles/schedule/bootstrap5.scss +18 -17
- package/styles/schedule/fabric-dark.css +8 -8
- package/styles/schedule/fabric-dark.scss +18 -17
- package/styles/schedule/fabric.css +8 -8
- package/styles/schedule/fabric.scss +18 -17
- package/styles/schedule/fluent-dark.css +8 -8
- package/styles/schedule/fluent-dark.scss +18 -16
- package/styles/schedule/fluent.css +8 -8
- package/styles/schedule/fluent.scss +18 -17
- package/styles/schedule/fluent2.css +266 -33
- package/styles/schedule/fluent2.scss +18 -17
- package/styles/schedule/highcontrast-light.css +8 -8
- package/styles/schedule/highcontrast-light.scss +18 -17
- package/styles/schedule/highcontrast.css +8 -8
- package/styles/schedule/highcontrast.scss +18 -17
- package/styles/schedule/icons/_bds.scss +1 -0
- package/styles/schedule/icons/_bootstrap-dark.scss +1 -0
- package/styles/schedule/icons/_bootstrap.scss +1 -0
- package/styles/schedule/icons/_bootstrap4.scss +1 -0
- package/styles/schedule/icons/_bootstrap5-dark.scss +1 -1
- package/styles/schedule/icons/_bootstrap5.3.scss +1 -0
- package/styles/schedule/icons/_bootstrap5.scss +1 -0
- package/styles/schedule/icons/_fabric-dark.scss +1 -0
- package/styles/schedule/icons/_fabric.scss +1 -0
- package/styles/schedule/icons/_fluent-dark.scss +1 -1
- package/styles/schedule/icons/_fluent.scss +1 -0
- package/styles/schedule/icons/_fluent2.scss +1 -0
- package/styles/schedule/icons/_fusionnew.scss +1 -0
- package/styles/schedule/icons/_highcontrast-light.scss +1 -0
- package/styles/schedule/icons/_highcontrast.scss +1 -0
- package/styles/schedule/icons/_material-dark.scss +1 -0
- package/styles/schedule/icons/_material.scss +1 -0
- package/styles/schedule/icons/_material3-dark.scss +1 -1
- package/styles/schedule/icons/_material3.scss +1 -0
- package/styles/schedule/icons/_tailwind-dark.scss +1 -1
- package/styles/schedule/icons/_tailwind.scss +1 -0
- package/styles/schedule/icons/_tailwind3.scss +1 -0
- package/styles/schedule/material-dark.css +8 -8
- package/styles/schedule/material-dark.scss +18 -17
- package/styles/schedule/material.css +10 -8
- package/styles/schedule/material.scss +18 -17
- package/styles/schedule/material3-dark.css +432 -9
- package/styles/schedule/material3-dark.scss +18 -17
- package/styles/schedule/material3.css +451 -28
- package/styles/schedule/material3.scss +18 -18
- package/styles/schedule/tailwind-dark.css +8 -8
- package/styles/schedule/tailwind-dark.scss +18 -16
- package/styles/schedule/tailwind.css +8 -8
- package/styles/schedule/tailwind.scss +18 -17
- package/styles/schedule/tailwind3.css +151 -33
- package/styles/schedule/tailwind3.scss +18 -17
- package/styles/tailwind-dark-lite.css +8 -8
- package/styles/tailwind-dark-lite.scss +19 -18
- package/styles/tailwind-dark.css +8 -8
- package/styles/tailwind-dark.scss +21 -20
- package/styles/tailwind-lite.css +8 -8
- package/styles/tailwind-lite.scss +19 -18
- package/styles/tailwind.css +8 -8
- package/styles/tailwind.scss +21 -20
- package/styles/tailwind3-lite.css +149 -31
- package/styles/tailwind3-lite.scss +19 -18
- package/styles/tailwind3.css +151 -33
- package/styles/tailwind3.scss +21 -20
|
@@ -3371,6 +3371,7 @@ class KeyboardInteraction {
|
|
|
3371
3371
|
navigator.clipboard.writeText(this.clipBoardTextArea.value)
|
|
3372
3372
|
.then(() => {
|
|
3373
3373
|
this.clipBoardTextArea.blur();
|
|
3374
|
+
this.clipBoardTextArea.selectionStart = this.clipBoardTextArea.selectionEnd;
|
|
3374
3375
|
window.getSelection().removeAllRanges();
|
|
3375
3376
|
if (e) {
|
|
3376
3377
|
const closestAppointment = e.target.closest('.' + APPOINTMENT_CLASS);
|
|
@@ -4323,10 +4324,6 @@ function generate(startDate, rule, excludeDate, startDayOfWeek, maximumCount = M
|
|
|
4323
4324
|
maxOccurrence = maximumCount;
|
|
4324
4325
|
startDayOfWeek = startDayOfWeek || 0;
|
|
4325
4326
|
setFirstDayOfWeek(DAYINDEX[parseInt(startDayOfWeek.toString(), 10)]);
|
|
4326
|
-
if (ruleObject.until) {
|
|
4327
|
-
const end = resetTime(ruleObject.until);
|
|
4328
|
-
ruleObject.until = new Date(end.getFullYear(), end.getMonth(), end.getDate(), 23, 59, 59);
|
|
4329
|
-
}
|
|
4330
4327
|
switch (ruleObject.freq) {
|
|
4331
4328
|
case 'DAILY':
|
|
4332
4329
|
dailyType(modifiedDate, ruleObject.until, data, ruleObject);
|
|
@@ -7428,7 +7425,7 @@ class VerticalEvent extends EventBase {
|
|
|
7428
7425
|
const appWidth = eventObj.IsBlock ? '99%' : '100%';
|
|
7429
7426
|
setStyleAttribute(appointmentElement, { 'width': appWidth, 'height': blockHeight, 'top': blockTop });
|
|
7430
7427
|
const index = this.getDayIndex(dayIndex, resource, dayCount);
|
|
7431
|
-
const appLeft = eventObj.IsBlock ? '
|
|
7428
|
+
const appLeft = eventObj.IsBlock ? '1px' : '0px';
|
|
7432
7429
|
this.appendEvent(eventObj, appointmentElement, index, appLeft);
|
|
7433
7430
|
}
|
|
7434
7431
|
}
|
|
@@ -8646,8 +8643,9 @@ class MonthEvent extends EventBase {
|
|
|
8646
8643
|
if (!isNullOrUndefined(groupIndex)) {
|
|
8647
8644
|
moreIndicatorElement.setAttribute('data-group-index', groupIndex);
|
|
8648
8645
|
}
|
|
8649
|
-
moreIndicatorElement.style.top = (this.cellHeight - this.monthHeaderHeight
|
|
8646
|
+
moreIndicatorElement.style.top = (this.cellHeight - this.monthHeaderHeight) + 'px';
|
|
8650
8647
|
moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
|
|
8648
|
+
moreIndicatorElement.style.transform = 'translateY(-100%)';
|
|
8651
8649
|
this.renderElement(this.workCells[day + i], moreIndicatorElement);
|
|
8652
8650
|
EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
|
|
8653
8651
|
}
|
|
@@ -9125,10 +9123,11 @@ class TimelineEvent extends MonthEvent {
|
|
|
9125
9123
|
if (!isNullOrUndefined(groupIndex)) {
|
|
9126
9124
|
moreIndicatorElement.setAttribute('data-group-index', groupIndex);
|
|
9127
9125
|
}
|
|
9128
|
-
moreIndicatorElement.style.top = top +
|
|
9126
|
+
moreIndicatorElement.style.top = top + this.cellHeight + 'px';
|
|
9129
9127
|
moreIndicatorElement.style.width = this.cellWidth + 'px';
|
|
9130
9128
|
moreIndicatorElement.style.left = (Math.floor(appLeft / this.cellWidth) * this.cellWidth) + 'px';
|
|
9131
9129
|
moreIndicatorElement.style.right = (Math.floor(appRight / this.cellWidth) * this.cellWidth) + 'px';
|
|
9130
|
+
moreIndicatorElement.style.transform = 'translateY(-100%)';
|
|
9132
9131
|
this.renderElement(cellTd, moreIndicatorElement);
|
|
9133
9132
|
EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
|
|
9134
9133
|
}
|
|
@@ -16845,14 +16844,16 @@ class ResourceBase {
|
|
|
16845
16844
|
resourceId: levelId,
|
|
16846
16845
|
resourceName: treeLevel.resourceData[resource.textField],
|
|
16847
16846
|
resource: treeLevel.resource,
|
|
16848
|
-
resourceData: treeLevel.resourceData
|
|
16847
|
+
resourceData: treeLevel.resourceData,
|
|
16848
|
+
date: this.parent.selectedDate
|
|
16849
16849
|
};
|
|
16850
16850
|
}
|
|
16851
16851
|
else {
|
|
16852
16852
|
resObj = {
|
|
16853
16853
|
type: 'resourceHeader', resource: treeLevel.resource,
|
|
16854
16854
|
resourceData: treeLevel.resourceData, groupIndex: groupIndex,
|
|
16855
|
-
groupOrder: treeLevel.groupOrder
|
|
16855
|
+
groupOrder: treeLevel.groupOrder,
|
|
16856
|
+
date: this.parent.selectedDate
|
|
16856
16857
|
};
|
|
16857
16858
|
resTreeColl.push(resObj);
|
|
16858
16859
|
groupIndex++;
|
|
@@ -17156,6 +17157,11 @@ class ResourceBase {
|
|
|
17156
17157
|
}
|
|
17157
17158
|
this.lastResourceLevel = headerLevels.slice(-1)[0] || [];
|
|
17158
17159
|
if (!this.parent.activeViewOptions.group.byDate) {
|
|
17160
|
+
for (let levelIndex = 0; levelIndex < headerLevels.length; levelIndex++) {
|
|
17161
|
+
for (const levelItem of headerLevels[parseInt(levelIndex.toString(), 10)]) {
|
|
17162
|
+
levelItem.date = this.parent.selectedDate;
|
|
17163
|
+
}
|
|
17164
|
+
}
|
|
17159
17165
|
let index = 0;
|
|
17160
17166
|
for (const lastLevelResource of this.lastResourceLevel) {
|
|
17161
17167
|
for (let i = 0; i < lastLevelResource.colSpan; i++) {
|
|
@@ -17248,6 +17254,9 @@ class ResourceBase {
|
|
|
17248
17254
|
datesColumn.push(headerDate);
|
|
17249
17255
|
const resGroup = extend([], levels, null, true);
|
|
17250
17256
|
for (let k = 0, length = resGroup.length; k < length; k++) {
|
|
17257
|
+
for (const resTd of resGroup[parseInt(k.toString(), 10)]) {
|
|
17258
|
+
resTd.date = headerDate.date;
|
|
17259
|
+
}
|
|
17251
17260
|
if (k === resGroup.length - 1) {
|
|
17252
17261
|
for (const resTd of resGroup[parseInt(k.toString(), 10)]) {
|
|
17253
17262
|
resTd.date = headerDate.date;
|
|
@@ -18440,7 +18449,7 @@ let Schedule = class Schedule extends Component {
|
|
|
18440
18449
|
addClass(cells, SELECTED_CELL_CLASS);
|
|
18441
18450
|
if (focusCell) {
|
|
18442
18451
|
focusCell.setAttribute('tabindex', '0');
|
|
18443
|
-
focusCell.focus({ preventScroll: isPreventScroll ||
|
|
18452
|
+
focusCell.focus({ preventScroll: isPreventScroll || focusCell.classList.contains('e-all-day-cells') && this.enableAllDayScroll });
|
|
18444
18453
|
}
|
|
18445
18454
|
}
|
|
18446
18455
|
/**
|
|
@@ -19687,8 +19696,8 @@ let Schedule = class Schedule extends Component {
|
|
|
19687
19696
|
* Scrolls the Schedule content area to the specified time.
|
|
19688
19697
|
*
|
|
19689
19698
|
* @function scrollTo
|
|
19690
|
-
* @param {string} hour Accepts the time value in the skeleton format of 'Hm'.
|
|
19691
|
-
* @param {Date} scrollDate Accepts the date
|
|
19699
|
+
* @param {string} hour Accepts the time value in the skeleton format of 'Hm'. This parameter specifies the hour and minute to scroll to within the schedule.
|
|
19700
|
+
* @param {Date} scrollDate Accepts a Date object value that represents the specific date to scroll to in the schedule.
|
|
19692
19701
|
* @returns {void}
|
|
19693
19702
|
*/
|
|
19694
19703
|
scrollTo(hour, scrollDate) {
|
|
@@ -20933,7 +20942,7 @@ class ActionBase {
|
|
|
20933
20942
|
const startHour = this.parent.activeView.getStartHour();
|
|
20934
20943
|
const intervalInMS = MS_PER_MINUTE * this.actionObj.interval;
|
|
20935
20944
|
dateInMS += (startHour.getHours() * 60 + startHour.getMinutes()) * MS_PER_MINUTE + startHour.getSeconds() * 1000;
|
|
20936
|
-
dateInMS = dateInMS +
|
|
20945
|
+
dateInMS = dateInMS + ((date.getTime() - dateInMS) / intervalInMS) * intervalInMS;
|
|
20937
20946
|
return new Date(dateInMS);
|
|
20938
20947
|
}
|
|
20939
20948
|
getContentAreaDimension() {
|
|
@@ -21085,6 +21094,12 @@ class ActionBase {
|
|
|
21085
21094
|
remove(timeIndicator);
|
|
21086
21095
|
}
|
|
21087
21096
|
}
|
|
21097
|
+
removeDragResizeClones() {
|
|
21098
|
+
const eventWrappers = [].slice.call(this.parent.element.querySelectorAll('.' + CLONE_ELEMENT_CLASS));
|
|
21099
|
+
for (const wrapper of eventWrappers) {
|
|
21100
|
+
remove(wrapper);
|
|
21101
|
+
}
|
|
21102
|
+
}
|
|
21088
21103
|
getCursorElement(e) {
|
|
21089
21104
|
const pages = this.parent.eventBase.getPageCoordinates(e);
|
|
21090
21105
|
return document.elementFromPoint(pages.clientX, pages.clientY);
|
|
@@ -21267,10 +21282,7 @@ class ActionBase {
|
|
|
21267
21282
|
this.monthEvent.dateRender = dateRender;
|
|
21268
21283
|
this.monthEvent.getSlotDates(workDays);
|
|
21269
21284
|
if (this.resizeEdges.left || this.resizeEdges.right) {
|
|
21270
|
-
|
|
21271
|
-
for (const wrapper of eventWrappers) {
|
|
21272
|
-
remove(wrapper);
|
|
21273
|
-
}
|
|
21285
|
+
this.removeDragResizeClones();
|
|
21274
21286
|
}
|
|
21275
21287
|
const spannedEvents = this.monthEvent.splitEvent(event, dateRender);
|
|
21276
21288
|
for (const event of spannedEvents) {
|
|
@@ -21541,10 +21553,7 @@ class Resize extends ActionBase {
|
|
|
21541
21553
|
}
|
|
21542
21554
|
}
|
|
21543
21555
|
yearEventsRendering(event) {
|
|
21544
|
-
|
|
21545
|
-
for (const wrapper of eventWrappers) {
|
|
21546
|
-
remove(wrapper);
|
|
21547
|
-
}
|
|
21556
|
+
this.removeDragResizeClones();
|
|
21548
21557
|
let endDate = new Date(event[this.parent.eventFields.endTime]);
|
|
21549
21558
|
let monthDiff = 0;
|
|
21550
21559
|
if (this.parent.activeViewOptions.group.resources.length === 0) {
|
|
@@ -21598,6 +21607,7 @@ class Resize extends ActionBase {
|
|
|
21598
21607
|
this.actionObj.action = null;
|
|
21599
21608
|
this.removeCloneElementClasses();
|
|
21600
21609
|
this.removeCloneElement();
|
|
21610
|
+
this.removeDragResizeClones();
|
|
21601
21611
|
this.actionClass('removeClass');
|
|
21602
21612
|
this.parent.uiStateValues.action = this.parent.uiStateValues.isTapHold = false;
|
|
21603
21613
|
const resizeArgs = { cancel: false, data: this.getChangedData(), element: this.actionObj.element, event: e };
|
|
@@ -21622,7 +21632,7 @@ class Resize extends ActionBase {
|
|
|
21622
21632
|
if (!isTop) {
|
|
21623
21633
|
offsetValue += this.actionObj.clone.offsetHeight;
|
|
21624
21634
|
}
|
|
21625
|
-
const minutes = (offsetValue / Math.round(this.actionObj.cellHeight)) * this.actionObj.slotInterval;
|
|
21635
|
+
const minutes = Math.round((offsetValue / Math.round(this.actionObj.cellHeight)) * this.actionObj.slotInterval);
|
|
21626
21636
|
const element = this.actionObj.clone.offsetParent;
|
|
21627
21637
|
if (isNullOrUndefined(element)) {
|
|
21628
21638
|
return;
|
|
@@ -21687,7 +21697,7 @@ class Resize extends ActionBase {
|
|
|
21687
21697
|
const offsetWidth = (Math.round(offset / this.actionObj.cellWidth) *
|
|
21688
21698
|
this.actionObj.cellWidth) + (isLeft ? 0 : (this.parent.getElementWidth(this.actionObj.clone) -
|
|
21689
21699
|
this.actionObj.cellWidth));
|
|
21690
|
-
cellIndex = Math.
|
|
21700
|
+
cellIndex = Math.ceil(offsetWidth / this.actionObj.cellWidth);
|
|
21691
21701
|
}
|
|
21692
21702
|
isLastCell = cellIndex === tdCollections.length;
|
|
21693
21703
|
cellIndex = this.getIndex(cellIndex);
|
|
@@ -21705,13 +21715,29 @@ class Resize extends ActionBase {
|
|
|
21705
21715
|
}
|
|
21706
21716
|
else {
|
|
21707
21717
|
if (!isLeft) {
|
|
21708
|
-
|
|
21709
|
-
|
|
21710
|
-
|
|
21718
|
+
let cloneWidth = this.parent.getElementWidth(this.actionObj.clone);
|
|
21719
|
+
const pixelsPerInterval = this.actionObj.cellWidth /
|
|
21720
|
+
(this.actionObj.slotInterval / this.actionObj.interval);
|
|
21721
|
+
const numIntervals = Math.round(cloneWidth / pixelsPerInterval);
|
|
21722
|
+
cloneWidth = numIntervals * pixelsPerInterval;
|
|
21723
|
+
offset = offset + cloneWidth;
|
|
21724
|
+
}
|
|
21725
|
+
let spanMinutes = Math.ceil((this.actionObj.slotInterval / this.actionObj.cellWidth) *
|
|
21711
21726
|
(offset - Math.floor(offset / this.actionObj.cellWidth) * this.actionObj.cellWidth));
|
|
21712
21727
|
spanMinutes = (isLastCell || (!isLeft && spanMinutes === 0)) ? this.actionObj.slotInterval : spanMinutes;
|
|
21713
21728
|
resizeTime = new Date(resizeDate.getTime());
|
|
21714
21729
|
resizeTime = new Date(resizeDate.getTime() + (spanMinutes * MS_PER_MINUTE));
|
|
21730
|
+
const isCustomResizeInterval = this.actionObj.interval !== this.actionObj.slotInterval;
|
|
21731
|
+
const initialCellTime = new Date(resizeTime.getTime());
|
|
21732
|
+
const intervalInMS = this.actionObj.interval * 60000;
|
|
21733
|
+
if (intervalInMS > 0 && isCustomResizeInterval) {
|
|
21734
|
+
if (this.resizeEdges.right || this.resizeEdges.left) {
|
|
21735
|
+
const eventTime = this.resizeEdges.right ? eventEnd : eventStart;
|
|
21736
|
+
const timeDifferenceMs = initialCellTime.getTime() - eventTime.getTime();
|
|
21737
|
+
const intervalCount = Math.round(timeDifferenceMs / intervalInMS);
|
|
21738
|
+
resizeTime = new Date(eventTime.getTime() + intervalCount * intervalInMS);
|
|
21739
|
+
}
|
|
21740
|
+
}
|
|
21715
21741
|
this.updateTimePosition(resizeTime);
|
|
21716
21742
|
}
|
|
21717
21743
|
}
|
|
@@ -22315,10 +22341,10 @@ class YearEvent extends TimelineEvent {
|
|
|
22315
22341
|
}
|
|
22316
22342
|
const moreIndicator = this.getMoreIndicatorElement(count, startDate, endDate);
|
|
22317
22343
|
const rowTr = this.parent.element.querySelector(`.e-content-wrap tr:nth-child(${row + 1})`);
|
|
22318
|
-
const top = rowTr.offsetTop +
|
|
22344
|
+
const top = rowTr.offsetTop + this.cellHeight;
|
|
22319
22345
|
left = (Math.floor(left / this.cellWidth) * this.cellWidth);
|
|
22320
22346
|
right = (Math.floor(right / this.cellWidth) * this.cellWidth);
|
|
22321
|
-
setStyleAttribute(moreIndicator, { 'width': this.cellWidth + 'px', 'left': left + 'px', 'right': right + 'px', 'top': top + 'px' });
|
|
22347
|
+
setStyleAttribute(moreIndicator, { 'width': this.cellWidth + 'px', 'left': left + 'px', 'right': right + 'px', 'top': top + 'px', 'transform': 'translateY(-100%)' });
|
|
22322
22348
|
if (!isNullOrUndefined(index)) {
|
|
22323
22349
|
moreIndicator.setAttribute('data-group-index', index.toString());
|
|
22324
22350
|
}
|
|
@@ -23499,10 +23525,7 @@ class DragAndDrop extends ActionBase {
|
|
|
23499
23525
|
}
|
|
23500
23526
|
const event = this.getUpdatedEvent(this.actionObj.start, this.actionObj.end, this.actionObj.event);
|
|
23501
23527
|
if (isNullOrUndefined(this.parent.eventDragArea)) {
|
|
23502
|
-
|
|
23503
|
-
for (const wrapper of eventWrappers) {
|
|
23504
|
-
remove(wrapper);
|
|
23505
|
-
}
|
|
23528
|
+
this.removeDragResizeClones();
|
|
23506
23529
|
}
|
|
23507
23530
|
if (this.multiData && this.multiData.length > 0) {
|
|
23508
23531
|
const startTime = resetTime(new Date(event[this.parent.eventFields.startTime]));
|
|
@@ -24045,14 +24068,18 @@ class ViewBase {
|
|
|
24045
24068
|
}
|
|
24046
24069
|
}
|
|
24047
24070
|
getHeaderBarHeight() {
|
|
24048
|
-
|
|
24071
|
+
const computedStyle = getComputedStyle(this.parent.element);
|
|
24072
|
+
const borderTop = parseFloat(computedStyle.borderTopWidth) || 1;
|
|
24073
|
+
const borderBottom = parseFloat(computedStyle.borderBottomWidth) || 1;
|
|
24074
|
+
const border = Math.round(borderTop + borderBottom);
|
|
24075
|
+
let headerBarHeight = border;
|
|
24049
24076
|
if (this.parent.headerModule) {
|
|
24050
24077
|
headerBarHeight += getOuterHeight(this.parent.headerModule.getHeaderElement());
|
|
24051
24078
|
}
|
|
24052
24079
|
if (this.parent.uiStateValues.isGroupAdaptive) {
|
|
24053
24080
|
const resHeader = this.parent.element.querySelector('.' + RESOURCE_HEADER_TOOLBAR);
|
|
24054
24081
|
if (resHeader) {
|
|
24055
|
-
headerBarHeight += resHeader
|
|
24082
|
+
headerBarHeight += getOuterHeight(resHeader);
|
|
24056
24083
|
}
|
|
24057
24084
|
}
|
|
24058
24085
|
return headerBarHeight;
|
|
@@ -24335,7 +24362,7 @@ class ViewBase {
|
|
|
24335
24362
|
}
|
|
24336
24363
|
setResourceHeaderContent(tdElement, tdData, className = TEXT_ELLIPSIS) {
|
|
24337
24364
|
if (this.parent.activeViewOptions.resourceHeaderTemplate) {
|
|
24338
|
-
const data = { resource: tdData.resource, resourceData: tdData.resourceData };
|
|
24365
|
+
const data = { resource: tdData.resource, resourceData: tdData.resourceData, date: tdData.date };
|
|
24339
24366
|
const scheduleId = this.parent.element.id + '_';
|
|
24340
24367
|
const viewName = this.parent.activeViewOptions.resourceHeaderTemplateName;
|
|
24341
24368
|
const templateId = scheduleId + viewName + 'resourceHeaderTemplate';
|
|
@@ -26832,7 +26859,7 @@ class AgendaBase extends ViewBase {
|
|
|
26832
26859
|
groupOrder: resData[parseInt(res.toString(), 10)].groupOrder.slice(0, -1),
|
|
26833
26860
|
resourceData: resData[parseInt(res.toString(), 10)].resourceData,
|
|
26834
26861
|
groupIndex: (lastLevelInfo.length - data.length), className: [RESOURCE_NAME],
|
|
26835
|
-
date: agendaDate
|
|
26862
|
+
date: this.parent.activeViewOptions.group.byDate ? firstDate : agendaDate
|
|
26836
26863
|
};
|
|
26837
26864
|
lastLevelInfo[parseInt((lastLevelInfo.length - data.length).toString(), 10)].push(tempObj);
|
|
26838
26865
|
tempLastLevelInfo.push(extend({}, tempObj, null, true));
|
|
@@ -26860,7 +26887,8 @@ class AgendaBase extends ViewBase {
|
|
|
26860
26887
|
tempGroupedData[0].type = 'parentColumnLevel_' + (y + 1);
|
|
26861
26888
|
tempGroupedData[0].resource = topResources[topResources.length - (y + 1)];
|
|
26862
26889
|
tempGroupedData[0].resourceData = data[parseInt(x.toString(), 10)];
|
|
26863
|
-
tempGroupedData[0].date =
|
|
26890
|
+
tempGroupedData[0].date = this.parent.activeViewOptions.group.byDate ?
|
|
26891
|
+
tempLastLevelInfo[parseInt(u.toString(), 10)].date : agendaDate;
|
|
26864
26892
|
lastLevelInfo[tempGroupedData[0].groupIndex].push(tempGroupedData[0]);
|
|
26865
26893
|
tempGroupedData = [];
|
|
26866
26894
|
totalRowSpan = 0;
|