@syncfusion/ej2-schedule 21.2.5 → 21.2.9
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/CHANGELOG.md +24 -0
- 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 +23 -17
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +23 -17
- 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 +14 -14
- package/src/schedule/actions/drag.js +3 -1
- package/src/schedule/event-renderer/agenda-base.js +3 -0
- package/src/schedule/event-renderer/timeline-view.js +5 -4
- package/src/schedule/popups/event-window.js +8 -1
- package/src/schedule/popups/quick-popups.js +0 -7
- package/src/schedule/renderer/header-renderer.js +4 -4
|
@@ -1118,7 +1118,7 @@ class HeaderRenderer {
|
|
|
1118
1118
|
}
|
|
1119
1119
|
else {
|
|
1120
1120
|
const text = this.parent.activeView.getDateRangeText(date);
|
|
1121
|
-
selEle.setAttribute('aria-label', text);
|
|
1121
|
+
selEle.firstElementChild.setAttribute('aria-label', text);
|
|
1122
1122
|
textEle.textContent = text;
|
|
1123
1123
|
}
|
|
1124
1124
|
this.refresh();
|
|
@@ -1149,16 +1149,16 @@ class HeaderRenderer {
|
|
|
1149
1149
|
const items = [];
|
|
1150
1150
|
items.push({
|
|
1151
1151
|
align: 'Left', prefixIcon: 'e-icon-prev', tooltipText: 'Previous', overflow: 'Show',
|
|
1152
|
-
cssClass: 'e-prev', htmlAttributes: { '
|
|
1152
|
+
cssClass: 'e-prev', htmlAttributes: { 'role': 'navigation' }
|
|
1153
1153
|
});
|
|
1154
1154
|
items.push({
|
|
1155
1155
|
align: 'Left', prefixIcon: 'e-icon-next', tooltipText: 'Next', overflow: 'Show',
|
|
1156
|
-
cssClass: 'e-next', htmlAttributes: { '
|
|
1156
|
+
cssClass: 'e-next', htmlAttributes: { 'role': 'navigation' }
|
|
1157
1157
|
});
|
|
1158
1158
|
items.push({
|
|
1159
1159
|
align: 'Left', text: this.getDateRangeText(), suffixIcon: 'e-icon-down-arrow', cssClass: 'e-date-range',
|
|
1160
1160
|
overflow: 'Show',
|
|
1161
|
-
htmlAttributes: { 'aria-atomic': 'true', 'aria-live': 'assertive', '
|
|
1161
|
+
htmlAttributes: { 'aria-atomic': 'true', 'aria-live': 'assertive', 'role': 'navigation' }
|
|
1162
1162
|
});
|
|
1163
1163
|
if (this.parent.isAdaptive || this.parent.enableAdaptiveUI) {
|
|
1164
1164
|
items.push({
|
|
@@ -7984,7 +7984,8 @@ class TimelineEvent extends MonthEvent {
|
|
|
7984
7984
|
if (this.parent.activeViewOptions.headerRows.length > 0 &&
|
|
7985
7985
|
this.parent.activeViewOptions.headerRows.slice(-1)[0].option !== 'Hour') {
|
|
7986
7986
|
this.renderType = 'day';
|
|
7987
|
-
|
|
7987
|
+
const workCell = this.content.querySelector('.' + WORK_CELLS_CLASS);
|
|
7988
|
+
this.cellWidth = workCell.getBoundingClientRect().width / +(workCell.getAttribute('colspan') || 1);
|
|
7988
7989
|
this.slotsPerDay = 1;
|
|
7989
7990
|
}
|
|
7990
7991
|
else {
|
|
@@ -8186,7 +8187,7 @@ class TimelineEvent extends MonthEvent {
|
|
|
8186
8187
|
renderTimelineMoreIndicator(startTime, startDate, endDate, appHeight, interval, resIndex, appointmentsList, top, appLeft, appRight, cellTd, moreIndicator, appPos, position) {
|
|
8187
8188
|
appLeft = (this.parent.enableRtl) ? appRight = position : position;
|
|
8188
8189
|
appPos = (this.parent.enableRtl) ? appRight : appLeft;
|
|
8189
|
-
appPos = (Math.
|
|
8190
|
+
appPos = (Math.floor(appPos / this.cellWidth) * this.cellWidth);
|
|
8190
8191
|
if ((cellTd && isNullOrUndefined(moreIndicator)) ||
|
|
8191
8192
|
(!this.isAlreadyAvail(appPos, cellTd))) {
|
|
8192
8193
|
const startDateTime = (this.parent.activeViewOptions.option === 'TimelineMonth' || this.renderType === 'day') ? new Date(+startTime) : startDate;
|
|
@@ -8213,8 +8214,8 @@ class TimelineEvent extends MonthEvent {
|
|
|
8213
8214
|
}
|
|
8214
8215
|
moreIndicatorElement.style.top = top + appArea + 'px';
|
|
8215
8216
|
moreIndicatorElement.style.width = this.cellWidth + 'px';
|
|
8216
|
-
moreIndicatorElement.style.left = ((appLeft / this.cellWidth) * this.cellWidth) + 'px';
|
|
8217
|
-
moreIndicatorElement.style.right = ((appRight / this.cellWidth) * this.cellWidth) + 'px';
|
|
8217
|
+
moreIndicatorElement.style.left = (Math.floor(appLeft / this.cellWidth) * this.cellWidth) + 'px';
|
|
8218
|
+
moreIndicatorElement.style.right = (Math.floor(appRight / this.cellWidth) * this.cellWidth) + 'px';
|
|
8218
8219
|
this.renderElement(cellTd, moreIndicatorElement);
|
|
8219
8220
|
EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
|
|
8220
8221
|
}
|
|
@@ -9024,13 +9025,6 @@ class QuickPopups {
|
|
|
9024
9025
|
this.quickDialog.content = this.l10n.getConstant('editContent');
|
|
9025
9026
|
this.quickDialog.header = this.l10n.getConstant(this.parent.currentAction === 'Delete' ? 'deleteTitle' : 'editTitle');
|
|
9026
9027
|
this.quickDialogClass('Recurrence');
|
|
9027
|
-
const activeEvent = this.parent.activeEventData.event;
|
|
9028
|
-
if (this.parent.eventSettings.editFollowingEvents && this.parent.currentAction === 'EditOccurrence'
|
|
9029
|
-
&& !isNullOrUndefined(activeEvent[this.parent.eventFields.recurrenceID]) && activeEvent[this.parent.eventFields.recurrenceID]
|
|
9030
|
-
!== activeEvent[this.parent.eventFields.id]) {
|
|
9031
|
-
const followingEventButton = this.quickDialog.element.querySelector('.' + QUICK_DIALOG_ALERT_FOLLOWING);
|
|
9032
|
-
addClass([followingEventButton], DISABLE_CLASS);
|
|
9033
|
-
}
|
|
9034
9028
|
this.showQuickDialog('RecurrenceAlert');
|
|
9035
9029
|
}
|
|
9036
9030
|
openRecurrenceValidationAlert(type) {
|
|
@@ -11621,6 +11615,7 @@ class EventWindow {
|
|
|
11621
11615
|
}
|
|
11622
11616
|
}
|
|
11623
11617
|
onBeforeOpen(args) {
|
|
11618
|
+
const endTime = this.eventData[this.fields.endTime].getTime();
|
|
11624
11619
|
const eventProp = {
|
|
11625
11620
|
type: 'Editor',
|
|
11626
11621
|
data: this.eventData,
|
|
@@ -11645,6 +11640,12 @@ class EventWindow {
|
|
|
11645
11640
|
this.parent.trigger(popupOpen, eventProp, (popupArgs) => {
|
|
11646
11641
|
args.cancel = popupArgs.cancel;
|
|
11647
11642
|
this.duration = this.cellClickAction ? popupArgs.duration : null;
|
|
11643
|
+
if (this.eventData[this.fields.endTime].getTime() === endTime && !this.cellClickAction &&
|
|
11644
|
+
this.eventData[this.fields.endTime].getHours() === 0 &&
|
|
11645
|
+
this.eventData[this.fields.endTime].getMinutes() === 0) {
|
|
11646
|
+
this.eventData = extend({}, this.eventData, null, true);
|
|
11647
|
+
this.trimAllDay(this.eventData);
|
|
11648
|
+
}
|
|
11648
11649
|
this.refreshDateTimePicker(this.duration);
|
|
11649
11650
|
if (this.cellClickAction && popupArgs.duration !== this.getSlotDuration() && isNullOrUndefined(this.parent.editorTemplate)) {
|
|
11650
11651
|
const startObj = this.getInstance(EVENT_WINDOW_START_CLASS);
|
|
@@ -12310,12 +12311,12 @@ class EventWindow {
|
|
|
12310
12311
|
this.fieldValidator.renderFormValidator(form, rules, this.element, this.parent.locale);
|
|
12311
12312
|
}
|
|
12312
12313
|
showDetails(eventData) {
|
|
12314
|
+
this.eventData = eventData;
|
|
12313
12315
|
const eventObj = extend({}, eventData, null, true);
|
|
12314
12316
|
if ((!this.cellClickAction || this.cellClickAction && !isNullOrUndefined(this.parent.editorTemplate)) &&
|
|
12315
12317
|
eventObj[this.fields.endTime].getHours() === 0 && eventObj[this.fields.endTime].getMinutes() === 0) {
|
|
12316
12318
|
this.trimAllDay(eventObj);
|
|
12317
12319
|
}
|
|
12318
|
-
this.eventData = eventObj;
|
|
12319
12320
|
const formElements = this.getFormElements(EVENT_WINDOW_DIALOG_CLASS);
|
|
12320
12321
|
const keyNames = Object.keys(eventObj);
|
|
12321
12322
|
for (const curElement of formElements) {
|
|
@@ -21005,7 +21006,9 @@ class DragAndDrop extends ActionBase {
|
|
|
21005
21006
|
(dragArea.scrollTop + dragArea.offsetHeight - this.actionObj.clone.offsetHeight + window.pageYOffset) +
|
|
21006
21007
|
(this.actionObj.clone.offsetHeight - this.heightUptoCursorPoint);
|
|
21007
21008
|
offsetTop = Math.round(offsetTop / this.actionObj.cellHeight) * this.actionObj.cellHeight;
|
|
21008
|
-
|
|
21009
|
+
if (dragArea.scrollTop > 0) {
|
|
21010
|
+
this.actionObj.clone.style.top = formatUnit(offsetTop);
|
|
21011
|
+
}
|
|
21009
21012
|
}
|
|
21010
21013
|
const rowIndex = (this.parent.activeViewOptions.timeScale.enable) ? (offsetTop / this.actionObj.cellHeight) : 0;
|
|
21011
21014
|
const heightPerMinute = this.actionObj.cellHeight / this.actionObj.slotInterval;
|
|
@@ -24597,6 +24600,9 @@ class AgendaBase extends ViewBase {
|
|
|
24597
24600
|
className.push(data.cssClass);
|
|
24598
24601
|
}
|
|
24599
24602
|
addClass([ntd], className);
|
|
24603
|
+
if (this.isCurrentDate(new Date(data.date.getTime()))) {
|
|
24604
|
+
addClass(ntd.childNodes, AGENDA_CURRENT_DAY_CLASS);
|
|
24605
|
+
}
|
|
24600
24606
|
ntr.appendChild(ntd);
|
|
24601
24607
|
}
|
|
24602
24608
|
else if (data.type === 'eventColumn') {
|