@syncfusion/ej2-schedule 26.1.35 → 26.1.38
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 +106 -45
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +105 -44
- 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/schedule/actions/crud.js +3 -1
- package/src/schedule/actions/resize.js +5 -0
- package/src/schedule/base/schedule.js +6 -3
- package/src/schedule/event-renderer/agenda-base.js +2 -2
- package/src/schedule/event-renderer/event-base.js +1 -1
- package/src/schedule/event-renderer/month.js +2 -1
- package/src/schedule/event-renderer/timeline-view.js +6 -1
- package/src/schedule/event-renderer/vertical-view.js +4 -4
- package/src/schedule/event-renderer/year.js +1 -1
- package/src/schedule/exports/print.js +10 -7
- package/src/schedule/popups/quick-popups.js +1 -1
- package/src/schedule/renderer/header-renderer.js +1 -1
- package/src/schedule/renderer/month.js +5 -4
- package/src/schedule/renderer/renderer.js +8 -2
- package/src/schedule/renderer/timeline-year.js +3 -3
- package/src/schedule/renderer/vertical-view.d.ts +1 -0
- package/src/schedule/renderer/vertical-view.js +21 -9
- package/src/schedule/renderer/view-base.d.ts +1 -0
- package/src/schedule/renderer/view-base.js +25 -2
- package/src/schedule/renderer/year.js +1 -1
- package/styles/fluent2.css +64 -49
- package/styles/recurrence-editor/fluent2.css +30 -30
- package/styles/schedule/_fluent2-definition.scss +3 -3
- package/styles/schedule/_theme.scss +4 -0
- package/styles/schedule/fluent2.css +64 -49
|
@@ -1175,7 +1175,7 @@ class HeaderRenderer {
|
|
|
1175
1175
|
};
|
|
1176
1176
|
const viewName = this.parent.activeViewOptions.dateRangeTemplateName;
|
|
1177
1177
|
const templateId = this.parent.element.id + '_' + viewName + 'dateRangeTemplate';
|
|
1178
|
-
const dateTemplate = [].slice.call(this.parent.getDateRangeTemplate()(args, this.parent, 'dateRangeTemplate', templateId, false));
|
|
1178
|
+
const dateTemplate = [].slice.call(this.parent.getDateRangeTemplate()(args, this.parent, 'dateRangeTemplate', templateId, false, undefined, undefined, this.parent.root));
|
|
1179
1179
|
append(dateTemplate, textEle);
|
|
1180
1180
|
}
|
|
1181
1181
|
else {
|
|
@@ -6507,7 +6507,7 @@ class EventBase {
|
|
|
6507
6507
|
const templateId = scheduleId + viewName + 'eventTemplate';
|
|
6508
6508
|
const templateName = isResourceEventTemplate && this.parent.currentView.indexOf('Year') === -1 ?
|
|
6509
6509
|
this.parent.getEventTemplateName(resIndex) : 'eventTemplate';
|
|
6510
|
-
templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false);
|
|
6510
|
+
templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false, undefined, undefined, this.parent.root);
|
|
6511
6511
|
}
|
|
6512
6512
|
else {
|
|
6513
6513
|
const appointmentSubject = createElement('div', { className: SUBJECT_CLASS });
|
|
@@ -7074,7 +7074,7 @@ class VerticalEvent extends EventBase {
|
|
|
7074
7074
|
const templateId = elementId + viewName + 'eventTemplate';
|
|
7075
7075
|
const resIndex = this.parent.uiStateValues.isGroupAdaptive ? this.parent.uiStateValues.groupIndex : resource;
|
|
7076
7076
|
const templateName = this.isResourceEventTemplate ? this.parent.getEventTemplateName(resIndex) : 'eventTemplate';
|
|
7077
|
-
templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false);
|
|
7077
|
+
templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false, undefined, undefined, this.parent.root);
|
|
7078
7078
|
}
|
|
7079
7079
|
else {
|
|
7080
7080
|
const appointmentSubject = createElement('div', { className: SUBJECT_CLASS });
|
|
@@ -7284,7 +7284,7 @@ class VerticalEvent extends EventBase {
|
|
|
7284
7284
|
}
|
|
7285
7285
|
if (eStart <= eEnd && isValidEvent && this.isWorkDayAvailable(resource, eStart)) {
|
|
7286
7286
|
const appHeight = this.getHeight(eStart, eEnd);
|
|
7287
|
-
if (eStart.getTime()
|
|
7287
|
+
if (eStart.getTime() >= schedule.startHour.getTime()) {
|
|
7288
7288
|
topValue = this.getTopValue(eStart, dayIndex, resource);
|
|
7289
7289
|
}
|
|
7290
7290
|
const appIndex = this.getOverlapIndex(record, dayIndex, false, resource);
|
|
@@ -7539,12 +7539,12 @@ class VerticalEvent extends EventBase {
|
|
|
7539
7539
|
let rowHeight;
|
|
7540
7540
|
if (this.parent.uiStateValues.expand) {
|
|
7541
7541
|
target.setAttribute('title', this.parent.localeObj.getConstant('collapseAllDaySection'));
|
|
7542
|
-
target.setAttribute('aria-label', '
|
|
7542
|
+
target.setAttribute('aria-label', this.parent.localeObj.getConstant('collapseAllDaySection'));
|
|
7543
7543
|
rowHeight = ((this.allDayLevel + 1) * this.getEventHeight()) + 4;
|
|
7544
7544
|
}
|
|
7545
7545
|
else {
|
|
7546
7546
|
target.setAttribute('title', this.parent.localeObj.getConstant('expandAllDaySection'));
|
|
7547
|
-
target.setAttribute('aria-label', '
|
|
7547
|
+
target.setAttribute('aria-label', this.parent.localeObj.getConstant('expandAllDaySection'));
|
|
7548
7548
|
rowHeight = (3 * this.getEventHeight()) + 4;
|
|
7549
7549
|
this.parent.element.querySelector('.' + DATE_HEADER_WRAP_CLASS).scrollTop = 0;
|
|
7550
7550
|
}
|
|
@@ -7953,7 +7953,7 @@ class MonthEvent extends EventBase {
|
|
|
7953
7953
|
const viewName = this.parent.activeViewOptions.eventTemplateName;
|
|
7954
7954
|
const templateId = scheduleId + viewName + 'eventTemplate';
|
|
7955
7955
|
const eventTemplate = this.isResourceEventTemplate ? this.parent.getEventTemplateName(resIndex) : 'eventTemplate';
|
|
7956
|
-
templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, eventTemplate, templateId, false);
|
|
7956
|
+
templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, eventTemplate, templateId, false, undefined, undefined, this.parent.root);
|
|
7957
7957
|
}
|
|
7958
7958
|
else {
|
|
7959
7959
|
const eventLocation = (record[this.fields.location] || this.parent.eventSettings.fields.location.default || '');
|
|
@@ -8082,6 +8082,7 @@ class MonthEvent extends EventBase {
|
|
|
8082
8082
|
if (indicator) {
|
|
8083
8083
|
const count = parseInt(indicator.getAttribute('data-count'), 10) + 1;
|
|
8084
8084
|
indicator.setAttribute('data-count', count.toString());
|
|
8085
|
+
indicator.setAttribute('aria-label', count + ' ' + this.parent.localeObj.getConstant('moreEvents'));
|
|
8085
8086
|
indicator.innerHTML = this.getMoreIndicatorText(count);
|
|
8086
8087
|
}
|
|
8087
8088
|
else {
|
|
@@ -8686,8 +8687,13 @@ class TimelineEvent extends MonthEvent {
|
|
|
8686
8687
|
}
|
|
8687
8688
|
}
|
|
8688
8689
|
getSameDayEventsWidth(startDate, endDate) {
|
|
8690
|
+
let intervalMins = this.interval;
|
|
8691
|
+
if (this.slotsPerDay === 1) {
|
|
8692
|
+
const hoursRange = getStartEndHours(resetTime(new Date(startDate.getTime())), this.startHour, this.endHour);
|
|
8693
|
+
intervalMins = (hoursRange.endHour.getTime() - hoursRange.startHour.getTime()) / MS_PER_MINUTE;
|
|
8694
|
+
}
|
|
8689
8695
|
return ((getUniversalTime(endDate) - getUniversalTime(startDate)) /
|
|
8690
|
-
MS_PER_MINUTE * (this.cellWidth * this.slotCount) /
|
|
8696
|
+
MS_PER_MINUTE * (this.cellWidth * this.slotCount) / intervalMins);
|
|
8691
8697
|
}
|
|
8692
8698
|
getSpannedEventsWidth(startDate, endDate, diffInDays) {
|
|
8693
8699
|
const width = (diffInDays * this.slotsPerDay) * this.cellWidth;
|
|
@@ -9478,7 +9484,7 @@ class QuickPopups {
|
|
|
9478
9484
|
let templateElement;
|
|
9479
9485
|
if (!isNullOrUndefined(this.parent.activeViewOptions.eventTemplate)) {
|
|
9480
9486
|
const tempId = this.parent.element.id + '_' + this.parent.activeViewOptions.eventTemplateName + 'eventTemplate';
|
|
9481
|
-
templateElement = this.parent.getAppointmentTemplate()(eventData, this.parent, 'eventTemplate', tempId, false);
|
|
9487
|
+
templateElement = this.parent.getAppointmentTemplate()(eventData, this.parent, 'eventTemplate', tempId, false, undefined, undefined, this.parent.root);
|
|
9482
9488
|
append(templateElement, appointmentElement);
|
|
9483
9489
|
}
|
|
9484
9490
|
else {
|
|
@@ -14363,9 +14369,15 @@ class Render {
|
|
|
14363
14369
|
}
|
|
14364
14370
|
}
|
|
14365
14371
|
updateLabelText(view) {
|
|
14366
|
-
const content = this.parent.activeView.getLabelText(view);
|
|
14367
14372
|
this.parent.element.setAttribute('role', 'application');
|
|
14368
|
-
this.parent.element.
|
|
14373
|
+
this.parent.element.removeAttribute('aria-labelledby');
|
|
14374
|
+
this.parent.element.removeAttribute('aria-label');
|
|
14375
|
+
if (view === 'Year') {
|
|
14376
|
+
this.parent.element.setAttribute('aria-label', this.parent.activeView.getLabelText(view));
|
|
14377
|
+
}
|
|
14378
|
+
else {
|
|
14379
|
+
this.parent.element.setAttribute('aria-labelledby', this.parent.element.id + '_table');
|
|
14380
|
+
}
|
|
14369
14381
|
}
|
|
14370
14382
|
}
|
|
14371
14383
|
|
|
@@ -14513,7 +14525,9 @@ class Crud {
|
|
|
14513
14525
|
this.parent.trigger(dataBound, null, () => {
|
|
14514
14526
|
this.parent.hideSpinner();
|
|
14515
14527
|
if (this.parent.isPrinting) {
|
|
14516
|
-
|
|
14528
|
+
setTimeout(() => {
|
|
14529
|
+
this.parent.notify(print, {});
|
|
14530
|
+
}, 100);
|
|
14517
14531
|
}
|
|
14518
14532
|
});
|
|
14519
14533
|
});
|
|
@@ -17361,6 +17375,7 @@ let Schedule = class Schedule extends Component {
|
|
|
17361
17375
|
subject: 'Subject',
|
|
17362
17376
|
addTitle: 'Add title',
|
|
17363
17377
|
moreDetails: 'More Details',
|
|
17378
|
+
moreEvents: 'More Events',
|
|
17364
17379
|
save: 'Save',
|
|
17365
17380
|
editContent: 'How would you like to change the appointment in the series?',
|
|
17366
17381
|
deleteContent: 'Are you sure you want to delete this event?',
|
|
@@ -17395,6 +17410,7 @@ let Schedule = class Schedule extends Component {
|
|
|
17395
17410
|
ok: 'Ok',
|
|
17396
17411
|
yes: 'Yes',
|
|
17397
17412
|
no: 'No',
|
|
17413
|
+
of: 'of',
|
|
17398
17414
|
occurrence: 'Occurrence',
|
|
17399
17415
|
series: 'Series',
|
|
17400
17416
|
previous: 'Previous',
|
|
@@ -17964,7 +17980,7 @@ let Schedule = class Schedule extends Component {
|
|
|
17964
17980
|
const scheduleId = this.element.id + '_';
|
|
17965
17981
|
const viewName = this.activeViewOptions.headerIndentTemplateName;
|
|
17966
17982
|
const templateId = scheduleId + viewName + 'headerIndentTemplate';
|
|
17967
|
-
const indentTemplate = [].slice.call(this.getHeaderIndentTemplate()(data, this, 'headerIndentTemplate', templateId, false));
|
|
17983
|
+
const indentTemplate = [].slice.call(this.getHeaderIndentTemplate()(data, this, 'headerIndentTemplate', templateId, false, undefined, undefined, this.root));
|
|
17968
17984
|
append(indentTemplate, td);
|
|
17969
17985
|
}
|
|
17970
17986
|
}
|
|
@@ -18492,8 +18508,9 @@ let Schedule = class Schedule extends Component {
|
|
|
18492
18508
|
}
|
|
18493
18509
|
const msMajorInterval = this.activeViewOptions.timeScale.interval * MS_PER_MINUTE;
|
|
18494
18510
|
const msInterval = msMajorInterval / this.activeViewOptions.timeScale.slotCount;
|
|
18495
|
-
|
|
18496
|
-
let
|
|
18511
|
+
const offsetDiff = ((viewStartHour.getTimezoneOffset() - startHour.getTimezoneOffset()) * MS_PER_MINUTE);
|
|
18512
|
+
let startIndex = Math.round((startHour.getTime() - viewStartHour.getTime() + offsetDiff) / msInterval);
|
|
18513
|
+
let endIndex = Math.ceil((endHour.getTime() - viewStartHour.getTime() + offsetDiff) / msInterval);
|
|
18497
18514
|
const tempStartIndex = startIndex;
|
|
18498
18515
|
const tempEndIndex = endIndex;
|
|
18499
18516
|
const cells = [];
|
|
@@ -20190,6 +20207,11 @@ class Resize extends ActionBase {
|
|
|
20190
20207
|
}
|
|
20191
20208
|
const viewElement = this.parent.element.querySelector('.' + CONTENT_WRAP_CLASS);
|
|
20192
20209
|
this.scrollArgs = { element: viewElement, width: viewElement.scrollWidth, height: viewElement.scrollHeight };
|
|
20210
|
+
// 883565 - To fix the resizing not working issue at the last column of the timeline view
|
|
20211
|
+
if (['Month', 'TimelineYear'].indexOf(this.parent.currentView) < 0) {
|
|
20212
|
+
const scrollWidth = Math.round(this.scrollArgs.width / this.actionObj.cellWidth) * this.actionObj.cellWidth;
|
|
20213
|
+
this.scrollArgs.width = this.scrollArgs.width < scrollWidth ? scrollWidth : this.scrollArgs.width;
|
|
20214
|
+
}
|
|
20193
20215
|
EventHandler.add(document, Browser.touchMoveEvent, this.resizing, this);
|
|
20194
20216
|
EventHandler.add(document, Browser.touchEndEvent, this.resizeStop, this);
|
|
20195
20217
|
});
|
|
@@ -21118,7 +21140,7 @@ class YearEvent extends TimelineEvent {
|
|
|
21118
21140
|
const eventObj = extend({}, record, null, true);
|
|
21119
21141
|
if (this.parent.activeViewOptions.eventTemplate) {
|
|
21120
21142
|
const templateId = this.parent.element.id + '_' + this.parent.activeViewOptions.eventTemplateName + 'eventTemplate';
|
|
21121
|
-
templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, 'eventTemplate', templateId, false);
|
|
21143
|
+
templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, 'eventTemplate', templateId, false, undefined, undefined, this.parent.root);
|
|
21122
21144
|
}
|
|
21123
21145
|
else {
|
|
21124
21146
|
const locationEle = (record[this.fields.location] || this.parent.eventSettings.fields.location.default || '');
|
|
@@ -22674,6 +22696,9 @@ class ViewBase {
|
|
|
22674
22696
|
}
|
|
22675
22697
|
setAriaAttributes(table) {
|
|
22676
22698
|
table.setAttribute('role', 'grid');
|
|
22699
|
+
if (this.parent.currentView !== 'Year') {
|
|
22700
|
+
table.setAttribute('id', this.parent.element.id + '_table');
|
|
22701
|
+
}
|
|
22677
22702
|
table.setAttribute('aria-label', this.getLabelText(this.parent.currentView));
|
|
22678
22703
|
}
|
|
22679
22704
|
createColGroup(table, lastRow) {
|
|
@@ -22917,9 +22942,29 @@ class ViewBase {
|
|
|
22917
22942
|
const weekLength = type === 'next' ? WEEK_LENGTH : -WEEK_LENGTH;
|
|
22918
22943
|
return addDays(this.parent.selectedDate, weekLength * this.parent.activeViewOptions.interval);
|
|
22919
22944
|
}
|
|
22945
|
+
formatViewLabel(view, startDate, endDate) {
|
|
22946
|
+
const formatOptions = { type: 'date', skeleton: 'full', calendar: this.parent.getCalendarMode() };
|
|
22947
|
+
return this.parent.localeObj.getConstant(view) + ' ' + this.parent.localeObj.getConstant('start') + ' ' + this.parent.globalize.formatDate(startDate, formatOptions) + ' '
|
|
22948
|
+
+ this.parent.localeObj.getConstant('endAt') + ' ' + this.parent.globalize.formatDate(endDate, formatOptions);
|
|
22949
|
+
}
|
|
22920
22950
|
getLabelText(view) {
|
|
22921
22951
|
const viewStr = view.charAt(0).toLowerCase() + view.substring(1);
|
|
22922
|
-
|
|
22952
|
+
if (view === 'Year' || view === 'TimelineYear') {
|
|
22953
|
+
return this.formatViewLabel(viewStr, this.parent.activeView.getStartDate(), this.parent.activeView.getEndDate());
|
|
22954
|
+
}
|
|
22955
|
+
else {
|
|
22956
|
+
if (this.renderDates.length > 0) {
|
|
22957
|
+
if (this.parent.currentView === 'Day' || this.parent.currentView === 'TimelineDay') {
|
|
22958
|
+
return this.parent.localeObj.getConstant(viewStr) + ' of ' + capitalizeFirstWord(this.parent.globalize.formatDate(this.parent.selectedDate, { type: 'date', skeleton: 'full', calendar: this.parent.getCalendarMode() }), 'single');
|
|
22959
|
+
}
|
|
22960
|
+
else {
|
|
22961
|
+
return this.formatViewLabel(viewStr, this.renderDates[0], this.renderDates[this.renderDates.length - 1]);
|
|
22962
|
+
}
|
|
22963
|
+
}
|
|
22964
|
+
else {
|
|
22965
|
+
return '';
|
|
22966
|
+
}
|
|
22967
|
+
}
|
|
22923
22968
|
}
|
|
22924
22969
|
getDateRangeText() {
|
|
22925
22970
|
if (this.parent.isAdaptive) {
|
|
@@ -23009,7 +23054,7 @@ class ViewBase {
|
|
|
23009
23054
|
const scheduleId = this.parent.element.id + '_';
|
|
23010
23055
|
const viewName = this.parent.activeViewOptions.resourceHeaderTemplateName;
|
|
23011
23056
|
const templateId = scheduleId + viewName + 'resourceHeaderTemplate';
|
|
23012
|
-
const quickTemplate = [].slice.call(this.parent.getResourceHeaderTemplate()(data, this.parent, 'resourceHeaderTemplate', templateId, false));
|
|
23057
|
+
const quickTemplate = [].slice.call(this.parent.getResourceHeaderTemplate()(data, this.parent, 'resourceHeaderTemplate', templateId, false, undefined, undefined, this.parent.root));
|
|
23013
23058
|
append(quickTemplate, tdElement);
|
|
23014
23059
|
}
|
|
23015
23060
|
else {
|
|
@@ -23535,7 +23580,7 @@ class VerticalView extends ViewBase {
|
|
|
23535
23580
|
templateName = 'dateHeaderTemplate';
|
|
23536
23581
|
const args = { date: date, type: type };
|
|
23537
23582
|
const viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
|
|
23538
|
-
cntEle = [].slice.call(this.parent.getDateHeaderTemplate()(args, this.parent, templateName, templateId + viewName + templateName, false));
|
|
23583
|
+
cntEle = [].slice.call(this.parent.getDateHeaderTemplate()(args, this.parent, templateName, templateId + viewName + templateName, false, undefined, undefined, this.parent.root));
|
|
23539
23584
|
}
|
|
23540
23585
|
else {
|
|
23541
23586
|
wrapper.innerHTML = this.parent.activeView.isTimelineView() ?
|
|
@@ -23549,7 +23594,7 @@ class VerticalView extends ViewBase {
|
|
|
23549
23594
|
if (this.parent.activeViewOptions.timeScale.majorSlotTemplate) {
|
|
23550
23595
|
templateName = 'majorSlotTemplate';
|
|
23551
23596
|
const args = { date: date, type: type };
|
|
23552
|
-
cntEle = [].slice.call(this.parent.getMajorSlotTemplate()(args, this.parent, templateName, templateId + templateName, false));
|
|
23597
|
+
cntEle = [].slice.call(this.parent.getMajorSlotTemplate()(args, this.parent, templateName, templateId + templateName, false, undefined, undefined, this.parent.root));
|
|
23553
23598
|
}
|
|
23554
23599
|
else {
|
|
23555
23600
|
wrapper.innerHTML = `<span>${this.getTime(date)}</span>`;
|
|
@@ -23560,7 +23605,7 @@ class VerticalView extends ViewBase {
|
|
|
23560
23605
|
if (this.parent.activeViewOptions.timeScale.minorSlotTemplate) {
|
|
23561
23606
|
templateName = 'minorSlotTemplate';
|
|
23562
23607
|
const args = { date: date, type: type };
|
|
23563
|
-
cntEle = [].slice.call(this.parent.getMinorSlotTemplate()(args, this.parent, templateName, templateId + templateName, false));
|
|
23608
|
+
cntEle = [].slice.call(this.parent.getMinorSlotTemplate()(args, this.parent, templateName, templateId + templateName, false, undefined, undefined, this.parent.root));
|
|
23564
23609
|
}
|
|
23565
23610
|
else {
|
|
23566
23611
|
cntEle = [].slice.call(wrapper.childNodes);
|
|
@@ -23571,7 +23616,7 @@ class VerticalView extends ViewBase {
|
|
|
23571
23616
|
const viewName = this.parent.activeViewOptions.cellTemplateName;
|
|
23572
23617
|
templateName = 'cellTemplate';
|
|
23573
23618
|
const args = { date: date, type: type, groupIndex: groupIndex };
|
|
23574
|
-
cntEle = [].slice.call(this.parent.getCellTemplate()(args, this.parent, templateName, templateId + viewName + templateName, false));
|
|
23619
|
+
cntEle = [].slice.call(this.parent.getCellTemplate()(args, this.parent, templateName, templateId + viewName + templateName, false, undefined, undefined, this.parent.root));
|
|
23575
23620
|
}
|
|
23576
23621
|
break;
|
|
23577
23622
|
}
|
|
@@ -23690,7 +23735,8 @@ class VerticalView extends ViewBase {
|
|
|
23690
23735
|
const appointmentExpandCollapse = createElement('div', {
|
|
23691
23736
|
attrs: {
|
|
23692
23737
|
'tabindex': '0', 'role': 'list',
|
|
23693
|
-
title: this.parent.localeObj.getConstant('expandAllDaySection'), 'aria-disabled': 'false',
|
|
23738
|
+
title: this.parent.localeObj.getConstant('expandAllDaySection'), 'aria-disabled': 'false',
|
|
23739
|
+
'aria-label': this.parent.localeObj.getConstant('expandAllDaySection')
|
|
23694
23740
|
},
|
|
23695
23741
|
className: ALLDAY_APPOINTMENT_SECTION_CLASS + ' ' + APPOINTMENT_ROW_EXPAND_CLASS + ' ' +
|
|
23696
23742
|
ICON + ' ' + DISABLE_CLASS
|
|
@@ -23840,11 +23886,11 @@ class VerticalView extends ViewBase {
|
|
|
23840
23886
|
ntd.setAttribute('colspan', tdData.colSpan.toString());
|
|
23841
23887
|
}
|
|
23842
23888
|
const clsName = this.getContentTdClass(r);
|
|
23843
|
-
|
|
23889
|
+
let cellDate = resetTime(tdData.date);
|
|
23844
23890
|
if (!this.parent.isMinMaxDate(cellDate)) {
|
|
23845
23891
|
clsName.push(DISABLE_DATES);
|
|
23846
23892
|
}
|
|
23847
|
-
|
|
23893
|
+
cellDate = new Date(cellDate.setHours(r.date.getHours(), r.date.getMinutes(), r.date.getSeconds(), r.date.getMilliseconds()));
|
|
23848
23894
|
let type = 'workCells';
|
|
23849
23895
|
if (tdData.className.indexOf(RESOURCE_PARENT_CLASS) !== -1) {
|
|
23850
23896
|
clsName.push(RESOURCE_GROUP_CELLS_CLASS);
|
|
@@ -23861,7 +23907,7 @@ class VerticalView extends ViewBase {
|
|
|
23861
23907
|
const scheduleId = this.parent.element.id + '_';
|
|
23862
23908
|
const viewName = this.parent.activeViewOptions.cellTemplateName;
|
|
23863
23909
|
const templateId = scheduleId + viewName + 'cellTemplate';
|
|
23864
|
-
const tooltipTemplate = [].slice.call(this.parent.getCellTemplate()(args, this.parent, 'cellTemplate', templateId, false));
|
|
23910
|
+
const tooltipTemplate = [].slice.call(this.parent.getCellTemplate()(args, this.parent, 'cellTemplate', templateId, false, undefined, undefined, this.parent.root));
|
|
23865
23911
|
append(tooltipTemplate, ntd);
|
|
23866
23912
|
}
|
|
23867
23913
|
ntd.setAttribute('data-date', cellDate.getTime().toString());
|
|
@@ -23917,10 +23963,21 @@ class VerticalView extends ViewBase {
|
|
|
23917
23963
|
end.setMilliseconds(end.getMilliseconds() + msInterval);
|
|
23918
23964
|
return end;
|
|
23919
23965
|
}
|
|
23966
|
+
getStartEndHours(startEndTime) {
|
|
23967
|
+
if (!isNullOrUndefined(startEndTime) && startEndTime !== '') {
|
|
23968
|
+
const startEndDate = new Date(2000, 0, 0, 0);
|
|
23969
|
+
const timeString = startEndTime.split(':');
|
|
23970
|
+
if (timeString.length === 2) {
|
|
23971
|
+
startEndDate.setHours(parseInt(timeString[0], 10), parseInt(timeString[1], 10), 0);
|
|
23972
|
+
}
|
|
23973
|
+
return startEndDate;
|
|
23974
|
+
}
|
|
23975
|
+
return new Date(2000, 0, 0, 0);
|
|
23976
|
+
}
|
|
23920
23977
|
getTimeSlotRows(handler) {
|
|
23921
23978
|
const rows = [];
|
|
23922
|
-
const startHour = this.
|
|
23923
|
-
const endHour = this.
|
|
23979
|
+
const startHour = this.getStartEndHours(this.parent.activeViewOptions.startHour);
|
|
23980
|
+
const endHour = this.getStartEndHours(this.parent.activeViewOptions.endHour);
|
|
23924
23981
|
const msMajorInterval = this.parent.activeViewOptions.timeScale.interval * MS_PER_MINUTE;
|
|
23925
23982
|
const msInterval = msMajorInterval / this.parent.activeViewOptions.timeScale.slotCount;
|
|
23926
23983
|
let length = Math.round(MS_PER_DAY / msInterval);
|
|
@@ -24409,7 +24466,7 @@ class Month extends ViewBase {
|
|
|
24409
24466
|
const elementId = this.parent.element.id + '_';
|
|
24410
24467
|
const viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
|
|
24411
24468
|
const templateId = elementId + viewName + 'dateHeaderTemplate';
|
|
24412
|
-
const dateTemplate = [].slice.call(this.parent.getDateHeaderTemplate()(cellArgs, this.parent, 'dateHeaderTemplate', templateId, false));
|
|
24469
|
+
const dateTemplate = [].slice.call(this.parent.getDateHeaderTemplate()(cellArgs, this.parent, 'dateHeaderTemplate', templateId, false, undefined, undefined, this.parent.root));
|
|
24413
24470
|
if (dateTemplate && dateTemplate.length) {
|
|
24414
24471
|
append(dateTemplate, tdEle);
|
|
24415
24472
|
}
|
|
@@ -24577,7 +24634,7 @@ class Month extends ViewBase {
|
|
|
24577
24634
|
const scheduleId = this.parent.element.id + '_';
|
|
24578
24635
|
const viewName = this.parent.activeViewOptions.cellTemplateName;
|
|
24579
24636
|
const templateId = scheduleId + viewName + 'cellTemplate';
|
|
24580
|
-
const cellTemplate = [].slice.call(this.parent.getCellTemplate()(args, this.parent, 'cellTemplate', templateId, false));
|
|
24637
|
+
const cellTemplate = [].slice.call(this.parent.getCellTemplate()(args, this.parent, 'cellTemplate', templateId, false, undefined, undefined, this.parent.root));
|
|
24581
24638
|
append(cellTemplate, ntd);
|
|
24582
24639
|
}
|
|
24583
24640
|
const args = { elementType: type, element: ntd, date: data.date, groupIndex: data.groupIndex };
|
|
@@ -24594,7 +24651,7 @@ class Month extends ViewBase {
|
|
|
24594
24651
|
const scheduleId = this.parent.element.id + '_';
|
|
24595
24652
|
const viewName = this.parent.activeViewOptions.cellHeaderTemplateName;
|
|
24596
24653
|
const templateId = scheduleId + viewName + 'cellHeaderTemplate';
|
|
24597
|
-
const cellHeaderTemplate = [].slice.call(this.parent.getCellHeaderTemplate()(args, this.parent, 'cellHeaderTemplate', templateId, false));
|
|
24654
|
+
const cellHeaderTemplate = [].slice.call(this.parent.getCellHeaderTemplate()(args, this.parent, 'cellHeaderTemplate', templateId, false, undefined, undefined, this.parent.root));
|
|
24598
24655
|
append(cellHeaderTemplate, dateHeader);
|
|
24599
24656
|
}
|
|
24600
24657
|
else {
|
|
@@ -24724,7 +24781,8 @@ class Month extends ViewBase {
|
|
|
24724
24781
|
return this.formatDateRange(this.parent.selectedDate);
|
|
24725
24782
|
}
|
|
24726
24783
|
getLabelText(view) {
|
|
24727
|
-
|
|
24784
|
+
const viewStr = view.charAt(0).toLowerCase() + view.substring(1);
|
|
24785
|
+
return this.formatViewLabel(viewStr, this.getStartDate(), this.getEndDate());
|
|
24728
24786
|
}
|
|
24729
24787
|
createWeekNumberElement(text) {
|
|
24730
24788
|
const tr = createElement('tr');
|
|
@@ -25025,7 +25083,7 @@ class Year extends ViewBase {
|
|
|
25025
25083
|
}
|
|
25026
25084
|
renderTemplates(fn, args, tName, vName, ele) {
|
|
25027
25085
|
const templateId = this.parent.element.id + '_' + vName + tName;
|
|
25028
|
-
const template = [].slice.call(fn(args, this.parent, tName, templateId, false));
|
|
25086
|
+
const template = [].slice.call(fn(args, this.parent, tName, templateId, false, undefined, undefined, this.parent.root));
|
|
25029
25087
|
append(template, ele);
|
|
25030
25088
|
}
|
|
25031
25089
|
onCellClick(e) {
|
|
@@ -25242,7 +25300,7 @@ class AgendaBase extends ViewBase {
|
|
|
25242
25300
|
const scheduleId = this.parent.element.id + '_';
|
|
25243
25301
|
const viewName = this.parent.activeViewOptions.eventTemplateName;
|
|
25244
25302
|
const templateId = scheduleId + viewName + 'eventTemplate';
|
|
25245
|
-
templateEle = this.parent.getAppointmentTemplate()(listData[parseInt(li.toString(), 10)], this.parent, 'eventTemplate', templateId, false);
|
|
25303
|
+
templateEle = this.parent.getAppointmentTemplate()(listData[parseInt(li.toString(), 10)], this.parent, 'eventTemplate', templateId, false, undefined, undefined, this.parent.root);
|
|
25246
25304
|
if (!isNullOrUndefined(listData[parseInt(li.toString(), 10)][fieldMapping.recurrenceRule])) {
|
|
25247
25305
|
const iconClass = (listData[parseInt(li.toString(), 10)][fieldMapping.id] ===
|
|
25248
25306
|
listData[parseInt(li.toString(), 10)][fieldMapping.recurrenceID]) ?
|
|
@@ -25542,7 +25600,7 @@ class AgendaBase extends ViewBase {
|
|
|
25542
25600
|
const scheduleId = this.parent.element.id + '_';
|
|
25543
25601
|
const viewName = this.parent.activeViewOptions.dateHeaderTemplateName;
|
|
25544
25602
|
const templateId = scheduleId + viewName + 'dateHeaderTemplate';
|
|
25545
|
-
const dateTemplate = [].slice.call(this.parent.getDateHeaderTemplate()(args, this.parent, 'dateHeaderTemplate', templateId, false));
|
|
25603
|
+
const dateTemplate = [].slice.call(this.parent.getDateHeaderTemplate()(args, this.parent, 'dateHeaderTemplate', templateId, false, undefined, undefined, this.parent.root));
|
|
25546
25604
|
append(dateTemplate, dateHeader);
|
|
25547
25605
|
}
|
|
25548
25606
|
else {
|
|
@@ -27141,10 +27199,10 @@ class TimelineYear extends Year {
|
|
|
27141
27199
|
const monthId = `schedule_${this.parent.activeViewOptions.dayHeaderTemplateName}monthHeaderTemplate`;
|
|
27142
27200
|
if (type === 'dayHeaderTemplate') {
|
|
27143
27201
|
args.day = this.parent.getDayNames('wide')[column % 7];
|
|
27144
|
-
return [].slice.call(this.parent.getDayHeaderTemplate()(args, this.parent, 'dayHeaderTemplate', dayId, false));
|
|
27202
|
+
return [].slice.call(this.parent.getDayHeaderTemplate()(args, this.parent, 'dayHeaderTemplate', dayId, false, undefined, undefined, this.parent.root));
|
|
27145
27203
|
}
|
|
27146
27204
|
else {
|
|
27147
|
-
return [].slice.call(this.parent.getMonthHeaderTemplate()(args, this.parent, 'monthHeaderTemplate', monthId, false));
|
|
27205
|
+
return [].slice.call(this.parent.getMonthHeaderTemplate()(args, this.parent, 'monthHeaderTemplate', monthId, false, undefined, undefined, this.parent.root));
|
|
27148
27206
|
}
|
|
27149
27207
|
}
|
|
27150
27208
|
renderCellTemplate(data, td) {
|
|
@@ -27158,7 +27216,7 @@ class TimelineYear extends Year {
|
|
|
27158
27216
|
const scheduleId = this.parent.element.id + '_';
|
|
27159
27217
|
const viewName = this.parent.activeViewOptions.cellTemplateName;
|
|
27160
27218
|
const templateId = scheduleId + viewName + 'cellTemplate';
|
|
27161
|
-
const cellTemplate = [].slice.call(this.parent.getCellTemplate()(args, this.parent, 'cellTemplate', templateId, false));
|
|
27219
|
+
const cellTemplate = [].slice.call(this.parent.getCellTemplate()(args, this.parent, 'cellTemplate', templateId, false, undefined, undefined, this.parent.root));
|
|
27162
27220
|
append(cellTemplate, td);
|
|
27163
27221
|
}
|
|
27164
27222
|
scrollToDate(scrollDate) {
|
|
@@ -27740,6 +27798,7 @@ class Print {
|
|
|
27740
27798
|
Schedule.Inject(Day, Week, WorkWeek, Month, Agenda, MonthAgenda, TimelineViews, TimelineMonth, Year, TimelineYear);
|
|
27741
27799
|
this.printInstance = new Schedule(this.getPrintScheduleModel(printOptions));
|
|
27742
27800
|
this.printInstance.isPrinting = true;
|
|
27801
|
+
this.printInstance.root = this.parent.root ? this.parent.root : this.parent;
|
|
27743
27802
|
this.printInstance.appendTo(element);
|
|
27744
27803
|
this.printInstance.on(print, this.contentReady, this);
|
|
27745
27804
|
this.printWindow = window.open('', 'print', 'height=' + window.outerHeight + ',width=' + window.outerWidth + ',tabbar=no');
|
|
@@ -27772,7 +27831,7 @@ class Print {
|
|
|
27772
27831
|
eventSettings.dataSource = this.parent.eventsData;
|
|
27773
27832
|
const eventTemplate = !isNullOrUndefined(printOptions.eventSettings) &&
|
|
27774
27833
|
!isNullOrUndefined(printOptions.eventSettings.template) ? printOptions.eventSettings.template : eventSettings.template;
|
|
27775
|
-
eventSettings.template = typeof (eventTemplate) === 'function' ? null : eventTemplate;
|
|
27834
|
+
eventSettings.template = !this.parent.isAngular && typeof (eventTemplate) === 'function' ? null : eventTemplate;
|
|
27776
27835
|
printModel.eventSettings = eventSettings;
|
|
27777
27836
|
break;
|
|
27778
27837
|
}
|
|
@@ -27783,13 +27842,15 @@ class Print {
|
|
|
27783
27842
|
break;
|
|
27784
27843
|
case 'timeScale':
|
|
27785
27844
|
timeScale = isNullOrUndefined(printOptions.timeScale) ? this.parent.timeScale : printOptions.timeScale;
|
|
27786
|
-
|
|
27787
|
-
|
|
27788
|
-
|
|
27845
|
+
if (!this.parent.isAngular) {
|
|
27846
|
+
timeScale.majorSlotTemplate = typeof (timeScale.majorSlotTemplate) === 'function' ? null : timeScale.majorSlotTemplate;
|
|
27847
|
+
timeScale.minorSlotTemplate = typeof (timeScale.minorSlotTemplate) === 'function' ? null : timeScale.minorSlotTemplate;
|
|
27848
|
+
}
|
|
27849
|
+
printModel.timeScale = timeScale;
|
|
27789
27850
|
break;
|
|
27790
27851
|
case 'views':
|
|
27791
27852
|
views = isNullOrUndefined(printOptions.views) ? this.parent.views : printOptions.views;
|
|
27792
|
-
if (views && views.length > 0 && typeof (views[0]) === 'object') {
|
|
27853
|
+
if (!this.parent.isAngular && views && views.length > 0 && typeof (views[0]) === 'object') {
|
|
27793
27854
|
for (const view of views) {
|
|
27794
27855
|
scheduleTemplates.forEach((x) => {
|
|
27795
27856
|
if (!isNullOrUndefined(view[`${x}`])) {
|
|
@@ -27803,8 +27864,8 @@ class Print {
|
|
|
27803
27864
|
default:
|
|
27804
27865
|
if (scheduleTemplates.indexOf(key) > -1) {
|
|
27805
27866
|
printModel[`${key}`] = isNullOrUndefined(printOptions[`${key}`]) ?
|
|
27806
|
-
(typeof (this.parent[`${key}`]) === 'function' ? null : this.parent[`${key}`]) :
|
|
27807
|
-
(typeof (printOptions[`${key}`]) === 'function' ? null : printOptions[`${key}`]);
|
|
27867
|
+
(!this.parent.isAngular && typeof (this.parent[`${key}`]) === 'function' ? null : this.parent[`${key}`]) :
|
|
27868
|
+
(!this.parent.isAngular && typeof (printOptions[`${key}`]) === 'function' ? null : printOptions[`${key}`]);
|
|
27808
27869
|
break;
|
|
27809
27870
|
}
|
|
27810
27871
|
if (scheduleEvents.indexOf(key) > -1) {
|