@syncfusion/ej2-schedule 20.1.61 → 20.2.36
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 +13 -0
- 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 +165 -40
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +170 -40
- 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/helpers/e2e/index.js +9 -7
- package/helpers/e2e/recurrence-editor.js +41 -25
- package/helpers/e2e/schedule.js +44 -28
- package/package.json +15 -15
- package/src/recurrence-editor/recurrence-editor.js +4 -1
- package/src/schedule/actions/crud.js +9 -7
- package/src/schedule/base/interface.d.ts +6 -0
- package/src/schedule/base/schedule.d.ts +8 -0
- package/src/schedule/base/schedule.js +66 -0
- package/src/schedule/event-renderer/agenda-base.js +6 -6
- package/src/schedule/event-renderer/event-base.js +4 -4
- package/src/schedule/event-renderer/month.js +2 -3
- package/src/schedule/event-renderer/vertical-view.js +3 -3
- package/src/schedule/event-renderer/year.js +2 -2
- package/src/schedule/exports/excel-export.js +8 -4
- package/src/schedule/popups/event-window.js +2 -1
- package/src/schedule/popups/quick-popups.js +3 -3
- package/src/schedule/renderer/agenda.js +2 -2
- package/src/schedule/renderer/timeline-month.d.ts +1 -0
- package/src/schedule/renderer/timeline-month.js +9 -0
- package/src/schedule/renderer/timeline-view.d.ts +1 -0
- package/src/schedule/renderer/timeline-view.js +14 -0
- package/src/schedule/renderer/timeline-year.js +3 -0
- package/src/schedule/renderer/vertical-view.d.ts +1 -0
- package/src/schedule/renderer/vertical-view.js +21 -4
- package/src/schedule/renderer/view-base.d.ts +1 -0
- package/src/schedule/renderer/view-base.js +11 -0
- package/src/schedule/renderer/year.js +2 -1
- package/styles/bootstrap-dark.css +5 -1
- package/styles/bootstrap.css +5 -1
- package/styles/bootstrap4.css +5 -1
- package/styles/bootstrap5-dark.css +5 -1
- package/styles/bootstrap5.css +5 -1
- package/styles/fabric-dark.css +5 -1
- package/styles/fabric.css +5 -1
- package/styles/fluent-dark.css +7 -3
- package/styles/fluent.css +7 -3
- package/styles/highcontrast-light.css +5 -1
- package/styles/highcontrast.css +5 -1
- package/styles/material-dark.css +5 -1
- package/styles/material.css +5 -1
- package/styles/recurrence-editor/_fusionnew-definition.scss +15 -0
- package/styles/recurrence-editor/_material3-definition.scss +15 -0
- package/styles/schedule/_fluent-definition.scss +1 -1
- package/styles/schedule/_fusionnew-definition.scss +224 -0
- package/styles/schedule/_layout.scss +6 -1
- package/styles/schedule/_material3-definition.scss +224 -0
- package/styles/schedule/bootstrap-dark.css +5 -1
- package/styles/schedule/bootstrap.css +5 -1
- package/styles/schedule/bootstrap4.css +5 -1
- package/styles/schedule/bootstrap5-dark.css +5 -1
- package/styles/schedule/bootstrap5.css +5 -1
- package/styles/schedule/fabric-dark.css +5 -1
- package/styles/schedule/fabric.css +5 -1
- package/styles/schedule/fluent-dark.css +7 -3
- package/styles/schedule/fluent.css +7 -3
- package/styles/schedule/highcontrast-light.css +5 -1
- package/styles/schedule/highcontrast.css +5 -1
- package/styles/schedule/icons/_fusionnew.scss +232 -0
- package/styles/schedule/icons/_material3.scss +232 -0
- package/styles/schedule/material-dark.css +5 -1
- package/styles/schedule/material.css +5 -1
- package/styles/schedule/tailwind-dark.css +5 -1
- package/styles/schedule/tailwind.css +5 -1
- package/styles/tailwind-dark.css +5 -1
- package/styles/tailwind.css +5 -1
|
@@ -5666,7 +5666,7 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
5666
5666
|
var selectedAppointments = this.getSelectedAppointments();
|
|
5667
5667
|
for (var _i = 0, selectedAppointments_1 = selectedAppointments; _i < selectedAppointments_1.length; _i++) {
|
|
5668
5668
|
var appointment = selectedAppointments_1[_i];
|
|
5669
|
-
appointment.setAttribute('aria-
|
|
5669
|
+
appointment.setAttribute('aria-pressed', 'false');
|
|
5670
5670
|
}
|
|
5671
5671
|
removeClass(selectedAppointments, APPOINTMENT_BORDER);
|
|
5672
5672
|
if (this.parent.currentView === 'Agenda' || this.parent.currentView === 'MonthAgenda') {
|
|
@@ -5676,7 +5676,7 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
5676
5676
|
EventBase.prototype.addSelectedAppointments = function (cells) {
|
|
5677
5677
|
for (var _i = 0, cells_1 = cells; _i < cells_1.length; _i++) {
|
|
5678
5678
|
var cell = cells_1[_i];
|
|
5679
|
-
cell.setAttribute('aria-
|
|
5679
|
+
cell.setAttribute('aria-pressed', 'true');
|
|
5680
5680
|
}
|
|
5681
5681
|
if (this.parent.currentView !== 'MonthAgenda') {
|
|
5682
5682
|
this.parent.removeSelectedClass();
|
|
@@ -6024,7 +6024,7 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
6024
6024
|
var exception = event[this.parent.eventFields.recurrenceException];
|
|
6025
6025
|
var maxCount;
|
|
6026
6026
|
if (this.parent.currentView !== 'Agenda' && isMaxCount) {
|
|
6027
|
-
maxCount = getDateCount(
|
|
6027
|
+
maxCount = getDateCount(viewDate, this.parent.activeView.endDate()) + 1;
|
|
6028
6028
|
}
|
|
6029
6029
|
var newTimezone = this.parent.timezone || this.parent.tzModule.getLocalTimezoneName();
|
|
6030
6030
|
var firstDay = this.parent.activeViewOptions.firstDayOfWeek;
|
|
@@ -6223,7 +6223,7 @@ var EventBase = /** @__PURE__ @class */ (function () {
|
|
|
6223
6223
|
className: BLOCK_APPOINTMENT_CLASS,
|
|
6224
6224
|
attrs: {
|
|
6225
6225
|
'data-id': 'Appointment_' + record[this.parent.eventFields.id],
|
|
6226
|
-
'aria-
|
|
6226
|
+
'aria-disabled': 'true', 'aria-pressed': 'false'
|
|
6227
6227
|
}
|
|
6228
6228
|
});
|
|
6229
6229
|
var templateElement;
|
|
@@ -6679,8 +6679,8 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
6679
6679
|
'data-guid': record.Guid,
|
|
6680
6680
|
'role': 'button',
|
|
6681
6681
|
'tabindex': '0',
|
|
6682
|
-
'aria-
|
|
6683
|
-
'aria-
|
|
6682
|
+
'aria-disabled': this.parent.eventBase.getReadonlyAttribute(record),
|
|
6683
|
+
'aria-pressed': 'false',
|
|
6684
6684
|
'aria-grabbed': 'true',
|
|
6685
6685
|
'aria-label': this.parent.getAnnouncementString(record)
|
|
6686
6686
|
}
|
|
@@ -6775,7 +6775,7 @@ var VerticalEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
6775
6775
|
});
|
|
6776
6776
|
var moreIndicatorElement = createElement('div', {
|
|
6777
6777
|
className: MORE_INDICATOR_CLASS,
|
|
6778
|
-
attrs: { 'tabindex': '0', '
|
|
6778
|
+
attrs: { 'tabindex': '0', 'data-index': index.toString(), 'data-count': '1' },
|
|
6779
6779
|
innerHTML: '+1 ' + (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more'))
|
|
6780
6780
|
});
|
|
6781
6781
|
innerCountWrap.appendChild(moreIndicatorElement);
|
|
@@ -7610,7 +7610,7 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
7610
7610
|
var attrs = {
|
|
7611
7611
|
'data-id': 'Appointment_' + record[this.fields.id],
|
|
7612
7612
|
'role': 'button', 'tabindex': '0',
|
|
7613
|
-
'aria-
|
|
7613
|
+
'aria-disabled': this.parent.eventBase.getReadonlyAttribute(record), 'aria-pressed': 'false', 'aria-grabbed': 'true',
|
|
7614
7614
|
'aria-label': this.parent.getAnnouncementString(newRecord, eventSubject)
|
|
7615
7615
|
};
|
|
7616
7616
|
if (!isCloneElement) {
|
|
@@ -7905,8 +7905,7 @@ var MonthEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
7905
7905
|
'tabindex': '0',
|
|
7906
7906
|
'data-count': count.toString(),
|
|
7907
7907
|
'data-start-date': startDate.getTime().toString(),
|
|
7908
|
-
'data-end-date': endDate.getTime().toString()
|
|
7909
|
-
'role': 'list'
|
|
7908
|
+
'data-end-date': endDate.getTime().toString()
|
|
7910
7909
|
}
|
|
7911
7910
|
});
|
|
7912
7911
|
return moreIndicatorElement;
|
|
@@ -9105,8 +9104,8 @@ var QuickPopups = /** @__PURE__ @class */ (function () {
|
|
|
9105
9104
|
attrs: {
|
|
9106
9105
|
'data-id': '' + eventData[fields.id],
|
|
9107
9106
|
'data-guid': eventData.Guid, 'role': 'button', 'tabindex': '0',
|
|
9108
|
-
'aria-
|
|
9109
|
-
'aria-
|
|
9107
|
+
'aria-disabled': this_1.parent.eventBase.getReadonlyAttribute(eventData),
|
|
9108
|
+
'aria-pressed': 'false', 'aria-grabbed': 'true', 'aria-label': this_1.parent.getAnnouncementString(eventData)
|
|
9110
9109
|
}
|
|
9111
9110
|
});
|
|
9112
9111
|
var templateElement = void 0;
|
|
@@ -9202,7 +9201,7 @@ var QuickPopups = /** @__PURE__ @class */ (function () {
|
|
|
9202
9201
|
this.quickPopupHide();
|
|
9203
9202
|
return;
|
|
9204
9203
|
}
|
|
9205
|
-
var targetEle = args.event.target;
|
|
9204
|
+
var targetEle = !isNullOrUndefined(args.event) ? args.event.target : args.element;
|
|
9206
9205
|
if (this.parent.isAdaptive) {
|
|
9207
9206
|
this.quickPopupHide();
|
|
9208
9207
|
var newEventClone = this.parent.element.querySelector('.' + NEW_EVENT_CLASS);
|
|
@@ -10623,7 +10622,7 @@ var RecurrenceEditor = /** @__PURE__ @class */ (function (_super) {
|
|
|
10623
10622
|
value: VALUEFIELD
|
|
10624
10623
|
},
|
|
10625
10624
|
placeholder: this.localeObj.getConstant(REPEAT),
|
|
10626
|
-
htmlAttributes: { 'title': this.localeObj.getConstant(REPEAT) },
|
|
10625
|
+
htmlAttributes: { 'title': this.localeObj.getConstant(REPEAT), role: 'option' },
|
|
10627
10626
|
change: function (args) {
|
|
10628
10627
|
self.setProperties({ selectedType: _this.frequencies.indexOf(args.value) }, false);
|
|
10629
10628
|
self.element.querySelector('.' + REPEATCONTENT).innerHTML =
|
|
@@ -10645,6 +10644,7 @@ var RecurrenceEditor = /** @__PURE__ @class */ (function (_super) {
|
|
|
10645
10644
|
text: TEXTFIELD,
|
|
10646
10645
|
value: VALUEFIELD
|
|
10647
10646
|
},
|
|
10647
|
+
htmlAttributes: { role: 'option' },
|
|
10648
10648
|
change: function (args) {
|
|
10649
10649
|
self.freshOnEndForm();
|
|
10650
10650
|
self.updateEndOnForm(args.value);
|
|
@@ -10662,6 +10662,7 @@ var RecurrenceEditor = /** @__PURE__ @class */ (function (_super) {
|
|
|
10662
10662
|
text: TEXTFIELD,
|
|
10663
10663
|
value: VALUEFIELD
|
|
10664
10664
|
},
|
|
10665
|
+
htmlAttributes: { role: 'option' },
|
|
10665
10666
|
index: 1,
|
|
10666
10667
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
10667
10668
|
change: function (args) {
|
|
@@ -10681,6 +10682,7 @@ var RecurrenceEditor = /** @__PURE__ @class */ (function (_super) {
|
|
|
10681
10682
|
text: TEXTFIELD,
|
|
10682
10683
|
value: VALUEFIELD
|
|
10683
10684
|
},
|
|
10685
|
+
htmlAttributes: { role: 'option' },
|
|
10684
10686
|
enableRtl: this.enableRtl,
|
|
10685
10687
|
index: 7,
|
|
10686
10688
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -11796,6 +11798,7 @@ var EventWindow = /** @__PURE__ @class */ (function () {
|
|
|
11796
11798
|
resourceData.colorField + '}"></div><div class="e-resource-text">${' + resourceData.textField + '}</div></div>';
|
|
11797
11799
|
if (resourceData.allowMultiple) {
|
|
11798
11800
|
var listObj = new MultiSelect({
|
|
11801
|
+
enableRtl: this.parent.enableRtl,
|
|
11799
11802
|
cssClass: this.parent.cssClass || '',
|
|
11800
11803
|
dataSource: resourceData.dataSource,
|
|
11801
11804
|
change: this.onMultiselectResourceChange.bind(this),
|
|
@@ -11854,7 +11857,7 @@ var EventWindow = /** @__PURE__ @class */ (function () {
|
|
|
11854
11857
|
query = (e.text !== '') ? query.where('Text', 'contains', e.text, true) : query;
|
|
11855
11858
|
e.updateData(_this.parent.timezoneDataSource, query);
|
|
11856
11859
|
},
|
|
11857
|
-
htmlAttributes: { 'title': this.getFieldLabel(value), 'name': fieldName },
|
|
11860
|
+
htmlAttributes: { 'title': this.getFieldLabel(value), 'name': fieldName, role: 'option' },
|
|
11858
11861
|
floatLabelType: 'Always',
|
|
11859
11862
|
placeholder: this.getFieldLabel(value),
|
|
11860
11863
|
popupHeight: '230px'
|
|
@@ -14352,13 +14355,15 @@ var Crud = /** @__PURE__ @class */ (function () {
|
|
|
14352
14355
|
else {
|
|
14353
14356
|
endDate = new Date(+followEvent[fields.startTime]);
|
|
14354
14357
|
var newRecurrenceRule = followEvent[fields.recurrenceRule];
|
|
14355
|
-
|
|
14356
|
-
|
|
14357
|
-
|
|
14358
|
-
|
|
14359
|
-
|
|
14360
|
-
|
|
14361
|
-
|
|
14358
|
+
if (newRecurrenceRule) {
|
|
14359
|
+
var startDate = parentEvent[fields.startTime];
|
|
14360
|
+
var ruleException = (this.parent.currentAction === 'DeleteFollowingEvents') ? followEvent[fields.recurrenceException] : null;
|
|
14361
|
+
var dateCollection = generate(startDate, newRecurrenceRule, ruleException, this.parent.activeViewOptions.firstDayOfWeek);
|
|
14362
|
+
var untilDate = new Date(dateCollection.slice(-1)[0]);
|
|
14363
|
+
untilDate.setHours(endDate.getHours(), endDate.getMinutes(), endDate.getSeconds());
|
|
14364
|
+
endDate.setHours(startDate.getHours(), startDate.getMinutes(), startDate.getSeconds());
|
|
14365
|
+
followEvent[fields.recurrenceRule] = this.getUpdatedRecurrenceRule(newRecurrenceRule, new Date(+untilDate), false);
|
|
14366
|
+
}
|
|
14362
14367
|
}
|
|
14363
14368
|
parentEvent[fields.recurrenceRule] = this.getUpdatedRecurrenceRule(recurrenceRule, addDays(new Date(endDate.getTime()), -1), true);
|
|
14364
14369
|
};
|
|
@@ -18239,6 +18244,72 @@ var Schedule = /** @__PURE__ @class */ (function (_super) {
|
|
|
18239
18244
|
this.eventWindow.dialogClose();
|
|
18240
18245
|
}
|
|
18241
18246
|
};
|
|
18247
|
+
/**
|
|
18248
|
+
* To manually open the quick info popup based on cell or event details.
|
|
18249
|
+
*
|
|
18250
|
+
* @param {object} data Defines the cell or event data. If the data contains valid ID, it will open event quick info popup,
|
|
18251
|
+
* otherwise cell quick info popup displayed.
|
|
18252
|
+
* @returns {void}
|
|
18253
|
+
*/
|
|
18254
|
+
Schedule.prototype.openQuickInfoPopup = function (data) {
|
|
18255
|
+
var _this = this;
|
|
18256
|
+
if (this.currentView === 'Year' || isNullOrUndefined(data)) {
|
|
18257
|
+
return;
|
|
18258
|
+
}
|
|
18259
|
+
if (isNullOrUndefined(data[this.eventFields.id])) {
|
|
18260
|
+
if (this.currentView === 'Agenda' || this.currentView === 'MonthAgenda' || isNullOrUndefined(this.activeView)) {
|
|
18261
|
+
return;
|
|
18262
|
+
}
|
|
18263
|
+
var cellData = {
|
|
18264
|
+
startTime: this.activeCellsData.startTime = this.getDateTime(data[this.eventFields.startTime]),
|
|
18265
|
+
endTime: this.activeCellsData.endTime = this.getDateTime(data[this.eventFields.endTime]),
|
|
18266
|
+
isAllDay: this.activeCellsData.isAllDay =
|
|
18267
|
+
!isNullOrUndefined(data[this.eventFields.isAllDay]) ? data[this.eventFields.isAllDay] : false
|
|
18268
|
+
};
|
|
18269
|
+
var startTime = this.activeView.getAdjustedDate(new Date(cellData.startTime));
|
|
18270
|
+
if (startTime) {
|
|
18271
|
+
var query = '.' + WORK_CELLS_CLASS + '[data-date="' + startTime.getTime() + '"]';
|
|
18272
|
+
if (this.activeViewOptions.group.resources.length > 0 && !this.uiStateValues.isGroupAdaptive
|
|
18273
|
+
&& this.resourceBase && this.eventBase) {
|
|
18274
|
+
cellData.groupIndex = this.eventBase.getGroupIndexFromEvent(data);
|
|
18275
|
+
query = '.' + WORK_CELLS_CLASS + '[data-date="' + startTime.getTime() + '"][data-group-index="' + cellData.groupIndex + '"]';
|
|
18276
|
+
}
|
|
18277
|
+
var workCell = this.element.querySelector(query);
|
|
18278
|
+
if (workCell) {
|
|
18279
|
+
workCell.focus();
|
|
18280
|
+
cellData.element = workCell;
|
|
18281
|
+
this.notify(cellClick, cellData);
|
|
18282
|
+
}
|
|
18283
|
+
}
|
|
18284
|
+
}
|
|
18285
|
+
else {
|
|
18286
|
+
var app = this.getCurrentViewEvents().filter(function (item) {
|
|
18287
|
+
return data[_this.eventFields.id] === item[_this.eventFields.id];
|
|
18288
|
+
});
|
|
18289
|
+
if (app.length <= 0) {
|
|
18290
|
+
return;
|
|
18291
|
+
}
|
|
18292
|
+
var selectEvent = app[0];
|
|
18293
|
+
if (data[this.eventFields.recurrenceRule]) {
|
|
18294
|
+
var occurence = app.filter(function (x) {
|
|
18295
|
+
return x[_this.eventFields.startTime].getTime() === data[_this.eventFields.startTime].getTime();
|
|
18296
|
+
});
|
|
18297
|
+
if (occurence.length > 0) {
|
|
18298
|
+
selectEvent = occurence[0];
|
|
18299
|
+
}
|
|
18300
|
+
}
|
|
18301
|
+
var element = this.element.querySelector('div[data-guid="' + selectEvent.Guid + '"]');
|
|
18302
|
+
if (element) {
|
|
18303
|
+
this.eventBase.removeSelectedAppointmentClass();
|
|
18304
|
+
this.eventBase.addSelectedAppointments([element]);
|
|
18305
|
+
this.activeEventData = { event: selectEvent, element: element };
|
|
18306
|
+
if (this.currentView === 'Agenda' || this.currentView === 'MonthAgenda') {
|
|
18307
|
+
addClass([this.activeEventData.element], AGENDA_SELECTED_CELL);
|
|
18308
|
+
}
|
|
18309
|
+
this.notify(eventClick, this.activeEventData);
|
|
18310
|
+
}
|
|
18311
|
+
}
|
|
18312
|
+
};
|
|
18242
18313
|
/**
|
|
18243
18314
|
* To manually close the quick info popup
|
|
18244
18315
|
*
|
|
@@ -19735,7 +19806,7 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
19735
19806
|
}
|
|
19736
19807
|
};
|
|
19737
19808
|
YearEvent.prototype.timelineYearViewEvents = function () {
|
|
19738
|
-
var workCell = this.parent.element.querySelector('.' + WORK_CELLS_CLASS);
|
|
19809
|
+
var workCell = this.parent.element.querySelector('.' + WORK_CELLS_CLASS + ':not(.' + OTHERMONTH_CLASS + ')');
|
|
19739
19810
|
this.cellWidth = workCell.offsetWidth;
|
|
19740
19811
|
this.cellHeader = getOuterHeight(workCell.querySelector('.' + DATE_HEADER_CLASS));
|
|
19741
19812
|
var eventTable = this.parent.element.querySelector('.' + EVENT_TABLE_CLASS);
|
|
@@ -20020,7 +20091,7 @@ var YearEvent = /** @__PURE__ @class */ (function (_super) {
|
|
|
20020
20091
|
'data-id': 'Appointment_' + record[this.fields.id],
|
|
20021
20092
|
'data-guid': record.Guid,
|
|
20022
20093
|
'role': 'button', 'tabindex': '0',
|
|
20023
|
-
'aria-
|
|
20094
|
+
'aria-disabled': this.parent.eventBase.getReadonlyAttribute(record), 'aria-pressed': 'false', 'aria-grabbed': 'true',
|
|
20024
20095
|
'aria-label': this.parent.getAnnouncementString(record)
|
|
20025
20096
|
}
|
|
20026
20097
|
});
|
|
@@ -22005,6 +22076,17 @@ var ViewBase = /** @__PURE__ @class */ (function () {
|
|
|
22005
22076
|
}
|
|
22006
22077
|
return endDate;
|
|
22007
22078
|
};
|
|
22079
|
+
ViewBase.prototype.getAdjustedDate = function (startTime) {
|
|
22080
|
+
if (!this.parent.activeViewOptions.timeScale.enable || this.parent.currentView === 'Month' ||
|
|
22081
|
+
(this.parent.currentView === 'TimelineYear' && this.parent.activeViewOptions.group.resources.length === 0)) {
|
|
22082
|
+
return new Date(startTime.setHours(0, 0, 0, 0));
|
|
22083
|
+
}
|
|
22084
|
+
else if (this.parent.currentView === 'TimelineYear' && this.parent.activeViewOptions.group.resources.length > 0) {
|
|
22085
|
+
startTime.setHours(0, 0, 0, 0);
|
|
22086
|
+
return new Date(startTime.setDate(1));
|
|
22087
|
+
}
|
|
22088
|
+
return null;
|
|
22089
|
+
};
|
|
22008
22090
|
ViewBase.prototype.destroy = function () {
|
|
22009
22091
|
if (this.element && this.element.parentNode) {
|
|
22010
22092
|
remove(this.element);
|
|
@@ -22524,12 +22606,11 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
|
|
|
22524
22606
|
var wrap = createElement('div', { className: DATE_HEADER_WRAP_CLASS });
|
|
22525
22607
|
container.appendChild(wrap);
|
|
22526
22608
|
var tbl = this.createTableLayout();
|
|
22527
|
-
var trEle = createElement('tr');
|
|
22609
|
+
var trEle = createElement('tr', { className: HEADER_ROW_CLASS });
|
|
22528
22610
|
var rowCount = this.colLevels.length;
|
|
22529
22611
|
var lastLevel = this.colLevels[rowCount - 1];
|
|
22530
22612
|
for (var i = 0; i < rowCount; i++) {
|
|
22531
22613
|
var ntr = trEle.cloneNode();
|
|
22532
|
-
addClass([ntr], HEADER_ROW_CLASS);
|
|
22533
22614
|
var level = this.colLevels[i];
|
|
22534
22615
|
for (var j = 0; j < level.length; j++) {
|
|
22535
22616
|
ntr.appendChild(this.createTd(level[j]));
|
|
@@ -22542,13 +22623,13 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
|
|
|
22542
22623
|
return container;
|
|
22543
22624
|
};
|
|
22544
22625
|
VerticalView.prototype.createAllDayRow = function (table, tdData) {
|
|
22545
|
-
var ntr = createElement('tr');
|
|
22546
|
-
addClass([ntr], ALLDAY_ROW_CLASS);
|
|
22626
|
+
var ntr = createElement('tr', { className: ALLDAY_ROW_CLASS });
|
|
22547
22627
|
for (var j = 0; j < tdData.length; j++) {
|
|
22548
22628
|
var td = extend({}, tdData[j]);
|
|
22549
22629
|
td.className = [ALLDAY_CELLS_CLASS];
|
|
22550
22630
|
td.type = 'alldayCells';
|
|
22551
22631
|
var ntd = this.createTd(td);
|
|
22632
|
+
ntd.setAttribute('role', 'gridcell');
|
|
22552
22633
|
ntd.setAttribute('data-date', td.date.getTime().toString());
|
|
22553
22634
|
if (!isNullOrUndefined(td.groupIndex)) {
|
|
22554
22635
|
ntd.setAttribute('data-group-index', '' + td.groupIndex);
|
|
@@ -22581,6 +22662,7 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
|
|
|
22581
22662
|
}
|
|
22582
22663
|
if (td.type === 'dateHeader' && td.className.indexOf(HEADER_CELLS_CLASS) >= 0) {
|
|
22583
22664
|
tdEle.setAttribute('data-date', td.date.getTime().toString());
|
|
22665
|
+
tdEle.setAttribute('role', 'gridcell');
|
|
22584
22666
|
if (!isNullOrUndefined(td.groupIndex)) {
|
|
22585
22667
|
tdEle.setAttribute('data-group-index', '' + td.groupIndex);
|
|
22586
22668
|
}
|
|
@@ -22783,6 +22865,23 @@ var VerticalView = /** @__PURE__ @class */ (function (_super) {
|
|
|
22783
22865
|
}
|
|
22784
22866
|
return rows;
|
|
22785
22867
|
};
|
|
22868
|
+
VerticalView.prototype.getAdjustedDate = function (startTime) {
|
|
22869
|
+
if (!this.parent.activeViewOptions.timeScale.enable) {
|
|
22870
|
+
return new Date(startTime.setHours(0, 0, 0, 0));
|
|
22871
|
+
}
|
|
22872
|
+
else {
|
|
22873
|
+
var timeSlots = this.getTimeSlotRows();
|
|
22874
|
+
var startDate = new Date(new Date(timeSlots[0].date.getTime()).
|
|
22875
|
+
setHours(startTime.getHours(), startTime.getMinutes(), startTime.getMilliseconds()));
|
|
22876
|
+
for (var i = 0; i < timeSlots.length; i++) {
|
|
22877
|
+
if (timeSlots[i].date.getTime() > startDate.getTime()) {
|
|
22878
|
+
startTime.setHours(timeSlots[i - 1].date.getHours(), timeSlots[i - 1].date.getMinutes(), timeSlots[i - 1].date.getMilliseconds());
|
|
22879
|
+
return new Date(startTime);
|
|
22880
|
+
}
|
|
22881
|
+
}
|
|
22882
|
+
}
|
|
22883
|
+
return null;
|
|
22884
|
+
};
|
|
22786
22885
|
VerticalView.prototype.destroy = function () {
|
|
22787
22886
|
if (!this.parent || this.parent && this.parent.isDestroyed) {
|
|
22788
22887
|
return;
|
|
@@ -23924,7 +24023,8 @@ var Year = /** @__PURE__ @class */ (function (_super) {
|
|
|
23924
24023
|
return this.parent.currentView === 'Year' ? getWeekFirstDate(this.getStartDate(), this.parent.firstDayOfWeek) : this.getStartDate();
|
|
23925
24024
|
};
|
|
23926
24025
|
Year.prototype.endDate = function () {
|
|
23927
|
-
return this.parent.currentView === 'Year' ? addDays(getWeekLastDate(this.getEndDate(), this.parent.firstDayOfWeek), 1) :
|
|
24026
|
+
return this.parent.currentView === 'Year' ? addDays(getWeekLastDate(this.getEndDate(), this.parent.firstDayOfWeek), 1) :
|
|
24027
|
+
addDays(this.getEndDate(), 1);
|
|
23928
24028
|
};
|
|
23929
24029
|
Year.prototype.getEndDateFromStartDate = function (start) {
|
|
23930
24030
|
var date = new Date(start.getTime());
|
|
@@ -24050,8 +24150,8 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
|
|
|
24050
24150
|
'data-guid': listData[li].Guid,
|
|
24051
24151
|
'role': 'button',
|
|
24052
24152
|
'tabindex': '0',
|
|
24053
|
-
'aria-
|
|
24054
|
-
'aria-
|
|
24153
|
+
'aria-disabled': _this.parent.eventBase.getReadonlyAttribute(listData[li]),
|
|
24154
|
+
'aria-pressed': 'false',
|
|
24055
24155
|
'aria-grabbed': 'true',
|
|
24056
24156
|
'aria-label': _this.parent.getAnnouncementString(listData[li])
|
|
24057
24157
|
}
|
|
@@ -24319,8 +24419,8 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
|
|
|
24319
24419
|
ntd.appendChild(this.createDateHeaderElement(tempData.date));
|
|
24320
24420
|
addClass([ntd], [AGENDA_CELLS_CLASS, AGENDA_DATE_CLASS, DATE_BORDER_CLASS]);
|
|
24321
24421
|
var daysCount = getDaysCount(this.parent.selectedDate.getTime(), tempData.date.getTime());
|
|
24322
|
-
ntr.setAttribute('
|
|
24323
|
-
if (this.parent.element.querySelector(".e-agenda-view tr[
|
|
24422
|
+
ntr.setAttribute('data-row-index', daysCount.toString());
|
|
24423
|
+
if (this.parent.element.querySelector(".e-agenda-view tr[data-row-index=\"" + daysCount + "\"]")) {
|
|
24324
24424
|
break;
|
|
24325
24425
|
}
|
|
24326
24426
|
ntr.insertBefore(ntd, ntr.childNodes[0]);
|
|
@@ -24356,13 +24456,13 @@ var AgendaBase = /** @__PURE__ @class */ (function (_super) {
|
|
|
24356
24456
|
};
|
|
24357
24457
|
AgendaBase.prototype.createTableRowElement = function (date, type) {
|
|
24358
24458
|
var daysCount = getDaysCount(this.parent.selectedDate.getTime(), date.getTime());
|
|
24359
|
-
var tr = createElement('tr', { attrs: { 'role': 'row', '
|
|
24459
|
+
var tr = createElement('tr', { attrs: { 'role': 'row', 'data-row-index': daysCount.toString() } });
|
|
24360
24460
|
var td = createElement('td', {
|
|
24361
24461
|
attrs: {
|
|
24362
24462
|
'class': (type === 'monthHeader') ? MONTH_HEADER_CLASS : AGENDA_CELLS_CLASS,
|
|
24363
24463
|
'role': 'gridcell',
|
|
24364
24464
|
'aria-selected': 'false',
|
|
24365
|
-
'
|
|
24465
|
+
'data-column-index': daysCount.toString(),
|
|
24366
24466
|
'data-date': date.getTime().toString()
|
|
24367
24467
|
}
|
|
24368
24468
|
});
|
|
@@ -24547,7 +24647,7 @@ var Agenda = /** @__PURE__ @class */ (function (_super) {
|
|
|
24547
24647
|
for (var day = 0; day < this.parent.agendaDaysCount; day++) {
|
|
24548
24648
|
var filterData = this.appointmentFiltering(agendaDate);
|
|
24549
24649
|
var nTr = this.createTableRowElement(agendaDate, 'data');
|
|
24550
|
-
if (this.element.querySelector('tr[
|
|
24650
|
+
if (this.element.querySelector('tr[data-row-index="' + parseInt(nTr.getAttribute('data-row-index'), 10) + '"]')) {
|
|
24551
24651
|
agendaDate = addDays(agendaDate, 1);
|
|
24552
24652
|
continue;
|
|
24553
24653
|
}
|
|
@@ -24611,7 +24711,7 @@ var Agenda = /** @__PURE__ @class */ (function (_super) {
|
|
|
24611
24711
|
prepend([].slice.call(emptyTBody.childNodes), tBody);
|
|
24612
24712
|
this.wireEventActions();
|
|
24613
24713
|
for (var s = 0, element = tBody.children; s < element.length; s++) {
|
|
24614
|
-
if (element[s].getAttribute('
|
|
24714
|
+
if (element[s].getAttribute('data-row-index') === topElement.getAttribute('data-column-index')) {
|
|
24615
24715
|
var scrollToValue = element[s].offsetTop -
|
|
24616
24716
|
this.element.querySelector('.e-agenda-item').offsetHeight;
|
|
24617
24717
|
target.scrollTop = scrollToValue;
|
|
@@ -25362,6 +25462,20 @@ var TimelineViews = /** @__PURE__ @class */ (function (_super) {
|
|
|
25362
25462
|
this.timelineAppointment.renderAppointments();
|
|
25363
25463
|
this.parent.notify(eventsLoaded, {});
|
|
25364
25464
|
};
|
|
25465
|
+
TimelineViews.prototype.getAdjustedDate = function (date) {
|
|
25466
|
+
if (!this.parent.activeViewOptions.timeScale.enable) {
|
|
25467
|
+
return new Date(date.setHours(0, 0, 0, 0));
|
|
25468
|
+
}
|
|
25469
|
+
else {
|
|
25470
|
+
var timeSlots = this.colLevels[this.colLevels.length - 1];
|
|
25471
|
+
for (var i = 0; i < timeSlots.length; i++) {
|
|
25472
|
+
if (timeSlots[i].date.getTime() > date.getTime()) {
|
|
25473
|
+
return timeSlots[i - 1].date;
|
|
25474
|
+
}
|
|
25475
|
+
}
|
|
25476
|
+
}
|
|
25477
|
+
return null;
|
|
25478
|
+
};
|
|
25365
25479
|
TimelineViews.prototype.destroy = function () {
|
|
25366
25480
|
if (!this.parent || this.parent && this.parent.isDestroyed) {
|
|
25367
25481
|
return;
|
|
@@ -25520,6 +25634,15 @@ var TimelineMonth = /** @__PURE__ @class */ (function (_super) {
|
|
|
25520
25634
|
this.colLevels = colLevels;
|
|
25521
25635
|
return colLevels;
|
|
25522
25636
|
};
|
|
25637
|
+
TimelineMonth.prototype.getAdjustedDate = function (startTime) {
|
|
25638
|
+
var timeSlots = this.colLevels[this.colLevels.length - 1];
|
|
25639
|
+
for (var i = 0; i < timeSlots.length; i++) {
|
|
25640
|
+
if (timeSlots[i].date.getTime() > startTime.getTime()) {
|
|
25641
|
+
return timeSlots[i - 1].date;
|
|
25642
|
+
}
|
|
25643
|
+
}
|
|
25644
|
+
return null;
|
|
25645
|
+
};
|
|
25523
25646
|
TimelineMonth.prototype.destroy = function () {
|
|
25524
25647
|
if (!this.parent || this.parent && this.parent.isDestroyed) {
|
|
25525
25648
|
return;
|
|
@@ -25807,6 +25930,9 @@ var TimelineYear = /** @__PURE__ @class */ (function (_super) {
|
|
|
25807
25930
|
else {
|
|
25808
25931
|
addClass([td], OTHERMONTH_CLASS);
|
|
25809
25932
|
}
|
|
25933
|
+
if (td.classList.contains(OTHERMONTH_CLASS)) {
|
|
25934
|
+
continue;
|
|
25935
|
+
}
|
|
25810
25936
|
td.appendChild(dateHeader);
|
|
25811
25937
|
if (isDateAvail) {
|
|
25812
25938
|
td.setAttribute('data-date', date.getTime().toString());
|
|
@@ -26320,6 +26446,10 @@ var ExcelExport = /** @__PURE__ @class */ (function () {
|
|
|
26320
26446
|
var exportName = excelExportOptions.fileName || 'Schedule';
|
|
26321
26447
|
var exportType = excelExportOptions.exportType || 'xlsx';
|
|
26322
26448
|
var isIncludeOccurrences = excelExportOptions.includeOccurrences || false;
|
|
26449
|
+
var separator;
|
|
26450
|
+
if (!isNullOrUndefined(excelExportOptions.separator) && excelExportOptions.separator !== ',') {
|
|
26451
|
+
separator = excelExportOptions.separator;
|
|
26452
|
+
}
|
|
26323
26453
|
var eventCollection;
|
|
26324
26454
|
if (excelExportOptions.customData) {
|
|
26325
26455
|
eventCollection = !isIncludeOccurrences ? excelExportOptions.customData :
|
|
@@ -26328,9 +26458,9 @@ var ExcelExport = /** @__PURE__ @class */ (function () {
|
|
|
26328
26458
|
else {
|
|
26329
26459
|
eventCollection = !isIncludeOccurrences ? this.parent.eventsData : this.parent.eventsProcessed;
|
|
26330
26460
|
}
|
|
26331
|
-
this.processWorkbook(exportColumns, exportName, exportType, eventCollection);
|
|
26461
|
+
this.processWorkbook(exportColumns, exportName, exportType, eventCollection, separator);
|
|
26332
26462
|
};
|
|
26333
|
-
ExcelExport.prototype.processWorkbook = function (fields, name, type, eventCollection) {
|
|
26463
|
+
ExcelExport.prototype.processWorkbook = function (fields, name, type, eventCollection, separator) {
|
|
26334
26464
|
var _this = this;
|
|
26335
26465
|
var columns = [];
|
|
26336
26466
|
var rows = [];
|
|
@@ -26352,7 +26482,7 @@ var ExcelExport = /** @__PURE__ @class */ (function () {
|
|
|
26352
26482
|
rows.push({ index: i + 2, cells: columnData });
|
|
26353
26483
|
});
|
|
26354
26484
|
var workSheet = [{ columns: columns, rows: rows }];
|
|
26355
|
-
var book = new Workbook({ worksheets: workSheet }, type, this.parent.locale);
|
|
26485
|
+
var book = new Workbook({ worksheets: workSheet }, type, this.parent.locale, undefined, separator);
|
|
26356
26486
|
book.save(name + '.' + type);
|
|
26357
26487
|
};
|
|
26358
26488
|
ExcelExport.prototype.getExportColumns = function (exportOptions) {
|