@syncfusion/ej2-schedule 22.2.12 → 23.1.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 +15 -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 +288 -56
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +289 -56
- 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 +16 -16
- package/src/schedule/actions/crud.d.ts +1 -1
- package/src/schedule/actions/crud.js +13 -5
- package/src/schedule/actions/data.js +29 -8
- package/src/schedule/actions/keyboard.js +1 -2
- package/src/schedule/actions/virtual-scroll.d.ts +1 -0
- package/src/schedule/actions/virtual-scroll.js +37 -2
- package/src/schedule/base/constant.d.ts +4 -0
- package/src/schedule/base/constant.js +4 -0
- package/src/schedule/base/interface.d.ts +15 -0
- package/src/schedule/base/resource.js +1 -0
- package/src/schedule/base/schedule-model.d.ts +41 -35
- package/src/schedule/base/schedule.d.ts +54 -35
- package/src/schedule/base/schedule.js +71 -6
- package/src/schedule/models/views-model.d.ts +10 -1
- package/src/schedule/models/views.d.ts +9 -1
- package/src/schedule/models/views.js +3 -0
- package/src/schedule/popups/event-tooltip.js +7 -3
- package/src/schedule/popups/event-window.d.ts +7 -0
- package/src/schedule/popups/event-window.js +123 -29
- package/src/schedule/popups/quick-popups.js +3 -0
- package/styles/bootstrap-dark.css +15 -0
- package/styles/bootstrap.css +15 -0
- package/styles/bootstrap4.css +15 -0
- package/styles/bootstrap5-dark.css +15 -0
- package/styles/bootstrap5.css +15 -0
- package/styles/fabric-dark.css +15 -0
- package/styles/fabric.css +15 -0
- package/styles/fluent-dark.css +15 -0
- package/styles/fluent.css +15 -0
- package/styles/highcontrast-light.css +15 -0
- package/styles/highcontrast.css +15 -0
- package/styles/material-dark.css +15 -1
- package/styles/material.css +15 -1
- package/styles/material3-dark.css +16 -2
- package/styles/material3-dark.scss +1 -1
- package/styles/material3.css +16 -2
- package/styles/material3.scss +1 -1
- package/styles/recurrence-editor/bootstrap-dark.scss +1 -1
- package/styles/recurrence-editor/bootstrap.scss +1 -1
- package/styles/recurrence-editor/bootstrap4.scss +1 -1
- package/styles/recurrence-editor/bootstrap5-dark.scss +1 -1
- package/styles/recurrence-editor/bootstrap5.scss +1 -1
- package/styles/recurrence-editor/fabric-dark.scss +1 -1
- package/styles/recurrence-editor/fabric.scss +1 -1
- package/styles/recurrence-editor/fluent-dark.scss +1 -1
- package/styles/recurrence-editor/fluent.scss +1 -1
- package/styles/recurrence-editor/highcontrast-light.scss +1 -1
- package/styles/recurrence-editor/highcontrast.scss +1 -1
- package/styles/recurrence-editor/material-dark.css +0 -1
- package/styles/recurrence-editor/material-dark.scss +1 -1
- package/styles/recurrence-editor/material.css +0 -1
- package/styles/recurrence-editor/material.scss +1 -1
- package/styles/recurrence-editor/material3-dark.css +0 -1
- package/styles/recurrence-editor/material3-dark.scss +1 -1
- package/styles/recurrence-editor/material3.css +0 -1
- package/styles/recurrence-editor/material3.scss +1 -1
- package/styles/recurrence-editor/tailwind-dark.css +0 -1
- package/styles/recurrence-editor/tailwind-dark.scss +1 -1
- package/styles/recurrence-editor/tailwind.css +0 -1
- package/styles/recurrence-editor/tailwind.scss +1 -1
- package/styles/schedule/_layout.scss +15 -0
- package/styles/schedule/_material3-definition.scss +1 -1
- package/styles/schedule/bootstrap-dark.css +15 -0
- package/styles/schedule/bootstrap-dark.scss +1 -1
- package/styles/schedule/bootstrap.css +15 -0
- package/styles/schedule/bootstrap.scss +1 -1
- package/styles/schedule/bootstrap4.css +15 -0
- package/styles/schedule/bootstrap4.scss +1 -1
- package/styles/schedule/bootstrap5-dark.css +15 -0
- package/styles/schedule/bootstrap5-dark.scss +1 -1
- package/styles/schedule/bootstrap5.css +15 -0
- package/styles/schedule/bootstrap5.scss +1 -1
- package/styles/schedule/fabric-dark.css +15 -0
- package/styles/schedule/fabric-dark.scss +1 -1
- package/styles/schedule/fabric.css +15 -0
- package/styles/schedule/fabric.scss +1 -1
- package/styles/schedule/fluent-dark.css +15 -0
- package/styles/schedule/fluent-dark.scss +1 -1
- package/styles/schedule/fluent.css +15 -0
- package/styles/schedule/fluent.scss +1 -1
- package/styles/schedule/highcontrast-light.css +15 -0
- package/styles/schedule/highcontrast-light.scss +1 -1
- package/styles/schedule/highcontrast.css +15 -0
- package/styles/schedule/highcontrast.scss +1 -1
- package/styles/schedule/material-dark.css +15 -1
- package/styles/schedule/material-dark.scss +1 -1
- package/styles/schedule/material.css +15 -1
- package/styles/schedule/material.scss +1 -1
- package/styles/schedule/material3-dark.css +16 -2
- package/styles/schedule/material3-dark.scss +1 -1
- package/styles/schedule/material3.css +16 -2
- package/styles/schedule/material3.scss +1 -1
- package/styles/schedule/tailwind-dark.css +15 -1
- package/styles/schedule/tailwind-dark.scss +1 -1
- package/styles/schedule/tailwind.css +15 -1
- package/styles/schedule/tailwind.scss +1 -1
- package/styles/tailwind-dark.css +15 -2
- package/styles/tailwind.css +15 -2
|
@@ -60,6 +60,10 @@ const resizeStop = 'resizeStop';
|
|
|
60
60
|
const inlineClick = 'inlineClick';
|
|
61
61
|
/** @private */
|
|
62
62
|
const cellSelect = 'cellSelect';
|
|
63
|
+
/** @private */
|
|
64
|
+
const virtualScrollStart = 'virtualScrollStart';
|
|
65
|
+
/** @private */
|
|
66
|
+
const virtualScrollStop = 'virtualScrollStop';
|
|
63
67
|
/**
|
|
64
68
|
* Specifies schedule internal events
|
|
65
69
|
*/
|
|
@@ -552,7 +556,7 @@ const WORK_HOURS_CLASS = 'e-work-hours';
|
|
|
552
556
|
/** @private */
|
|
553
557
|
const POPUP_OPEN = 'e-popup-open';
|
|
554
558
|
/** @private */
|
|
555
|
-
|
|
559
|
+
const POPUP_CLOSE = 'e-popup-close';
|
|
556
560
|
/** @private */
|
|
557
561
|
const DATE_HEADER_WRAP_CLASS = 'e-date-header-wrap';
|
|
558
562
|
/** @private */
|
|
@@ -2066,8 +2070,7 @@ class KeyboardInteraction {
|
|
|
2066
2070
|
const queryStr = '.' + WORK_CELLS_CLASS + ',.' + ALLDAY_CELLS_CLASS + ',.' + HEADER_CELLS_CLASS;
|
|
2067
2071
|
let target = closest(e.target, queryStr);
|
|
2068
2072
|
const selectedCells = this.parent.getSelectedCells();
|
|
2069
|
-
if (
|
|
2070
|
-
selectedCells[0].getAttribute('data-group-index') !== target.getAttribute('data-group-index')) {
|
|
2073
|
+
if (selectedCells.length > 0 && selectedCells.indexOf(target) === -1) {
|
|
2071
2074
|
target = selectedCells[selectedCells.length - 1];
|
|
2072
2075
|
}
|
|
2073
2076
|
if (this.parent.currentView === 'TimelineYear' && target.classList.contains(OTHERMONTH_CLASS)) {
|
|
@@ -3044,15 +3047,35 @@ class Data {
|
|
|
3044
3047
|
*/
|
|
3045
3048
|
generateQuery(startDate, endDate) {
|
|
3046
3049
|
const query = this.query.clone();
|
|
3047
|
-
if (this.parent &&
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3050
|
+
if (this.parent && startDate && endDate) {
|
|
3051
|
+
if (this.parent.activeViewOptions && this.parent.activeViewOptions.enableLazyLoading &&
|
|
3052
|
+
!isNullOrUndefined(this.parent.activeViewOptions.group.resources) &&
|
|
3053
|
+
this.parent.activeViewOptions.group.resources.length > 0 && this.parent.resourceBase &&
|
|
3054
|
+
this.parent.resourceBase.resourceCollection.length > 0 && this.parent.resourceBase.renderedResources.length > 0) {
|
|
3055
|
+
const resIdCollection = [];
|
|
3056
|
+
this.parent.resourceBase.resourceCollection.forEach(() => resIdCollection.push([]));
|
|
3057
|
+
this.parent.resourceBase.renderedResources.forEach((resource) => {
|
|
3058
|
+
resIdCollection.forEach((resId, index) => {
|
|
3059
|
+
const groupId = resource.groupOrder[parseInt(index.toString(), 10)];
|
|
3060
|
+
if (groupId && resId.indexOf(groupId) < 0) {
|
|
3061
|
+
resId.push(groupId);
|
|
3062
|
+
}
|
|
3063
|
+
});
|
|
3064
|
+
});
|
|
3065
|
+
this.parent.resourceBase.resourceCollection.forEach((resource, index) => {
|
|
3066
|
+
query.addParams(resource.field, resIdCollection[parseInt(index.toString(), 10)].toString());
|
|
3067
|
+
});
|
|
3068
|
+
}
|
|
3069
|
+
if (this.parent.timezone) {
|
|
3070
|
+
startDate = this.parent.tzModule.remove(new Date(+startDate.getTime()), this.parent.timezone);
|
|
3071
|
+
endDate = this.parent.tzModule.remove(new Date(+endDate.getTime()), this.parent.timezone);
|
|
3072
|
+
}
|
|
3073
|
+
if (this.parent.eventSettings.includeFiltersInQuery) {
|
|
3074
|
+
const dateQuery = this.getStartEndQuery(startDate, endDate);
|
|
3075
|
+
const recurrenceQuery = new Predicate(this.parent.eventFields.recurrenceRule, 'notequal', null).and(new Predicate(this.parent.eventFields.recurrenceRule, 'notequal', ''));
|
|
3076
|
+
return query.where(dateQuery.or(recurrenceQuery));
|
|
3077
|
+
}
|
|
3053
3078
|
query.addParams('StartDate', startDate.toISOString());
|
|
3054
|
-
}
|
|
3055
|
-
if (endDate) {
|
|
3056
3079
|
query.addParams('EndDate', endDate.toISOString());
|
|
3057
3080
|
}
|
|
3058
3081
|
return query;
|
|
@@ -9167,6 +9190,9 @@ class QuickPopups {
|
|
|
9167
9190
|
'aria-label': this.parent.getAnnouncementString(eventData)
|
|
9168
9191
|
}
|
|
9169
9192
|
});
|
|
9193
|
+
if (eventData[fields.isReadonly]) {
|
|
9194
|
+
addClass([appointmentElement], 'e-read-only');
|
|
9195
|
+
}
|
|
9170
9196
|
let templateElement;
|
|
9171
9197
|
if (!isNullOrUndefined(this.parent.activeViewOptions.eventTemplate)) {
|
|
9172
9198
|
const tempId = this.parent.element.id + '_' + this.parent.activeViewOptions.eventTemplateName + 'eventTemplate';
|
|
@@ -10258,7 +10284,7 @@ class EventTooltip {
|
|
|
10258
10284
|
cssClass: this.parent.cssClass + ' ' + EVENT_TOOLTIP_ROOT_CLASS,
|
|
10259
10285
|
target: this.getTargets(),
|
|
10260
10286
|
beforeRender: this.onBeforeRender.bind(this),
|
|
10261
|
-
|
|
10287
|
+
beforeClose: this.onTooltipClose.bind(this),
|
|
10262
10288
|
enableRtl: this.parent.enableRtl,
|
|
10263
10289
|
enableHtmlSanitizer: this.parent.enableHtmlSanitizer
|
|
10264
10290
|
});
|
|
@@ -10366,7 +10392,11 @@ class EventTooltip {
|
|
|
10366
10392
|
}
|
|
10367
10393
|
this.parent.renderTemplates();
|
|
10368
10394
|
}
|
|
10369
|
-
onTooltipClose() {
|
|
10395
|
+
onTooltipClose(args) {
|
|
10396
|
+
if (args.element) {
|
|
10397
|
+
removeClass([args.element], POPUP_OPEN);
|
|
10398
|
+
addClass([args.element], POPUP_CLOSE);
|
|
10399
|
+
}
|
|
10370
10400
|
this.parent.resetTemplates(['tooltipTemplate', 'headerTooltipTemplate']);
|
|
10371
10401
|
}
|
|
10372
10402
|
setContent(content) {
|
|
@@ -11538,40 +11568,54 @@ class EventWindow {
|
|
|
11538
11568
|
};
|
|
11539
11569
|
if (this.parent.isAdaptive) {
|
|
11540
11570
|
dialogModel.cssClass = EVENT_WINDOW_DIALOG_CLASS + ' ' + DEVICE_CLASS;
|
|
11541
|
-
|
|
11542
|
-
|
|
11571
|
+
if (!this.parent.editorHeaderTemplate) {
|
|
11572
|
+
dialogModel.header = '<div class="e-title-header"><div class="e-back-icon e-icons"></div><div class="e-title-text">' +
|
|
11573
|
+
this.l10n.getConstant('newEvent') + '</div><div class="e-save-icon e-icons"></div></div>';
|
|
11574
|
+
}
|
|
11543
11575
|
}
|
|
11544
11576
|
else {
|
|
11545
|
-
|
|
11546
|
-
|
|
11547
|
-
|
|
11548
|
-
|
|
11549
|
-
|
|
11550
|
-
|
|
11551
|
-
}, {
|
|
11552
|
-
buttonModel: {
|
|
11553
|
-
content: this.l10n.getConstant('saveButton'), cssClass: 'e-primary ' + EVENT_WINDOW_SAVE_BUTTON_CLASS,
|
|
11554
|
-
isPrimary: true, disabled: !this.parent.eventSettings.allowAdding || this.parent.readonly
|
|
11555
|
-
},
|
|
11556
|
-
click: this.eventSave.bind(this)
|
|
11557
|
-
}, {
|
|
11558
|
-
buttonModel: { cssClass: EVENT_WINDOW_CANCEL_BUTTON_CLASS, content: this.l10n.getConstant('cancelButton') },
|
|
11559
|
-
click: this.dialogClose.bind(this)
|
|
11560
|
-
}];
|
|
11561
|
-
dialogModel.header = '<div class="e-title-text">' + this.l10n.getConstant('newEvent') + '</div>';
|
|
11577
|
+
if (!this.parent.editorFooterTemplate) {
|
|
11578
|
+
this.renderDialogButtons(dialogModel);
|
|
11579
|
+
}
|
|
11580
|
+
if (!this.parent.editorHeaderTemplate) {
|
|
11581
|
+
dialogModel.header = '<div class="e-title-text">' + this.l10n.getConstant('newEvent') + '</div>';
|
|
11582
|
+
}
|
|
11562
11583
|
}
|
|
11563
11584
|
this.dialogObject = new Dialog(dialogModel, this.element);
|
|
11564
11585
|
if (this.dialogObject.element.querySelector('.e-dlg-closeicon-btn')) {
|
|
11565
11586
|
this.dialogObject.element.querySelector('.e-dlg-closeicon-btn').setAttribute('title', this.l10n.getConstant('close'));
|
|
11566
11587
|
}
|
|
11588
|
+
this.addEventHandlers();
|
|
11567
11589
|
addClass([this.element.parentElement], EVENT_WINDOW_DIALOG_CLASS + '-container');
|
|
11568
|
-
if (this.parent.isAdaptive) {
|
|
11569
|
-
EventHandler.add(this.element.querySelector('.' + EVENT_WINDOW_BACK_ICON_CLASS), 'click', this.dialogClose, this);
|
|
11570
|
-
EventHandler.add(this.element.querySelector('.' + EVENT_WINDOW_SAVE_ICON_CLASS), 'click', this.eventSave, this);
|
|
11571
|
-
}
|
|
11572
11590
|
EventHandler.add(this.dialogObject.element, 'keydown', this.preventEventSave, this);
|
|
11573
11591
|
this.applyFormValidation();
|
|
11574
11592
|
}
|
|
11593
|
+
renderDialogButtons(dialogButton) {
|
|
11594
|
+
dialogButton.buttons = [{
|
|
11595
|
+
buttonModel: {
|
|
11596
|
+
content: this.l10n.getConstant('deleteButton'), cssClass: DELETE_EVENT_CLASS,
|
|
11597
|
+
disabled: !this.parent.eventSettings.allowDeleting || this.parent.readonly
|
|
11598
|
+
},
|
|
11599
|
+
click: this.eventDelete.bind(this)
|
|
11600
|
+
}, {
|
|
11601
|
+
buttonModel: {
|
|
11602
|
+
content: this.l10n.getConstant('saveButton'), cssClass: 'e-primary ' + EVENT_WINDOW_SAVE_BUTTON_CLASS,
|
|
11603
|
+
isPrimary: true, disabled: !this.parent.eventSettings.allowAdding || this.parent.readonly
|
|
11604
|
+
},
|
|
11605
|
+
click: this.eventSave.bind(this)
|
|
11606
|
+
}, {
|
|
11607
|
+
buttonModel: { cssClass: EVENT_WINDOW_CANCEL_BUTTON_CLASS, content: this.l10n.getConstant('cancelButton') },
|
|
11608
|
+
click: this.dialogClose.bind(this)
|
|
11609
|
+
}];
|
|
11610
|
+
}
|
|
11611
|
+
addEventHandlers() {
|
|
11612
|
+
const backIcon = this.element.querySelector('.' + EVENT_WINDOW_BACK_ICON_CLASS);
|
|
11613
|
+
const saveIcon = this.element.querySelector('.' + EVENT_WINDOW_SAVE_ICON_CLASS);
|
|
11614
|
+
if (this.parent.isAdaptive && !isNullOrUndefined(backIcon) && !isNullOrUndefined(saveIcon)) {
|
|
11615
|
+
EventHandler.add(backIcon, 'click', this.dialogClose, this);
|
|
11616
|
+
EventHandler.add(saveIcon, 'click', this.eventSave, this);
|
|
11617
|
+
}
|
|
11618
|
+
}
|
|
11575
11619
|
refresh() {
|
|
11576
11620
|
this.destroy(true);
|
|
11577
11621
|
this.renderEventWindow();
|
|
@@ -11615,6 +11659,23 @@ class EventWindow {
|
|
|
11615
11659
|
}
|
|
11616
11660
|
data = eventObj;
|
|
11617
11661
|
}
|
|
11662
|
+
if (!isNullOrUndefined(this.parent.editorHeaderTemplate)) {
|
|
11663
|
+
this.parent.resetTemplates(['editorHeaderTemplate']);
|
|
11664
|
+
if (this.parent.isAdaptive && !this.parent.editorFooterTemplate) {
|
|
11665
|
+
this.dialogObject.header = this.createAdaptiveHeaderElement(data);
|
|
11666
|
+
}
|
|
11667
|
+
else {
|
|
11668
|
+
this.dialogObject.header = this.getDialogHeader(data);
|
|
11669
|
+
}
|
|
11670
|
+
}
|
|
11671
|
+
if (!isNullOrUndefined(this.parent.editorFooterTemplate)) {
|
|
11672
|
+
this.parent.resetTemplates(['editorFooterTemplate']);
|
|
11673
|
+
this.dialogObject.footerTemplate = this.getDialogFooter(data);
|
|
11674
|
+
}
|
|
11675
|
+
if (!isNullOrUndefined(this.parent.editorHeaderTemplate) || !isNullOrUndefined(this.parent.editorFooterTemplate)) {
|
|
11676
|
+
this.dialogObject.dataBind();
|
|
11677
|
+
this.addEventHandlers();
|
|
11678
|
+
}
|
|
11618
11679
|
if (!isNullOrUndefined(this.parent.editorTemplate)) {
|
|
11619
11680
|
this.renderFormElements(this.element.querySelector('.e-schedule-form'), data);
|
|
11620
11681
|
}
|
|
@@ -11645,6 +11706,65 @@ class EventWindow {
|
|
|
11645
11706
|
this.dialogObject.dataBind();
|
|
11646
11707
|
this.applyFormValidation();
|
|
11647
11708
|
}
|
|
11709
|
+
setDialogHeader() {
|
|
11710
|
+
if (!isNullOrUndefined(this.parent.editorHeaderTemplate)) {
|
|
11711
|
+
this.parent.resetTemplates(['editorHeaderTemplate']);
|
|
11712
|
+
if (this.parent.isAdaptive && !this.parent.editorFooterTemplate) {
|
|
11713
|
+
this.dialogObject.header = this.createAdaptiveHeaderElement();
|
|
11714
|
+
}
|
|
11715
|
+
else {
|
|
11716
|
+
this.dialogObject.header = this.getDialogHeader();
|
|
11717
|
+
}
|
|
11718
|
+
}
|
|
11719
|
+
else if (this.parent.isAdaptive) {
|
|
11720
|
+
this.dialogObject.header = '<div class="e-title-header"><div class="e-back-icon e-icons"></div><div class="e-title-text">' +
|
|
11721
|
+
this.l10n.getConstant('newEvent') + '</div><div class="e-save-icon e-icons"></div></div>';
|
|
11722
|
+
}
|
|
11723
|
+
else {
|
|
11724
|
+
this.dialogObject.header = '<div class="e-title-text">' + this.l10n.getConstant('newEvent') + '</div>';
|
|
11725
|
+
}
|
|
11726
|
+
this.dialogObject.dataBind();
|
|
11727
|
+
this.addEventHandlers();
|
|
11728
|
+
}
|
|
11729
|
+
setDialogFooter() {
|
|
11730
|
+
if (!isNullOrUndefined(this.parent.editorFooterTemplate)) {
|
|
11731
|
+
this.parent.resetTemplates(['editorFooterTemplate']);
|
|
11732
|
+
this.dialogObject.footerTemplate = this.getDialogFooter();
|
|
11733
|
+
}
|
|
11734
|
+
else if (!this.parent.isAdaptive && isNullOrUndefined(this.parent.editorFooterTemplate)) {
|
|
11735
|
+
this.renderDialogButtons(this.dialogObject);
|
|
11736
|
+
}
|
|
11737
|
+
else if (this.parent.isAdaptive && isNullOrUndefined(this.parent.editorFooterTemplate)) {
|
|
11738
|
+
this.dialogObject.footerTemplate = null;
|
|
11739
|
+
}
|
|
11740
|
+
this.dialogObject.dataBind();
|
|
11741
|
+
}
|
|
11742
|
+
createAdaptiveHeaderElement(data) {
|
|
11743
|
+
const header = createElement('div', { className: 'e-title-header' });
|
|
11744
|
+
const headerBackIcon = createElement('div', { className: 'e-back-icon e-icons' });
|
|
11745
|
+
header.appendChild(headerBackIcon);
|
|
11746
|
+
const headerTemplate = this.getDialogHeader(data);
|
|
11747
|
+
header.appendChild(headerTemplate);
|
|
11748
|
+
const headerSaveIcon = createElement('div', { className: 'e-save-icon e-icons' });
|
|
11749
|
+
header.appendChild(headerSaveIcon);
|
|
11750
|
+
return header;
|
|
11751
|
+
}
|
|
11752
|
+
getDialogHeader(args) {
|
|
11753
|
+
let headerTemplate = [];
|
|
11754
|
+
const headerTemplateId = this.parent.element.id + '_editorHeaderTemplate';
|
|
11755
|
+
const temHeaderDiv = document.createElement('div');
|
|
11756
|
+
headerTemplate = [].slice.call(this.parent.getEditorHeaderTemplate()(args || {}, this.parent, 'editorHeaderTemplate', headerTemplateId, false));
|
|
11757
|
+
append(headerTemplate, temHeaderDiv);
|
|
11758
|
+
return temHeaderDiv;
|
|
11759
|
+
}
|
|
11760
|
+
getDialogFooter(args) {
|
|
11761
|
+
let footerTemplate = [];
|
|
11762
|
+
const footerTemplateId = this.parent.element.id + '_editorFooterTemplate';
|
|
11763
|
+
const temFooterDiv = document.createElement('div');
|
|
11764
|
+
footerTemplate = [].slice.call(this.parent.getEditorFooterTemplate()(args || {}, this.parent, 'editorFooterTemplate', footerTemplateId, false));
|
|
11765
|
+
append(footerTemplate, temFooterDiv);
|
|
11766
|
+
return temFooterDiv;
|
|
11767
|
+
}
|
|
11648
11768
|
preventEventSave(e) {
|
|
11649
11769
|
if (this.parent && !this.parent.allowKeyboardInteraction && e.code === 'Enter') {
|
|
11650
11770
|
this.isEnterKey = true;
|
|
@@ -11912,9 +12032,9 @@ class EventWindow {
|
|
|
11912
12032
|
const resourceDiv = this.createDivElement(value + '-container' + ' ' + 'e-resources');
|
|
11913
12033
|
const resourceInput = this.createInputElement(value + ' ' + EVENT_FIELD$1, fieldName);
|
|
11914
12034
|
resourceDiv.appendChild(resourceInput);
|
|
11915
|
-
function
|
|
12035
|
+
const resourceTemplate = function (data) {
|
|
11916
12036
|
return `<div class="e-resource-template"><div class="e-resource-color" style="background-color:${data[resourceData.colorField]}"></div><div class="e-resource-text">${data[resourceData.textField]}</div></div>`;
|
|
11917
|
-
}
|
|
12037
|
+
};
|
|
11918
12038
|
initializeCSPTemplate(resourceTemplate, resourceData);
|
|
11919
12039
|
if (resourceData.allowMultiple) {
|
|
11920
12040
|
const listObj = new MultiSelect({
|
|
@@ -12258,7 +12378,9 @@ class EventWindow {
|
|
|
12258
12378
|
this.renderRepeatDialog();
|
|
12259
12379
|
}
|
|
12260
12380
|
this.element.querySelector('.' + FORM_CLASS).removeAttribute('data-id');
|
|
12261
|
-
this.
|
|
12381
|
+
if (isNullOrUndefined(this.parent.editorHeaderTemplate)) {
|
|
12382
|
+
this.element.querySelector('.' + EVENT_WINDOW_TITLE_TEXT_CLASS).innerHTML = this.l10n.getConstant('newEvent');
|
|
12383
|
+
}
|
|
12262
12384
|
eventObj.Timezone = false;
|
|
12263
12385
|
this.repeatStartDate = eventObj[this.fields.startTime];
|
|
12264
12386
|
this.repeatRule = '';
|
|
@@ -12495,10 +12617,12 @@ class EventWindow {
|
|
|
12495
12617
|
if (!this.parent.eventSettings.allowEditing) {
|
|
12496
12618
|
return;
|
|
12497
12619
|
}
|
|
12498
|
-
if (!this.parent.isAdaptive) {
|
|
12620
|
+
if (!this.parent.isAdaptive && isNullOrUndefined(this.parent.editorFooterTemplate)) {
|
|
12499
12621
|
removeClass([this.element.querySelector('.' + DELETE_EVENT_CLASS)], DISABLE_CLASS);
|
|
12500
12622
|
}
|
|
12501
|
-
this.
|
|
12623
|
+
if (isNullOrUndefined(this.parent.editorHeaderTemplate)) {
|
|
12624
|
+
this.element.querySelector('.' + EVENT_WINDOW_TITLE_TEXT_CLASS).innerHTML = this.l10n.getConstant('editEvent');
|
|
12625
|
+
}
|
|
12502
12626
|
this.element.querySelector('.' + FORM_CLASS).setAttribute('data-id', eventObj[this.fields.id].toString());
|
|
12503
12627
|
if (isNullOrUndefined(this.parent.editorTemplate)) {
|
|
12504
12628
|
eventObj = extend({}, eventObj, null, true);
|
|
@@ -13300,7 +13424,7 @@ class EventWindow {
|
|
|
13300
13424
|
}
|
|
13301
13425
|
destroy(isIgnore) {
|
|
13302
13426
|
if (this.parent && !this.parent.isDestroyed) {
|
|
13303
|
-
this.parent.resetTemplates(['editorTemplate']);
|
|
13427
|
+
this.parent.resetTemplates(['editorTemplate', 'editorHeaderTemplate', 'editorFooterTemplate']);
|
|
13304
13428
|
}
|
|
13305
13429
|
this.destroyComponents();
|
|
13306
13430
|
if (this.recurrenceEditor) {
|
|
@@ -13343,6 +13467,7 @@ class EventWindow {
|
|
|
13343
13467
|
}
|
|
13344
13468
|
}
|
|
13345
13469
|
|
|
13470
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
13346
13471
|
/**
|
|
13347
13472
|
* Virtual Scroll
|
|
13348
13473
|
*/
|
|
@@ -13430,6 +13555,16 @@ class VirtualScroll {
|
|
|
13430
13555
|
}
|
|
13431
13556
|
renderEvents() {
|
|
13432
13557
|
this.setTabIndex();
|
|
13558
|
+
const dynamicData = this.triggerScrollEvent(virtualScrollStop);
|
|
13559
|
+
if (this.parent.activeViewOptions && this.parent.activeViewOptions.enableLazyLoading && this.parent.crudModule) {
|
|
13560
|
+
if (dynamicData.length > 0) {
|
|
13561
|
+
this.parent.crudModule.refreshProcessedData(true, dynamicData);
|
|
13562
|
+
this.parent.hideSpinner();
|
|
13563
|
+
return;
|
|
13564
|
+
}
|
|
13565
|
+
this.parent.crudModule.refreshDataManager();
|
|
13566
|
+
return;
|
|
13567
|
+
}
|
|
13433
13568
|
if (this.parent.crudModule) {
|
|
13434
13569
|
this.parent.crudModule.refreshProcessedData(true);
|
|
13435
13570
|
}
|
|
@@ -13465,7 +13600,7 @@ class VirtualScroll {
|
|
|
13465
13600
|
resCollection = this.downScroll(conWrap, firstTDIndex);
|
|
13466
13601
|
}
|
|
13467
13602
|
if (!isNullOrUndefined(resCollection) && resCollection.length > 0) {
|
|
13468
|
-
this.
|
|
13603
|
+
this.triggerScrollEvent(virtualScrollStart);
|
|
13469
13604
|
const selectedEle = this.parent.getSelectedCells();
|
|
13470
13605
|
this.focusedEle = selectedEle[selectedEle.length - 1] || this.focusedEle;
|
|
13471
13606
|
this.updateContent(resWrap, conWrap, eventWrap, resCollection);
|
|
@@ -13492,7 +13627,7 @@ class VirtualScroll {
|
|
|
13492
13627
|
this.parent.resourceBase.expandedResources[0] !== resCollection[0] ||
|
|
13493
13628
|
this.parent.resourceBase.expandedResources[this.parent.resourceBase.expandedResources.length - 1] !==
|
|
13494
13629
|
resCollection[resCollection.length - 1]) {
|
|
13495
|
-
this.
|
|
13630
|
+
this.triggerScrollEvent(virtualScrollStart);
|
|
13496
13631
|
const colLevels = this.parent.activeView.colLevels.slice(0);
|
|
13497
13632
|
this.updateHorizontalContent(conWrap, resCollection);
|
|
13498
13633
|
setStyleAttribute(conWrap.querySelector('table'), { transform: `translateX(${this.translateY}px)` });
|
|
@@ -13505,6 +13640,29 @@ class VirtualScroll {
|
|
|
13505
13640
|
this.timeValue = window.setTimeout(() => { this.renderEvents(); }, 250);
|
|
13506
13641
|
}
|
|
13507
13642
|
}
|
|
13643
|
+
triggerScrollEvent(action) {
|
|
13644
|
+
let dynamicData = [];
|
|
13645
|
+
if (!this.parent.activeView) {
|
|
13646
|
+
return dynamicData;
|
|
13647
|
+
}
|
|
13648
|
+
const eventArgs = {
|
|
13649
|
+
startDate: this.parent.activeView.startDate(),
|
|
13650
|
+
endDate: this.parent.activeView.endDate(),
|
|
13651
|
+
startIndex: this.parent.resourceBase.renderedResources[0].groupIndex,
|
|
13652
|
+
endIndex: this.parent.resourceBase.renderedResources[this.parent.resourceBase.renderedResources.length - 1].groupIndex,
|
|
13653
|
+
resourceData: this.parent.resourceBase.renderedResources.map((x) => x.resourceData),
|
|
13654
|
+
name: action
|
|
13655
|
+
};
|
|
13656
|
+
this.parent.trigger(action, eventArgs, (args) => {
|
|
13657
|
+
if (action === virtualScrollStart) {
|
|
13658
|
+
this.parent.showSpinner();
|
|
13659
|
+
}
|
|
13660
|
+
else if (action === virtualScrollStop && !isNullOrUndefined(args.eventData) && args.eventData.length > 0) {
|
|
13661
|
+
dynamicData = args.eventData;
|
|
13662
|
+
}
|
|
13663
|
+
});
|
|
13664
|
+
return dynamicData;
|
|
13665
|
+
}
|
|
13508
13666
|
upScroll(conWrap, firstTDIndex) {
|
|
13509
13667
|
let index = 0;
|
|
13510
13668
|
index = (~~(conWrap.scrollTop / this.itemSize) + Math.ceil(conWrap.clientHeight / this.itemSize)) - this.renderedLength;
|
|
@@ -14019,7 +14177,7 @@ class Crud {
|
|
|
14019
14177
|
}
|
|
14020
14178
|
this.parent.trigger(actionFailure, { error: e }, () => this.parent.hideSpinner());
|
|
14021
14179
|
}
|
|
14022
|
-
refreshProcessedData(isVirtualScrollAction = false) {
|
|
14180
|
+
refreshProcessedData(isVirtualScrollAction = false, dynamicEvents) {
|
|
14023
14181
|
if (this.parent.dragAndDropModule) {
|
|
14024
14182
|
this.parent.dragAndDropModule.actionObj.action = '';
|
|
14025
14183
|
removeClass([this.parent.element], 'e-event-action');
|
|
@@ -14042,7 +14200,7 @@ class Crud {
|
|
|
14042
14200
|
}
|
|
14043
14201
|
}
|
|
14044
14202
|
if (isVirtualScrollAction) {
|
|
14045
|
-
this.parent.notify(dataReady, { processedData: this.parent.eventsProcessed });
|
|
14203
|
+
this.parent.notify(dataReady, { processedData: dynamicEvents ? this.parent.eventBase.processData(dynamicEvents) : this.parent.eventsProcessed });
|
|
14046
14204
|
return;
|
|
14047
14205
|
}
|
|
14048
14206
|
const eventsData = this.parent.eventsData || [];
|
|
@@ -14198,6 +14356,8 @@ class Crud {
|
|
|
14198
14356
|
editParams.changedRecords.push(event);
|
|
14199
14357
|
promise = this.parent.dataModule.dataManager.update(fields.id, event, this.getTable(), this.getQuery());
|
|
14200
14358
|
}
|
|
14359
|
+
const cloneEvent = extend({}, saveArgs.changedRecords[saveArgs.changedRecords.length - 1], null, true);
|
|
14360
|
+
this.parent.eventBase.selectWorkCellByTime([this.parent.eventBase.processTimezone(cloneEvent)]);
|
|
14201
14361
|
const crudArgs = {
|
|
14202
14362
|
requestType: 'eventChanged', cancel: false,
|
|
14203
14363
|
data: saveArgs.changedRecords, promise: promise, editParams: editParams
|
|
@@ -14325,7 +14485,8 @@ class Crud {
|
|
|
14325
14485
|
}
|
|
14326
14486
|
}
|
|
14327
14487
|
const promise = this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, this.getTable(), this.getQuery());
|
|
14328
|
-
|
|
14488
|
+
const cloneEvent = extend({}, occurrenceArgs.changedRecords[occurrenceArgs.changedRecords.length - 1], null, true);
|
|
14489
|
+
this.parent.eventBase.selectWorkCellByTime(action === 'EditOccurrence' ? [this.parent.eventBase.processTimezone(cloneEvent)] : [cloneEvent]);
|
|
14329
14490
|
const crudArgs = {
|
|
14330
14491
|
requestType: action === 'EditOccurrence' ? 'eventChanged' : 'eventRemoved',
|
|
14331
14492
|
cancel: false, data: isDeletedRecords ? occurrenceArgs.deletedRecords : occurrenceArgs.changedRecords,
|
|
@@ -14395,7 +14556,8 @@ class Crud {
|
|
|
14395
14556
|
}
|
|
14396
14557
|
}
|
|
14397
14558
|
const promise = this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, this.getTable(), this.getQuery());
|
|
14398
|
-
|
|
14559
|
+
const cloneEvent = extend({}, followArgs.changedRecords[followArgs.changedRecords.length - 1], null, true);
|
|
14560
|
+
this.parent.eventBase.selectWorkCellByTime(action === 'EditFollowingEvents' ? [this.parent.eventBase.processTimezone(cloneEvent)] : [cloneEvent]);
|
|
14399
14561
|
const crudArgs = {
|
|
14400
14562
|
requestType: action === 'EditFollowingEvents' ? 'eventChanged' : 'eventRemoved',
|
|
14401
14563
|
cancel: false, data: followArgs.changedRecords, promise: promise, editParams: editParams
|
|
@@ -14456,7 +14618,8 @@ class Crud {
|
|
|
14456
14618
|
}
|
|
14457
14619
|
}
|
|
14458
14620
|
const promise = this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, this.getTable(), this.getQuery());
|
|
14459
|
-
|
|
14621
|
+
const cloneEvent = extend({}, seriesArgs.changedRecords[seriesArgs.changedRecords.length - 1], null, true);
|
|
14622
|
+
this.parent.eventBase.selectWorkCellByTime(action === 'EditSeries' ? [this.parent.eventBase.processTimezone(cloneEvent)] : [cloneEvent]);
|
|
14460
14623
|
const crudArgs = {
|
|
14461
14624
|
requestType: action === 'EditSeries' ? 'eventChanged' : 'eventRemoved',
|
|
14462
14625
|
cancel: false, data: isDeletedRecords ? seriesArgs.deletedRecords : seriesArgs.changedRecords,
|
|
@@ -14510,6 +14673,7 @@ class Crud {
|
|
|
14510
14673
|
}
|
|
14511
14674
|
}
|
|
14512
14675
|
const promise = this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, this.getTable(), this.getQuery());
|
|
14676
|
+
this.parent.eventBase.selectWorkCellByTime(deleteArgs.deletedRecords);
|
|
14513
14677
|
const crudArgs = {
|
|
14514
14678
|
requestType: 'eventRemoved', cancel: false, data: deleteArgs.deletedRecords, promise: promise, editParams: editParams
|
|
14515
14679
|
};
|
|
@@ -14550,6 +14714,8 @@ class Crud {
|
|
|
14550
14714
|
}
|
|
14551
14715
|
}
|
|
14552
14716
|
const promise = this.parent.dataModule.dataManager.saveChanges(editParams, fields.id, this.getTable(), this.getQuery());
|
|
14717
|
+
const cloneEvent = extend({}, editArgs.changedRecords[editArgs.changedRecords.length - 1], null, true);
|
|
14718
|
+
this.parent.eventBase.selectWorkCellByTime([this.parent.eventBase.processTimezone(cloneEvent)]);
|
|
14553
14719
|
const crudArgs = { requestType: 'eventChanged', cancel: false, data: editArgs.changedRecords, promise: promise, editParams: editParams };
|
|
14554
14720
|
this.refreshData(crudArgs);
|
|
14555
14721
|
}
|
|
@@ -15344,6 +15510,7 @@ class ResourceBase {
|
|
|
15344
15510
|
nodeClicked: this.resourceClick.bind(this),
|
|
15345
15511
|
created: this.resourceTreeCreated.bind(this)
|
|
15346
15512
|
});
|
|
15513
|
+
this.treeViewObj.root = this.parent.root ? this.parent.root : this.parent;
|
|
15347
15514
|
this.treeViewObj.appendTo(resourceTree);
|
|
15348
15515
|
this.treeViewObj.expandAll();
|
|
15349
15516
|
this.treePopup = new Popup(treeWrapper, {
|
|
@@ -16188,6 +16355,13 @@ let Schedule = class Schedule extends Component {
|
|
|
16188
16355
|
this.renderElements(isSetModel);
|
|
16189
16356
|
}
|
|
16190
16357
|
}
|
|
16358
|
+
destroyEditorWindow() {
|
|
16359
|
+
if (this.eventWindow) {
|
|
16360
|
+
this.eventWindow.destroy();
|
|
16361
|
+
this.eventWindow = null;
|
|
16362
|
+
}
|
|
16363
|
+
this.eventWindow = new EventWindow(this);
|
|
16364
|
+
}
|
|
16191
16365
|
/**
|
|
16192
16366
|
* Method to render the layout elements
|
|
16193
16367
|
*
|
|
@@ -16354,7 +16528,8 @@ let Schedule = class Schedule extends Component {
|
|
|
16354
16528
|
headerRows: this.headerRows,
|
|
16355
16529
|
orientation: 'Horizontal',
|
|
16356
16530
|
numberOfWeeks: 0,
|
|
16357
|
-
displayDate: null
|
|
16531
|
+
displayDate: null,
|
|
16532
|
+
enableLazyLoading: false
|
|
16358
16533
|
};
|
|
16359
16534
|
const viewOptions = this.viewCollections[this.viewIndex];
|
|
16360
16535
|
const viewsData = extend(scheduleOptions, viewOptions, undefined, true);
|
|
@@ -16365,6 +16540,11 @@ let Schedule = class Schedule extends Component {
|
|
|
16365
16540
|
viewsData.displayDate = viewsData.displayDate instanceof Date ? new Date(viewsData.displayDate.getTime()) :
|
|
16366
16541
|
new Date(viewsData.displayDate);
|
|
16367
16542
|
}
|
|
16543
|
+
if (viewsData.enableLazyLoading && !isNullOrUndefined(viewsData.group.resources) && viewsData.group.resources.length > 0 &&
|
|
16544
|
+
(['Agenda', 'MonthAgenda', 'Year', 'TimelineYear'].indexOf(viewsData.option) === -1 ||
|
|
16545
|
+
(viewsData.option === 'TimelineYear' && viewsData.orientation === 'Vertical'))) {
|
|
16546
|
+
viewsData.allowVirtualScrolling = true;
|
|
16547
|
+
}
|
|
16368
16548
|
return viewsData;
|
|
16369
16549
|
}
|
|
16370
16550
|
initializeDataModule() {
|
|
@@ -16426,6 +16606,8 @@ let Schedule = class Schedule extends Component {
|
|
|
16426
16606
|
this.headerTooltipTemplateFn = this.templateParser(this.activeViewOptions.group.headerTooltipTemplate);
|
|
16427
16607
|
this.eventTooltipTemplateFn = this.templateParser(this.eventSettings.tooltipTemplate);
|
|
16428
16608
|
this.editorTemplateFn = this.templateParser(this.editorTemplate);
|
|
16609
|
+
this.editorHeaderTemplateFn = this.templateParser(this.editorHeaderTemplate);
|
|
16610
|
+
this.editorFooterTemplateFn = this.templateParser(this.editorFooterTemplate);
|
|
16429
16611
|
this.quickInfoTemplatesHeaderFn = this.templateParser(this.quickInfoTemplates.header);
|
|
16430
16612
|
this.quickInfoTemplatesContentFn = this.templateParser(this.quickInfoTemplates.content);
|
|
16431
16613
|
this.quickInfoTemplatesFooterFn = this.templateParser(this.quickInfoTemplates.footer);
|
|
@@ -17059,6 +17241,24 @@ let Schedule = class Schedule extends Component {
|
|
|
17059
17241
|
getEditorTemplate() {
|
|
17060
17242
|
return this.editorTemplateFn;
|
|
17061
17243
|
}
|
|
17244
|
+
/**
|
|
17245
|
+
* Method to process editor header template
|
|
17246
|
+
*
|
|
17247
|
+
* @returns {CallbackFunction} Returns the callback function
|
|
17248
|
+
* @private
|
|
17249
|
+
*/
|
|
17250
|
+
getEditorHeaderTemplate() {
|
|
17251
|
+
return this.editorHeaderTemplateFn;
|
|
17252
|
+
}
|
|
17253
|
+
/**
|
|
17254
|
+
* Method to process editor footer template
|
|
17255
|
+
*
|
|
17256
|
+
* @returns {CallbackFunction} Returns the callback function
|
|
17257
|
+
* @private
|
|
17258
|
+
*/
|
|
17259
|
+
getEditorFooterTemplate() {
|
|
17260
|
+
return this.editorFooterTemplateFn;
|
|
17261
|
+
}
|
|
17062
17262
|
/**
|
|
17063
17263
|
* Method to process quick info header template
|
|
17064
17264
|
*
|
|
@@ -17575,6 +17775,22 @@ let Schedule = class Schedule extends Component {
|
|
|
17575
17775
|
this.eventWindow.setDialogContent();
|
|
17576
17776
|
}
|
|
17577
17777
|
break;
|
|
17778
|
+
case 'editorHeaderTemplate':
|
|
17779
|
+
if (!isNullOrUndefined(this.editorHeaderTemplate)) {
|
|
17780
|
+
this.editorHeaderTemplateFn = this.templateParser(this.editorHeaderTemplate);
|
|
17781
|
+
}
|
|
17782
|
+
if (this.eventWindow) {
|
|
17783
|
+
this.eventWindow.setDialogHeader();
|
|
17784
|
+
}
|
|
17785
|
+
break;
|
|
17786
|
+
case 'editorFooterTemplate':
|
|
17787
|
+
if (!isNullOrUndefined(this.editorFooterTemplate)) {
|
|
17788
|
+
this.editorFooterTemplateFn = this.templateParser(this.editorFooterTemplate);
|
|
17789
|
+
}
|
|
17790
|
+
if (this.eventWindow) {
|
|
17791
|
+
this.eventWindow.setDialogFooter();
|
|
17792
|
+
}
|
|
17793
|
+
break;
|
|
17578
17794
|
case 'quickInfoTemplates':
|
|
17579
17795
|
if (this.quickInfoTemplates.header) {
|
|
17580
17796
|
this.quickInfoTemplatesHeaderFn = this.templateParser(this.quickInfoTemplates.header);
|
|
@@ -18340,13 +18556,17 @@ let Schedule = class Schedule extends Component {
|
|
|
18340
18556
|
this.quickInfoTemplatesFooterFn = this.templateParser(this.quickInfoTemplates.footer);
|
|
18341
18557
|
break;
|
|
18342
18558
|
case 'editorTemplate':
|
|
18343
|
-
|
|
18344
|
-
this.eventWindow.destroy();
|
|
18345
|
-
this.eventWindow = null;
|
|
18346
|
-
}
|
|
18347
|
-
this.eventWindow = new EventWindow(this);
|
|
18559
|
+
this.destroyEditorWindow();
|
|
18348
18560
|
this.editorTemplateFn = this.templateParser(this.editorTemplate);
|
|
18349
18561
|
break;
|
|
18562
|
+
case 'editorHeaderTemplate':
|
|
18563
|
+
this.destroyEditorWindow();
|
|
18564
|
+
this.editorHeaderTemplateFn = this.templateParser(this.editorHeaderTemplate);
|
|
18565
|
+
break;
|
|
18566
|
+
case 'editorFooterTemplate':
|
|
18567
|
+
this.destroyEditorWindow();
|
|
18568
|
+
this.editorFooterTemplateFn = this.templateParser(this.editorFooterTemplate);
|
|
18569
|
+
break;
|
|
18350
18570
|
case 'tooltipTemplate':
|
|
18351
18571
|
case 'headerTooltipTemplate':
|
|
18352
18572
|
if (this.eventTooltip) {
|
|
@@ -18820,6 +19040,12 @@ __decorate([
|
|
|
18820
19040
|
__decorate([
|
|
18821
19041
|
Property()
|
|
18822
19042
|
], Schedule.prototype, "editorTemplate", void 0);
|
|
19043
|
+
__decorate([
|
|
19044
|
+
Property()
|
|
19045
|
+
], Schedule.prototype, "editorHeaderTemplate", void 0);
|
|
19046
|
+
__decorate([
|
|
19047
|
+
Property()
|
|
19048
|
+
], Schedule.prototype, "editorFooterTemplate", void 0);
|
|
18823
19049
|
__decorate([
|
|
18824
19050
|
Complex({}, QuickInfoTemplates)
|
|
18825
19051
|
], Schedule.prototype, "quickInfoTemplates", void 0);
|
|
@@ -18931,6 +19157,12 @@ __decorate([
|
|
|
18931
19157
|
__decorate([
|
|
18932
19158
|
Event()
|
|
18933
19159
|
], Schedule.prototype, "resizeStop", void 0);
|
|
19160
|
+
__decorate([
|
|
19161
|
+
Event()
|
|
19162
|
+
], Schedule.prototype, "virtualScrollStart", void 0);
|
|
19163
|
+
__decorate([
|
|
19164
|
+
Event()
|
|
19165
|
+
], Schedule.prototype, "virtualScrollStop", void 0);
|
|
18934
19166
|
__decorate([
|
|
18935
19167
|
Event()
|
|
18936
19168
|
], Schedule.prototype, "dataBound", void 0);
|
|
@@ -26982,5 +27214,5 @@ class Print {
|
|
|
26982
27214
|
* Export Schedule components
|
|
26983
27215
|
*/
|
|
26984
27216
|
|
|
26985
|
-
export { Schedule, cellClick, cellDoubleClick, moreEventsClick, select, hover, actionBegin, actionComplete, actionFailure, navigating, renderCell, eventClick, eventRendered, dataBinding, dataBound, popupOpen, popupClose, dragStart, drag, dragStop, resizeStart, resizing, resizeStop, inlineClick, cellSelect, initialLoad, initialEnd, print$1 as print, dataReady, eventsLoaded, contentReady, scroll, virtualScroll, scrollUiUpdate, uiUpdate, documentClick, cellMouseDown, WEEK_LENGTH, DEFAULT_WEEKS, MS_PER_DAY, MS_PER_MINUTE, getElementHeightFromClass, getElementWidthFromClass, getTranslateY, getTranslateX, getWeekFirstDate, getWeekLastDate, firstDateOfMonth, lastDateOfMonth, getWeekNumber, getWeekMiddleDate, setTime, resetTime, getDateInMs, getDateCount, addDays, addMonths, addYears, getStartEndHours, getMaxDays, getDaysCount, getDateFromString, getScrollBarWidth, resetScrollbarWidth, findIndexInData, getOuterHeight, removeChildren, isDaylightSavingTime, getUniversalTime, isMobile, isIPadDevice, capitalizeFirstWord, Resize, DragAndDrop, HeaderRenderer, ViewBase, Day, Week, WorkWeek, Month, Year, Agenda, MonthAgenda, TimelineViews, TimelineMonth, TimelineYear, Timezone, timezoneData, ICalendarExport, ICalendarImport, ExcelExport, Print, RecurrenceEditor, generateSummary, generate, getDateFromRecurrenceDateString, extractObjectFromRule, getCalendarUtil, getRecurrenceStringFromDate, Gregorian, Islamic };
|
|
27217
|
+
export { Schedule, cellClick, cellDoubleClick, moreEventsClick, select, hover, actionBegin, actionComplete, actionFailure, navigating, renderCell, eventClick, eventRendered, dataBinding, dataBound, popupOpen, popupClose, dragStart, drag, dragStop, resizeStart, resizing, resizeStop, inlineClick, cellSelect, virtualScrollStart, virtualScrollStop, initialLoad, initialEnd, print$1 as print, dataReady, eventsLoaded, contentReady, scroll, virtualScroll, scrollUiUpdate, uiUpdate, documentClick, cellMouseDown, WEEK_LENGTH, DEFAULT_WEEKS, MS_PER_DAY, MS_PER_MINUTE, getElementHeightFromClass, getElementWidthFromClass, getTranslateY, getTranslateX, getWeekFirstDate, getWeekLastDate, firstDateOfMonth, lastDateOfMonth, getWeekNumber, getWeekMiddleDate, setTime, resetTime, getDateInMs, getDateCount, addDays, addMonths, addYears, getStartEndHours, getMaxDays, getDaysCount, getDateFromString, getScrollBarWidth, resetScrollbarWidth, findIndexInData, getOuterHeight, removeChildren, isDaylightSavingTime, getUniversalTime, isMobile, isIPadDevice, capitalizeFirstWord, Resize, DragAndDrop, HeaderRenderer, ViewBase, Day, Week, WorkWeek, Month, Year, Agenda, MonthAgenda, TimelineViews, TimelineMonth, TimelineYear, Timezone, timezoneData, ICalendarExport, ICalendarImport, ExcelExport, Print, RecurrenceEditor, generateSummary, generate, getDateFromRecurrenceDateString, extractObjectFromRule, getCalendarUtil, getRecurrenceStringFromDate, Gregorian, Islamic };
|
|
26986
27218
|
//# sourceMappingURL=ej2-schedule.es2015.js.map
|