@syncfusion/ej2-schedule 25.1.37 → 25.1.41
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 +19 -0
- package/dist/ej2-schedule.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +98 -16
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +107 -20
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +2 -2
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +12 -12
- package/src/schedule/actions/virtual-scroll.d.ts +2 -0
- package/src/schedule/actions/virtual-scroll.js +24 -1
- 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 +1 -0
- package/src/schedule/base/resource.js +1 -0
- package/src/schedule/base/schedule.d.ts +1 -0
- package/src/schedule/base/schedule.js +20 -4
- package/src/schedule/event-renderer/month.js +1 -2
- package/src/schedule/event-renderer/timeline-view.js +17 -5
- package/src/schedule/event-renderer/vertical-view.js +16 -3
- package/src/schedule/popups/event-window.js +1 -1
- package/src/schedule/popups/quick-popups.js +3 -1
- package/src/schedule/renderer/header-renderer.js +3 -2
- package/src/schedule/renderer/renderer.js +1 -0
- package/src/schedule/renderer/timeline-year.js +4 -1
- package/src/schedule/renderer/vertical-view.js +14 -0
- package/src/schedule/renderer/view-base.js +1 -1
- package/styles/bootstrap-dark.css +8 -1
- package/styles/bootstrap.css +8 -1
- package/styles/bootstrap4.css +8 -1
- package/styles/bootstrap5-dark.css +8 -1
- package/styles/bootstrap5.css +8 -1
- package/styles/fabric-dark.css +8 -1
- package/styles/fabric.css +8 -1
- package/styles/fluent-dark.css +8 -1
- package/styles/fluent.css +8 -1
- package/styles/highcontrast-light.css +8 -1
- package/styles/highcontrast.css +8 -1
- package/styles/material-dark.css +8 -1
- package/styles/material.css +8 -1
- package/styles/material3-dark.css +8 -1
- package/styles/material3.css +8 -1
- package/styles/schedule/_layout.scss +18 -1
- package/styles/schedule/bootstrap-dark.css +8 -1
- package/styles/schedule/bootstrap.css +8 -1
- package/styles/schedule/bootstrap4.css +8 -1
- package/styles/schedule/bootstrap5-dark.css +8 -1
- package/styles/schedule/bootstrap5.css +8 -1
- package/styles/schedule/fabric-dark.css +8 -1
- package/styles/schedule/fabric.css +8 -1
- package/styles/schedule/fluent-dark.css +8 -1
- package/styles/schedule/fluent.css +8 -1
- package/styles/schedule/highcontrast-light.css +8 -1
- package/styles/schedule/highcontrast.css +8 -1
- package/styles/schedule/material-dark.css +8 -1
- package/styles/schedule/material.css +8 -1
- package/styles/schedule/material3-dark.css +8 -1
- package/styles/schedule/material3.css +8 -1
- package/styles/schedule/tailwind-dark.css +8 -1
- package/styles/schedule/tailwind.css +8 -1
- package/styles/tailwind-dark.css +8 -1
- package/styles/tailwind.css +8 -1
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 25.1.
|
|
3
|
+
* version : 25.1.41
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-schedule@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-schedule@25.1.
|
|
3
|
+
"_id": "@syncfusion/ej2-schedule@25.1.39",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-n8KMWDnVN3i11oUDjapXygq0Nvk8VdRbYG0yP+02krCjEXT5+qb53ZhUPfnU5WU32INxNv5IofGeaBN8EVmF4A==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-schedule",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"/@syncfusion/ej2-react-schedule",
|
|
24
24
|
"/@syncfusion/ej2-vue-schedule"
|
|
25
25
|
],
|
|
26
|
-
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-25.1.
|
|
27
|
-
"_shasum": "
|
|
26
|
+
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-schedule/-/ej2-schedule-25.1.39.tgz",
|
|
27
|
+
"_shasum": "166c86d21160b16e7c4f6edb56bf633324aa511f",
|
|
28
28
|
"_spec": "@syncfusion/ej2-schedule@*",
|
|
29
29
|
"_where": "/jenkins/workspace/elease-automation_release_25.1.1/packages/included",
|
|
30
30
|
"author": {
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
"bundleDependencies": false,
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@syncfusion/ej2-base": "~25.1.35",
|
|
39
|
-
"@syncfusion/ej2-buttons": "~25.1.
|
|
40
|
-
"@syncfusion/ej2-calendars": "~25.1.
|
|
39
|
+
"@syncfusion/ej2-buttons": "~25.1.39",
|
|
40
|
+
"@syncfusion/ej2-calendars": "~25.1.40",
|
|
41
41
|
"@syncfusion/ej2-data": "~25.1.35",
|
|
42
|
-
"@syncfusion/ej2-dropdowns": "~25.1.
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~25.1.41",
|
|
43
43
|
"@syncfusion/ej2-excel-export": "~25.1.35",
|
|
44
|
-
"@syncfusion/ej2-inputs": "~25.1.
|
|
45
|
-
"@syncfusion/ej2-lists": "~25.1.
|
|
46
|
-
"@syncfusion/ej2-navigations": "~25.1.
|
|
47
|
-
"@syncfusion/ej2-popups": "~25.1.
|
|
44
|
+
"@syncfusion/ej2-inputs": "~25.1.40",
|
|
45
|
+
"@syncfusion/ej2-lists": "~25.1.41",
|
|
46
|
+
"@syncfusion/ej2-navigations": "~25.1.41",
|
|
47
|
+
"@syncfusion/ej2-popups": "~25.1.41"
|
|
48
48
|
},
|
|
49
49
|
"deprecated": false,
|
|
50
50
|
"description": "Flexible scheduling library with more built-in features and enhanced customization options similar to outlook and google calendar, allowing the users to plan and manage their appointments with efficient data-binding support.",
|
|
@@ -73,6 +73,6 @@
|
|
|
73
73
|
"url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
|
|
74
74
|
},
|
|
75
75
|
"typings": "index.d.ts",
|
|
76
|
-
"version": "25.1.
|
|
76
|
+
"version": "25.1.41",
|
|
77
77
|
"sideEffects": false
|
|
78
78
|
}
|
|
@@ -14,6 +14,7 @@ export declare class VirtualScroll {
|
|
|
14
14
|
private focusedEle;
|
|
15
15
|
private isResourceCell;
|
|
16
16
|
isHorizontalScroll: boolean;
|
|
17
|
+
isRemoteRefresh: boolean;
|
|
17
18
|
private startIndex;
|
|
18
19
|
constructor(parent: Schedule);
|
|
19
20
|
private addEventListener;
|
|
@@ -23,6 +24,7 @@ export declare class VirtualScroll {
|
|
|
23
24
|
updateVirtualScrollHeight(): void;
|
|
24
25
|
updateVirtualTrackHeight(wrap: HTMLElement): void;
|
|
25
26
|
setItemSize(): void;
|
|
27
|
+
refreshLayout(): void;
|
|
26
28
|
private renderEvents;
|
|
27
29
|
virtualScrolling(): void;
|
|
28
30
|
private horizontalScrolling;
|
|
@@ -92,6 +92,27 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
92
92
|
this.itemSize = util.getElementHeightFromClass(this.parent.activeView.element, cls.WORK_CELLS_CLASS) || this.itemSize;
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
|
+
VirtualScroll.prototype.refreshLayout = function () {
|
|
96
|
+
var initialHeight = this.parent.uiStateValues.scheduleHeight;
|
|
97
|
+
this.parent.uiStateValues.scheduleHeight = this.parent.element.offsetHeight;
|
|
98
|
+
var preRenderedLength = this.renderedLength;
|
|
99
|
+
if (this.parent.uiStateValues.scheduleHeight !== initialHeight) {
|
|
100
|
+
if (preRenderedLength < this.getRenderedCount()) {
|
|
101
|
+
this.isRemoteRefresh = true;
|
|
102
|
+
}
|
|
103
|
+
var resWrap = this.parent.element.querySelector('.' + cls.RESOURCE_COLUMN_WRAP_CLASS);
|
|
104
|
+
var conWrap = this.parent.element.querySelector('.' + cls.CONTENT_WRAP_CLASS);
|
|
105
|
+
var eventWrap = this.parent.element.querySelector('.' + cls.EVENT_TABLE_CLASS);
|
|
106
|
+
var firstTDIndex = parseInt(resWrap.querySelector('tbody td').getAttribute('data-group-index'), 10);
|
|
107
|
+
var endIndex = (firstTDIndex + this.renderedLength);
|
|
108
|
+
firstTDIndex = (endIndex > this.parent.resourceBase.expandedResources.length) ?
|
|
109
|
+
(this.parent.resourceBase.expandedResources.length - this.renderedLength) : firstTDIndex;
|
|
110
|
+
this.parent.resourceBase.renderedResources = this.parent.resourceBase.expandedResources.slice(firstTDIndex, endIndex);
|
|
111
|
+
if (this.parent.resourceBase.renderedResources.length > 0) {
|
|
112
|
+
this.updateContent(resWrap, conWrap, eventWrap, this.parent.resourceBase.renderedResources);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
95
116
|
VirtualScroll.prototype.renderEvents = function () {
|
|
96
117
|
this.setTabIndex();
|
|
97
118
|
var dynamicData = this.triggerScrollEvent(events.virtualScrollStop);
|
|
@@ -127,7 +148,9 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
127
148
|
var eventWrap = this.parent.element.querySelector('.' + cls.EVENT_TABLE_CLASS);
|
|
128
149
|
var timeIndicator = this.parent.element.querySelector('.' + cls.CURRENT_TIMELINE_CLASS);
|
|
129
150
|
var conTable = this.parent.element.querySelector('.' + cls.CONTENT_TABLE_CLASS);
|
|
130
|
-
|
|
151
|
+
if (!this.parent.rowAutoHeight) {
|
|
152
|
+
addClass([conWrap, resWrap], 'e-transition');
|
|
153
|
+
}
|
|
131
154
|
this.renderedLength = resWrap.querySelector('tbody').children.length;
|
|
132
155
|
var firstTDIndex = parseInt(resWrap.querySelector('tbody td').getAttribute('data-group-index'), 10);
|
|
133
156
|
var scrollHeight = this.parent.rowAutoHeight ?
|
|
@@ -8,6 +8,8 @@ export declare const RTL: string;
|
|
|
8
8
|
/** @private */
|
|
9
9
|
export declare const DEVICE_CLASS: string;
|
|
10
10
|
/** @private */
|
|
11
|
+
export declare const ADAPTIVE_CLASS: string;
|
|
12
|
+
/** @private */
|
|
11
13
|
export declare const MULTI_DRAG: string;
|
|
12
14
|
/** @private */
|
|
13
15
|
export declare const ICON: string;
|
|
@@ -493,6 +493,7 @@ var ResourceBase = /** @class */ (function () {
|
|
|
493
493
|
args = {
|
|
494
494
|
cancel: false, event: (event) ? event.event : null, groupIndex: _this.parent.uiStateValues.groupIndex, requestType: 'resourceChanged'
|
|
495
495
|
};
|
|
496
|
+
_this.parent.adaptiveGroupIndex = _this.parent.uiStateValues.groupIndex;
|
|
496
497
|
_this.parent.trigger(events.actionComplete, args);
|
|
497
498
|
}
|
|
498
499
|
});
|
|
@@ -137,6 +137,7 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
137
137
|
scrollTop: number;
|
|
138
138
|
scrollLeft: number;
|
|
139
139
|
isPrinting: boolean;
|
|
140
|
+
adaptiveGroupIndex: number;
|
|
140
141
|
/**
|
|
141
142
|
* Sets the `width` of the Schedule component, accepting both string and number values.
|
|
142
143
|
*
|
|
@@ -72,7 +72,9 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
72
72
|
* @param {string | HTMLElement} element Accepts the DOM element reference
|
|
73
73
|
*/
|
|
74
74
|
function Schedule(options, element) {
|
|
75
|
-
|
|
75
|
+
var _this = _super.call(this, options, element) || this;
|
|
76
|
+
_this.adaptiveGroupIndex = 0;
|
|
77
|
+
return _this;
|
|
76
78
|
}
|
|
77
79
|
/**
|
|
78
80
|
* Core method that initializes the control rendering.
|
|
@@ -96,6 +98,12 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
96
98
|
else {
|
|
97
99
|
removeClasses.push(cls.DEVICE_CLASS);
|
|
98
100
|
}
|
|
101
|
+
if (this.enableAdaptiveUI) {
|
|
102
|
+
addClasses.push(cls.ADAPTIVE_CLASS);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
removeClasses.push(cls.ADAPTIVE_CLASS);
|
|
106
|
+
}
|
|
99
107
|
if (this.allowMultiDrag) {
|
|
100
108
|
addClasses.push(cls.MULTI_DRAG);
|
|
101
109
|
}
|
|
@@ -708,7 +716,7 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
708
716
|
if (this && isNullOrUndefined(this.uiStateValues) || !(this.enablePersistence)) {
|
|
709
717
|
this.uiStateValues = {
|
|
710
718
|
expand: false, isInitial: true, left: 0, top: 0, isGroupAdaptive: false,
|
|
711
|
-
isIgnoreOccurrence: false, groupIndex:
|
|
719
|
+
isIgnoreOccurrence: false, groupIndex: this.adaptiveGroupIndex, action: false, isBlock: false, isCustomMonth: true, isPreventTimezone: false
|
|
712
720
|
};
|
|
713
721
|
}
|
|
714
722
|
this.currentTimezoneDate = this.getCurrentTime();
|
|
@@ -1202,6 +1210,9 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1202
1210
|
&& document.activeElement.classList.contains(cls.SUBJECT_CLASS))) {
|
|
1203
1211
|
return;
|
|
1204
1212
|
}
|
|
1213
|
+
if (this.virtualScrollModule && this.activeView.isTimelineView()) {
|
|
1214
|
+
this.virtualScrollModule.refreshLayout();
|
|
1215
|
+
}
|
|
1205
1216
|
if (this.activeViewOptions.timeScale.enable && this.activeView) {
|
|
1206
1217
|
this.activeView.highlightCurrentTime();
|
|
1207
1218
|
}
|
|
@@ -1213,7 +1224,12 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1213
1224
|
&& !this.activeViewOptions.timeScale.enable) || this.activeView.isTimelineView()) {
|
|
1214
1225
|
this.activeView.resetColWidth();
|
|
1215
1226
|
this.notify(events.scrollUiUpdate, { cssProperties: this.getCssProperties(), isPreventScrollUpdate: true });
|
|
1216
|
-
|
|
1227
|
+
var isRemoteRefresh = false;
|
|
1228
|
+
if (this.activeViewOptions.enableLazyLoading && this.virtualScrollModule && this.virtualScrollModule.isRemoteRefresh) {
|
|
1229
|
+
isRemoteRefresh = this.virtualScrollModule.isRemoteRefresh;
|
|
1230
|
+
this.virtualScrollModule.isRemoteRefresh = false;
|
|
1231
|
+
}
|
|
1232
|
+
this.refreshEvents(isRemoteRefresh);
|
|
1217
1233
|
}
|
|
1218
1234
|
else {
|
|
1219
1235
|
this.notify(events.contentReady, {});
|
|
@@ -1396,7 +1412,7 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1396
1412
|
* @private
|
|
1397
1413
|
*/
|
|
1398
1414
|
Schedule.prototype.getPersistData = function () {
|
|
1399
|
-
return this.addOnPersist(['currentView', 'selectedDate', 'scrollTop', 'scrollLeft']);
|
|
1415
|
+
return this.addOnPersist(['currentView', 'selectedDate', 'scrollTop', 'scrollLeft', 'adaptiveGroupIndex']);
|
|
1400
1416
|
};
|
|
1401
1417
|
/**
|
|
1402
1418
|
* Called internally, if any of the property value changed.
|
|
@@ -676,8 +676,7 @@ var MonthEvent = /** @class */ (function (_super) {
|
|
|
676
676
|
attrs: {
|
|
677
677
|
'role': 'button',
|
|
678
678
|
'tabindex': '0',
|
|
679
|
-
'aria-label': this.parent.globalize.formatNumber(count) + '
|
|
680
|
-
+ (this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('more')),
|
|
679
|
+
'aria-label': this.parent.globalize.formatNumber(count) + ' ' + this.parent.localeObj.getConstant('moreEvents'),
|
|
681
680
|
'data-count': count.toString(),
|
|
682
681
|
'data-start-date': startDate.getTime().toString(),
|
|
683
682
|
'data-end-date': endDate.getTime().toString()
|
|
@@ -90,11 +90,18 @@ var TimelineEvent = /** @class */ (function (_super) {
|
|
|
90
90
|
};
|
|
91
91
|
TimelineEvent.prototype.getOverlapSortComparerEvents = function (startDate, endDate, appointmentsCollection) {
|
|
92
92
|
var appointments = [];
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
var _loop_1 = function (app) {
|
|
94
|
+
if (this_1.renderType === 'day') {
|
|
95
|
+
var start_1 = util.resetTime(startDate).getTime();
|
|
96
|
+
var end_1 = util.resetTime(endDate).getTime();
|
|
97
|
+
var appStart_1 = util.resetTime(app[this_1.fields.startTime]).getTime();
|
|
98
|
+
var appEnd_1 = util.resetTime(app[this_1.fields.endTime]).getTime();
|
|
99
|
+
var isEndOverlap = function () {
|
|
100
|
+
var endTime = (end_1 - (util.getDateInMs(endDate) <= 0 ? util.MS_PER_DAY : 0));
|
|
101
|
+
endTime = start_1 > endTime ? start_1 : endTime;
|
|
102
|
+
return appEnd_1 >= endTime && appStart_1 <= endTime;
|
|
103
|
+
};
|
|
104
|
+
if (appStart_1 <= start_1 && appEnd_1 >= start_1 || isEndOverlap() || appStart_1 > start_1 && appEnd_1 < end_1) {
|
|
98
105
|
appointments.push(app);
|
|
99
106
|
}
|
|
100
107
|
}
|
|
@@ -105,6 +112,11 @@ var TimelineEvent = /** @class */ (function (_super) {
|
|
|
105
112
|
appointments.push(app);
|
|
106
113
|
}
|
|
107
114
|
}
|
|
115
|
+
};
|
|
116
|
+
var this_1 = this;
|
|
117
|
+
for (var _i = 0, appointmentsCollection_1 = appointmentsCollection; _i < appointmentsCollection_1.length; _i++) {
|
|
118
|
+
var app = appointmentsCollection_1[_i];
|
|
119
|
+
_loop_1(app);
|
|
108
120
|
}
|
|
109
121
|
return appointments;
|
|
110
122
|
};
|
|
@@ -12,7 +12,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
12
12
|
};
|
|
13
13
|
})();
|
|
14
14
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
15
|
-
import { append, createElement, extend, EventHandler, Animation, formatUnit } from '@syncfusion/ej2-base';
|
|
15
|
+
import { append, createElement, extend, EventHandler, Animation, formatUnit, closest } from '@syncfusion/ej2-base';
|
|
16
16
|
import { isNullOrUndefined, setStyleAttribute, remove, removeClass, addClass } from '@syncfusion/ej2-base';
|
|
17
17
|
import { EventBase } from './event-base';
|
|
18
18
|
import * as util from '../base/util';
|
|
@@ -55,6 +55,14 @@ var VerticalEvent = /** @class */ (function (_super) {
|
|
|
55
55
|
var wrapperElements = [].slice.call(this.parent.element.querySelectorAll('.' + cls.BLOCK_APPOINTMENT_CLASS +
|
|
56
56
|
',.' + cls.APPOINTMENT_CLASS + ',.' + cls.ROW_COUNT_WRAPPER_CLASS));
|
|
57
57
|
var isDragging = (this.parent.crudModule && this.parent.crudModule.crudObj.isCrudAction) ? true : false;
|
|
58
|
+
var hideWrapper = function (wrapper) {
|
|
59
|
+
if (_this.parent.isReact && !isNullOrUndefined(_this.parent.activeViewOptions.eventTemplate)) {
|
|
60
|
+
var appWrapper = closest(wrapper, '.' + cls.DAY_WRAPPER_CLASS + ',.' + cls.ALLDAY_APPOINTMENT_WRAPPER_CLASS);
|
|
61
|
+
if (appWrapper && !appWrapper.classList.contains(cls.APPOINTMENT_WRAPPER_HIDDEN_CLASS)) {
|
|
62
|
+
addClass([appWrapper], cls.APPOINTMENT_WRAPPER_HIDDEN_CLASS);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
58
66
|
for (var _i = 0, wrapperElements_1 = wrapperElements; _i < wrapperElements_1.length; _i++) {
|
|
59
67
|
var wrapper = wrapperElements_1[_i];
|
|
60
68
|
if (isDragging && !(wrapper.classList.contains(cls.ALLDAY_APPOINTMENT_CLASS) ||
|
|
@@ -63,11 +71,13 @@ var VerticalEvent = /** @class */ (function (_super) {
|
|
|
63
71
|
for (var j = 0, len = this.parent.crudModule.crudObj.sourceEvent.length; j < len; j++) {
|
|
64
72
|
if (groupIndex === this.parent.crudModule.crudObj.sourceEvent[parseInt(j.toString(), 10)].groupIndex ||
|
|
65
73
|
groupIndex === this.parent.crudModule.crudObj.targetEvent[parseInt(j.toString(), 10)].groupIndex) {
|
|
74
|
+
hideWrapper(wrapper);
|
|
66
75
|
remove(wrapper);
|
|
67
76
|
}
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
else {
|
|
80
|
+
hideWrapper(wrapper);
|
|
71
81
|
remove(wrapper);
|
|
72
82
|
}
|
|
73
83
|
}
|
|
@@ -628,9 +638,12 @@ var VerticalEvent = /** @class */ (function (_super) {
|
|
|
628
638
|
return (tempLeft > 99 ? 99 : tempLeft) + '%';
|
|
629
639
|
};
|
|
630
640
|
VerticalEvent.prototype.getTopValue = function (date, day, resource) {
|
|
631
|
-
var
|
|
641
|
+
var viewDate = util.resetTime(this.dateRender[parseInt(resource.toString(), 10)][parseInt(day.toString(), 10)]);
|
|
642
|
+
var startEndHours = util.getStartEndHours(viewDate, this.startHour, this.endHour);
|
|
632
643
|
var startHour = startEndHours.startHour;
|
|
633
|
-
var
|
|
644
|
+
var adjustedStartHour = util.isDaylightSavingTime(viewDate) && (startHour.getHours() !== this.startHour.getHours()) ?
|
|
645
|
+
this.startHour.getHours() : startHour.getHours();
|
|
646
|
+
var diffInMinutes = ((date.getHours() - adjustedStartHour) * 60) + (date.getMinutes() - startHour.getMinutes());
|
|
634
647
|
return (this.parent.activeViewOptions.timeScale.enable) ? ((diffInMinutes * this.cellHeight * this.slotCount) / this.interval) : 0;
|
|
635
648
|
};
|
|
636
649
|
VerticalEvent.prototype.getOverlapIndex = function (record, day, isAllDay, resource) {
|
|
@@ -519,7 +519,7 @@ var EventWindow = /** @class */ (function () {
|
|
|
519
519
|
var resourceInput = this.createInputElement(value + ' ' + EVENT_FIELD, fieldName);
|
|
520
520
|
resourceDiv.appendChild(resourceInput);
|
|
521
521
|
var resourceTemplate = function (data) {
|
|
522
|
-
return "<div class=\"e-resource-template\"><div class=\"e-resource-color\" style=\"background-color:" + data[resourceData.colorField] + "\"></div><div class=\"e-resource-text\">" + data[resourceData.textField] + "</div></div>";
|
|
522
|
+
return SanitizeHtmlHelper.sanitize("<div class=\"e-resource-template\"><div class=\"e-resource-color\" style=\"background-color:" + data[resourceData.colorField] + "\"></div><div class=\"e-resource-text\">" + data[resourceData.textField] + "</div></div>");
|
|
523
523
|
};
|
|
524
524
|
initializeCSPTemplate(resourceTemplate, resourceData);
|
|
525
525
|
if (resourceData.allowMultiple) {
|
|
@@ -53,7 +53,7 @@ var QuickPopups = /** @class */ (function () {
|
|
|
53
53
|
QuickPopups.prototype.renderMorePopup = function () {
|
|
54
54
|
var moreEventPopup = "<div class=\"" + cls.MORE_EVENT_POPUP_CLASS + "\"><div class=\"" + cls.MORE_EVENT_HEADER_CLASS + "\">" +
|
|
55
55
|
("<div class=\"" + cls.MORE_EVENT_CLOSE_CLASS + "\" title=\"" + this.l10n.getConstant('close') + "\" tabindex=\"0\" role=\"button\"></div>") +
|
|
56
|
-
("<div class=\"" + cls.MORE_EVENT_DATE_HEADER_CLASS + "\"><div class=\"" + cls.MORE_EVENT_HEADER_DAY_CLASS + "\"></div>") +
|
|
56
|
+
("<div class=\"" + cls.MORE_EVENT_DATE_HEADER_CLASS + "\"><div class=\"" + cls.MORE_EVENT_HEADER_DAY_CLASS + "\" id=\"" + this.parent.element.id + "_more_popup\"></div>") +
|
|
57
57
|
("<div class=\"" + cls.MORE_EVENT_HEADER_DATE_CLASS + " " + cls.NAVIGATE_CLASS + "\" tabindex=\"0\" role=\"link\"></div></div></div></div>");
|
|
58
58
|
var moreEventWrapper = createElement('div', {
|
|
59
59
|
className: cls.MORE_POPUP_WRAPPER_CLASS + ' e-popup-close',
|
|
@@ -78,6 +78,8 @@ var QuickPopups = /** @class */ (function () {
|
|
|
78
78
|
viewPortElement: (this.parent.isAdaptive ? document.body : this.parent.element),
|
|
79
79
|
zIndex: (this.parent.isAdaptive ? 1002 : 2)
|
|
80
80
|
});
|
|
81
|
+
this.morePopup.element.setAttribute('role', 'dialog');
|
|
82
|
+
this.morePopup.element.setAttribute('aria-labelledby', this.parent.element.id + '_more_popup');
|
|
81
83
|
var closeButton = this.morePopup.element.querySelector('.' + cls.MORE_EVENT_CLOSE_CLASS);
|
|
82
84
|
this.renderButton('e-round', cls.ICON + ' ' + cls.CLOSE_ICON_CLASS, false, closeButton, this.closeClick);
|
|
83
85
|
EventHandler.add(this.morePopup.element.querySelector('.' + cls.MORE_EVENT_HEADER_DATE_CLASS), 'click', this.navigationClick, this);
|
|
@@ -86,6 +86,7 @@ var HeaderRenderer = /** @class */ (function () {
|
|
|
86
86
|
});
|
|
87
87
|
_this.toolbarObj.root = _this.parent.root ? _this.parent.root : _this.parent;
|
|
88
88
|
_this.toolbarObj.appendTo(_this.parent.element.querySelector('.' + cls.HEADER_TOOLBAR));
|
|
89
|
+
_this.toolbarObj.element.setAttribute('aria-label', 'Scheduler');
|
|
89
90
|
var prevNavEle = _this.toolbarObj.element.querySelector('.e-prev');
|
|
90
91
|
if (prevNavEle) {
|
|
91
92
|
prevNavEle.firstElementChild.setAttribute('title', _this.l10n.getConstant('previous'));
|
|
@@ -273,7 +274,7 @@ var HeaderRenderer = /** @class */ (function () {
|
|
|
273
274
|
switch (item.name) {
|
|
274
275
|
case 'Today':
|
|
275
276
|
tbItem = {
|
|
276
|
-
showAlwaysInPopup: (this.parent.isAdaptive || this.parent.enableAdaptiveUI), prefixIcon: 'e-icon-
|
|
277
|
+
showAlwaysInPopup: (this.parent.isAdaptive || this.parent.enableAdaptiveUI), prefixIcon: 'e-icon-today',
|
|
277
278
|
text: this.l10n.getConstant('today'), cssClass: 'e-today', overflow: 'Show'
|
|
278
279
|
};
|
|
279
280
|
tbItem.align = propItem.align ? propItem.align : item.align;
|
|
@@ -360,7 +361,7 @@ var HeaderRenderer = /** @class */ (function () {
|
|
|
360
361
|
}
|
|
361
362
|
else {
|
|
362
363
|
items.push({
|
|
363
|
-
align: 'Right', showAlwaysInPopup: (this.parent.isAdaptive || this.parent.enableAdaptiveUI), prefixIcon: 'e-icon-
|
|
364
|
+
align: 'Right', showAlwaysInPopup: (this.parent.isAdaptive || this.parent.enableAdaptiveUI), prefixIcon: 'e-icon-today',
|
|
364
365
|
text: this.l10n.getConstant('today'), cssClass: 'e-today', overflow: 'Show'
|
|
365
366
|
});
|
|
366
367
|
if (this.parent.views.length > 1) {
|
|
@@ -88,6 +88,7 @@ var Render = /** @class */ (function () {
|
|
|
88
88
|
}
|
|
89
89
|
throw Error('Inject required modules');
|
|
90
90
|
}
|
|
91
|
+
this.parent.uiStateValues.scheduleHeight = this.parent.element.offsetHeight;
|
|
91
92
|
this.parent.activeView.viewIndex = this.parent.viewIndex;
|
|
92
93
|
this.updateLabelText(viewName);
|
|
93
94
|
this.parent.activeView.addEventListener();
|
|
@@ -385,11 +385,14 @@ var TimelineYear = /** @class */ (function (_super) {
|
|
|
385
385
|
groupIndex = this.colLevels.slice(-1)[0][parseInt(month.toString(), 10)].groupIndex;
|
|
386
386
|
classList.push(cls.WORKDAY_CLASS);
|
|
387
387
|
}
|
|
388
|
+
var startDateText = this.parent.globalize.formatDate(date, { type: 'dateTime', skeleton: 'full', calendar: this.parent.getCalendarMode() });
|
|
389
|
+
var endDateText = this.parent.globalize.formatDate(this.parent.calendarUtil.getMonthEndDate(new Date(monthDate.getTime())), { type: 'dateTime', skeleton: 'full', calendar: this.parent.getCalendarMode() });
|
|
388
390
|
var td = createElement('td', {
|
|
389
391
|
className: cls.WORK_CELLS_CLASS,
|
|
390
392
|
attrs: {
|
|
391
393
|
'aria-selected': 'false',
|
|
392
|
-
'data-date': date.getTime().toString()
|
|
394
|
+
'data-date': date.getTime().toString(),
|
|
395
|
+
'aria-label': startDateText + ' ' + this.parent.localeObj.getConstant('endAt') + ' ' + endDateText
|
|
393
396
|
}
|
|
394
397
|
});
|
|
395
398
|
addClass([td], classList);
|
|
@@ -713,6 +713,20 @@ var VerticalView = /** @class */ (function (_super) {
|
|
|
713
713
|
append(tooltipTemplate, ntd);
|
|
714
714
|
}
|
|
715
715
|
ntd.setAttribute('data-date', cellDate.getTime().toString());
|
|
716
|
+
var skeleton = 'full';
|
|
717
|
+
if (!this.parent.activeViewOptions.timeScale.enable) {
|
|
718
|
+
var announcementText = this.parent.globalize.formatDate(tdData.date, { skeleton: skeleton, calendar: this.parent.getCalendarMode() });
|
|
719
|
+
ntd.setAttribute('aria-label', announcementText);
|
|
720
|
+
}
|
|
721
|
+
else {
|
|
722
|
+
var startDateText = this.parent.globalize.formatDate(cellDate, {
|
|
723
|
+
type: 'dateTime', skeleton: skeleton, calendar: this.parent.getCalendarMode()
|
|
724
|
+
});
|
|
725
|
+
var endDateText = this.parent.globalize.formatDate(this.getEndDateFromStartDate(cellDate), {
|
|
726
|
+
type: 'dateTime', skeleton: skeleton, calendar: this.parent.getCalendarMode()
|
|
727
|
+
});
|
|
728
|
+
ntd.setAttribute('aria-label', startDateText + ' ' + this.parent.localeObj.getConstant('endAt') + ' ' + endDateText);
|
|
729
|
+
}
|
|
716
730
|
if (!isNullOrUndefined(tdData.groupIndex) || this.parent.uiStateValues.isGroupAdaptive) {
|
|
717
731
|
var groupIndex = this.parent.uiStateValues.isGroupAdaptive ? this.parent.uiStateValues.groupIndex :
|
|
718
732
|
tdData.groupIndex;
|
|
@@ -452,7 +452,7 @@ var ViewBase = /** @class */ (function () {
|
|
|
452
452
|
var colWidth_1 = (util.getElementWidth(contentBody) / (colElements.length / 2));
|
|
453
453
|
if (content.offsetHeight !== content.clientHeight) {
|
|
454
454
|
var resourceColumn = this.parent.element.querySelector('.' + cls.RESOURCE_COLUMN_WRAP_CLASS);
|
|
455
|
-
if (!isNullOrUndefined(resourceColumn)) {
|
|
455
|
+
if (!isNullOrUndefined(resourceColumn) && resourceColumn.offsetHeight !== content.clientHeight) {
|
|
456
456
|
setStyleAttribute(resourceColumn, { 'height': formatUnit(content.clientHeight) });
|
|
457
457
|
}
|
|
458
458
|
}
|
|
@@ -395,6 +395,12 @@
|
|
|
395
395
|
background: #393939;
|
|
396
396
|
color: #0070f0;
|
|
397
397
|
}
|
|
398
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today {
|
|
399
|
+
display: block;
|
|
400
|
+
}
|
|
401
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today + .e-tbar-btn-text {
|
|
402
|
+
display: none;
|
|
403
|
+
}
|
|
398
404
|
.e-schedule.e-device .e-schedule-toolbar {
|
|
399
405
|
height: 56px;
|
|
400
406
|
min-height: 56px;
|
|
@@ -2020,7 +2026,8 @@
|
|
|
2020
2026
|
.e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
|
|
2021
2027
|
position: relative;
|
|
2022
2028
|
}
|
|
2023
|
-
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition
|
|
2029
|
+
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition,
|
|
2030
|
+
.e-schedule .e-virtual-scroll .e-resource-column-wrap.e-transition {
|
|
2024
2031
|
transition: all 1000ms linear;
|
|
2025
2032
|
}
|
|
2026
2033
|
.e-schedule.e-rtl .e-timeline-view .e-appointment .e-left-icon,
|
package/styles/bootstrap.css
CHANGED
|
@@ -390,6 +390,12 @@
|
|
|
390
390
|
background: #e6e6e6;
|
|
391
391
|
color: #317ab9;
|
|
392
392
|
}
|
|
393
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today {
|
|
394
|
+
display: block;
|
|
395
|
+
}
|
|
396
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today + .e-tbar-btn-text {
|
|
397
|
+
display: none;
|
|
398
|
+
}
|
|
393
399
|
.e-schedule.e-device .e-schedule-toolbar {
|
|
394
400
|
height: 56px;
|
|
395
401
|
min-height: 56px;
|
|
@@ -2015,7 +2021,8 @@
|
|
|
2015
2021
|
.e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
|
|
2016
2022
|
position: relative;
|
|
2017
2023
|
}
|
|
2018
|
-
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition
|
|
2024
|
+
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition,
|
|
2025
|
+
.e-schedule .e-virtual-scroll .e-resource-column-wrap.e-transition {
|
|
2019
2026
|
transition: all 1000ms linear;
|
|
2020
2027
|
}
|
|
2021
2028
|
.e-schedule.e-rtl .e-timeline-view .e-appointment .e-left-icon,
|
package/styles/bootstrap4.css
CHANGED
|
@@ -495,6 +495,12 @@
|
|
|
495
495
|
background: #545b62;
|
|
496
496
|
color: #fff;
|
|
497
497
|
}
|
|
498
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today {
|
|
499
|
+
display: block;
|
|
500
|
+
}
|
|
501
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today + .e-tbar-btn-text {
|
|
502
|
+
display: none;
|
|
503
|
+
}
|
|
498
504
|
.e-schedule.e-device .e-schedule-toolbar {
|
|
499
505
|
height: 54px;
|
|
500
506
|
min-height: 54px;
|
|
@@ -2120,7 +2126,8 @@
|
|
|
2120
2126
|
.e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
|
|
2121
2127
|
position: relative;
|
|
2122
2128
|
}
|
|
2123
|
-
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition
|
|
2129
|
+
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition,
|
|
2130
|
+
.e-schedule .e-virtual-scroll .e-resource-column-wrap.e-transition {
|
|
2124
2131
|
transition: all 1000ms linear;
|
|
2125
2132
|
}
|
|
2126
2133
|
.e-schedule.e-rtl .e-timeline-view .e-appointment .e-left-icon,
|
|
@@ -440,6 +440,12 @@
|
|
|
440
440
|
background: #495057;
|
|
441
441
|
color: rgba(13, 110, 253, 0.87);
|
|
442
442
|
}
|
|
443
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today {
|
|
444
|
+
display: block;
|
|
445
|
+
}
|
|
446
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today + .e-tbar-btn-text {
|
|
447
|
+
display: none;
|
|
448
|
+
}
|
|
443
449
|
.e-schedule.e-device .e-schedule-toolbar {
|
|
444
450
|
height: 54px;
|
|
445
451
|
min-height: 54px;
|
|
@@ -2065,7 +2071,8 @@
|
|
|
2065
2071
|
.e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
|
|
2066
2072
|
position: relative;
|
|
2067
2073
|
}
|
|
2068
|
-
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition
|
|
2074
|
+
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition,
|
|
2075
|
+
.e-schedule .e-virtual-scroll .e-resource-column-wrap.e-transition {
|
|
2069
2076
|
transition: all 1000ms linear;
|
|
2070
2077
|
}
|
|
2071
2078
|
.e-schedule.e-rtl .e-timeline-view .e-appointment .e-left-icon,
|
package/styles/bootstrap5.css
CHANGED
|
@@ -440,6 +440,12 @@
|
|
|
440
440
|
background: #dee2e6;
|
|
441
441
|
color: rgba(13, 110, 253, 0.87);
|
|
442
442
|
}
|
|
443
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today {
|
|
444
|
+
display: block;
|
|
445
|
+
}
|
|
446
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today + .e-tbar-btn-text {
|
|
447
|
+
display: none;
|
|
448
|
+
}
|
|
443
449
|
.e-schedule.e-device .e-schedule-toolbar {
|
|
444
450
|
height: 54px;
|
|
445
451
|
min-height: 54px;
|
|
@@ -2065,7 +2071,8 @@
|
|
|
2065
2071
|
.e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
|
|
2066
2072
|
position: relative;
|
|
2067
2073
|
}
|
|
2068
|
-
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition
|
|
2074
|
+
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition,
|
|
2075
|
+
.e-schedule .e-virtual-scroll .e-resource-column-wrap.e-transition {
|
|
2069
2076
|
transition: all 1000ms linear;
|
|
2070
2077
|
}
|
|
2071
2078
|
.e-schedule.e-rtl .e-timeline-view .e-appointment .e-left-icon,
|
package/styles/fabric-dark.css
CHANGED
|
@@ -358,6 +358,12 @@
|
|
|
358
358
|
background: #414040;
|
|
359
359
|
color: #dadada;
|
|
360
360
|
}
|
|
361
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today {
|
|
362
|
+
display: block;
|
|
363
|
+
}
|
|
364
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today + .e-tbar-btn-text {
|
|
365
|
+
display: none;
|
|
366
|
+
}
|
|
361
367
|
.e-schedule.e-device .e-schedule-toolbar {
|
|
362
368
|
height: 56px;
|
|
363
369
|
min-height: 56px;
|
|
@@ -1983,7 +1989,8 @@
|
|
|
1983
1989
|
.e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
|
|
1984
1990
|
position: relative;
|
|
1985
1991
|
}
|
|
1986
|
-
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition
|
|
1992
|
+
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition,
|
|
1993
|
+
.e-schedule .e-virtual-scroll .e-resource-column-wrap.e-transition {
|
|
1987
1994
|
transition: all 1000ms linear;
|
|
1988
1995
|
}
|
|
1989
1996
|
.e-schedule.e-rtl .e-timeline-view .e-appointment .e-left-icon,
|
package/styles/fabric.css
CHANGED
|
@@ -348,6 +348,12 @@
|
|
|
348
348
|
background: #f4f4f4;
|
|
349
349
|
color: #333;
|
|
350
350
|
}
|
|
351
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today {
|
|
352
|
+
display: block;
|
|
353
|
+
}
|
|
354
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today + .e-tbar-btn-text {
|
|
355
|
+
display: none;
|
|
356
|
+
}
|
|
351
357
|
.e-schedule.e-device .e-schedule-toolbar {
|
|
352
358
|
height: 56px;
|
|
353
359
|
min-height: 56px;
|
|
@@ -1973,7 +1979,8 @@
|
|
|
1973
1979
|
.e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
|
|
1974
1980
|
position: relative;
|
|
1975
1981
|
}
|
|
1976
|
-
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition
|
|
1982
|
+
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition,
|
|
1983
|
+
.e-schedule .e-virtual-scroll .e-resource-column-wrap.e-transition {
|
|
1977
1984
|
transition: all 1000ms linear;
|
|
1978
1985
|
}
|
|
1979
1986
|
.e-schedule.e-rtl .e-timeline-view .e-appointment .e-left-icon,
|
package/styles/fluent-dark.css
CHANGED
|
@@ -422,6 +422,12 @@
|
|
|
422
422
|
background: #292827;
|
|
423
423
|
color: rgba(0, 120, 212, 0.87);
|
|
424
424
|
}
|
|
425
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today {
|
|
426
|
+
display: block;
|
|
427
|
+
}
|
|
428
|
+
.e-schedule.e-adaptive .e-schedule-toolbar .e-toolbar-items .e-toolbar-item.e-today .e-icon-today + .e-tbar-btn-text {
|
|
429
|
+
display: none;
|
|
430
|
+
}
|
|
425
431
|
.e-schedule.e-device .e-schedule-toolbar {
|
|
426
432
|
height: 54px;
|
|
427
433
|
min-height: 54px;
|
|
@@ -2047,7 +2053,8 @@
|
|
|
2047
2053
|
.e-schedule .e-virtual-scroll .e-content-table.e-virtual-relative {
|
|
2048
2054
|
position: relative;
|
|
2049
2055
|
}
|
|
2050
|
-
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition
|
|
2056
|
+
.e-schedule .e-virtual-scroll .e-content-wrap.e-transition,
|
|
2057
|
+
.e-schedule .e-virtual-scroll .e-resource-column-wrap.e-transition {
|
|
2051
2058
|
transition: all 1000ms linear;
|
|
2052
2059
|
}
|
|
2053
2060
|
.e-schedule.e-rtl .e-timeline-view .e-appointment .e-left-icon,
|