@syncfusion/ej2-schedule 25.2.3 → 25.2.6
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 +26 -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 +120 -31
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +122 -33
- 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 +12 -12
- package/src/schedule/actions/drag.js +8 -2
- package/src/schedule/actions/resize.d.ts +1 -1
- package/src/schedule/actions/resize.js +8 -1
- package/src/schedule/actions/touch.d.ts +1 -0
- package/src/schedule/actions/touch.js +26 -8
- package/src/schedule/actions/work-cells.js +10 -5
- package/src/schedule/base/interface.d.ts +2 -0
- package/src/schedule/base/resource.js +5 -3
- package/src/schedule/base/schedule.d.ts +2 -0
- package/src/schedule/base/schedule.js +9 -1
- package/src/schedule/event-renderer/event-base.js +12 -4
- package/src/schedule/event-renderer/month.js +1 -1
- package/src/schedule/event-renderer/vertical-view.js +1 -1
- package/src/schedule/popups/quick-popups.js +0 -1
- package/src/schedule/renderer/month.js +8 -0
- package/src/schedule/renderer/renderer.js +8 -1
- package/src/schedule/renderer/vertical-view.js +5 -1
- package/src/schedule/renderer/view-base.js +21 -4
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 25.2.
|
|
3
|
+
* version : 25.2.6
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-schedule@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-schedule@25.
|
|
3
|
+
"_id": "@syncfusion/ej2-schedule@25.2.4",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-GotTq1HrcT++YmcD8AsfKhcdJtUYrCa0DLNCTe2vYuPOHHPiJbNyJuXqVGIhENXl9OsDqa3D2RwyddA0Ntd7kA==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-schedule",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"/@syncfusion/ej2-react-schedule",
|
|
24
24
|
"/@syncfusion/ej2-vue-schedule"
|
|
25
25
|
],
|
|
26
|
-
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-25.
|
|
27
|
-
"_shasum": "
|
|
26
|
+
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-25.2.4.tgz",
|
|
27
|
+
"_shasum": "e8ed70e9296b26f48063202ea4729c9917b27076",
|
|
28
28
|
"_spec": "@syncfusion/ej2-schedule@*",
|
|
29
29
|
"_where": "/jenkins/workspace/elease-automation_release_25.1.1/packages/included",
|
|
30
30
|
"author": {
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
},
|
|
36
36
|
"bundleDependencies": false,
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@syncfusion/ej2-base": "~25.2.
|
|
39
|
-
"@syncfusion/ej2-buttons": "~25.2.
|
|
40
|
-
"@syncfusion/ej2-calendars": "~25.2.
|
|
38
|
+
"@syncfusion/ej2-base": "~25.2.5",
|
|
39
|
+
"@syncfusion/ej2-buttons": "~25.2.6",
|
|
40
|
+
"@syncfusion/ej2-calendars": "~25.2.5",
|
|
41
41
|
"@syncfusion/ej2-data": "~25.2.3",
|
|
42
|
-
"@syncfusion/ej2-dropdowns": "~25.2.
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~25.2.6",
|
|
43
43
|
"@syncfusion/ej2-excel-export": "~25.2.3",
|
|
44
|
-
"@syncfusion/ej2-inputs": "~25.2.
|
|
44
|
+
"@syncfusion/ej2-inputs": "~25.2.6",
|
|
45
45
|
"@syncfusion/ej2-lists": "~25.2.3",
|
|
46
|
-
"@syncfusion/ej2-navigations": "~25.2.
|
|
47
|
-
"@syncfusion/ej2-popups": "~25.2.
|
|
46
|
+
"@syncfusion/ej2-navigations": "~25.2.6",
|
|
47
|
+
"@syncfusion/ej2-popups": "~25.2.6"
|
|
48
48
|
},
|
|
49
49
|
"deprecated": false,
|
|
50
50
|
"description": "Flexible scheduling library with more built-in features and enhanced customization options similar to outlook and google calendar, allowing the users to plan and manage their appointments with efficient data-binding support.",
|
|
@@ -73,6 +73,6 @@
|
|
|
73
73
|
"url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
|
|
74
74
|
},
|
|
75
75
|
"typings": "index.d.ts",
|
|
76
|
-
"version": "25.2.
|
|
76
|
+
"version": "25.2.6",
|
|
77
77
|
"sideEffects": false
|
|
78
78
|
}
|
|
@@ -56,7 +56,6 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
56
56
|
abort: '.' + cls.EVENT_RESIZE_CLASS,
|
|
57
57
|
clone: true,
|
|
58
58
|
isDragScroll: true,
|
|
59
|
-
enableTapHold: this.parent.isAdaptive,
|
|
60
59
|
enableTailMode: (this.parent.eventDragArea) ? true : false,
|
|
61
60
|
cursorAt: (this.parent.eventDragArea) ? { left: -20, top: -20 } : { left: 0, top: 0 },
|
|
62
61
|
dragArea: this.dragArea,
|
|
@@ -75,6 +74,10 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
75
74
|
};
|
|
76
75
|
DragAndDrop.prototype.dragHelper = function (e) {
|
|
77
76
|
var _this = this;
|
|
77
|
+
if (e.sender && e.sender.type === 'touchmove' && (!this.parent.uiStateValues.isTapHold ||
|
|
78
|
+
!e.element.classList.contains(cls.APPOINTMENT_BORDER))) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
78
81
|
this.setDragActionDefaultValues();
|
|
79
82
|
this.actionObj.element = e.element;
|
|
80
83
|
this.actionObj.action = 'drag';
|
|
@@ -285,6 +288,9 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
285
288
|
return this.multiData;
|
|
286
289
|
};
|
|
287
290
|
DragAndDrop.prototype.drag = function (e) {
|
|
291
|
+
if (e.event && e.event.type === 'touchmove') {
|
|
292
|
+
e.event.preventDefault();
|
|
293
|
+
}
|
|
288
294
|
if (this.parent.quickPopup) {
|
|
289
295
|
this.parent.quickPopup.quickPopupHide(true);
|
|
290
296
|
}
|
|
@@ -375,7 +381,7 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
375
381
|
clearInterval(this.actionObj.scrollInterval);
|
|
376
382
|
this.actionObj.scrollInterval = null;
|
|
377
383
|
this.actionClass('removeClass');
|
|
378
|
-
this.parent.uiStateValues.action = false;
|
|
384
|
+
this.parent.uiStateValues.action = this.parent.uiStateValues.isTapHold = false;
|
|
379
385
|
if (this.isAllowDrop(e)) {
|
|
380
386
|
return;
|
|
381
387
|
}
|
|
@@ -5,7 +5,7 @@ import { ActionBase } from '../actions/action-base';
|
|
|
5
5
|
export declare class Resize extends ActionBase {
|
|
6
6
|
wireResizeEvent(element: HTMLElement): void;
|
|
7
7
|
private resizeHelper;
|
|
8
|
-
|
|
8
|
+
resizeStart(e: MouseEvent & TouchEvent): void;
|
|
9
9
|
private resizing;
|
|
10
10
|
updateResizingDirection(e: MouseEvent & TouchEvent): void;
|
|
11
11
|
private monthResizing;
|
|
@@ -53,6 +53,10 @@ var Resize = /** @class */ (function (_super) {
|
|
|
53
53
|
};
|
|
54
54
|
Resize.prototype.resizeStart = function (e) {
|
|
55
55
|
var _this = this;
|
|
56
|
+
if (e && e.type === 'touchstart' && (!this.parent.uiStateValues.isTapHold ||
|
|
57
|
+
!closest(e.target, '.' + cls.APPOINTMENT_BORDER))) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
56
60
|
this.actionObj.action = 'resize';
|
|
57
61
|
this.actionObj.slotInterval = this.parent.activeViewOptions.timeScale.interval / this.parent.activeViewOptions.timeScale.slotCount;
|
|
58
62
|
this.actionObj.interval = this.actionObj.slotInterval;
|
|
@@ -117,6 +121,9 @@ var Resize = /** @class */ (function (_super) {
|
|
|
117
121
|
});
|
|
118
122
|
};
|
|
119
123
|
Resize.prototype.resizing = function (e) {
|
|
124
|
+
if (e && e.type === 'touchmove') {
|
|
125
|
+
e.preventDefault();
|
|
126
|
+
}
|
|
120
127
|
if (this.parent.quickPopup) {
|
|
121
128
|
this.parent.quickPopup.quickPopupHide();
|
|
122
129
|
}
|
|
@@ -312,7 +319,7 @@ var Resize = /** @class */ (function (_super) {
|
|
|
312
319
|
this.removeCloneElementClasses();
|
|
313
320
|
this.removeCloneElement();
|
|
314
321
|
this.actionClass('removeClass');
|
|
315
|
-
this.parent.uiStateValues.action = false;
|
|
322
|
+
this.parent.uiStateValues.action = this.parent.uiStateValues.isTapHold = false;
|
|
316
323
|
var resizeArgs = { cancel: false, data: this.getChangedData(), element: this.actionObj.element, event: e };
|
|
317
324
|
this.parent.trigger(event.resizeStop, resizeArgs, function (resizeEventArgs) {
|
|
318
325
|
if (resizeEventArgs.cancel) {
|
|
@@ -21,10 +21,11 @@ var ScheduleTouch = /** @class */ (function () {
|
|
|
21
21
|
this.touchRightDirection = this.parent.enableRtl ? 'Left' : 'Right';
|
|
22
22
|
}
|
|
23
23
|
ScheduleTouch.prototype.scrollHandler = function (e) {
|
|
24
|
-
|
|
25
|
-
(e.originalEvent
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
var blockSwipe = !this.parent.isAdaptive && e.originalEvent && e.originalEvent.target &&
|
|
25
|
+
!isNullOrUndefined(closest(e.originalEvent.target, '.' + cls.APPOINTMENT_CLASS));
|
|
26
|
+
this.parent.uiStateValues.isTouchScroll = blockSwipe && e.originalEvent.type === 'touchmove' && !this.parent.uiStateValues.action;
|
|
27
|
+
if (blockSwipe || this.parent.currentView === 'Agenda' || this.parent.uiStateValues.action || !this.parent.allowSwiping ||
|
|
28
|
+
this.parent.uiStateValues.isTapHold) {
|
|
28
29
|
return;
|
|
29
30
|
}
|
|
30
31
|
if (!this.timeStampStart) {
|
|
@@ -81,7 +82,8 @@ var ScheduleTouch = /** @class */ (function () {
|
|
|
81
82
|
}
|
|
82
83
|
};
|
|
83
84
|
ScheduleTouch.prototype.swipeHandler = function (e) {
|
|
84
|
-
if (!this.isScrollTriggered || this.parent.uiStateValues.action || !this.parent.allowSwiping
|
|
85
|
+
if (!this.isScrollTriggered || this.parent.uiStateValues.action || !this.parent.allowSwiping ||
|
|
86
|
+
this.parent.uiStateValues.isTapHold) {
|
|
85
87
|
return;
|
|
86
88
|
}
|
|
87
89
|
this.isScrollTriggered = false;
|
|
@@ -111,11 +113,27 @@ var ScheduleTouch = /** @class */ (function () {
|
|
|
111
113
|
};
|
|
112
114
|
ScheduleTouch.prototype.tapHoldHandler = function (e) {
|
|
113
115
|
var target = closest(e.originalEvent.target, '.' + cls.APPOINTMENT_CLASS);
|
|
114
|
-
if (!isNullOrUndefined(target)
|
|
115
|
-
this.parent.
|
|
116
|
-
|
|
116
|
+
if (!isNullOrUndefined(target)) {
|
|
117
|
+
this.parent.uiStateValues.isTapHold = true;
|
|
118
|
+
if (this.parent.isAdaptive) {
|
|
119
|
+
if (Browser.isIos) {
|
|
120
|
+
EventHandler.add(this.element, 'touchend', this.preventEventClick, this);
|
|
121
|
+
}
|
|
122
|
+
this.parent.quickPopup.tapHoldEventPopup(e.originalEvent);
|
|
123
|
+
}
|
|
124
|
+
else if (['Agenda', 'MonthAgenda', 'Year'].indexOf(this.parent.currentView) < 0) {
|
|
125
|
+
this.parent.selectedElements = [];
|
|
126
|
+
this.parent.eventBase.getSelectedEventElements(target);
|
|
127
|
+
if (this.parent.resizeModule && closest(e.originalEvent.target, '.' + cls.EVENT_RESIZE_CLASS)) {
|
|
128
|
+
this.parent.resizeModule.resizeStart(e.originalEvent);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
117
131
|
}
|
|
118
132
|
};
|
|
133
|
+
ScheduleTouch.prototype.preventEventClick = function (e) {
|
|
134
|
+
e.preventDefault();
|
|
135
|
+
EventHandler.remove(this.element, 'touchend', this.preventEventClick);
|
|
136
|
+
};
|
|
119
137
|
ScheduleTouch.prototype.renderPanel = function (clsName, nextPrevType) {
|
|
120
138
|
if (!this.currentPanel) {
|
|
121
139
|
this.currentPanel = {
|
|
@@ -30,6 +30,13 @@ var WorkCellInteraction = /** @class */ (function () {
|
|
|
30
30
|
this.parent.eventWindow.openEditor(this.parent.activeCellsData, 'Add');
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
|
+
var isWorkCell = target.classList.contains(cls.WORK_CELLS_CLASS) ||
|
|
34
|
+
target.classList.contains(cls.ALLDAY_CELLS_CLASS);
|
|
35
|
+
if (this.parent.uiStateValues.isTapHold && !this.parent.uiStateValues.action && isWorkCell) {
|
|
36
|
+
this.parent.uiStateValues.isTapHold = false;
|
|
37
|
+
this.parent.eventBase.removeSelectedAppointmentClass();
|
|
38
|
+
this.parent.selectedElements = [];
|
|
39
|
+
}
|
|
33
40
|
var navigateEle = closest(e.target, '.' + cls.NAVIGATE_CLASS);
|
|
34
41
|
var navigateView = this.parent.getNavigateView();
|
|
35
42
|
var sameView = this.parent.currentView === navigateView;
|
|
@@ -45,9 +52,7 @@ var WorkCellInteraction = /** @class */ (function () {
|
|
|
45
52
|
closest(e.target, '.' + cls.MORE_INDICATOR_CLASS))) {
|
|
46
53
|
return;
|
|
47
54
|
}
|
|
48
|
-
|
|
49
|
-
target.classList.contains(cls.ALLDAY_CELLS_CLASS);
|
|
50
|
-
if (isWorkCell_1 && e.shiftKey && e.which === 1 && this.parent.keyboardInteractionModule) {
|
|
55
|
+
if (isWorkCell && e.shiftKey && e.which === 1 && this.parent.keyboardInteractionModule) {
|
|
51
56
|
this.parent.keyboardInteractionModule.onMouseSelection(e);
|
|
52
57
|
return;
|
|
53
58
|
}
|
|
@@ -55,7 +60,7 @@ var WorkCellInteraction = /** @class */ (function () {
|
|
|
55
60
|
var args = extend(this.parent.activeCellsData, { cancel: false, event: e, name: 'cellClick' });
|
|
56
61
|
this.parent.trigger(event.cellClick, args, function (clickArgs) {
|
|
57
62
|
if (!clickArgs.cancel) {
|
|
58
|
-
if (
|
|
63
|
+
if (isWorkCell) {
|
|
59
64
|
_this.parent.selectCell(target);
|
|
60
65
|
}
|
|
61
66
|
if (_this.parent.allowInline) {
|
|
@@ -125,7 +130,7 @@ var WorkCellInteraction = /** @class */ (function () {
|
|
|
125
130
|
return true;
|
|
126
131
|
}
|
|
127
132
|
target = closest(e.target, '.' + cls.HEADER_CELLS_CLASS);
|
|
128
|
-
if (this.parent.activeView.isTimelineView() && !isNullOrUndefined(target)) {
|
|
133
|
+
if (this.parent.activeView && this.parent.activeView.isTimelineView() && !isNullOrUndefined(target)) {
|
|
129
134
|
return true;
|
|
130
135
|
}
|
|
131
136
|
return false;
|
|
@@ -896,8 +896,9 @@ var ResourceBase = /** @class */ (function () {
|
|
|
896
896
|
ResourceBase.prototype.getResourceRenderDates = function () {
|
|
897
897
|
// eslint-disable-next-line prefer-spread
|
|
898
898
|
var resourceDates = [].concat.apply([], this.lastResourceLevel.map(function (e) { return e.renderDates; }));
|
|
899
|
-
var
|
|
900
|
-
|
|
899
|
+
var time = resourceDates.map(function (dateObj) { return dateObj.getTime(); });
|
|
900
|
+
var removeDuplicateDates = function (dateColl) { return dateColl.filter(function (date, index) {
|
|
901
|
+
return time.indexOf(date.getTime()) === index;
|
|
901
902
|
}); };
|
|
902
903
|
var renderDates = removeDuplicateDates(resourceDates);
|
|
903
904
|
renderDates.sort(function (a, b) { return a.getTime() - b.getTime(); });
|
|
@@ -1077,7 +1078,8 @@ var ResourceBase = /** @class */ (function () {
|
|
|
1077
1078
|
index = resource.dataSource.map(function (e) { return e[resource.idField]; }).indexOf(id);
|
|
1078
1079
|
}
|
|
1079
1080
|
}
|
|
1080
|
-
var offsetTarget = this.parent.element.querySelector("." + cls.
|
|
1081
|
+
var offsetTarget = this.parent.currentView === 'Month' ? this.parent.element.querySelector("." + cls.DATE_HEADER_WRAP_CLASS + " tbody tr:nth-child(" + (levelIndex + 1) + ")")
|
|
1082
|
+
: this.parent.element.querySelector("." + cls.HEADER_ROW_CLASS + ":nth-child(" + (levelIndex + 1) + ")");
|
|
1081
1083
|
var offset = [].slice.call(offsetTarget.children).map(function (node) { return node.offsetLeft; });
|
|
1082
1084
|
scrollElement.scrollLeft = offset[parseInt(index.toString(), 10)];
|
|
1083
1085
|
}
|
|
@@ -138,6 +138,7 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
138
138
|
scrollLeft: number;
|
|
139
139
|
isPrinting: boolean;
|
|
140
140
|
adaptiveGroupIndex: number;
|
|
141
|
+
activeEventTemplates: string[];
|
|
141
142
|
/**
|
|
142
143
|
* Sets the `width` of the Schedule component, accepting both string and number values.
|
|
143
144
|
*
|
|
@@ -916,6 +917,7 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
916
917
|
*/
|
|
917
918
|
render(): void;
|
|
918
919
|
private renderTableContainer;
|
|
920
|
+
getEventTemplateName(resIndex: number): string;
|
|
919
921
|
/**
|
|
920
922
|
* Method to render react templates
|
|
921
923
|
*
|
|
@@ -141,6 +141,13 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
141
141
|
this.element.appendChild(this.createElement('div', { className: cls.TABLE_CONTAINER_CLASS }));
|
|
142
142
|
}
|
|
143
143
|
};
|
|
144
|
+
Schedule.prototype.getEventTemplateName = function (resIndex) {
|
|
145
|
+
var templateName = 'eventTemplate_' + resIndex;
|
|
146
|
+
if (this.activeEventTemplates.indexOf(templateName) < 0) {
|
|
147
|
+
this.activeEventTemplates.push(templateName);
|
|
148
|
+
}
|
|
149
|
+
return templateName;
|
|
150
|
+
};
|
|
144
151
|
/**
|
|
145
152
|
* Method to render react templates
|
|
146
153
|
*
|
|
@@ -737,6 +744,7 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
737
744
|
this.resourceCollection = [];
|
|
738
745
|
this.currentAction = null;
|
|
739
746
|
this.selectedElements = [];
|
|
747
|
+
this.activeEventTemplates = [];
|
|
740
748
|
this.setViewOptions();
|
|
741
749
|
};
|
|
742
750
|
Schedule.prototype.getDefaultLocale = function () {
|
|
@@ -1207,7 +1215,7 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1207
1215
|
};
|
|
1208
1216
|
Schedule.prototype.onScheduleResize = function () {
|
|
1209
1217
|
if (isNullOrUndefined(this.activeView) || ((this.isAdaptive || util.isMobile()) && document.activeElement
|
|
1210
|
-
&& document.activeElement.classList.contains(cls.SUBJECT_CLASS))) {
|
|
1218
|
+
&& document.activeElement.classList.contains(cls.SUBJECT_CLASS)) || this.uiStateValues.isTapHold) {
|
|
1211
1219
|
return;
|
|
1212
1220
|
}
|
|
1213
1221
|
if (this.virtualScrollModule && this.activeView.isTimelineView()) {
|
|
@@ -669,6 +669,10 @@ var EventBase = /** @class */ (function () {
|
|
|
669
669
|
}
|
|
670
670
|
}
|
|
671
671
|
else if (!closest(element, '.' + cls.POPUP_OPEN)) {
|
|
672
|
+
if (this.parent.uiStateValues.isTapHold && closest(element, '.' + cls.WORK_CELLS_CLASS + ',.' + cls.ALLDAY_CELLS_CLASS)) {
|
|
673
|
+
return;
|
|
674
|
+
}
|
|
675
|
+
this.parent.uiStateValues.isTapHold = false;
|
|
672
676
|
this.removeSelectedAppointmentClass();
|
|
673
677
|
this.parent.selectedElements = [];
|
|
674
678
|
}
|
|
@@ -678,7 +682,7 @@ var EventBase = /** @class */ (function () {
|
|
|
678
682
|
var isReadOnly = (!isNullOrUndefined(event)) ? event[this.parent.eventFields.isReadonly] : false;
|
|
679
683
|
EventHandler.add(element, 'click', this.eventClick, this);
|
|
680
684
|
if (!this.parent.isAdaptive && !this.parent.activeViewOptions.readonly && !isReadOnly) {
|
|
681
|
-
EventHandler.add(element, '
|
|
685
|
+
EventHandler.add(element, 'touchend', this.eventTouchClick, this);
|
|
682
686
|
EventHandler.add(element, 'dblclick', this.eventDoubleClick, this);
|
|
683
687
|
}
|
|
684
688
|
if (!this.parent.activeViewOptions.readonly && !isReadOnly && !isPreventCrud) {
|
|
@@ -692,6 +696,10 @@ var EventBase = /** @class */ (function () {
|
|
|
692
696
|
};
|
|
693
697
|
EventBase.prototype.eventTouchClick = function (e) {
|
|
694
698
|
var _this = this;
|
|
699
|
+
if (this.parent.uiStateValues.isTouchScroll || this.parent.uiStateValues.isTapHold || this.parent.uiStateValues.action) {
|
|
700
|
+
this.parent.uiStateValues.isTouchScroll = this.parent.uiStateValues.isTapHold = false;
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
695
703
|
setTimeout(function () { return _this.isDoubleTapped = false; }, 250);
|
|
696
704
|
e.preventDefault();
|
|
697
705
|
if (this.isDoubleTapped) {
|
|
@@ -805,7 +813,7 @@ var EventBase = /** @class */ (function () {
|
|
|
805
813
|
if (this.parent.quickPopup) {
|
|
806
814
|
this.parent.quickPopup.quickPopupHide(true);
|
|
807
815
|
}
|
|
808
|
-
if (eventData.type === '
|
|
816
|
+
if (eventData.type === 'touchend') {
|
|
809
817
|
this.activeEventData(eventData, true);
|
|
810
818
|
}
|
|
811
819
|
this.removeSelectedAppointmentClass();
|
|
@@ -1121,8 +1129,8 @@ var EventBase = /** @class */ (function () {
|
|
|
1121
1129
|
var scheduleId = this.parent.element.id + '_';
|
|
1122
1130
|
var viewName = this.parent.activeViewOptions.eventTemplateName;
|
|
1123
1131
|
var templateId = scheduleId + viewName + 'eventTemplate';
|
|
1124
|
-
var templateName = '
|
|
1125
|
-
this.parent.
|
|
1132
|
+
var templateName = isResourceEventTemplate && this.parent.currentView.indexOf('Year') === -1 ?
|
|
1133
|
+
this.parent.getEventTemplateName(resIndex) : 'eventTemplate';
|
|
1126
1134
|
templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false);
|
|
1127
1135
|
}
|
|
1128
1136
|
else {
|
|
@@ -405,7 +405,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
405
405
|
var scheduleId = this.parent.element.id + '_';
|
|
406
406
|
var viewName = this.parent.activeViewOptions.eventTemplateName;
|
|
407
407
|
var templateId = scheduleId + viewName + 'eventTemplate';
|
|
408
|
-
var eventTemplate =
|
|
408
|
+
var eventTemplate = this.isResourceEventTemplate ? this.parent.getEventTemplateName(resIndex) : 'eventTemplate';
|
|
409
409
|
templateElement = this.parent.getAppointmentTemplate()(eventObj, this.parent, eventTemplate, templateId, false);
|
|
410
410
|
}
|
|
411
411
|
else {
|
|
@@ -359,7 +359,7 @@ var VerticalEvent = /** @class */ (function (_super) {
|
|
|
359
359
|
var viewName = this.parent.activeViewOptions.eventTemplateName;
|
|
360
360
|
var templateId = elementId + viewName + 'eventTemplate';
|
|
361
361
|
var resIndex = this.parent.uiStateValues.isGroupAdaptive ? this.parent.uiStateValues.groupIndex : resource;
|
|
362
|
-
var templateName =
|
|
362
|
+
var templateName = this.isResourceEventTemplate ? this.parent.getEventTemplateName(resIndex) : 'eventTemplate';
|
|
363
363
|
templateElement = this.parent.getAppointmentTemplate()(record, this.parent, templateName, templateId, false);
|
|
364
364
|
}
|
|
365
365
|
else {
|
|
@@ -364,7 +364,6 @@ var QuickPopups = /** @class */ (function () {
|
|
|
364
364
|
};
|
|
365
365
|
QuickPopups.prototype.tapHoldEventPopup = function (e) {
|
|
366
366
|
var target = closest(e.target, '.' + cls.APPOINTMENT_CLASS);
|
|
367
|
-
this.isMultipleEventSelect = false;
|
|
368
367
|
this.parent.selectedElements = [];
|
|
369
368
|
this.isMultipleEventSelect = true;
|
|
370
369
|
this.parent.eventBase.getSelectedEventElements(target);
|
|
@@ -224,6 +224,14 @@ var Month = /** @class */ (function (_super) {
|
|
|
224
224
|
remove(this.element.querySelector('tbody tr'));
|
|
225
225
|
this.renderHeader();
|
|
226
226
|
this.parent.notify(event.contentReady, {});
|
|
227
|
+
var dateHeader = this.element.querySelector('.' + cls.DATE_HEADER_WRAP_CLASS);
|
|
228
|
+
var contentWrapper = this.element.querySelector('.' + cls.CONTENT_WRAP_CLASS);
|
|
229
|
+
if (dateHeader) {
|
|
230
|
+
dateHeader.scrollLeft = this.parent.uiStateValues.left;
|
|
231
|
+
}
|
|
232
|
+
if (contentWrapper) {
|
|
233
|
+
contentWrapper.scrollLeft = this.parent.uiStateValues.left;
|
|
234
|
+
}
|
|
227
235
|
};
|
|
228
236
|
Month.prototype.wireCellEvents = function (element) {
|
|
229
237
|
EventHandler.add(element, 'mousedown', this.parent.workCellAction.cellMouseDown, this.parent.workCellAction);
|
|
@@ -19,10 +19,17 @@ var Render = /** @class */ (function () {
|
|
|
19
19
|
Render.prototype.initializeLayout = function (viewName) {
|
|
20
20
|
if (this.parent.activeView) {
|
|
21
21
|
var templates = [
|
|
22
|
-
'cellTemplate', '
|
|
22
|
+
'cellTemplate', 'tooltipTemplate', 'majorSlotTemplate', 'minorSlotTemplate',
|
|
23
23
|
'headerTooltipTemplate', 'dateHeaderTemplate', 'dayHeaderTemplate', 'monthHeaderTemplate',
|
|
24
24
|
'headerIndentTemplate', 'resourceHeaderTemplate', 'cellHeaderTemplate', 'dateRangeTemplate'
|
|
25
25
|
];
|
|
26
|
+
if (this.parent.activeEventTemplates.length > 0) {
|
|
27
|
+
templates = templates.concat(this.parent.activeEventTemplates);
|
|
28
|
+
this.parent.activeEventTemplates = [];
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
templates.push('eventTemplate');
|
|
32
|
+
}
|
|
26
33
|
this.parent.resetTemplates(templates);
|
|
27
34
|
this.parent.activeView.removeEventListener();
|
|
28
35
|
this.parent.activeView.destroy();
|
|
@@ -61,7 +61,7 @@ var VerticalView = /** @class */ (function (_super) {
|
|
|
61
61
|
this.parent.uiStateValues.top = target.scrollTop;
|
|
62
62
|
}
|
|
63
63
|
this.parent.uiStateValues.left = target.scrollLeft;
|
|
64
|
-
if (!isNullOrUndefined(this.parent.quickPopup)) {
|
|
64
|
+
if (!isNullOrUndefined(this.parent.quickPopup) && !this.parent.uiStateValues.isTapHold) {
|
|
65
65
|
this.parent.quickPopup.quickPopupHide();
|
|
66
66
|
}
|
|
67
67
|
this.setPersistence();
|
|
@@ -430,6 +430,10 @@ var VerticalView = /** @class */ (function (_super) {
|
|
|
430
430
|
remove(this.element.querySelector('tbody tr'));
|
|
431
431
|
this.renderHeader();
|
|
432
432
|
this.parent.notify(event.contentReady, {});
|
|
433
|
+
var dateHeader = this.element.querySelector('.' + cls.DATE_HEADER_WRAP_CLASS);
|
|
434
|
+
if (dateHeader) {
|
|
435
|
+
dateHeader.scrollLeft = this.parent.uiStateValues.left;
|
|
436
|
+
}
|
|
433
437
|
};
|
|
434
438
|
VerticalView.prototype.renderLayout = function (type) {
|
|
435
439
|
this.setPanel(createElement('div', { className: cls.TABLE_WRAP_CLASS }));
|
|
@@ -25,10 +25,27 @@ var ViewBase = /** @class */ (function () {
|
|
|
25
25
|
// Method to refresh the date header
|
|
26
26
|
};
|
|
27
27
|
ViewBase.prototype.refreshResourceHeader = function () {
|
|
28
|
-
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
var resTbl = this.element.querySelector('.' + cls.RESOURCE_COLUMN_TABLE_CLASS);
|
|
29
|
+
var resourceTd = Array.from(resTbl.querySelectorAll('.' + cls.RESOURCE_CELLS_CLASS));
|
|
30
|
+
resourceTd.forEach(function (currentElement) {
|
|
31
|
+
var children = Array.from(currentElement.children);
|
|
32
|
+
children.forEach(function (child) {
|
|
33
|
+
if (!child.classList.contains(cls.RESOURCE_EXPAND_CLASS) && !child.classList.contains(cls.RESOURCE_COLLAPSE_CLASS)) {
|
|
34
|
+
remove(child);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
if (!isNullOrUndefined(this.parent.resourceBase.renderedResources) && this.parent.resourceBase.renderedResources.length > 0) {
|
|
39
|
+
for (var i = 0; i < resourceTd.length; i++) {
|
|
40
|
+
var element = resourceTd[parseInt(i.toString(), 10)];
|
|
41
|
+
var data = this.parent.resourceBase.renderedResources[parseInt(i.toString(), 10)];
|
|
42
|
+
if (this.parent.activeView && !isNullOrUndefined(element) && !isNullOrUndefined(data)
|
|
43
|
+
&& parseInt(element.getAttribute('data-group-index'), 10) === data.groupIndex) {
|
|
44
|
+
this.parent.activeView.setResourceHeaderContent(element, data, cls.RESOURCE_TEXT_CLASS);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
this.parent.renderTemplates();
|
|
32
49
|
this.parent.notify(event.contentReady, {});
|
|
33
50
|
};
|
|
34
51
|
ViewBase.prototype.getDayName = function (date) {
|