@syncfusion/ej2-schedule 27.2.5 → 28.1.33
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/README.md +2 -2
- package/dist/ej2-schedule.min.js +3 -3
- package/dist/ej2-schedule.umd.min.js +3 -3
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +425 -46
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +454 -48
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +3 -3
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +2 -2
- package/package.json +16 -16
- package/src/schedule/actions/action-base.js +4 -3
- package/src/schedule/actions/drag.js +2 -2
- package/src/schedule/actions/keyboard.d.ts +16 -0
- package/src/schedule/actions/keyboard.js +254 -8
- package/src/schedule/actions/touch.js +7 -2
- package/src/schedule/base/constant.d.ts +4 -0
- package/src/schedule/base/constant.js +4 -0
- package/src/schedule/base/css-constant.d.ts +2 -0
- package/src/schedule/base/css-constant.js +2 -0
- package/src/schedule/base/interface.d.ts +14 -4
- package/src/schedule/base/schedule-model.d.ts +17 -1
- package/src/schedule/base/schedule.d.ts +67 -1
- package/src/schedule/base/schedule.js +131 -1
- package/src/schedule/base/type.d.ts +8 -0
- package/src/schedule/popups/event-tooltip.js +4 -0
- package/src/schedule/renderer/agenda.d.ts +2 -1
- package/src/schedule/renderer/agenda.js +1 -1
- package/src/schedule/renderer/header-renderer.js +4 -2
- package/src/schedule/renderer/month-agenda.d.ts +2 -1
- package/src/schedule/renderer/month-agenda.js +2 -2
- package/src/schedule/renderer/month.d.ts +4 -3
- package/src/schedule/renderer/month.js +16 -9
- package/src/schedule/renderer/view-base.d.ts +5 -4
- package/src/schedule/renderer/view-base.js +13 -10
- package/src/schedule/renderer/year.d.ts +3 -2
- package/src/schedule/renderer/year.js +10 -7
- package/styles/bds-lite.css +4400 -0
- package/styles/bds-lite.scss +18 -0
- package/styles/bds.css +5161 -0
- package/styles/bds.scss +20 -0
- package/styles/bootstrap-dark-lite.css +19 -6
- package/styles/bootstrap-dark.css +23 -10
- package/styles/bootstrap-lite.css +18 -5
- package/styles/bootstrap.css +22 -9
- package/styles/bootstrap4-lite.css +18 -5
- package/styles/bootstrap4.css +22 -9
- package/styles/bootstrap5-dark-lite.css +18 -5
- package/styles/bootstrap5-dark.css +23 -10
- package/styles/bootstrap5-lite.css +18 -5
- package/styles/bootstrap5.3-lite.css +18 -5
- package/styles/bootstrap5.3.css +23 -10
- package/styles/bootstrap5.css +23 -10
- package/styles/fabric-dark-lite.css +18 -5
- package/styles/fabric-dark.css +22 -9
- package/styles/fabric-lite.css +18 -5
- package/styles/fabric.css +22 -9
- package/styles/fluent-dark-lite.css +18 -5
- package/styles/fluent-dark.css +22 -9
- package/styles/fluent-lite.css +18 -5
- package/styles/fluent.css +22 -9
- package/styles/fluent2-lite.css +43 -6
- package/styles/fluent2.css +50 -13
- package/styles/highcontrast-light-lite.css +18 -5
- package/styles/highcontrast-light.css +22 -9
- package/styles/highcontrast-lite.css +19 -6
- package/styles/highcontrast.css +23 -10
- package/styles/material-dark-lite.css +18 -5
- package/styles/material-dark.css +22 -9
- package/styles/material-lite.css +18 -5
- package/styles/material.css +22 -9
- package/styles/material3-dark-lite.css +18 -5
- package/styles/material3-dark.css +23 -10
- package/styles/material3-lite.css +18 -5
- package/styles/material3.css +23 -10
- package/styles/recurrence-editor/_bigger.scss +2 -3
- package/styles/recurrence-editor/_fluent2-definition.scss +1 -1
- package/styles/recurrence-editor/_tailwind3-definition.scss +14 -0
- package/styles/recurrence-editor/bds.css +533 -0
- package/styles/recurrence-editor/bds.scss +9 -0
- package/styles/recurrence-editor/bootstrap-dark.css +2 -3
- package/styles/recurrence-editor/bootstrap.css +2 -3
- package/styles/recurrence-editor/bootstrap4.css +2 -3
- package/styles/recurrence-editor/bootstrap5-dark.css +2 -3
- package/styles/recurrence-editor/bootstrap5.3.css +2 -3
- package/styles/recurrence-editor/bootstrap5.css +2 -3
- package/styles/recurrence-editor/fabric-dark.css +2 -3
- package/styles/recurrence-editor/fabric.css +2 -3
- package/styles/recurrence-editor/fluent-dark.css +2 -3
- package/styles/recurrence-editor/fluent.css +2 -3
- package/styles/recurrence-editor/fluent2.css +3 -4
- package/styles/recurrence-editor/highcontrast-light.css +2 -3
- package/styles/recurrence-editor/highcontrast.css +3 -4
- package/styles/recurrence-editor/material-dark.css +2 -3
- package/styles/recurrence-editor/material.css +2 -3
- package/styles/recurrence-editor/material3-dark.css +2 -3
- package/styles/recurrence-editor/material3.css +2 -3
- package/styles/recurrence-editor/tailwind-dark.css +2 -3
- package/styles/recurrence-editor/tailwind.css +2 -3
- package/styles/recurrence-editor/tailwind3.css +500 -0
- package/styles/recurrence-editor/tailwind3.scss +9 -0
- package/styles/schedule/_bigger.scss +2 -1
- package/styles/schedule/_bootstrap5-definition.scss +1 -1
- package/styles/schedule/_bootstrap5.3-definition.scss +1 -1
- package/styles/schedule/_fluent2-definition.scss +3 -3
- package/styles/schedule/_layout.scss +43 -2
- package/styles/schedule/_material3-definition.scss +1 -1
- package/styles/schedule/_tailwind-definition.scss +1 -1
- package/styles/schedule/_tailwind3-definition.scss +276 -0
- package/styles/schedule/_theme.scss +0 -4
- package/styles/schedule/bds.css +4760 -0
- package/styles/schedule/bds.scss +17 -0
- package/styles/schedule/bootstrap-dark.css +21 -7
- package/styles/schedule/bootstrap.css +20 -6
- package/styles/schedule/bootstrap4.css +20 -6
- package/styles/schedule/bootstrap5-dark.css +21 -7
- package/styles/schedule/bootstrap5.3.css +21 -7
- package/styles/schedule/bootstrap5.css +21 -7
- package/styles/schedule/fabric-dark.css +20 -6
- package/styles/schedule/fabric.css +20 -6
- package/styles/schedule/fluent-dark.css +20 -6
- package/styles/schedule/fluent.css +20 -6
- package/styles/schedule/fluent2.css +47 -9
- package/styles/schedule/highcontrast-light.css +20 -6
- package/styles/schedule/highcontrast.css +21 -7
- package/styles/schedule/icons/_tailwind3.scss +220 -0
- package/styles/schedule/material-dark.css +20 -6
- package/styles/schedule/material.css +20 -6
- package/styles/schedule/material3-dark.css +21 -7
- package/styles/schedule/material3.css +21 -7
- package/styles/schedule/tailwind-dark.css +21 -7
- package/styles/schedule/tailwind.css +21 -7
- package/styles/schedule/tailwind3.css +4599 -0
- package/styles/schedule/tailwind3.scss +17 -0
- package/styles/tailwind-dark-lite.css +18 -5
- package/styles/tailwind-dark.css +23 -10
- package/styles/tailwind-lite.css +18 -5
- package/styles/tailwind.css +23 -10
- package/styles/tailwind3-lite.css +4239 -0
- package/styles/tailwind3-lite.scss +18 -0
- package/styles/tailwind3.css +5000 -0
- package/styles/tailwind3.scss +20 -0
package/dist/global/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version :
|
|
4
|
-
* Copyright Syncfusion Inc. 2001 -
|
|
3
|
+
* version : 28.1.33
|
|
4
|
+
* Copyright Syncfusion Inc. 2001 - 2024. 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
|
|
7
7
|
* licensing@syncfusion.com. Any infringement will be prosecuted under
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-schedule@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-schedule@
|
|
3
|
+
"_id": "@syncfusion/ej2-schedule@22.9.0",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-cR+XC2J8vmAcNH8/zygg6BgJ4xkhOm2Zsg13yKOgitQV035CAkGjxmTWONHlkL5Wsw8wWWojH2HL9dVxe6kiug==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-schedule",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
"/@syncfusion/ej2-react-schedule",
|
|
24
24
|
"/@syncfusion/ej2-vue-schedule"
|
|
25
25
|
],
|
|
26
|
-
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-
|
|
27
|
-
"_shasum": "
|
|
26
|
+
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-release/@syncfusion/ej2-schedule/-/ej2-schedule-22.9.0.tgz",
|
|
27
|
+
"_shasum": "2d61fb6d43051fddd4eb521a0a0f658de274c6ff",
|
|
28
28
|
"_spec": "@syncfusion/ej2-schedule@*",
|
|
29
|
-
"_where": "/jenkins/workspace/elease-
|
|
29
|
+
"_where": "/jenkins/workspace/elease-automation_release_28.1.1/packages/included",
|
|
30
30
|
"author": {
|
|
31
31
|
"name": "Syncfusion Inc."
|
|
32
32
|
},
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
},
|
|
36
36
|
"bundleDependencies": false,
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@syncfusion/ej2-base": "~
|
|
39
|
-
"@syncfusion/ej2-buttons": "~
|
|
40
|
-
"@syncfusion/ej2-calendars": "~
|
|
41
|
-
"@syncfusion/ej2-data": "~
|
|
42
|
-
"@syncfusion/ej2-dropdowns": "~
|
|
43
|
-
"@syncfusion/ej2-excel-export": "~
|
|
44
|
-
"@syncfusion/ej2-inputs": "~
|
|
45
|
-
"@syncfusion/ej2-lists": "~
|
|
46
|
-
"@syncfusion/ej2-navigations": "~
|
|
47
|
-
"@syncfusion/ej2-popups": "~
|
|
38
|
+
"@syncfusion/ej2-base": "~28.1.33",
|
|
39
|
+
"@syncfusion/ej2-buttons": "~28.1.33",
|
|
40
|
+
"@syncfusion/ej2-calendars": "~28.1.33",
|
|
41
|
+
"@syncfusion/ej2-data": "~28.1.33",
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~28.1.33",
|
|
43
|
+
"@syncfusion/ej2-excel-export": "~28.1.33",
|
|
44
|
+
"@syncfusion/ej2-inputs": "~28.1.33",
|
|
45
|
+
"@syncfusion/ej2-lists": "~28.1.33",
|
|
46
|
+
"@syncfusion/ej2-navigations": "~28.1.33",
|
|
47
|
+
"@syncfusion/ej2-popups": "~28.1.33"
|
|
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": "
|
|
76
|
+
"version": "28.1.33",
|
|
77
77
|
"sideEffects": false
|
|
78
78
|
}
|
|
@@ -87,9 +87,10 @@ var ActionBase = /** @class */ (function () {
|
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
89
|
ActionBase.prototype.calculateIntervalTime = function (date) {
|
|
90
|
-
var
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
var dateInMS = util.resetTime(date).getTime();
|
|
91
|
+
var intervalInMS = util.MS_PER_MINUTE * this.actionObj.interval;
|
|
92
|
+
dateInMS = dateInMS + Math.floor((date.getTime() - dateInMS) / intervalInMS) * intervalInMS;
|
|
93
|
+
return new Date(dateInMS);
|
|
93
94
|
};
|
|
94
95
|
ActionBase.prototype.getContentAreaDimension = function () {
|
|
95
96
|
var viewElement = this.parent.element.querySelector('.' + cls.CONTENT_WRAP_CLASS);
|
|
@@ -534,12 +534,12 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
534
534
|
if ((dragArea.scrollLeft === 0) &&
|
|
535
535
|
(Math.round(this.actionObj.X) <=
|
|
536
536
|
Math.round(dragArea.getBoundingClientRect().left + this.actionObj.cellWidth + window.pageXOffset))) {
|
|
537
|
-
navigationType = this.parent.enableRtl ? '
|
|
537
|
+
navigationType = this.parent.enableRtl ? 'Next' : 'Previous';
|
|
538
538
|
}
|
|
539
539
|
else if ((Math.round(dragArea.scrollLeft) + dragArea.clientWidth === dragArea.scrollWidth) &&
|
|
540
540
|
(Math.round(this.actionObj.X) >=
|
|
541
541
|
Math.round(dragArea.getBoundingClientRect().right - this.actionObj.cellWidth + window.pageXOffset))) {
|
|
542
|
-
navigationType = this.parent.enableRtl ? '
|
|
542
|
+
navigationType = this.parent.enableRtl ? 'Previous' : 'Next';
|
|
543
543
|
}
|
|
544
544
|
if (navigationType) {
|
|
545
545
|
this.parent.changeDate(this.parent.activeView.getNextPreviousDate(navigationType));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { KeyboardEventArgs } from '@syncfusion/ej2-base';
|
|
1
2
|
import { Schedule } from '../base/schedule';
|
|
2
3
|
/**
|
|
3
4
|
* Keyboard interaction
|
|
@@ -9,6 +10,9 @@ export declare class KeyboardInteraction {
|
|
|
9
10
|
private parent;
|
|
10
11
|
private initialTarget;
|
|
11
12
|
selectedCells: HTMLTableCellElement[];
|
|
13
|
+
private clipBoardTextArea;
|
|
14
|
+
private isCutContentPasted;
|
|
15
|
+
private isCutAction;
|
|
12
16
|
private keyConfigs;
|
|
13
17
|
private keyboardModule;
|
|
14
18
|
constructor(parent: Schedule);
|
|
@@ -68,6 +72,18 @@ export declare class KeyboardInteraction {
|
|
|
68
72
|
private isPreventAction;
|
|
69
73
|
private processTabOnResourceCells;
|
|
70
74
|
private setScrollPosition;
|
|
75
|
+
private createClipboardElement;
|
|
76
|
+
private setCopy;
|
|
77
|
+
private filterReadOnlyEvent;
|
|
78
|
+
processClipboardAction(isCut: boolean, copiedEventData?: Record<string, any>[], e?: KeyboardEventArgs): void;
|
|
79
|
+
pasteHandler(clipboardEvent: ClipboardEvent, targetElement?: HTMLElement): void;
|
|
80
|
+
private processPaste;
|
|
81
|
+
private getTargetElements;
|
|
82
|
+
private isAllDayEvent;
|
|
83
|
+
private processEventData;
|
|
84
|
+
private adjustEventTime;
|
|
85
|
+
private prepareEventData;
|
|
86
|
+
private calculateTotalDuration;
|
|
71
87
|
/**
|
|
72
88
|
* Get module name.
|
|
73
89
|
*
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
1
12
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { KeyboardEvents, closest, EventHandler, extend } from '@syncfusion/ej2-base';
|
|
13
|
+
import { KeyboardEvents, closest, EventHandler, extend, Browser } from '@syncfusion/ej2-base';
|
|
3
14
|
import { isNullOrUndefined, addClass, removeClass } from '@syncfusion/ej2-base';
|
|
4
15
|
import * as event from '../base/constant';
|
|
5
16
|
import * as util from '../base/util';
|
|
@@ -11,6 +22,8 @@ import { cellSelect } from '../base/constant';
|
|
|
11
22
|
var KeyboardInteraction = /** @class */ (function () {
|
|
12
23
|
function KeyboardInteraction(parent) {
|
|
13
24
|
this.selectedCells = [];
|
|
25
|
+
this.isCutContentPasted = false;
|
|
26
|
+
this.isCutAction = false;
|
|
14
27
|
this.keyConfigs = {
|
|
15
28
|
downArrow: 'downarrow',
|
|
16
29
|
upArrow: 'uparrow',
|
|
@@ -45,7 +58,11 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
45
58
|
ctrlShiftLeftArrow: 'ctrl+shift+leftarrow',
|
|
46
59
|
ctrlShiftRightArrow: 'ctrl+shift+rightarrow',
|
|
47
60
|
shiftAltY: 'shift+alt+y',
|
|
48
|
-
shiftAltN: 'shift+alt+n'
|
|
61
|
+
shiftAltN: 'shift+alt+n',
|
|
62
|
+
cut: 'ctrl+x',
|
|
63
|
+
copy: 'ctrl+c',
|
|
64
|
+
cmdCut: 'cmd+x',
|
|
65
|
+
cmdCopy: 'cmd+c'
|
|
49
66
|
};
|
|
50
67
|
this.parent = parent;
|
|
51
68
|
this.parent.element.tabIndex = this.parent.element.tabIndex === -1 ? 0 : this.parent.element.tabIndex;
|
|
@@ -55,6 +72,7 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
55
72
|
eventName: 'keydown'
|
|
56
73
|
});
|
|
57
74
|
this.addEventListener();
|
|
75
|
+
this.createClipboardElement();
|
|
58
76
|
}
|
|
59
77
|
KeyboardInteraction.prototype.keyActionHandler = function (e) {
|
|
60
78
|
switch (e.action) {
|
|
@@ -75,13 +93,13 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
75
93
|
this.processRight(e, e.shiftKey);
|
|
76
94
|
break;
|
|
77
95
|
case 'ctrlLeftArrow':
|
|
78
|
-
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('
|
|
96
|
+
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('Previous'), e);
|
|
79
97
|
if (this.parent.headerModule) {
|
|
80
98
|
this.parent.headerModule.element.querySelector('.e-prev button').focus();
|
|
81
99
|
}
|
|
82
100
|
break;
|
|
83
101
|
case 'ctrlRightArrow':
|
|
84
|
-
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('
|
|
102
|
+
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('Next'), e);
|
|
85
103
|
if (this.parent.headerModule) {
|
|
86
104
|
this.parent.headerModule.element.querySelector('.e-next button').focus();
|
|
87
105
|
}
|
|
@@ -136,6 +154,14 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
136
154
|
}
|
|
137
155
|
this.processShiftAltN(e);
|
|
138
156
|
break;
|
|
157
|
+
case 'cut':
|
|
158
|
+
case 'cmdCut':
|
|
159
|
+
this.processClipboardAction(true, undefined, e);
|
|
160
|
+
break;
|
|
161
|
+
case 'copy':
|
|
162
|
+
case 'cmdCopy':
|
|
163
|
+
this.processClipboardAction(false, undefined, e);
|
|
164
|
+
break;
|
|
139
165
|
}
|
|
140
166
|
};
|
|
141
167
|
KeyboardInteraction.prototype.processShiftAltN = function (e) {
|
|
@@ -183,9 +209,13 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
183
209
|
};
|
|
184
210
|
KeyboardInteraction.prototype.addEventListener = function () {
|
|
185
211
|
this.parent.on(event.cellMouseDown, this.onCellMouseDown, this);
|
|
212
|
+
if (this.parent.allowClipboard) {
|
|
213
|
+
this.parent.on(event.documentPaste, this.pasteHandler, this);
|
|
214
|
+
}
|
|
186
215
|
};
|
|
187
216
|
KeyboardInteraction.prototype.removeEventListener = function () {
|
|
188
217
|
this.parent.off(event.cellMouseDown, this.onCellMouseDown);
|
|
218
|
+
this.parent.off(event.documentPaste, this.pasteHandler);
|
|
189
219
|
};
|
|
190
220
|
KeyboardInteraction.prototype.onCellMouseDown = function (e) {
|
|
191
221
|
if (e.event.shiftKey) {
|
|
@@ -825,7 +855,7 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
825
855
|
return;
|
|
826
856
|
}
|
|
827
857
|
var rowIndex = this.isInverseTableSelect() ? key.rowIndex : 0;
|
|
828
|
-
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('
|
|
858
|
+
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('Next'), e);
|
|
829
859
|
var tableEle = this.parent.getContentTable();
|
|
830
860
|
var cell = isMonthEnd ? tableEle.rows[parseInt(rowIndex.toString(), 10)].querySelector('.' + cls.WORK_CELLS_CLASS + ':not(.' + cls.OTHERMONTH_CLASS + ')')
|
|
831
861
|
: tableEle.rows[parseInt(rowIndex.toString(), 10)].cells[0];
|
|
@@ -841,7 +871,7 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
841
871
|
this.selectCells(isMultiple, allDayRow.cells[curColIndex + 1]);
|
|
842
872
|
}
|
|
843
873
|
else if (curColIndex === maxColIndex - 1 && !isMultiple) {
|
|
844
|
-
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('
|
|
874
|
+
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('Next'), e);
|
|
845
875
|
var allDayRow_1 = this.parent.getAllDayRow();
|
|
846
876
|
this.selectCells(false, allDayRow_1.cells[0]);
|
|
847
877
|
}
|
|
@@ -895,7 +925,7 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
895
925
|
this.selectCells(isMultiple, this.parent.element.querySelector('[data-date="' + (targetDate.getTime() - util.MS_PER_DAY) + '"]'));
|
|
896
926
|
return;
|
|
897
927
|
}
|
|
898
|
-
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('
|
|
928
|
+
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('Previous'), e);
|
|
899
929
|
var tableEle = this.parent.getContentTable();
|
|
900
930
|
var rowIndex = this.isInverseTableSelect() ? key.rowIndex : tableEle.rows.length - 1;
|
|
901
931
|
var cell = tableEle.rows[parseInt(rowIndex.toString(), 10)].cells[key.maxIndex - 1];
|
|
@@ -915,7 +945,7 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
915
945
|
this.selectCells(isMultiple, allDayRow.cells[curColIndex - 1]);
|
|
916
946
|
}
|
|
917
947
|
else if (curColIndex === 0 && !isMultiple) {
|
|
918
|
-
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('
|
|
948
|
+
this.parent.changeDate(this.parent.activeView.getNextPreviousDate('Previous'), e);
|
|
919
949
|
var allDayRow_2 = this.parent.getAllDayRow();
|
|
920
950
|
this.selectCells(false, allDayRow_2.cells[maxColIndex - 1]);
|
|
921
951
|
}
|
|
@@ -1181,6 +1211,221 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
1181
1211
|
this.parent.element.querySelector('.' + cls.CONTENT_WRAP_CLASS).scrollTop = workCell.offsetTop;
|
|
1182
1212
|
}
|
|
1183
1213
|
};
|
|
1214
|
+
KeyboardInteraction.prototype.createClipboardElement = function () {
|
|
1215
|
+
if (!this.parent.allowClipboard) {
|
|
1216
|
+
return;
|
|
1217
|
+
}
|
|
1218
|
+
this.clipBoardTextArea = this.parent.createElement('textarea', {
|
|
1219
|
+
className: cls.CLIPBOARD_CLASS,
|
|
1220
|
+
attrs: {
|
|
1221
|
+
tabindex: '-1'
|
|
1222
|
+
}
|
|
1223
|
+
});
|
|
1224
|
+
this.parent.element.appendChild(this.clipBoardTextArea);
|
|
1225
|
+
};
|
|
1226
|
+
KeyboardInteraction.prototype.setCopy = function (copiedEventData, e) {
|
|
1227
|
+
var _this = this;
|
|
1228
|
+
if (window.getSelection().toString() !== '') {
|
|
1229
|
+
return;
|
|
1230
|
+
}
|
|
1231
|
+
this.clipBoardTextArea.value = '';
|
|
1232
|
+
var eventDetails = { elements: [], eventDatas: [] };
|
|
1233
|
+
if (copiedEventData) {
|
|
1234
|
+
var filteredContent = this.filterReadOnlyEvent(copiedEventData);
|
|
1235
|
+
eventDetails.eventDatas = filteredContent;
|
|
1236
|
+
}
|
|
1237
|
+
else {
|
|
1238
|
+
if (!this.parent || !this.parent.eventBase) {
|
|
1239
|
+
return;
|
|
1240
|
+
}
|
|
1241
|
+
var selectedEvents = this.parent.eventBase.getSelectedEvents();
|
|
1242
|
+
selectedEvents.event = selectedEvents && selectedEvents.event ? Array.isArray(selectedEvents.event)
|
|
1243
|
+
? this.filterReadOnlyEvent(selectedEvents.event) :
|
|
1244
|
+
this.filterReadOnlyEvent([selectedEvents.event]) : undefined;
|
|
1245
|
+
if (selectedEvents.element && selectedEvents.event) {
|
|
1246
|
+
eventDetails = {
|
|
1247
|
+
elements: selectedEvents.element,
|
|
1248
|
+
eventDatas: selectedEvents.event
|
|
1249
|
+
};
|
|
1250
|
+
}
|
|
1251
|
+
else {
|
|
1252
|
+
eventDetails.element = [e.target];
|
|
1253
|
+
eventDetails.eventDatas = [this.parent.getEventDetails(e.target)];
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
this.clipBoardTextArea.value = JSON.stringify(eventDetails.eventDatas, undefined, 2);
|
|
1257
|
+
if (!/ipad|ipod|iphone/i.test(Browser.userAgent)) {
|
|
1258
|
+
this.clipBoardTextArea.select();
|
|
1259
|
+
}
|
|
1260
|
+
else {
|
|
1261
|
+
this.clipBoardTextArea.setSelectionRange(0, this.clipBoardTextArea.value.length);
|
|
1262
|
+
}
|
|
1263
|
+
if (!isNullOrUndefined(navigator.clipboard)) {
|
|
1264
|
+
navigator.clipboard.writeText(this.clipBoardTextArea.value)
|
|
1265
|
+
.then(function () {
|
|
1266
|
+
_this.clipBoardTextArea.blur();
|
|
1267
|
+
window.getSelection().removeAllRanges();
|
|
1268
|
+
if (e) {
|
|
1269
|
+
var closestAppointment = e.target.closest('.' + cls.APPOINTMENT_CLASS);
|
|
1270
|
+
if (closestAppointment) {
|
|
1271
|
+
closestAppointment.focus();
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
})
|
|
1275
|
+
.catch(function (err) {
|
|
1276
|
+
throw err;
|
|
1277
|
+
});
|
|
1278
|
+
}
|
|
1279
|
+
};
|
|
1280
|
+
KeyboardInteraction.prototype.filterReadOnlyEvent = function (args) {
|
|
1281
|
+
var _this = this;
|
|
1282
|
+
return args.filter(function (event) { return !event[_this.parent.eventFields.isReadonly]; });
|
|
1283
|
+
};
|
|
1284
|
+
KeyboardInteraction.prototype.processClipboardAction = function (isCut, copiedEventData, e) {
|
|
1285
|
+
if (!this.parent.allowClipboard) {
|
|
1286
|
+
return;
|
|
1287
|
+
}
|
|
1288
|
+
this.isCutAction = isCut;
|
|
1289
|
+
this.isCutContentPasted = false;
|
|
1290
|
+
this.parent.closeQuickInfoPopup();
|
|
1291
|
+
this.setCopy(copiedEventData ? copiedEventData : undefined, e);
|
|
1292
|
+
};
|
|
1293
|
+
KeyboardInteraction.prototype.pasteHandler = function (clipboardEvent, targetElement) {
|
|
1294
|
+
var _this = this;
|
|
1295
|
+
if (!this.parent.allowClipboard || this.isCutContentPasted) {
|
|
1296
|
+
return;
|
|
1297
|
+
}
|
|
1298
|
+
var target = this.parent.getSelectedCells().length > 0
|
|
1299
|
+
? this.parent.getSelectedCells()
|
|
1300
|
+
: (targetElement ? [targetElement] : []);
|
|
1301
|
+
if (target.length === 0 || this.parent.eventWindow.dialogObject.visible ||
|
|
1302
|
+
this.parent.quickPopup.quickPopup.element.classList.contains(cls.POPUP_OPEN)) {
|
|
1303
|
+
return;
|
|
1304
|
+
}
|
|
1305
|
+
var clipboardData = clipboardEvent.clipboardData || clipboardEvent.event.clipboardData
|
|
1306
|
+
|| window.clipboardData;
|
|
1307
|
+
var pastedData = clipboardData.getData('text');
|
|
1308
|
+
if (pastedData === '[]' || pastedData === '') {
|
|
1309
|
+
return;
|
|
1310
|
+
}
|
|
1311
|
+
var parsedData;
|
|
1312
|
+
try {
|
|
1313
|
+
parsedData = JSON.parse(pastedData);
|
|
1314
|
+
}
|
|
1315
|
+
catch (_a) {
|
|
1316
|
+
parsedData = pastedData;
|
|
1317
|
+
}
|
|
1318
|
+
var args = { cancel: false, data: parsedData, element: target };
|
|
1319
|
+
this.parent.trigger(event.beforePaste, args, function (pasteEventArgs) {
|
|
1320
|
+
if (!pasteEventArgs.cancel) {
|
|
1321
|
+
if (!Array.isArray(pasteEventArgs.data) || !pasteEventArgs.data.every(function (item) { return typeof item === 'object'; })) {
|
|
1322
|
+
_this.clipBoardTextArea.value = '';
|
|
1323
|
+
return;
|
|
1324
|
+
}
|
|
1325
|
+
_this.processPaste(pasteEventArgs.data, targetElement);
|
|
1326
|
+
if (_this.isCutAction) {
|
|
1327
|
+
_this.isCutContentPasted = true;
|
|
1328
|
+
}
|
|
1329
|
+
}
|
|
1330
|
+
else {
|
|
1331
|
+
_this.parent.closeQuickInfoPopup();
|
|
1332
|
+
return;
|
|
1333
|
+
}
|
|
1334
|
+
});
|
|
1335
|
+
};
|
|
1336
|
+
KeyboardInteraction.prototype.processPaste = function (data, targetElement) {
|
|
1337
|
+
if (!this.parent || !this.parent.eventWindow || !this.parent.eventBase || !data || !data.length) {
|
|
1338
|
+
return;
|
|
1339
|
+
}
|
|
1340
|
+
var target = this.getTargetElements(targetElement);
|
|
1341
|
+
var cellDetails = this.parent.getCellDetails(target);
|
|
1342
|
+
var eventDetails = {};
|
|
1343
|
+
this.parent.eventWindow.convertToEventData(cellDetails, eventDetails);
|
|
1344
|
+
var isAllDay = this.isAllDayEvent(target);
|
|
1345
|
+
var resources = this.parent.getResourcesByIndex(cellDetails.groupIndex);
|
|
1346
|
+
var processedData = this.processEventData(data, isAllDay, cellDetails, resources);
|
|
1347
|
+
var selectedEventData = this.parent.eventBase.sortByDateTime(processedData);
|
|
1348
|
+
var saveData = this.prepareEventData(selectedEventData, eventDetails);
|
|
1349
|
+
removeClass(target, cls.SELECTED_CELL_CLASS);
|
|
1350
|
+
if (saveData.length > 0) {
|
|
1351
|
+
if (this.isCutAction) {
|
|
1352
|
+
this.parent.saveEvent(saveData);
|
|
1353
|
+
}
|
|
1354
|
+
else {
|
|
1355
|
+
this.parent.addEvent(saveData);
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
};
|
|
1359
|
+
KeyboardInteraction.prototype.getTargetElements = function (targetElement) {
|
|
1360
|
+
return this.parent.getSelectedCells().length > 0
|
|
1361
|
+
? this.parent.getSelectedCells()
|
|
1362
|
+
: (targetElement ? [targetElement] : []);
|
|
1363
|
+
};
|
|
1364
|
+
KeyboardInteraction.prototype.isAllDayEvent = function (target) {
|
|
1365
|
+
return !target.some(function (cell) { return cell.classList.contains(cls.WORK_CELLS_CLASS); });
|
|
1366
|
+
};
|
|
1367
|
+
KeyboardInteraction.prototype.processEventData = function (data, isAllDay, cellDetails, resources) {
|
|
1368
|
+
var _this = this;
|
|
1369
|
+
return data.map(function (item) {
|
|
1370
|
+
var _a;
|
|
1371
|
+
var processedItem = __assign({}, item, (_a = {}, _a[_this.parent.eventFields.startTime] = new Date(item[_this.parent.eventFields.startTime]), _a[_this.parent.eventFields.endTime] = new Date(item[_this.parent.eventFields.endTime]), _a[_this.parent.eventFields.recurrenceID] = null, _a[_this.parent.eventFields.isAllDay] = isAllDay, _a));
|
|
1372
|
+
_this.adjustEventTime(processedItem, isAllDay, item.IsAllDay, cellDetails);
|
|
1373
|
+
if (resources && resources.groupData) {
|
|
1374
|
+
Object.assign(processedItem, resources.groupData);
|
|
1375
|
+
}
|
|
1376
|
+
return processedItem;
|
|
1377
|
+
});
|
|
1378
|
+
};
|
|
1379
|
+
KeyboardInteraction.prototype.adjustEventTime = function (processedItem, isAllDay, itemIsAllDay, cellDetails) {
|
|
1380
|
+
var isTimeScaleEnabled = this.parent.activeViewOptions.timeScale.enable;
|
|
1381
|
+
if ((['Day', 'Week', 'WorkWeek'].indexOf(this.parent.currentView) !== -1) && isTimeScaleEnabled) {
|
|
1382
|
+
if (isAllDay) {
|
|
1383
|
+
processedItem[this.parent.eventFields.endTime] = new Date(processedItem[this.parent.eventFields.startTime]);
|
|
1384
|
+
processedItem[this.parent.eventFields.endTime].setDate(processedItem[this.parent.eventFields.startTime].getDate() + 1);
|
|
1385
|
+
}
|
|
1386
|
+
else if (itemIsAllDay) {
|
|
1387
|
+
processedItem[this.parent.eventFields.startTime] = new Date(processedItem[this.parent.eventFields.startTime]
|
|
1388
|
+
.setHours(0, 0, 0, 0));
|
|
1389
|
+
processedItem[this.parent.eventFields.endTime] = new Date(processedItem[this.parent.eventFields.startTime].getTime() + (cellDetails.endTime.getTime() - cellDetails.startTime.getTime()));
|
|
1390
|
+
}
|
|
1391
|
+
}
|
|
1392
|
+
else if (itemIsAllDay) {
|
|
1393
|
+
processedItem[this.parent.eventFields.isAllDay] = true;
|
|
1394
|
+
processedItem[this.parent.eventFields.startTime] = new Date(processedItem[this.parent.eventFields.startTime]
|
|
1395
|
+
.setHours(0, 0, 0, 0));
|
|
1396
|
+
processedItem[this.parent.eventFields.endTime] = new Date(processedItem[this.parent.eventFields.startTime].getTime() +
|
|
1397
|
+
(processedItem[this.parent.eventFields.endTime].getTime() - processedItem[this.parent.eventFields.startTime].getTime()));
|
|
1398
|
+
}
|
|
1399
|
+
};
|
|
1400
|
+
KeyboardInteraction.prototype.prepareEventData = function (selectedEventData, eventDetails) {
|
|
1401
|
+
var _this = this;
|
|
1402
|
+
var initialEventTime = new Date(selectedEventData[0][this.parent.eventFields.startTime]);
|
|
1403
|
+
var uniqueId = this.parent.getEventMaxID();
|
|
1404
|
+
return selectedEventData.map(function (events) {
|
|
1405
|
+
var totalDuration = _this.calculateTotalDuration(events, eventDetails, initialEventTime);
|
|
1406
|
+
var cloneDetails = _this.isCutAction ? events : __assign({}, events);
|
|
1407
|
+
if (!events[_this.parent.eventFields.recurrenceRule]) {
|
|
1408
|
+
cloneDetails[_this.parent.eventFields.startTime] =
|
|
1409
|
+
new Date(new Date(cloneDetails[_this.parent.eventFields.startTime]).setMilliseconds(totalDuration));
|
|
1410
|
+
cloneDetails[_this.parent.eventFields.endTime] =
|
|
1411
|
+
new Date(new Date(cloneDetails[_this.parent.eventFields.endTime]).setMilliseconds(totalDuration));
|
|
1412
|
+
}
|
|
1413
|
+
if (!_this.isCutAction) {
|
|
1414
|
+
cloneDetails[_this.parent.eventFields.id] = uniqueId++;
|
|
1415
|
+
}
|
|
1416
|
+
return cloneDetails;
|
|
1417
|
+
});
|
|
1418
|
+
};
|
|
1419
|
+
KeyboardInteraction.prototype.calculateTotalDuration = function (events, eventDetails, initialEventTime) {
|
|
1420
|
+
if ((['Month', 'TimelineMonth', 'TimelineYear'].indexOf(this.parent.currentView) !== -1) || !this.parent.activeViewOptions.timeScale.enable) {
|
|
1421
|
+
var eventStartTime = new Date(events[this.parent.eventFields.startTime]);
|
|
1422
|
+
return eventDetails[this.parent.eventFields.startTime].getTime() - initialEventTime.getTime() +
|
|
1423
|
+
(eventStartTime.getHours() * 3600000 + eventStartTime.getMinutes() * 60000 + eventStartTime.getSeconds() * 1000);
|
|
1424
|
+
}
|
|
1425
|
+
else {
|
|
1426
|
+
return eventDetails[this.parent.eventFields.startTime].getTime() - initialEventTime.getTime();
|
|
1427
|
+
}
|
|
1428
|
+
};
|
|
1184
1429
|
/**
|
|
1185
1430
|
* Get module name.
|
|
1186
1431
|
*
|
|
@@ -1198,6 +1443,7 @@ var KeyboardInteraction = /** @class */ (function () {
|
|
|
1198
1443
|
KeyboardInteraction.prototype.destroy = function () {
|
|
1199
1444
|
this.removeEventListener();
|
|
1200
1445
|
this.selectedCells = [];
|
|
1446
|
+
this.clipBoardTextArea = null;
|
|
1201
1447
|
this.keyboardModule.destroy();
|
|
1202
1448
|
};
|
|
1203
1449
|
return KeyboardInteraction;
|
|
@@ -21,6 +21,9 @@ var ScheduleTouch = /** @class */ (function () {
|
|
|
21
21
|
this.touchRightDirection = this.parent.enableRtl ? 'Left' : 'Right';
|
|
22
22
|
}
|
|
23
23
|
ScheduleTouch.prototype.scrollHandler = function (e) {
|
|
24
|
+
if (!isNullOrUndefined(this.parent.eventTooltip)) {
|
|
25
|
+
this.parent.eventTooltip.close();
|
|
26
|
+
}
|
|
24
27
|
var blockSwipe = !this.parent.isAdaptive && e.originalEvent && e.originalEvent.target &&
|
|
25
28
|
!isNullOrUndefined(closest(e.originalEvent.target, '.' + cls.APPOINTMENT_CLASS));
|
|
26
29
|
this.parent.uiStateValues.isTouchScroll = blockSwipe && e.originalEvent.type === 'touchmove' && !this.parent.uiStateValues.action;
|
|
@@ -28,6 +31,7 @@ var ScheduleTouch = /** @class */ (function () {
|
|
|
28
31
|
this.parent.uiStateValues.isTapHold) {
|
|
29
32
|
return;
|
|
30
33
|
}
|
|
34
|
+
this.parent.uiStateValues.isSwipeScroll = true;
|
|
31
35
|
if (!this.timeStampStart) {
|
|
32
36
|
this.timeStampStart = Date.now();
|
|
33
37
|
}
|
|
@@ -52,7 +56,7 @@ var ScheduleTouch = /** @class */ (function () {
|
|
|
52
56
|
}
|
|
53
57
|
if (e.scrollDirection === this.touchLeftDirection) {
|
|
54
58
|
if (!this.nextPanel) {
|
|
55
|
-
this.renderPanel(cls.NEXT_PANEL_CLASS, '
|
|
59
|
+
this.renderPanel(cls.NEXT_PANEL_CLASS, 'Next');
|
|
56
60
|
this.nextPanel = {
|
|
57
61
|
element: this.parent.activeView.getPanel(),
|
|
58
62
|
selectedDate: new Date(this.parent.selectedDate.getTime()),
|
|
@@ -67,7 +71,7 @@ var ScheduleTouch = /** @class */ (function () {
|
|
|
67
71
|
else if (e.scrollDirection === this.touchRightDirection) {
|
|
68
72
|
var prevWidth = 0;
|
|
69
73
|
if (!this.previousPanel) {
|
|
70
|
-
this.renderPanel(cls.PREVIOUS_PANEL_CLASS, '
|
|
74
|
+
this.renderPanel(cls.PREVIOUS_PANEL_CLASS, 'Previous');
|
|
71
75
|
this.previousPanel = {
|
|
72
76
|
element: this.parent.activeView.getPanel(),
|
|
73
77
|
selectedDate: new Date(this.parent.selectedDate.getTime()),
|
|
@@ -215,6 +219,7 @@ var ScheduleTouch = /** @class */ (function () {
|
|
|
215
219
|
if (!isNullOrUndefined(this.element) && !this.element.classList.contains(cls.TRANSLATE_CLASS)) {
|
|
216
220
|
return;
|
|
217
221
|
}
|
|
222
|
+
this.parent.uiStateValues.isSwipeScroll = false;
|
|
218
223
|
removeClass([this.element], cls.TRANSLATE_CLASS);
|
|
219
224
|
this.element.style.transitionDuration = '';
|
|
220
225
|
this.element.style.transform = '';
|
|
@@ -63,6 +63,8 @@ export declare const agendaCells: string;
|
|
|
63
63
|
export declare const resourceHeader: string;
|
|
64
64
|
/** @private */
|
|
65
65
|
export declare const dateHeader: string;
|
|
66
|
+
/** @private */
|
|
67
|
+
export declare const beforePaste: string;
|
|
66
68
|
/**
|
|
67
69
|
* Specifies schedule internal events
|
|
68
70
|
*/
|
|
@@ -89,4 +91,6 @@ export declare const uiUpdate: string;
|
|
|
89
91
|
/** @private */
|
|
90
92
|
export declare const documentClick: string;
|
|
91
93
|
/** @private */
|
|
94
|
+
export declare const documentPaste: string;
|
|
95
|
+
/** @private */
|
|
92
96
|
export declare const cellMouseDown: string;
|
|
@@ -63,6 +63,8 @@ export var agendaCells = 'agendaCells';
|
|
|
63
63
|
export var resourceHeader = 'resourceHeader';
|
|
64
64
|
/** @private */
|
|
65
65
|
export var dateHeader = 'dateHeader';
|
|
66
|
+
/** @private */
|
|
67
|
+
export var beforePaste = 'beforePaste';
|
|
66
68
|
/**
|
|
67
69
|
* Specifies schedule internal events
|
|
68
70
|
*/
|
|
@@ -89,4 +91,6 @@ export var uiUpdate = 'ui-update';
|
|
|
89
91
|
/** @private */
|
|
90
92
|
export var documentClick = 'document-click';
|
|
91
93
|
/** @private */
|
|
94
|
+
export var documentPaste = 'document-paste';
|
|
95
|
+
/** @private */
|
|
92
96
|
export var cellMouseDown = 'cell-mouse-down';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseEventArgs } from '@syncfusion/ej2-base';
|
|
2
2
|
import { ItemModel } from '@syncfusion/ej2-navigations';
|
|
3
|
-
import { PopupType, ExcelFormat, View } from './type';
|
|
3
|
+
import { PopupType, ExcelFormat, View, NavigationDirection } from './type';
|
|
4
4
|
import { ResourcesModel, ViewsModel } from '../models/models';
|
|
5
5
|
/**
|
|
6
6
|
* Interface
|
|
@@ -406,6 +406,15 @@ export interface CrudArgs extends ActionEventArgs {
|
|
|
406
406
|
promise?: Promise<any>;
|
|
407
407
|
editParams?: SaveChanges;
|
|
408
408
|
}
|
|
409
|
+
/** An interface that holds the options of pasted events data */
|
|
410
|
+
export interface BeforePasteEventArgs {
|
|
411
|
+
/** Returns the event data which is currently being pasted on the Scheduler. */
|
|
412
|
+
data?: Record<string, any>[] | string;
|
|
413
|
+
/** Defines the cancel option. */
|
|
414
|
+
cancel: boolean;
|
|
415
|
+
/** Returns the target element on which the cell is getting pasted. */
|
|
416
|
+
target?: Element;
|
|
417
|
+
}
|
|
409
418
|
/** @private */
|
|
410
419
|
export interface IRenderer {
|
|
411
420
|
element: HTMLElement;
|
|
@@ -423,15 +432,15 @@ export interface IRenderer {
|
|
|
423
432
|
getStartHour(): Date;
|
|
424
433
|
getEndHour(): Date;
|
|
425
434
|
getLabelText(view: string): string;
|
|
426
|
-
getDateRangeText(date?: Date): string;
|
|
435
|
+
getDateRangeText(date?: Date, dateCollection?: Date[]): string;
|
|
427
436
|
getEndDateFromStartDate(date: Date): Date;
|
|
428
437
|
addEventListener(): void;
|
|
429
438
|
removeEventListener(): void;
|
|
430
|
-
getRenderDates(workDays?: number[]): Date[];
|
|
439
|
+
getRenderDates(workDays?: number[], selectedDate?: Date): Date[];
|
|
431
440
|
getContentRows(): Element[];
|
|
432
441
|
getEventRows(trCount: number): Element[];
|
|
433
442
|
getDateSlots(renderDates: Date[], workDays: number[]): TdData[];
|
|
434
|
-
getNextPreviousDate(type:
|
|
443
|
+
getNextPreviousDate(type: NavigationDirection): Date;
|
|
435
444
|
refreshHeader(): void;
|
|
436
445
|
refreshResourceHeader(): void;
|
|
437
446
|
renderLayout(type: string): void;
|
|
@@ -529,6 +538,7 @@ export interface UIStateArgs {
|
|
|
529
538
|
isTapHold?: boolean;
|
|
530
539
|
isTouchScroll?: boolean;
|
|
531
540
|
isTransformed?: boolean;
|
|
541
|
+
isSwipeScroll?: boolean;
|
|
532
542
|
}
|
|
533
543
|
/**
|
|
534
544
|
* @private
|