@syncfusion/ej2-schedule 19.4.50 → 20.1.47
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 +25 -9
- package/README.md +1 -1
- 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 +156 -46
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +156 -46
- 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 +4 -0
- package/src/schedule/base/schedule.js +4 -0
- package/src/schedule/event-renderer/agenda-base.js +1 -1
- package/src/schedule/event-renderer/month.d.ts +3 -0
- package/src/schedule/event-renderer/month.js +38 -24
- package/src/schedule/event-renderer/timeline-view.js +2 -1
- package/src/schedule/event-renderer/year.js +3 -1
- package/src/schedule/popups/event-window.js +4 -2
- package/src/schedule/renderer/month.d.ts +1 -0
- package/src/schedule/renderer/month.js +29 -12
- 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/year.js +20 -0
- package/styles/bootstrap-dark.css +19 -8
- package/styles/bootstrap.css +19 -8
- package/styles/bootstrap4.css +20 -9
- package/styles/bootstrap5-dark.css +29 -20
- package/styles/bootstrap5.css +29 -20
- package/styles/fabric-dark.css +19 -8
- package/styles/fabric.css +19 -8
- package/styles/fluent-dark.css +5102 -0
- package/styles/fluent-dark.scss +2 -0
- package/styles/fluent.css +5103 -0
- package/styles/fluent.scss +2 -0
- package/styles/highcontrast-light.css +19 -8
- package/styles/highcontrast.css +20 -9
- package/styles/material-dark.css +19 -8
- package/styles/material.css +19 -8
- package/styles/recurrence-editor/_fluent-dark-definition.scss +1 -0
- package/styles/recurrence-editor/fluent-dark.css +495 -0
- package/styles/recurrence-editor/fluent-dark.scss +3 -0
- package/styles/recurrence-editor/fluent.css +495 -0
- package/styles/recurrence-editor/fluent.scss +3 -0
- package/styles/schedule/_bootstrap4-definition.scss +1 -1
- package/styles/schedule/_bootstrap5-definition.scss +4 -4
- package/styles/schedule/_fluent-dark-definition.scss +1 -0
- package/styles/schedule/_fluent-definition.scss +10 -8
- package/styles/schedule/_highcontrast-definition.scss +1 -1
- package/styles/schedule/_layout.scss +62 -15
- package/styles/schedule/_tailwind-definition.scss +1 -0
- package/styles/schedule/_theme.scss +6 -9
- package/styles/schedule/bootstrap-dark.css +19 -8
- package/styles/schedule/bootstrap.css +19 -8
- package/styles/schedule/bootstrap4.css +20 -9
- package/styles/schedule/bootstrap5-dark.css +29 -20
- package/styles/schedule/bootstrap5.css +29 -20
- package/styles/schedule/fabric-dark.css +19 -8
- package/styles/schedule/fabric.css +19 -8
- package/styles/schedule/fluent-dark.css +4606 -0
- package/styles/schedule/fluent-dark.scss +4 -0
- package/styles/schedule/fluent.css +4607 -0
- package/styles/schedule/fluent.scss +5 -0
- package/styles/schedule/highcontrast-light.css +19 -8
- package/styles/schedule/highcontrast.css +20 -9
- package/styles/schedule/icons/_fluent-dark.scss +1 -0
- package/styles/schedule/icons/_fluent.scss +51 -50
- package/styles/schedule/icons/_tailwind.scss +51 -50
- package/styles/schedule/material-dark.css +19 -8
- package/styles/schedule/material.css +19 -8
- package/styles/schedule/tailwind-dark.css +74 -61
- package/styles/schedule/tailwind.css +74 -61
- package/styles/tailwind-dark.css +74 -61
- package/styles/tailwind.css +74 -61
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version :
|
|
3
|
+
* version : 20.1.47
|
|
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@19.
|
|
3
|
+
"_id": "@syncfusion/ej2-schedule@19.17.32",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-4FHdUSAgXuBaBtXh874obmuZajDCyXhm0DWafIQzUuBzXMzaPGjtQvAWyy5FHJ8nT8hm8XkmfHZQP7HiBZUuiw==",
|
|
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-
|
|
27
|
-
"_shasum": "
|
|
26
|
+
"_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-schedule/-/ej2-schedule-19.17.32.tgz",
|
|
27
|
+
"_shasum": "fcd93d1277377068fff0cce62d697ac67af1bd7e",
|
|
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": "~
|
|
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": "~20.1.47",
|
|
39
|
+
"@syncfusion/ej2-buttons": "~20.1.47",
|
|
40
|
+
"@syncfusion/ej2-calendars": "~20.1.47",
|
|
41
|
+
"@syncfusion/ej2-data": "~20.1.47",
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~20.1.47",
|
|
43
|
+
"@syncfusion/ej2-excel-export": "~20.1.47",
|
|
44
|
+
"@syncfusion/ej2-inputs": "~20.1.47",
|
|
45
|
+
"@syncfusion/ej2-lists": "~20.1.47",
|
|
46
|
+
"@syncfusion/ej2-navigations": "~20.1.47",
|
|
47
|
+
"@syncfusion/ej2-popups": "~20.1.47"
|
|
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": "
|
|
84
|
+
"version": "20.1.47",
|
|
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);
|
|
@@ -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 = ['TimelineMonth', 'TimelineYear', 'Year'].indexOf(view) > -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);
|
|
@@ -34,7 +34,7 @@ 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
39
|
}
|
|
40
40
|
else {
|
|
@@ -9,6 +9,7 @@ export declare class MonthEvent extends EventBase {
|
|
|
9
9
|
fields: EventFieldsMapping;
|
|
10
10
|
dateRender: Date[];
|
|
11
11
|
renderedEvents: Record<string, any>[];
|
|
12
|
+
eventsRendered: Record<string, any>[];
|
|
12
13
|
eventHeight: number;
|
|
13
14
|
private monthHeaderHeight;
|
|
14
15
|
workCells: HTMLElement[];
|
|
@@ -40,6 +41,7 @@ export declare class MonthEvent extends EventBase {
|
|
|
40
41
|
createAppointmentElement(record: Record<string, any>, resIndex: number, isCloneElement?: boolean): HTMLElement;
|
|
41
42
|
private appendEventIcons;
|
|
42
43
|
renderEvents(event: Record<string, any>, resIndex: number, eventsList?: Record<string, any>[]): void;
|
|
44
|
+
private renderMoreIndicators;
|
|
43
45
|
updateCellHeight(cell: HTMLElement, height: number): void;
|
|
44
46
|
updateBlockElements(): void;
|
|
45
47
|
getFilteredEvents(startDate: Date, endDate: Date, groupIndex: string, eventsList?: Record<string, any>[]): Record<string, any>[];
|
|
@@ -50,6 +52,7 @@ export declare class MonthEvent extends EventBase {
|
|
|
50
52
|
getEventData(event: Record<string, any>): Record<string, any>;
|
|
51
53
|
renderElement(cellTd: HTMLElement | Element, element: HTMLElement, isAppointment?: boolean): void;
|
|
52
54
|
getMoreIndicatorElement(count: number, startDate: Date, endDate: Date): HTMLElement;
|
|
55
|
+
private getMoreIndicatorText;
|
|
53
56
|
removeHeightProperty(selector: string): void;
|
|
54
57
|
setMaxEventHeight(event: HTMLElement, cell: HTMLElement): void;
|
|
55
58
|
destroy(): void;
|
|
@@ -27,6 +27,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
27
27
|
function MonthEvent(parent) {
|
|
28
28
|
var _this = _super.call(this, parent) || this;
|
|
29
29
|
_this.renderedEvents = [];
|
|
30
|
+
_this.eventsRendered = [];
|
|
30
31
|
_this.monthHeaderHeight = 0;
|
|
31
32
|
_this.moreIndicatorHeight = 19;
|
|
32
33
|
_this.renderType = 'day';
|
|
@@ -47,7 +48,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
47
48
|
appElement = (this.parent.currentView === 'Month') ? appElement : [appElement[0]];
|
|
48
49
|
for (var _i = 0, appElement_1 = appElement; _i < appElement_1.length; _i++) {
|
|
49
50
|
var wrap = appElement_1[_i];
|
|
50
|
-
if (
|
|
51
|
+
if (wrap.parentElement && wrap.parentElement.parentNode) {
|
|
51
52
|
remove(wrap.parentElement);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
@@ -143,6 +144,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
143
144
|
};
|
|
144
145
|
MonthEvent.prototype.renderEventsHandler = function (dateRender, workDays, resData) {
|
|
145
146
|
this.renderedEvents = [];
|
|
147
|
+
this.eventsRendered = [];
|
|
146
148
|
var eventsList;
|
|
147
149
|
var blockList;
|
|
148
150
|
var resIndex = 0;
|
|
@@ -493,16 +495,16 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
493
495
|
}
|
|
494
496
|
var overlapCount = this.getIndex(startTime);
|
|
495
497
|
event.Index = overlapCount;
|
|
496
|
-
var appHeight = this.eventHeight;
|
|
497
498
|
this.renderedEvents.push(extend({}, event, null, true));
|
|
498
499
|
var diffInDays = event.data.count;
|
|
499
500
|
if (startTime.getTime() <= endTime.getTime()) {
|
|
500
501
|
var appWidth = (diffInDays * this.cellWidth) - 5;
|
|
501
502
|
var cellTd = this.workCells[day];
|
|
502
|
-
var appTop = (overlapCount * (
|
|
503
|
-
var height = this.monthHeaderHeight + ((overlapCount + 1) * (
|
|
503
|
+
var appTop = (overlapCount * (this.eventHeight + EVENT_GAP));
|
|
504
|
+
var height = this.monthHeaderHeight + ((overlapCount + 1) * (this.eventHeight + EVENT_GAP)) + this.moreIndicatorHeight;
|
|
504
505
|
var enableAppRender = this.maxOrIndicator ? overlapCount < 1 ? true : false : this.cellHeight > height;
|
|
505
506
|
if (this.parent.rowAutoHeight || enableAppRender) {
|
|
507
|
+
this.eventsRendered.push(extend({}, event, null, true));
|
|
506
508
|
var appointmentElement = void 0;
|
|
507
509
|
if (this.inlineValue) {
|
|
508
510
|
appointmentElement = this.parent.inlineModule.createInlineAppointmentElement();
|
|
@@ -518,28 +520,37 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
518
520
|
var firstChild = cellTd.parentElement.firstElementChild;
|
|
519
521
|
this.updateCellHeight(firstChild, height);
|
|
520
522
|
}
|
|
523
|
+
else if (cellTd.querySelector('.' + cls.MORE_INDICATOR_CLASS)) {
|
|
524
|
+
this.renderMoreIndicators(diffInDays, day);
|
|
525
|
+
}
|
|
521
526
|
}
|
|
522
527
|
else {
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
528
|
+
this.renderMoreIndicators(diffInDays, day);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
};
|
|
532
|
+
MonthEvent.prototype.renderMoreIndicators = function (diffInDays, day) {
|
|
533
|
+
for (var i = 0; i < diffInDays; i++) {
|
|
534
|
+
if (this.workCells[day + i]) {
|
|
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 filterEvents = this.getFilteredEvents(startDate, endDate, groupIndex);
|
|
539
|
+
var renderedAppCount = this.getOverlapEvents(startDate, this.eventsRendered).length;
|
|
540
|
+
var count = (filterEvents.length - renderedAppCount) <= 0 ? 1 : (filterEvents.length - renderedAppCount);
|
|
541
|
+
var indicator = this.workCells[day + i].querySelector('.' + cls.MORE_INDICATOR_CLASS);
|
|
542
|
+
if (indicator) {
|
|
543
|
+
indicator.innerHTML = this.getMoreIndicatorText(count);
|
|
544
|
+
}
|
|
545
|
+
else {
|
|
546
|
+
var moreIndicatorElement = this.getMoreIndicatorElement(count, startDate, endDate);
|
|
547
|
+
if (!isNullOrUndefined(groupIndex)) {
|
|
548
|
+
moreIndicatorElement.setAttribute('data-group-index', groupIndex);
|
|
542
549
|
}
|
|
550
|
+
moreIndicatorElement.style.top = (this.cellHeight - this.monthHeaderHeight - this.moreIndicatorHeight) + 'px';
|
|
551
|
+
moreIndicatorElement.style.width = this.cellWidth - 2 + 'px';
|
|
552
|
+
this.renderElement(this.workCells[day + i], moreIndicatorElement);
|
|
553
|
+
EventHandler.add(moreIndicatorElement, 'click', this.moreIndicatorClick, this);
|
|
543
554
|
}
|
|
544
555
|
}
|
|
545
556
|
}
|
|
@@ -661,7 +672,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
661
672
|
MonthEvent.prototype.getMoreIndicatorElement = function (count, startDate, endDate) {
|
|
662
673
|
var moreIndicatorElement = createElement('div', {
|
|
663
674
|
className: cls.MORE_INDICATOR_CLASS,
|
|
664
|
-
innerHTML:
|
|
675
|
+
innerHTML: this.getMoreIndicatorText(count),
|
|
665
676
|
attrs: {
|
|
666
677
|
'tabindex': '0',
|
|
667
678
|
'data-start-date': startDate.getTime().toString(),
|
|
@@ -671,6 +682,9 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
671
682
|
});
|
|
672
683
|
return moreIndicatorElement;
|
|
673
684
|
};
|
|
685
|
+
MonthEvent.prototype.getMoreIndicatorText = function (count) {
|
|
686
|
+
return '+' + this.parent.globalize.formatNumber(count) + ' ' + (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more'));
|
|
687
|
+
};
|
|
674
688
|
MonthEvent.prototype.removeHeightProperty = function (selector) {
|
|
675
689
|
var rows = [].slice.call(this.element.querySelectorAll('.' + selector + ' tbody tr'));
|
|
676
690
|
for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {
|
|
@@ -276,7 +276,8 @@ var TimelineEvent = /** @class */ (function (_super) {
|
|
|
276
276
|
}
|
|
277
277
|
};
|
|
278
278
|
TimelineEvent.prototype.updateCellHeight = function (cell, height) {
|
|
279
|
-
|
|
279
|
+
var cellHeight = cell.style.height === '' ? this.cellHeight : parseInt(cell.style.height, 10);
|
|
280
|
+
if (height > cellHeight) {
|
|
280
281
|
setStyleAttribute(cell, { 'height': height + 'px' });
|
|
281
282
|
if (this.parent.activeViewOptions.group.resources.length > 0) {
|
|
282
283
|
var resourceCell = this.parent.element.querySelector('.' + cls.RESOURCE_COLUMN_TABLE_CLASS + ' ' + 'tbody td[data-group-index="' +
|
|
@@ -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++) {
|
|
@@ -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;
|
|
@@ -19,6 +19,7 @@ export declare class Month extends ViewBase implements IRenderer {
|
|
|
19
19
|
scrollLeftPanel(target: HTMLElement): void;
|
|
20
20
|
getLeftPanelElement(): HTMLElement;
|
|
21
21
|
onScrollUIUpdate(args: NotifyEventArgs): void;
|
|
22
|
+
private scrollToSelectedDate;
|
|
22
23
|
setContentHeight(content: HTMLElement, leftPanelElement: HTMLElement, height: number): void;
|
|
23
24
|
generateColumnLevels(): TdData[][];
|
|
24
25
|
getDateSlots(renderDates: Date[], workDays: number[]): TdData[];
|
|
@@ -57,6 +57,8 @@ var Month = /** @class */ (function (_super) {
|
|
|
57
57
|
this.parent.notify(event.virtualScroll, e);
|
|
58
58
|
this.scrollTopPanel(e.target);
|
|
59
59
|
this.scrollLeftPanel(e.target);
|
|
60
|
+
this.parent.uiStateValues.top = e.target.scrollTop;
|
|
61
|
+
this.parent.uiStateValues.left = e.target.scrollLeft;
|
|
60
62
|
this.setPersistence();
|
|
61
63
|
};
|
|
62
64
|
Month.prototype.scrollLeftPanel = function (target) {
|
|
@@ -89,26 +91,41 @@ var Month = /** @class */ (function (_super) {
|
|
|
89
91
|
header.style[args.cssProperties.padding] = '';
|
|
90
92
|
}
|
|
91
93
|
this.setColWidth(content);
|
|
92
|
-
if (args.scrollPosition) {
|
|
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;
|
|
93
96
|
if (leftPanel) {
|
|
94
|
-
leftPanel.scrollTop =
|
|
97
|
+
leftPanel.scrollTop = top_1;
|
|
95
98
|
}
|
|
96
|
-
content.scrollTop =
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var headerCell = this.element.querySelector('.' + cls.HEADER_CELLS_CLASS + '[data-date="'
|
|
101
|
-
+ this.parent.selectedDate.getTime().toString() + '"]');
|
|
102
|
-
if (!isNullOrUndefined(headerCell)) {
|
|
103
|
-
content.scrollLeft = !this.parent.enableRtl ?
|
|
104
|
-
headerCell.offsetLeft : -(this.parent.getContentTable().offsetWidth - headerCell.offsetLeft - headerCell.offsetWidth);
|
|
99
|
+
content.scrollTop = top_1;
|
|
100
|
+
if (this.parent.uiStateValues.isInitial) {
|
|
101
|
+
this.scrollToSelectedDate();
|
|
102
|
+
this.parent.uiStateValues.isInitial = false;
|
|
105
103
|
}
|
|
106
104
|
else {
|
|
107
|
-
content.scrollLeft =
|
|
105
|
+
content.scrollLeft = this.parent.currentView === 'TimelineMonth' ? this.parent.uiStateValues.left :
|
|
106
|
+
args.scrollPosition.left;
|
|
108
107
|
}
|
|
109
108
|
}
|
|
109
|
+
else {
|
|
110
|
+
this.scrollToSelectedDate();
|
|
111
|
+
}
|
|
110
112
|
this.retainScrollPosition();
|
|
111
113
|
};
|
|
114
|
+
Month.prototype.scrollToSelectedDate = function () {
|
|
115
|
+
var headerCell = this.element.querySelector('.' + cls.HEADER_CELLS_CLASS + '[data-date="'
|
|
116
|
+
+ this.parent.selectedDate.getTime().toString() + '"]');
|
|
117
|
+
var content = this.getContentAreaElement();
|
|
118
|
+
if (!isNullOrUndefined(headerCell)) {
|
|
119
|
+
content.scrollLeft = !this.parent.enableRtl ?
|
|
120
|
+
headerCell.offsetLeft : -(this.parent.getContentTable().offsetWidth - headerCell.offsetLeft - headerCell.offsetWidth);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
content.scrollLeft = 0;
|
|
124
|
+
}
|
|
125
|
+
if (content.scrollLeft === 0 && this.parent.uiStateValues.isInitial) {
|
|
126
|
+
this.parent.uiStateValues.left = 0;
|
|
127
|
+
}
|
|
128
|
+
};
|
|
112
129
|
Month.prototype.setContentHeight = function (content, leftPanelElement, height) {
|
|
113
130
|
content.style.height = 'auto';
|
|
114
131
|
if (this.parent.currentView === 'Month') {
|
|
@@ -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);
|
|
@@ -41,6 +41,9 @@ var Year = /** @class */ (function (_super) {
|
|
|
41
41
|
var viewTypeClass = this.parent.activeViewOptions.orientation === 'Horizontal' ? 'e-horizontal' : 'e-vertical';
|
|
42
42
|
addClass([this.element], [this.viewClass, viewTypeClass, className]);
|
|
43
43
|
this.renderPanel(className);
|
|
44
|
+
if (this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
45
|
+
addClass([this.element], [cls.VIRTUAL_SCROLL_CLASS]);
|
|
46
|
+
}
|
|
44
47
|
var calendarTable = this.createTableLayout(cls.OUTER_TABLE_CLASS);
|
|
45
48
|
this.element.appendChild(calendarTable);
|
|
46
49
|
this.element.querySelector('table').setAttribute('role', 'presentation');
|
|
@@ -261,6 +264,7 @@ var Year = /** @class */ (function (_super) {
|
|
|
261
264
|
Year.prototype.onContentScroll = function (e) {
|
|
262
265
|
var target = e.target;
|
|
263
266
|
var headerWrapper = this.getDatesHeaderElement();
|
|
267
|
+
this.parent.notify(event.virtualScroll, e);
|
|
264
268
|
if (headerWrapper) {
|
|
265
269
|
headerWrapper.firstElementChild.scrollLeft = target.scrollLeft;
|
|
266
270
|
}
|
|
@@ -269,6 +273,10 @@ var Year = /** @class */ (function (_super) {
|
|
|
269
273
|
if (scrollTopElement) {
|
|
270
274
|
scrollTopElement.scrollTop = target.scrollTop;
|
|
271
275
|
}
|
|
276
|
+
if (!this.parent.isAdaptive) {
|
|
277
|
+
this.parent.uiStateValues.top = e.target.scrollTop;
|
|
278
|
+
}
|
|
279
|
+
this.parent.uiStateValues.left = e.target.scrollLeft;
|
|
272
280
|
this.setPersistence();
|
|
273
281
|
};
|
|
274
282
|
Year.prototype.onScrollUiUpdate = function (args) {
|
|
@@ -299,6 +307,18 @@ var Year = /** @class */ (function (_super) {
|
|
|
299
307
|
var isYScroll = contentWrapper.scrollWidth > contentWrapper.clientWidth;
|
|
300
308
|
leftPanelElement.style.height = formatUnit(height - (isYScroll ? 17 : 0));
|
|
301
309
|
}
|
|
310
|
+
if (!args.isPreventScrollUpdate) {
|
|
311
|
+
if (this.parent.uiStateValues.isInitial) {
|
|
312
|
+
this.parent.uiStateValues.isInitial = false;
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
if (leftPanelElement) {
|
|
316
|
+
leftPanelElement.scrollTop = this.parent.uiStateValues.top;
|
|
317
|
+
}
|
|
318
|
+
contentWrapper.scrollTop = this.parent.uiStateValues.top;
|
|
319
|
+
contentWrapper.scrollLeft = this.parent.uiStateValues.left;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
302
322
|
this.retainScrollPosition();
|
|
303
323
|
};
|
|
304
324
|
Year.prototype.getStartDate = function () {
|
|
@@ -1847,6 +1847,15 @@
|
|
|
1847
1847
|
text-decoration: underline;
|
|
1848
1848
|
}
|
|
1849
1849
|
|
|
1850
|
+
.e-schedule .e-timeline-year-view.e-virtual-mask .e-work-cells {
|
|
1851
|
+
background-color: rgba(0, 0, 0, 0.08);
|
|
1852
|
+
box-shadow: inset 0 0 0 8px #2a2a2a;
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1855
|
+
.e-schedule .e-timeline-year-view.e-virtual-mask .e-work-cells:hover {
|
|
1856
|
+
background-color: rgba(0, 0, 0, 0.08);
|
|
1857
|
+
}
|
|
1858
|
+
|
|
1850
1859
|
.e-schedule .e-timeline-year-view .e-event-table {
|
|
1851
1860
|
position: absolute;
|
|
1852
1861
|
top: 0;
|
|
@@ -1982,6 +1991,12 @@
|
|
|
1982
1991
|
top: 0;
|
|
1983
1992
|
}
|
|
1984
1993
|
|
|
1994
|
+
.e-schedule .e-timeline-view .e-appointment-container.e-event-container,
|
|
1995
|
+
.e-schedule .e-timeline-month-view .e-appointment-container.e-event-container {
|
|
1996
|
+
height: 60px;
|
|
1997
|
+
position: relative;
|
|
1998
|
+
}
|
|
1999
|
+
|
|
1985
2000
|
.e-schedule .e-timeline-view .e-date-header-wrap table col,
|
|
1986
2001
|
.e-schedule .e-timeline-view .e-content-wrap table col,
|
|
1987
2002
|
.e-schedule .e-timeline-month-view .e-date-header-wrap table col,
|
|
@@ -2090,8 +2105,10 @@
|
|
|
2090
2105
|
|
|
2091
2106
|
.e-schedule .e-timeline-view.e-ignore-whitespace .e-work-cells,
|
|
2092
2107
|
.e-schedule .e-timeline-view.e-ignore-whitespace .e-resource-cells,
|
|
2108
|
+
.e-schedule .e-timeline-view.e-ignore-whitespace .e-event-container,
|
|
2093
2109
|
.e-schedule .e-timeline-month-view.e-ignore-whitespace .e-work-cells,
|
|
2094
|
-
.e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells
|
|
2110
|
+
.e-schedule .e-timeline-month-view.e-ignore-whitespace .e-resource-cells,
|
|
2111
|
+
.e-schedule .e-timeline-month-view.e-ignore-whitespace .e-event-container {
|
|
2095
2112
|
height: 42px;
|
|
2096
2113
|
}
|
|
2097
2114
|
|
|
@@ -2870,13 +2887,6 @@
|
|
|
2870
2887
|
min-width: 34px;
|
|
2871
2888
|
}
|
|
2872
2889
|
|
|
2873
|
-
.e-bigger .e-schedule .e-schedule-toolbar .e-toolbar-items .e-toolbar-item button.e-btn.e-tbtn-txt .e-icons,
|
|
2874
|
-
.e-bigger .e-schedule .e-schedule-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn.e-btn.e-control.e-tbtn-txt .e-icons,
|
|
2875
|
-
.e-bigger.e-schedule .e-schedule-toolbar .e-toolbar-items .e-toolbar-item button.e-btn.e-tbtn-txt .e-icons,
|
|
2876
|
-
.e-bigger.e-schedule .e-schedule-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn.e-btn.e-control.e-tbtn-txt .e-icons {
|
|
2877
|
-
padding: 0;
|
|
2878
|
-
}
|
|
2879
|
-
|
|
2880
2890
|
.e-bigger .e-schedule .e-schedule-toolbar .e-toolbar-items .e-toolbar-item button.e-btn.e-tbtn-txt .e-icons.e-icon-right,
|
|
2881
2891
|
.e-bigger .e-schedule .e-schedule-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn.e-btn.e-control.e-tbtn-txt .e-icons.e-icon-right,
|
|
2882
2892
|
.e-bigger.e-schedule .e-schedule-toolbar .e-toolbar-items .e-toolbar-item button.e-btn.e-tbtn-txt .e-icons.e-icon-right,
|
|
@@ -4007,6 +4017,7 @@
|
|
|
4007
4017
|
|
|
4008
4018
|
.e-bigger .e-more-popup-wrapper .e-more-event-content,
|
|
4009
4019
|
.e-more-popup-wrapper .e-more-event-content {
|
|
4020
|
+
color: #f0f0f0;
|
|
4010
4021
|
height: calc(100% - 35px);
|
|
4011
4022
|
max-height: 150px;
|
|
4012
4023
|
overflow-y: auto;
|