@syncfusion/ej2-schedule 20.1.52 → 20.1.57
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 +53 -11
- 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 +167 -71
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +165 -69
- 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 +15 -15
- package/src/recurrence-editor/date-generator.js +11 -1
- package/src/schedule/actions/drag.js +9 -9
- package/src/schedule/base/schedule.js +9 -1
- package/src/schedule/event-renderer/agenda-base.js +4 -1
- package/src/schedule/event-renderer/event-base.js +16 -11
- package/src/schedule/event-renderer/month.d.ts +1 -0
- package/src/schedule/event-renderer/month.js +38 -29
- package/src/schedule/event-renderer/vertical-view.js +3 -0
- package/src/schedule/event-renderer/year.js +3 -1
- package/src/schedule/exports/calendar-export.js +1 -1
- package/src/schedule/popups/event-window.js +4 -2
- package/src/schedule/popups/quick-popups.js +2 -2
- package/src/schedule/renderer/month.js +8 -5
- package/src/schedule/renderer/renderer.js +2 -1
- package/src/schedule/renderer/timeline-year.d.ts +2 -1
- package/src/schedule/renderer/timeline-year.js +49 -4
- package/src/schedule/renderer/vertical-view.js +2 -1
- package/src/schedule/renderer/year.js +4 -0
- package/styles/bootstrap-dark.css +83 -968
- package/styles/bootstrap.css +83 -967
- package/styles/bootstrap4.css +83 -990
- package/styles/bootstrap5-dark.css +83 -988
- package/styles/bootstrap5.css +83 -988
- package/styles/fabric-dark.css +83 -968
- package/styles/fabric.css +83 -970
- package/styles/fluent-dark.css +83 -968
- package/styles/fluent.css +83 -968
- package/styles/highcontrast-light.css +83 -967
- package/styles/highcontrast.css +83 -972
- package/styles/material-dark.css +83 -967
- package/styles/material.css +83 -967
- package/styles/recurrence-editor/bootstrap-dark.css +6 -94
- package/styles/recurrence-editor/bootstrap.css +6 -94
- package/styles/recurrence-editor/bootstrap4.css +6 -94
- package/styles/recurrence-editor/bootstrap5-dark.css +6 -94
- package/styles/recurrence-editor/bootstrap5.css +6 -94
- package/styles/recurrence-editor/fabric-dark.css +6 -94
- package/styles/recurrence-editor/fabric.css +6 -94
- package/styles/recurrence-editor/fluent-dark.css +6 -94
- package/styles/recurrence-editor/fluent.css +6 -94
- package/styles/recurrence-editor/highcontrast-light.css +6 -94
- package/styles/recurrence-editor/highcontrast.css +6 -94
- package/styles/recurrence-editor/material-dark.css +6 -94
- package/styles/recurrence-editor/material.css +6 -94
- package/styles/recurrence-editor/tailwind-dark.css +6 -94
- package/styles/recurrence-editor/tailwind.css +6 -94
- package/styles/schedule/bootstrap-dark.css +78 -875
- package/styles/schedule/bootstrap.css +78 -874
- package/styles/schedule/bootstrap4.css +78 -897
- package/styles/schedule/bootstrap5-dark.css +78 -895
- package/styles/schedule/bootstrap5.css +78 -895
- package/styles/schedule/fabric-dark.css +78 -875
- package/styles/schedule/fabric.css +78 -877
- package/styles/schedule/fluent-dark.css +78 -875
- package/styles/schedule/fluent.css +78 -875
- package/styles/schedule/highcontrast-light.css +78 -874
- package/styles/schedule/highcontrast.css +78 -879
- package/styles/schedule/material-dark.css +78 -874
- package/styles/schedule/material.css +78 -874
- package/styles/schedule/tailwind-dark.css +78 -895
- package/styles/schedule/tailwind.css +78 -895
- package/styles/tailwind-dark.css +83 -988
- package/styles/tailwind.css +83 -988
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 20.1.
|
|
3
|
+
* version : 20.1.57
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2020. 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@
|
|
3
|
+
"_id": "@syncfusion/ej2-schedule@20.1.56",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-itq16KmohzdmQIkD1yBVA4IRLG3wM64+gfpPCtFLaY4YxBFZCpNZJuFBHbyya+JIuqF2N4bAeGVGpurpSEplYA==",
|
|
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": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-
|
|
27
|
-
"_shasum": "
|
|
26
|
+
"_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-20.1.56.tgz",
|
|
27
|
+
"_shasum": "4d87acbdba4f46c0f6fec5f5605dc648ba192176",
|
|
28
28
|
"_spec": "@syncfusion/ej2-schedule@*",
|
|
29
29
|
"_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
|
|
30
30
|
"author": {
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
},
|
|
36
36
|
"bundleDependencies": false,
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@syncfusion/ej2-base": "~20.1.
|
|
39
|
-
"@syncfusion/ej2-buttons": "~20.1.
|
|
40
|
-
"@syncfusion/ej2-calendars": "~20.1.
|
|
41
|
-
"@syncfusion/ej2-data": "~20.1.
|
|
42
|
-
"@syncfusion/ej2-dropdowns": "~20.1.
|
|
43
|
-
"@syncfusion/ej2-excel-export": "~20.1.
|
|
44
|
-
"@syncfusion/ej2-inputs": "~20.1.
|
|
45
|
-
"@syncfusion/ej2-lists": "~20.1.
|
|
46
|
-
"@syncfusion/ej2-navigations": "~20.1.
|
|
47
|
-
"@syncfusion/ej2-popups": "~20.1.
|
|
38
|
+
"@syncfusion/ej2-base": "~20.1.56",
|
|
39
|
+
"@syncfusion/ej2-buttons": "~20.1.55",
|
|
40
|
+
"@syncfusion/ej2-calendars": "~20.1.57",
|
|
41
|
+
"@syncfusion/ej2-data": "~20.1.55",
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~20.1.57",
|
|
43
|
+
"@syncfusion/ej2-excel-export": "~20.1.55",
|
|
44
|
+
"@syncfusion/ej2-inputs": "~20.1.55",
|
|
45
|
+
"@syncfusion/ej2-lists": "~20.1.55",
|
|
46
|
+
"@syncfusion/ej2-navigations": "~20.1.57",
|
|
47
|
+
"@syncfusion/ej2-popups": "~20.1.57"
|
|
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.",
|
|
@@ -81,6 +81,6 @@
|
|
|
81
81
|
"url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
|
|
82
82
|
},
|
|
83
83
|
"typings": "index.d.ts",
|
|
84
|
-
"version": "20.1.
|
|
84
|
+
"version": "20.1.57",
|
|
85
85
|
"sideEffects": false
|
|
86
86
|
}
|
|
@@ -145,6 +145,10 @@ export function generate(startDate, rule, excludeDate, startDayOfWeek, maximumCo
|
|
|
145
145
|
}
|
|
146
146
|
maxOccurrence = maximumCount;
|
|
147
147
|
setFirstDayOfWeek(DAYINDEX[startDayOfWeek]);
|
|
148
|
+
if (ruleObject.until) {
|
|
149
|
+
var end = resetTime(ruleObject.until);
|
|
150
|
+
ruleObject.until = new Date(end.getFullYear(), end.getMonth(), end.getDate(), 23, 59, 59);
|
|
151
|
+
}
|
|
148
152
|
switch (ruleObject.freq) {
|
|
149
153
|
case 'DAILY':
|
|
150
154
|
dailyType(modifiedDate, ruleObject.until, data, ruleObject);
|
|
@@ -241,6 +245,9 @@ function dailyType(startDate, endDate, data, ruleObject) {
|
|
|
241
245
|
}
|
|
242
246
|
}
|
|
243
247
|
tempDate.setDate(tempDate.getDate() + interval);
|
|
248
|
+
if (tempDate.getHours() !== startDate.getHours()) {
|
|
249
|
+
tempDate.setHours(startDate.getHours());
|
|
250
|
+
}
|
|
244
251
|
}
|
|
245
252
|
}
|
|
246
253
|
/**
|
|
@@ -285,6 +292,9 @@ function weeklyType(startDate, endDate, data, ruleObject) {
|
|
|
285
292
|
break;
|
|
286
293
|
}
|
|
287
294
|
tempDate.setDate(tempDate.getDate() + 1);
|
|
295
|
+
if (tempDate.getHours() !== startDate.getHours()) {
|
|
296
|
+
tempDate.setHours(startDate.getHours());
|
|
297
|
+
}
|
|
288
298
|
compareTempDate = new Date(tempDate.getTime());
|
|
289
299
|
compareTempDate = resetTime(compareTempDate);
|
|
290
300
|
}
|
|
@@ -1167,7 +1177,7 @@ function insertDateCollection(state, startDate, endDate, data, ruleObject, dayDa
|
|
|
1167
1177
|
function weekCount(year, startDayOfWeek, monthCollection, week, ruleObject) {
|
|
1168
1178
|
var firstDayOfWeek = startDayOfWeek || 0;
|
|
1169
1179
|
var firstOfMonth = new Date(year, ruleObject.month[0] - 1, 1);
|
|
1170
|
-
var lastOfMonth = new Date(year, ruleObject.month[0]
|
|
1180
|
+
var lastOfMonth = new Date(year, ruleObject.month[0], 0);
|
|
1171
1181
|
var numberOfDaysInMonth = lastOfMonth.getDate();
|
|
1172
1182
|
var firstWeekDay = (firstOfMonth.getDay() - firstDayOfWeek + 7) % 7;
|
|
1173
1183
|
var used = firstWeekDay + numberOfDaysInMonth;
|
|
@@ -570,7 +570,7 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
570
570
|
var eventObj = extend({}, this.actionObj.event, null, true);
|
|
571
571
|
var eventStart = eventObj[this.parent.eventFields.startTime];
|
|
572
572
|
var eventEnd = eventObj[this.parent.eventFields.endTime];
|
|
573
|
-
var eventDuration =
|
|
573
|
+
var eventDuration = util.getUniversalTime(eventEnd) - util.getUniversalTime(eventStart);
|
|
574
574
|
var offsetTop = Math.floor(parseInt(this.actionObj.clone.style.top, 10) / this.actionObj.cellHeight)
|
|
575
575
|
* this.actionObj.cellHeight;
|
|
576
576
|
offsetTop = offsetTop < 0 ? 0 : offsetTop;
|
|
@@ -929,8 +929,8 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
929
929
|
if (isNullOrUndefined(this.parent.eventDragArea)) {
|
|
930
930
|
this.removeCloneElement();
|
|
931
931
|
}
|
|
932
|
-
var eventDuration = eventObj[this.parent.eventFields.endTime]
|
|
933
|
-
eventObj[this.parent.eventFields.startTime]
|
|
932
|
+
var eventDuration = util.getUniversalTime(eventObj[this.parent.eventFields.endTime]) -
|
|
933
|
+
util.getUniversalTime(eventObj[this.parent.eventFields.startTime]);
|
|
934
934
|
var td = closest(this.actionObj.target, 'td');
|
|
935
935
|
if (!isNullOrUndefined(td)) {
|
|
936
936
|
var tr = td.parentElement;
|
|
@@ -944,11 +944,11 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
944
944
|
}
|
|
945
945
|
var timeString = new Date(currentDate.setDate(currentDate.getDate() - this.daysVariation));
|
|
946
946
|
var dragStart = new Date(timeString.getTime());
|
|
947
|
+
var startTimeDiff = util.getUniversalTime(eventObj[this.parent.eventFields.startTime]) -
|
|
948
|
+
util.getUniversalTime(util.resetTime(new Date(+eventObj[this.parent.eventFields.startTime])));
|
|
949
|
+
dragStart.setMilliseconds(startTimeDiff);
|
|
947
950
|
var dragEnd = new Date(dragStart.getTime());
|
|
948
|
-
|
|
949
|
-
(util.resetTime(new Date(+eventObj[this.parent.eventFields.startTime]))).getTime();
|
|
950
|
-
dragStart = new Date(dragStart.getTime() + startTimeDiff);
|
|
951
|
-
dragEnd = new Date(dragStart.getTime() + eventDuration);
|
|
951
|
+
dragEnd.setMilliseconds(eventDuration);
|
|
952
952
|
this.actionObj.start = new Date(dragStart.getTime());
|
|
953
953
|
this.actionObj.end = new Date(dragEnd.getTime());
|
|
954
954
|
}
|
|
@@ -1004,8 +1004,8 @@ var DragAndDrop = /** @class */ (function (_super) {
|
|
|
1004
1004
|
};
|
|
1005
1005
|
DragAndDrop.prototype.calculateTimelineTime = function (e) {
|
|
1006
1006
|
var eventObj = extend({}, this.actionObj.event, null, true);
|
|
1007
|
-
var eventDuration = eventObj[this.parent.eventFields.endTime]
|
|
1008
|
-
eventObj[this.parent.eventFields.startTime]
|
|
1007
|
+
var eventDuration = util.getUniversalTime(eventObj[this.parent.eventFields.endTime]) -
|
|
1008
|
+
util.getUniversalTime(eventObj[this.parent.eventFields.startTime]);
|
|
1009
1009
|
var offsetLeft = this.parent.enableRtl ? Math.abs(this.actionObj.clone.offsetLeft) - this.actionObj.clone.offsetWidth :
|
|
1010
1010
|
parseInt(this.actionObj.clone.style.left, 10);
|
|
1011
1011
|
offsetLeft = Math.floor(offsetLeft / this.actionObj.cellWidth) * this.actionObj.cellWidth;
|
|
@@ -517,6 +517,7 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
517
517
|
};
|
|
518
518
|
_this.trigger(events.navigating, navArgs, function (navigationArgs) {
|
|
519
519
|
if (!navigationArgs.cancel) {
|
|
520
|
+
_this.uiStateValues.isInitial = view.indexOf('Timeline') > -1 || _this.currentView.indexOf('Timeline') > -1 ? true : _this.uiStateValues.isInitial;
|
|
520
521
|
_this.viewIndex = navigationArgs.viewIndex;
|
|
521
522
|
_this.setProperties({ currentView: view }, true);
|
|
522
523
|
if (_this.headerModule) {
|
|
@@ -1141,6 +1142,9 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1141
1142
|
if (document.querySelectorAll(template).length) {
|
|
1142
1143
|
return compile(document.querySelector(template).innerHTML.trim());
|
|
1143
1144
|
}
|
|
1145
|
+
else {
|
|
1146
|
+
return compile(template);
|
|
1147
|
+
}
|
|
1144
1148
|
}
|
|
1145
1149
|
catch (error) {
|
|
1146
1150
|
return compile(template);
|
|
@@ -1320,8 +1324,12 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1320
1324
|
this.refreshEvents(false);
|
|
1321
1325
|
}
|
|
1322
1326
|
break;
|
|
1323
|
-
case 'showWeekend':
|
|
1324
1327
|
case 'workDays':
|
|
1328
|
+
if (JSON.stringify(oldProp.workDays) !== JSON.stringify(newProp.workDays)) {
|
|
1329
|
+
state.isLayout = true;
|
|
1330
|
+
}
|
|
1331
|
+
break;
|
|
1332
|
+
case 'showWeekend':
|
|
1325
1333
|
case 'startHour':
|
|
1326
1334
|
case 'endHour':
|
|
1327
1335
|
case 'workHours':
|
|
@@ -34,8 +34,11 @@ var AgendaBase = /** @class */ (function (_super) {
|
|
|
34
34
|
moduleName: 'agenda',
|
|
35
35
|
listClass: this.parent.activeView.viewClass,
|
|
36
36
|
itemClass: this.parent.activeView.viewClass,
|
|
37
|
-
template:
|
|
37
|
+
template: "<div class=\"" + cls.AGENDA_NO_EVENT_CLASS + "\">" + this.parent.localeObj.getConstant('noEvents') + "</div>"
|
|
38
38
|
});
|
|
39
|
+
if (listElement.querySelector('.e-agenda-item').children.length === 0) {
|
|
40
|
+
listElement.firstElementChild.appendChild(createElement('div', { className: cls.AGENDA_NO_EVENT_CLASS, innerHTML: this.parent.localeObj.getConstant('noEvents') }));
|
|
41
|
+
}
|
|
39
42
|
}
|
|
40
43
|
else {
|
|
41
44
|
listElement = ListBase.createList(this.parent.createElement, listData, {
|
|
@@ -538,6 +538,9 @@ var EventBase = /** @class */ (function () {
|
|
|
538
538
|
this.parent.removeSelectedClass();
|
|
539
539
|
}
|
|
540
540
|
addClass(cells, cls.APPOINTMENT_BORDER);
|
|
541
|
+
if (cells.length > 0) {
|
|
542
|
+
cells[cells.length - 1].focus();
|
|
543
|
+
}
|
|
541
544
|
};
|
|
542
545
|
EventBase.prototype.getSelectedAppointments = function () {
|
|
543
546
|
return [].slice.call(this.parent.element.querySelectorAll('.' + cls.APPOINTMENT_BORDER + ',.' + cls.APPOINTMENT_CLASS + ':focus'));
|
|
@@ -638,7 +641,7 @@ var EventBase = /** @class */ (function () {
|
|
|
638
641
|
EventBase.prototype.isAllDayAppointment = function (event) {
|
|
639
642
|
var fieldMapping = this.parent.eventFields;
|
|
640
643
|
var isAllDay = event[fieldMapping.isAllDay];
|
|
641
|
-
var isFullDay = ((event[fieldMapping.endTime]
|
|
644
|
+
var isFullDay = ((util.getUniversalTime(event[fieldMapping.endTime]) - util.getUniversalTime(event[fieldMapping.startTime]))
|
|
642
645
|
/ util.MS_PER_DAY) >= 1;
|
|
643
646
|
return (isAllDay || (this.parent.eventSettings.spannedEventPlacement !== 'TimeSlot' && isFullDay)) ? true : false;
|
|
644
647
|
};
|
|
@@ -1221,16 +1224,18 @@ var EventBase = /** @class */ (function () {
|
|
|
1221
1224
|
}
|
|
1222
1225
|
};
|
|
1223
1226
|
EventBase.prototype.updateEventMinimumDuration = function (startEndHours, startTime, endTime) {
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1227
|
+
if (startTime.getTime() < endTime.getTime()) {
|
|
1228
|
+
var eventDuration = (util.getUniversalTime(endTime) - util.getUniversalTime(startTime)) / util.MS_PER_MINUTE;
|
|
1229
|
+
if (eventDuration < this.parent.eventSettings.minimumEventDuration) {
|
|
1230
|
+
var tempEnd = new Date(startTime);
|
|
1231
|
+
tempEnd.setMinutes(tempEnd.getMinutes() + this.parent.eventSettings.minimumEventDuration);
|
|
1232
|
+
endTime = tempEnd;
|
|
1233
|
+
if (endTime.getTime() > startEndHours.endHour.getTime()) {
|
|
1234
|
+
var tempStart = new Date(startEndHours.endHour.getTime());
|
|
1235
|
+
tempStart.setMinutes(tempStart.getMinutes() - this.parent.eventSettings.minimumEventDuration);
|
|
1236
|
+
startTime = tempStart;
|
|
1237
|
+
endTime = startEndHours.endHour;
|
|
1238
|
+
}
|
|
1234
1239
|
}
|
|
1235
1240
|
}
|
|
1236
1241
|
return { startDate: startTime, endDate: endTime };
|
|
@@ -50,6 +50,7 @@ export declare class MonthEvent extends EventBase {
|
|
|
50
50
|
getEventData(event: Record<string, any>): Record<string, any>;
|
|
51
51
|
renderElement(cellTd: HTMLElement | Element, element: HTMLElement, isAppointment?: boolean): void;
|
|
52
52
|
getMoreIndicatorElement(count: number, startDate: Date, endDate: Date): HTMLElement;
|
|
53
|
+
private getMoreIndicatorText;
|
|
53
54
|
removeHeightProperty(selector: string): void;
|
|
54
55
|
setMaxEventHeight(event: HTMLElement, cell: HTMLElement): void;
|
|
55
56
|
destroy(): void;
|
|
@@ -47,7 +47,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
47
47
|
appElement = (this.parent.currentView === 'Month') ? appElement : [appElement[0]];
|
|
48
48
|
for (var _i = 0, appElement_1 = appElement; _i < appElement_1.length; _i++) {
|
|
49
49
|
var wrap = appElement_1[_i];
|
|
50
|
-
if (
|
|
50
|
+
if (wrap.parentElement && wrap.parentElement.parentNode) {
|
|
51
51
|
remove(wrap.parentElement);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -178,12 +178,19 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
178
178
|
var filteredDates = this.getRenderedDates(dateRender);
|
|
179
179
|
this.getSlotDates(workDays || this.parent.activeViewOptions.workDays);
|
|
180
180
|
this.processBlockEvents(blockList, resIndex, resData);
|
|
181
|
+
var events = [];
|
|
181
182
|
for (var _i = 0, eventsList_1 = eventsList; _i < eventsList_1.length; _i++) {
|
|
182
183
|
var event_1 = eventsList_1[_i];
|
|
183
184
|
if (this.parent.resourceBase && !resData) {
|
|
184
185
|
this.cssClass = this.parent.resourceBase.getCssClass(event_1);
|
|
185
186
|
}
|
|
186
|
-
|
|
187
|
+
events = events.concat(this.splitEvent(event_1, filteredDates || this.dateRender));
|
|
188
|
+
}
|
|
189
|
+
for (var level = 0; level < this.slots.length; level++) {
|
|
190
|
+
this.renderedEvents = [];
|
|
191
|
+
var slot = this.slots[level];
|
|
192
|
+
var endDate = util.addDays(new Date(slot[slot.length - 1]), 1);
|
|
193
|
+
var spannedEvents = this.filterEvents(new Date(slot[0]), endDate, events);
|
|
187
194
|
for (var _a = 0, spannedEvents_1 = spannedEvents; _a < spannedEvents_1.length; _a++) {
|
|
188
195
|
var event_2 = spannedEvents_1[_a];
|
|
189
196
|
if (this.maxHeight) {
|
|
@@ -485,24 +492,20 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
485
492
|
var startTime = event[this.fields.startTime];
|
|
486
493
|
var endTime = event[this.fields.endTime];
|
|
487
494
|
var day = this.parent.getIndexOfDate(this.dateRender, util.resetTime(startTime));
|
|
488
|
-
if (day < 0) {
|
|
489
|
-
return;
|
|
490
|
-
}
|
|
491
|
-
if ((startTime.getTime() < this.parent.minDate.getTime()) || (endTime.getTime() > this.parent.maxDate.getTime())) {
|
|
495
|
+
if ((day < 0) || (startTime.getTime() < this.parent.minDate.getTime()) || (endTime.getTime() > this.parent.maxDate.getTime())) {
|
|
492
496
|
return;
|
|
493
497
|
}
|
|
494
498
|
var overlapCount = this.getIndex(startTime);
|
|
495
499
|
event.Index = overlapCount;
|
|
496
|
-
var appHeight = this.eventHeight;
|
|
497
|
-
this.renderedEvents.push(extend({}, event, null, true));
|
|
498
500
|
var diffInDays = event.data.count;
|
|
499
501
|
if (startTime.getTime() <= endTime.getTime()) {
|
|
500
502
|
var appWidth = (diffInDays * this.cellWidth) - 5;
|
|
501
503
|
var cellTd = this.workCells[day];
|
|
502
|
-
var appTop = (overlapCount * (
|
|
503
|
-
var height = this.monthHeaderHeight + ((overlapCount + 1) * (
|
|
504
|
+
var appTop = (overlapCount * (this.eventHeight + EVENT_GAP));
|
|
505
|
+
var height = this.monthHeaderHeight + ((overlapCount + 1) * (this.eventHeight + EVENT_GAP)) + this.moreIndicatorHeight;
|
|
504
506
|
var enableAppRender = this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
|
|
505
507
|
if (this.parent.rowAutoHeight || enableAppRender) {
|
|
508
|
+
this.renderedEvents.push(extend({}, event, null, true));
|
|
506
509
|
var appointmentElement = void 0;
|
|
507
510
|
if (this.inlineValue) {
|
|
508
511
|
appointmentElement = this.parent.inlineModule.createInlineAppointmentElement();
|
|
@@ -521,24 +524,26 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
521
524
|
}
|
|
522
525
|
else {
|
|
523
526
|
for (var i = 0; i < diffInDays; i++) {
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
527
|
+
if (this.workCells[day + i]) {
|
|
528
|
+
var indicator = this.workCells[day + i].querySelector('.' + cls.MORE_INDICATOR_CLASS);
|
|
529
|
+
if (indicator) {
|
|
530
|
+
var count = parseInt(indicator.getAttribute('data-count'), 10) + 1;
|
|
531
|
+
indicator.setAttribute('data-count', count.toString());
|
|
532
|
+
indicator.innerHTML = this.getMoreIndicatorText(count);
|
|
533
|
+
}
|
|
534
|
+
else {
|
|
535
|
+
var startDate = new Date(this.dateRender[day + i].getTime());
|
|
536
|
+
var endDate = util.addDays(this.dateRender[day + i], 1);
|
|
537
|
+
var groupIndex = this.workCells[day + i].getAttribute('data-group-index');
|
|
538
|
+
var moreIndicatorElement = this.getMoreIndicatorElement(1, startDate, endDate);
|
|
539
|
+
if (!isNullOrUndefined(groupIndex)) {
|
|
540
|
+
moreIndicatorElement.setAttribute('data-group-index', groupIndex);
|
|
541
|
+
}
|
|
542
|
+
moreIndicatorElement.style.top = (this.cellHeight - this.monthHeaderHeight - this.moreIndicatorHeight) + 'px';
|
|
543
|
+
moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
|
|
544
|
+
this.renderElement(this.workCells[day + i], moreIndicatorElement);
|
|
545
|
+
EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
|
|
537
546
|
}
|
|
538
|
-
moreIndicatorElement.style.top = appArea + 'px';
|
|
539
|
-
moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
|
|
540
|
-
this.renderElement(cellTd_1, moreIndicatorElement);
|
|
541
|
-
EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
|
|
542
547
|
}
|
|
543
548
|
}
|
|
544
549
|
}
|
|
@@ -575,9 +580,9 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
575
580
|
};
|
|
576
581
|
MonthEvent.prototype.getOverlapEvents = function (date, appointments) {
|
|
577
582
|
var appointmentsList = [];
|
|
583
|
+
var dateTime = util.resetTime(date).getTime();
|
|
578
584
|
for (var _i = 0, appointments_1 = appointments; _i < appointments_1.length; _i++) {
|
|
579
585
|
var app = appointments_1[_i];
|
|
580
|
-
var dateTime = util.resetTime(date).getTime();
|
|
581
586
|
if ((util.resetTime(app[this.fields.startTime]).getTime() <= dateTime) &&
|
|
582
587
|
(util.resetTime(app[this.fields.endTime]).getTime() >= dateTime)) {
|
|
583
588
|
appointmentsList.push(app);
|
|
@@ -661,9 +666,10 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
661
666
|
MonthEvent.prototype.getMoreIndicatorElement = function (count, startDate, endDate) {
|
|
662
667
|
var moreIndicatorElement = createElement('div', {
|
|
663
668
|
className: cls.MORE_INDICATOR_CLASS,
|
|
664
|
-
innerHTML:
|
|
669
|
+
innerHTML: this.getMoreIndicatorText(count),
|
|
665
670
|
attrs: {
|
|
666
671
|
'tabindex': '0',
|
|
672
|
+
'data-count': count.toString(),
|
|
667
673
|
'data-start-date': startDate.getTime().toString(),
|
|
668
674
|
'data-end-date': endDate.getTime().toString(),
|
|
669
675
|
'role': 'list'
|
|
@@ -671,6 +677,9 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
671
677
|
});
|
|
672
678
|
return moreIndicatorElement;
|
|
673
679
|
};
|
|
680
|
+
MonthEvent.prototype.getMoreIndicatorText = function (count) {
|
|
681
|
+
return '+' + this.parent.globalize.formatNumber(count) + ' ' + (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more'));
|
|
682
|
+
};
|
|
674
683
|
MonthEvent.prototype.removeHeightProperty = function (selector) {
|
|
675
684
|
var rows = [].slice.call(this.element.querySelectorAll('.' + selector + ' tbody tr'));
|
|
676
685
|
for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {
|
|
@@ -531,6 +531,9 @@ var VerticalEvent = /** @class */ (function (_super) {
|
|
|
531
531
|
var currentDate = util.resetTime(new Date(this.dateRender[resource][dayIndex].getTime()));
|
|
532
532
|
var schedule = util.getStartEndHours(currentDate, this.startHour, this.endHour);
|
|
533
533
|
var isValidEvent = this.isValidEvent(eventObj, eStart, eEnd, schedule);
|
|
534
|
+
if ((eStart.getTime() < this.parent.minDate.getTime()) || (eEnd.getTime() > this.parent.maxDate.getTime())) {
|
|
535
|
+
return;
|
|
536
|
+
}
|
|
534
537
|
if (eStart <= eEnd && isValidEvent) {
|
|
535
538
|
var appHeight_1 = this.getHeight(eStart, eEnd);
|
|
536
539
|
if (eStart.getTime() > schedule.startHour.getTime()) {
|
|
@@ -224,7 +224,9 @@ var YearEvent = /** @class */ (function (_super) {
|
|
|
224
224
|
this.eventHeight = util.getElementHeightFromClass(eventTable, cls.APPOINTMENT_CLASS);
|
|
225
225
|
var wrapperCollection = [].slice.call(this.parent.element.querySelectorAll('.' + cls.APPOINTMENT_CONTAINER_CLASS));
|
|
226
226
|
var resources = this.parent.uiStateValues.isGroupAdaptive ?
|
|
227
|
-
[this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] :
|
|
227
|
+
[this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex]] :
|
|
228
|
+
this.parent.activeViewOptions.allowVirtualScrolling ? this.parent.resourceBase.renderedResources :
|
|
229
|
+
this.parent.resourceBase.lastResourceLevel;
|
|
228
230
|
var months = this.getMonths();
|
|
229
231
|
if (this.parent.activeViewOptions.orientation === 'Horizontal') {
|
|
230
232
|
for (var month = 0; month < months.length; month++) {
|
|
@@ -23,7 +23,7 @@ var ICalendarExport = /** @class */ (function () {
|
|
|
23
23
|
var editedExDate = [];
|
|
24
24
|
if (eventObj[fields.recurrenceID]) {
|
|
25
25
|
var filter = _this.filterEvents(filterCollection, fields.id, eventObj[fields.recurrenceID]);
|
|
26
|
-
uId = filter[0].UID;
|
|
26
|
+
uId = filter.length > 0 ? filter[0].UID : uId;
|
|
27
27
|
}
|
|
28
28
|
if (!eventObj[fields.recurrenceID] && eventObj[fields.recurrenceRule] && eventObj[fields.recurrenceException]) {
|
|
29
29
|
var exDate = (eventObj[fields.recurrenceException]).split(',');
|
|
@@ -656,7 +656,8 @@ var EventWindow = /** @class */ (function () {
|
|
|
656
656
|
return labelText;
|
|
657
657
|
};
|
|
658
658
|
EventWindow.prototype.onChange = function (args) {
|
|
659
|
-
var
|
|
659
|
+
var targetSelector = "." + cls.EVENT_WINDOW_ALL_DAY_CLASS + ",." + cls.TIME_ZONE_CLASS + ",." + cls.EVENT_WINDOW_REPEAT_CLASS;
|
|
660
|
+
var target = closest(args.event.target, targetSelector);
|
|
660
661
|
if (target.classList.contains(cls.EVENT_WINDOW_ALL_DAY_CLASS)) {
|
|
661
662
|
this.onAllDayChange(args.checked);
|
|
662
663
|
}
|
|
@@ -822,7 +823,8 @@ var EventWindow = /** @class */ (function () {
|
|
|
822
823
|
};
|
|
823
824
|
EventWindow.prototype.showDetails = function (eventData) {
|
|
824
825
|
var eventObj = extend({}, eventData, null, true);
|
|
825
|
-
if (
|
|
826
|
+
if ((!this.cellClickAction || this.cellClickAction && !isNullOrUndefined(this.parent.editorTemplate)) &&
|
|
827
|
+
eventObj[this.fields.endTime].getHours() === 0 && eventObj[this.fields.endTime].getMinutes() === 0) {
|
|
826
828
|
this.trimAllDay(eventObj);
|
|
827
829
|
}
|
|
828
830
|
this.eventData = eventObj;
|
|
@@ -764,11 +764,11 @@ var QuickPopups = /** @class */ (function () {
|
|
|
764
764
|
(endDate.getTime() - startDate.getTime()) / (60 * 60 * 1000) < 24 ? 1 : 0;
|
|
765
765
|
if (eventData[fields.isAllDay]) {
|
|
766
766
|
details = startDateDetails + ' (' + this.l10n.getConstant('allDay') + ')';
|
|
767
|
-
if (((
|
|
767
|
+
if (((util.getUniversalTime(endDate) - util.getUniversalTime(startDate)) / util.MS_PER_DAY) > 1) {
|
|
768
768
|
details += ' - ' + endDateDetails + ' (' + this.l10n.getConstant('allDay') + ')';
|
|
769
769
|
}
|
|
770
770
|
}
|
|
771
|
-
else if ((((
|
|
771
|
+
else if ((((util.getUniversalTime(endDate) - util.getUniversalTime(startDate)) / util.MS_PER_DAY) >= 1) || spanLength > 0) {
|
|
772
772
|
details = startDateDetails + ' (' + startTimeDetail + ')' + ' - ' + endDateDetails + ' (' + endTimeDetail + ')';
|
|
773
773
|
}
|
|
774
774
|
else {
|
|
@@ -92,16 +92,16 @@ var Month = /** @class */ (function (_super) {
|
|
|
92
92
|
}
|
|
93
93
|
this.setColWidth(content);
|
|
94
94
|
if (args.scrollPosition || !args.isPreventScrollUpdate && this.parent.currentView === 'TimelineMonth') {
|
|
95
|
+
var top_1 = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.top : args.scrollPosition.top;
|
|
96
|
+
if (leftPanel) {
|
|
97
|
+
leftPanel.scrollTop = top_1;
|
|
98
|
+
}
|
|
99
|
+
content.scrollTop = top_1;
|
|
95
100
|
if (this.parent.uiStateValues.isInitial) {
|
|
96
101
|
this.scrollToSelectedDate();
|
|
97
102
|
this.parent.uiStateValues.isInitial = false;
|
|
98
103
|
}
|
|
99
104
|
else {
|
|
100
|
-
var top_1 = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.top : args.scrollPosition.top;
|
|
101
|
-
if (leftPanel) {
|
|
102
|
-
leftPanel.scrollTop = top_1;
|
|
103
|
-
}
|
|
104
|
-
content.scrollTop = top_1;
|
|
105
105
|
content.scrollLeft = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.left :
|
|
106
106
|
args.scrollPosition.left;
|
|
107
107
|
}
|
|
@@ -122,6 +122,9 @@ var Month = /** @class */ (function (_super) {
|
|
|
122
122
|
else {
|
|
123
123
|
content.scrollLeft = 0;
|
|
124
124
|
}
|
|
125
|
+
if (content.scrollLeft === 0 && this.parent.uiStateValues.isInitial) {
|
|
126
|
+
this.parent.uiStateValues.left = 0;
|
|
127
|
+
}
|
|
125
128
|
};
|
|
126
129
|
Month.prototype.setContentHeight = function (content, leftPanelElement, height) {
|
|
127
130
|
content.style.height = 'auto';
|
|
@@ -91,7 +91,8 @@ var Render = /** @class */ (function () {
|
|
|
91
91
|
this.parent.virtualScrollModule.destroy();
|
|
92
92
|
this.parent.virtualScrollModule = null;
|
|
93
93
|
}
|
|
94
|
-
if (this.parent.currentView.indexOf('Timeline') !== -1 && this.parent.currentView.indexOf('Year') === -1
|
|
94
|
+
if (this.parent.currentView.indexOf('Timeline') !== -1 && (this.parent.currentView.indexOf('Year') === -1 ||
|
|
95
|
+
(this.parent.currentView === 'TimelineYear' && this.parent.activeViewOptions.orientation === 'Vertical'))
|
|
95
96
|
&& this.parent.activeViewOptions.allowVirtualScrolling
|
|
96
97
|
&& this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
97
98
|
this.parent.virtualScrollModule = new VirtualScroll(this.parent);
|
|
@@ -12,7 +12,8 @@ export declare class TimelineYear extends Year {
|
|
|
12
12
|
private renderResourceHeader;
|
|
13
13
|
renderContent(contentWrapper: HTMLElement): void;
|
|
14
14
|
private renderDefaultContent;
|
|
15
|
-
|
|
15
|
+
getContentRows(): Element[];
|
|
16
|
+
renderResourceContent(wrapper: HTMLElement, monthBody: HTMLTableSectionElement, contentBody: HTMLTableSectionElement): void;
|
|
16
17
|
private renderDayMonthHeaderTemplate;
|
|
17
18
|
private renderCellTemplate;
|
|
18
19
|
scrollToDate(scrollDate: Date): void;
|
|
@@ -149,7 +149,7 @@ var TimelineYear = /** @class */ (function (_super) {
|
|
|
149
149
|
!this.parent.uiStateValues.isGroupAdaptive) {
|
|
150
150
|
tdCollection.push(firstTd);
|
|
151
151
|
firstTd.appendChild(this.parent.resourceBase.createResourceColumn());
|
|
152
|
-
this.rowCount = this.parent.resourceBase.
|
|
152
|
+
this.rowCount = this.parent.resourceBase.renderedResources.length;
|
|
153
153
|
}
|
|
154
154
|
else {
|
|
155
155
|
tdCollection.push(firstTd);
|
|
@@ -166,6 +166,9 @@ var TimelineYear = /** @class */ (function (_super) {
|
|
|
166
166
|
content.appendChild(contentTable);
|
|
167
167
|
var eventWrapper = createElement('div', { className: cls.EVENT_TABLE_CLASS });
|
|
168
168
|
content.appendChild(eventWrapper);
|
|
169
|
+
if (this.parent.virtualScrollModule) {
|
|
170
|
+
this.parent.virtualScrollModule.renderVirtualTrack(content);
|
|
171
|
+
}
|
|
169
172
|
var contentTBody = contentTable.querySelector('tbody');
|
|
170
173
|
if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
171
174
|
if (this.parent.rowAutoHeight) {
|
|
@@ -283,6 +286,47 @@ var TimelineYear = /** @class */ (function (_super) {
|
|
|
283
286
|
}
|
|
284
287
|
}
|
|
285
288
|
};
|
|
289
|
+
TimelineYear.prototype.getContentRows = function () {
|
|
290
|
+
var tRow = [];
|
|
291
|
+
var monthCells = this.getMonths();
|
|
292
|
+
for (var row = 0; row < this.parent.resourceBase.renderedResources.length; row++) {
|
|
293
|
+
var tr = createElement('tr', { attrs: { 'role': 'row' } });
|
|
294
|
+
tRow.push(tr);
|
|
295
|
+
var resData = void 0;
|
|
296
|
+
if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
297
|
+
resData = this.parent.resourceBase.renderedResources[row];
|
|
298
|
+
}
|
|
299
|
+
var monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[row], 1);
|
|
300
|
+
var date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
|
|
301
|
+
for (var month = 0; month < this.columnCount; month++) {
|
|
302
|
+
var classList = [];
|
|
303
|
+
var groupIndex = resData.groupIndex;
|
|
304
|
+
classList = classList.concat(resData.className);
|
|
305
|
+
if (classList.indexOf(cls.RESOURCE_PARENT_CLASS) > -1) {
|
|
306
|
+
classList.push(cls.RESOURCE_GROUP_CELLS_CLASS);
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
classList.push(cls.WORKDAY_CLASS);
|
|
310
|
+
}
|
|
311
|
+
monthDate = new Date(this.parent.selectedDate.getFullYear(), monthCells[month], 1);
|
|
312
|
+
date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
|
|
313
|
+
var tdELe = createElement('td', {
|
|
314
|
+
className: cls.WORK_CELLS_CLASS,
|
|
315
|
+
attrs: {
|
|
316
|
+
'role': 'gridcell', 'aria-selected': 'false',
|
|
317
|
+
'data-date': date.getTime().toString()
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
addClass([tdELe], classList);
|
|
321
|
+
tdELe.setAttribute('data-group-index', groupIndex.toString());
|
|
322
|
+
this.renderCellTemplate({ date: date, type: 'resourceGroupCells', groupIndex: groupIndex }, tdELe);
|
|
323
|
+
this.wireEvents(tdELe, 'cell');
|
|
324
|
+
this.parent.trigger(event.renderCell, { elementType: 'resourceGroupCells', element: tdELe, date: date });
|
|
325
|
+
tr.appendChild(tdELe);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
return tRow;
|
|
329
|
+
};
|
|
286
330
|
TimelineYear.prototype.renderResourceContent = function (wrapper, monthBody, contentBody) {
|
|
287
331
|
var months = this.getMonths();
|
|
288
332
|
for (var row = 0; row < this.rowCount; row++) {
|
|
@@ -290,8 +334,8 @@ var TimelineYear = /** @class */ (function (_super) {
|
|
|
290
334
|
var tr = createElement('tr', { attrs: { 'role': 'row' } });
|
|
291
335
|
contentBody.appendChild(tr);
|
|
292
336
|
var resData = void 0;
|
|
293
|
-
if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
294
|
-
resData = this.parent.resourceBase.
|
|
337
|
+
if (this.parent.activeViewOptions.orientation === 'Vertical' && this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
338
|
+
resData = this.parent.resourceBase.renderedResources[row];
|
|
295
339
|
}
|
|
296
340
|
var monthDate = new Date(this.parent.selectedDate.getFullYear(), months[row], 1);
|
|
297
341
|
var date = this.parent.calendarUtil.getMonthStartDate(new Date(monthDate.getTime()));
|
|
@@ -312,8 +356,9 @@ var TimelineYear = /** @class */ (function (_super) {
|
|
|
312
356
|
}
|
|
313
357
|
for (var month = 0; month < this.columnCount; month++) {
|
|
314
358
|
var classList = [];
|
|
315
|
-
var groupIndex =
|
|
359
|
+
var groupIndex = void 0;
|
|
316
360
|
if (this.parent.activeViewOptions.orientation === 'Vertical') {
|
|
361
|
+
groupIndex = resData.groupIndex;
|
|
317
362
|
classList = classList.concat(resData.className);
|
|
318
363
|
if (classList.indexOf(cls.RESOURCE_PARENT_CLASS) > -1) {
|
|
319
364
|
classList.push(cls.RESOURCE_GROUP_CELLS_CLASS);
|
|
@@ -726,8 +726,9 @@ var VerticalView = /** @class */ (function (_super) {
|
|
|
726
726
|
var msStartHour = startHour.getTime();
|
|
727
727
|
var msEndHour = endHour.getTime();
|
|
728
728
|
if (msStartHour !== msEndHour) {
|
|
729
|
+
var duration = this.parent.activeViewOptions.timeScale.interval / this.parent.activeViewOptions.timeScale.slotCount;
|
|
729
730
|
length = (Math.abs(msEndHour - msStartHour) / msInterval) - ((new Date(msEndHour).getTimezoneOffset()
|
|
730
|
-
- new Date(msStartHour).getTimezoneOffset()) /
|
|
731
|
+
- new Date(msStartHour).getTimezoneOffset()) / duration);
|
|
731
732
|
}
|
|
732
733
|
if (!this.parent.activeViewOptions.timeScale.enable) {
|
|
733
734
|
length = 1;
|