@progress/telerik-jquery-report-viewer 25.25.211 → 26.25.521
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cjs/accessibility.js +22 -64
- package/dist/cjs/aiPrompt.js +311 -0
- package/dist/cjs/base-component.js +8 -11
- package/dist/cjs/binder.js +12 -12
- package/dist/cjs/command.js +44 -25
- package/dist/cjs/commandSet.js +78 -53
- package/dist/cjs/components/button.js +41 -0
- package/dist/cjs/components/toggle-button.js +47 -0
- package/dist/cjs/constants.js +22 -0
- package/dist/cjs/documentMapArea.js +114 -93
- package/dist/cjs/event-emitter.js +2 -8
- package/dist/cjs/history.js +13 -12
- package/dist/cjs/index.js +4 -12
- package/dist/cjs/mainMenu.js +38 -28
- package/dist/cjs/mem-storage.js +7 -13
- package/dist/cjs/notificationService.js +128 -0
- package/dist/cjs/parameterValidators.js +26 -25
- package/dist/cjs/parameters.js +180 -161
- package/dist/cjs/parametersArea.js +306 -298
- package/dist/cjs/perspectives.js +23 -27
- package/dist/cjs/report-viewer/report-viewer-settings.js +4 -10
- package/dist/cjs/reportViewer.js +441 -190
- package/dist/cjs/search.js +218 -328
- package/dist/cjs/sendEmail.js +259 -264
- package/dist/cjs/service-client-sentinel.js +1 -1
- package/dist/cjs/sideMenu.js +20 -16
- package/dist/cjs/sr.js +9 -5
- package/dist/cjs/template-cache.js +2 -2
- package/dist/cjs/toolbar/button.js +18 -0
- package/dist/cjs/toolbar/link-button.js +6 -12
- package/dist/cjs/toolbar/page-count-label.js +1 -1
- package/dist/cjs/toolbar/page-number-input.js +16 -14
- package/dist/cjs/toolbar.js +186 -0
- package/dist/cjs/touch.js +8 -8
- package/dist/cjs/uiController.js +70 -57
- package/dist/cjs/utils.js +20 -207
- package/dist/font/font-icons.css +25 -222
- package/dist/font/font-icons.min.css +3 -3
- package/dist/js/telerikReportViewer.js +8173 -9110
- package/dist/js/telerikReportViewer.kendo.js +105616 -60642
- package/dist/js/telerikReportViewer.kendo.min.js +2 -2
- package/dist/js/telerikReportViewer.min.js +1 -1
- package/dist/js/telerikReportViewer.stringResources.js +9 -5
- package/dist/styles/telerikReportViewer.css +3 -3
- package/dist/styles/telerikReportViewer.min.css +3 -3
- package/dist/templates/telerikReportViewerTemplate.html +299 -238
- package/package.json +2 -3
- package/dist/cjs/controller.js +0 -1226
- package/dist/cjs/kendo-jquery.js +0 -4
- package/dist/cjs/pagesArea.js +0 -625
- package/dist/cjs/print.js +0 -165
- package/dist/cjs/scroll.js +0 -535
- package/dist/cjs/serviceClient.js +0 -311
- package/dist/cjs/telerikReportViewer.kendo.js +0 -60196
- package/dist/cjs/telerikReportViewer.kendo.min.js +0 -19776
- package/dist/cjs/uiFreezeCoordinator.js +0 -282
- package/dist/es/accessibility.js +0 -204
- package/dist/es/base-component.js +0 -22
- package/dist/es/binder.js +0 -75
- package/dist/es/command.js +0 -28
- package/dist/es/commandSet.js +0 -163
- package/dist/es/controller.js +0 -1222
- package/dist/es/documentMapArea.js +0 -161
- package/dist/es/domUtils.js +0 -43
- package/dist/es/enums.js +0 -41
- package/dist/es/event-emitter.js +0 -127
- package/dist/es/events.js +0 -20
- package/dist/es/globalSettings.js +0 -5
- package/dist/es/history.js +0 -131
- package/dist/es/index.js +0 -25
- package/dist/es/jqueryThrottleDebounce.js +0 -46
- package/dist/es/kendo-jquery.js +0 -1
- package/dist/es/mainMenu.js +0 -319
- package/dist/es/mem-storage.js +0 -40
- package/dist/es/pagesArea.js +0 -621
- package/dist/es/parameterValidators.js +0 -160
- package/dist/es/parameters.js +0 -916
- package/dist/es/parametersArea.js +0 -493
- package/dist/es/perspectives.js +0 -134
- package/dist/es/print.js +0 -161
- package/dist/es/report-viewer/report-viewer-settings.js +0 -134
- package/dist/es/reportViewer.js +0 -666
- package/dist/es/scroll.js +0 -531
- package/dist/es/search.js +0 -580
- package/dist/es/sendEmail.js +0 -388
- package/dist/es/service-client-sentinel.js +0 -49
- package/dist/es/serviceClient.js +0 -307
- package/dist/es/sideMenu.js +0 -212
- package/dist/es/sr.js +0 -164
- package/dist/es/stringResources.js +0 -7
- package/dist/es/telerikReportViewer.kendo.js +0 -60194
- package/dist/es/telerikReportViewer.kendo.min.js +0 -19774
- package/dist/es/template-cache.js +0 -35
- package/dist/es/toolbar/link-button.js +0 -38
- package/dist/es/toolbar/page-count-label.js +0 -14
- package/dist/es/toolbar/page-number-input.js +0 -60
- package/dist/es/touch.js +0 -82
- package/dist/es/uiController.js +0 -138
- package/dist/es/uiFreezeCoordinator.js +0 -278
- package/dist/es/utils.js +0 -444
- package/dist/templates/telerikReportViewerTemplate-FA.html +0 -317
- /package/dist/font/{ReportingIcons-19.0.25.211.ttf → ReportingIcons-19.1.25.521.ttf} +0 -0
@@ -1,282 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
var utils = require('./utils.js');
|
6
|
-
|
7
|
-
var UIFreezeCoordinator = {
|
8
|
-
$placeholder: null,
|
9
|
-
$scrollableContainer: null,
|
10
|
-
// Holds all items initial position per container
|
11
|
-
itemsInitialState: {},
|
12
|
-
// Holds the bounds of the frozen areas by X per container
|
13
|
-
xFrozenAreasBounds: {},
|
14
|
-
// Holds the bounds of the frozen areas by Y per container
|
15
|
-
yFrozenAreasBounds: {},
|
16
|
-
freezeMaxZIndex: {},
|
17
|
-
zIndex: 1,
|
18
|
-
// Holds default background-color value per container
|
19
|
-
freezeBGColor: {},
|
20
|
-
// Holds whether freezing has been applied per container.
|
21
|
-
currentlyFrozenContainer: {
|
22
|
-
vertical: {},
|
23
|
-
horizontal: {}
|
24
|
-
},
|
25
|
-
isInitialize: false,
|
26
|
-
scaleFactor: null,
|
27
|
-
/**
|
28
|
-
* Initialize the uiFreezeCoordinator object
|
29
|
-
* Takes one parameter
|
30
|
-
* - $placeholder - PageArea jQuery DOM element
|
31
|
-
*/
|
32
|
-
init: function($placeholder) {
|
33
|
-
this.$placeholder = $placeholder;
|
34
|
-
this.$scrollableContainer = $placeholder.find(".trv-page-container");
|
35
|
-
if (this.isInitialize) {
|
36
|
-
this.reset($placeholder);
|
37
|
-
}
|
38
|
-
this._attachToScrollEvent();
|
39
|
-
this.isInitialize = true;
|
40
|
-
},
|
41
|
-
reset: function($placeholder) {
|
42
|
-
this.$placeholder = $placeholder;
|
43
|
-
this.$scrollableContainer = $placeholder.find(".trv-page-container");
|
44
|
-
this.itemsInitialState = {};
|
45
|
-
this.xFrozenAreasBounds = {};
|
46
|
-
this.yFrozenAreasBounds = {};
|
47
|
-
this.currentlyfreezedContainer = {
|
48
|
-
vertical: {},
|
49
|
-
horizontal: {}
|
50
|
-
};
|
51
|
-
},
|
52
|
-
setScaleFactor: function(scale) {
|
53
|
-
this.scaleFactor = scale;
|
54
|
-
},
|
55
|
-
/**
|
56
|
-
* Initializing scroll listener
|
57
|
-
*/
|
58
|
-
_attachToScrollEvent: function() {
|
59
|
-
var thisInstance = this;
|
60
|
-
this.$scrollableContainer.scroll(function updateFreezeUIOnScroll() {
|
61
|
-
var $freezeItems = thisInstance.$scrollableContainer.find("div[data-sticky-id]");
|
62
|
-
if ($freezeItems.length) {
|
63
|
-
var tableIDs = $freezeItems.map(function(index2, $element) {
|
64
|
-
return $($element).attr("data-sticky-id");
|
65
|
-
}).get();
|
66
|
-
var uniqueIDs = tableIDs.filter(function(item, index2) {
|
67
|
-
return index2 === tableIDs.indexOf(item);
|
68
|
-
});
|
69
|
-
var scrollableContainerScrollTop = thisInstance.$scrollableContainer.scrollTop();
|
70
|
-
var scrollableContainerScrollLeft = thisInstance.$scrollableContainer.scrollLeft();
|
71
|
-
for (var index = 0; index < uniqueIDs.length; index++) {
|
72
|
-
var freezeItemsContainerID = uniqueIDs[index];
|
73
|
-
if (!thisInstance.itemsInitialState[freezeItemsContainerID]) {
|
74
|
-
thisInstance._saveFreezeItemsInitialState(freezeItemsContainerID);
|
75
|
-
}
|
76
|
-
thisInstance._updateFreezeItemsOnScroll(
|
77
|
-
freezeItemsContainerID,
|
78
|
-
scrollableContainerScrollTop,
|
79
|
-
scrollableContainerScrollLeft
|
80
|
-
);
|
81
|
-
}
|
82
|
-
}
|
83
|
-
});
|
84
|
-
},
|
85
|
-
_saveFreezeItemsInitialState: function(freezeItemsContainerID) {
|
86
|
-
var $allFreezeItems = $("[data-sticky-direction][data-sticky-id='" + freezeItemsContainerID + "']");
|
87
|
-
var $freezeActions = $("[data-reporting-action][data-sticky-id='" + freezeItemsContainerID + "']");
|
88
|
-
var yAreaBounds;
|
89
|
-
var xAreaBounds;
|
90
|
-
this.itemsInitialState[freezeItemsContainerID] = {};
|
91
|
-
this.freezeBGColor[freezeItemsContainerID] = $("[data-id='" + freezeItemsContainerID + "']").attr("data-sticky-bg-color");
|
92
|
-
for (var index = 0; index < $allFreezeItems.length; index++) {
|
93
|
-
var $item = $($allFreezeItems[index]);
|
94
|
-
var scrollDirection = $item.attr("data-sticky-direction");
|
95
|
-
var itemID = $item.attr("data-id");
|
96
|
-
var itemPosition = $item.position();
|
97
|
-
var scaledItemPosition = { top: itemPosition.top / this.scaleFactor, left: itemPosition.left / this.scaleFactor };
|
98
|
-
var itemBounds = utils.rectangle(scaledItemPosition.left, scaledItemPosition.top, $item.outerWidth(true) * this.scaleFactor, $item.outerHeight(true) * this.scaleFactor);
|
99
|
-
switch (scrollDirection) {
|
100
|
-
case "Vertical":
|
101
|
-
yAreaBounds = yAreaBounds ? yAreaBounds.union(itemBounds) : itemBounds;
|
102
|
-
break;
|
103
|
-
case "Horizontal":
|
104
|
-
xAreaBounds = xAreaBounds ? xAreaBounds.union(itemBounds) : itemBounds;
|
105
|
-
break;
|
106
|
-
}
|
107
|
-
this._saveFreezeItemInitialState(freezeItemsContainerID, $item, itemID, scaledItemPosition);
|
108
|
-
}
|
109
|
-
this.freezeMaxZIndex[freezeItemsContainerID] = $freezeActions.length ? $freezeActions.css("zIndex") : this.zIndex;
|
110
|
-
this.yFrozenAreasBounds[freezeItemsContainerID] = yAreaBounds;
|
111
|
-
this.xFrozenAreasBounds[freezeItemsContainerID] = xAreaBounds;
|
112
|
-
},
|
113
|
-
/**
|
114
|
-
* Save the freeze UI item initial position based on the wrapper element and current page
|
115
|
-
* - freezeItemsContainerID - string. A parent/wrapper element identifier
|
116
|
-
* - $item - JQuery DOM element of the freezed item
|
117
|
-
* - itemID - string. A ID of the freeze UI item
|
118
|
-
* - position - object. Contains the top and left values
|
119
|
-
*/
|
120
|
-
_saveFreezeItemInitialState: function(freezeItemsContainerID, $item, itemID, position) {
|
121
|
-
var itemBgColor = $item.css("background-color");
|
122
|
-
var hasInitialBgColor = this._hasSetBgColor(itemBgColor);
|
123
|
-
var itemState = {
|
124
|
-
top: position.top,
|
125
|
-
left: position.left,
|
126
|
-
zIndex: $item.css("zIndex"),
|
127
|
-
hasBgColor: hasInitialBgColor
|
128
|
-
};
|
129
|
-
this.itemsInitialState[freezeItemsContainerID][itemID] = itemState;
|
130
|
-
},
|
131
|
-
_updateFreezeItemsOnScroll: function(freezeItemsContainerID, scrollableContainerScrollTop, scrollableContainerScrollLeft) {
|
132
|
-
var $elementWrapper = $("div[data-id='" + freezeItemsContainerID + "']");
|
133
|
-
if (this._isInScrollVisibleArea($elementWrapper)) {
|
134
|
-
var $pageContainer = $elementWrapper.closest(".trv-report-page");
|
135
|
-
var pageContainerPosition = $pageContainer.position();
|
136
|
-
var pageContainerMargin = parseFloat($pageContainer.css("margin-top"));
|
137
|
-
var pageContainerTopOffset = parseFloat($pageContainer.css("padding-top"));
|
138
|
-
var pageContainerLeftOffset = parseFloat($pageContainer.css("padding-left"));
|
139
|
-
var pageContainerBorderTopWidth = parseFloat($pageContainer.css("border-top-width"));
|
140
|
-
var pageContainerBorderLeftWidth = parseFloat($pageContainer.css("border-left-width"));
|
141
|
-
var $rowHeaders = $("[data-sticky-direction*='Horizontal'][data-sticky-id='" + freezeItemsContainerID + "']");
|
142
|
-
var $colHeaders = $("[data-sticky-direction*='Vertical'][data-sticky-id='" + freezeItemsContainerID + "']");
|
143
|
-
var hasFixRow = $rowHeaders.length > 0;
|
144
|
-
var hasFixColumn = $colHeaders.length > 0;
|
145
|
-
var elementWrapperPosition = $elementWrapper.position();
|
146
|
-
var elementWrapperTopPosition = elementWrapperPosition.top + pageContainerPosition.top + pageContainerMargin + pageContainerTopOffset + pageContainerBorderTopWidth;
|
147
|
-
var elementWrapperLeftPosition = elementWrapperPosition.left + pageContainerLeftOffset + pageContainerBorderLeftWidth;
|
148
|
-
var verticalMoveOffset = scrollableContainerScrollTop - elementWrapperTopPosition;
|
149
|
-
var horizontalMoveOffset = scrollableContainerScrollLeft - elementWrapperLeftPosition;
|
150
|
-
if (hasFixColumn && verticalMoveOffset > 0) {
|
151
|
-
if (scrollableContainerScrollTop <= $elementWrapper.outerHeight() * this.scaleFactor + elementWrapperTopPosition - this.yFrozenAreasBounds[freezeItemsContainerID].height) {
|
152
|
-
this.currentlyFrozenContainer.vertical[freezeItemsContainerID] = true;
|
153
|
-
this._updateUIElementsPosition($colHeaders, "top", verticalMoveOffset / this.scaleFactor, freezeItemsContainerID);
|
154
|
-
}
|
155
|
-
} else {
|
156
|
-
if (this.currentlyFrozenContainer.vertical[freezeItemsContainerID]) {
|
157
|
-
delete this.currentlyFrozenContainer.vertical[freezeItemsContainerID];
|
158
|
-
this._updateUIElementsPosition($colHeaders, "top", -1, freezeItemsContainerID);
|
159
|
-
}
|
160
|
-
}
|
161
|
-
if (hasFixRow && horizontalMoveOffset > 0) {
|
162
|
-
if (scrollableContainerScrollLeft <= $elementWrapper.outerWidth() * this.scaleFactor + elementWrapperLeftPosition - this.xFrozenAreasBounds[freezeItemsContainerID].width) {
|
163
|
-
this.currentlyFrozenContainer.horizontal[freezeItemsContainerID] = true;
|
164
|
-
this._updateUIElementsPosition($rowHeaders, "left", horizontalMoveOffset / this.scaleFactor, freezeItemsContainerID);
|
165
|
-
}
|
166
|
-
} else {
|
167
|
-
if (this.currentlyFrozenContainer.horizontal[freezeItemsContainerID]) {
|
168
|
-
delete this.currentlyFrozenContainer.horizontal[freezeItemsContainerID];
|
169
|
-
this._updateUIElementsPosition($rowHeaders, "left", -1, freezeItemsContainerID);
|
170
|
-
}
|
171
|
-
}
|
172
|
-
} else {
|
173
|
-
if (this.currentlyFrozenContainer.horizontal[freezeItemsContainerID] || this.currentlyFrozenContainer.vertical[freezeItemsContainerID]) {
|
174
|
-
this._resetToDefaultPosition(freezeItemsContainerID);
|
175
|
-
}
|
176
|
-
}
|
177
|
-
},
|
178
|
-
/**
|
179
|
-
* Move all freeze items to their initial position
|
180
|
-
* Takes one parameters
|
181
|
-
* - freezeItemsContainerID - string. A parent/wrapper element identifier
|
182
|
-
*/
|
183
|
-
_resetToDefaultPosition: function(freezeItemsContainerID) {
|
184
|
-
var $rowHeaders = $("[data-sticky-direction*='Horizontal'][data-sticky-id='" + freezeItemsContainerID + "']");
|
185
|
-
var $colHeaders = $("[data-sticky-direction*='Vertical'][data-sticky-id='" + freezeItemsContainerID + "']");
|
186
|
-
this._updateUIElementsPosition($colHeaders, "top", -1, freezeItemsContainerID);
|
187
|
-
this._updateUIElementsPosition($rowHeaders, "left", -1, freezeItemsContainerID);
|
188
|
-
delete this.currentlyFrozenContainer.horizontal[freezeItemsContainerID];
|
189
|
-
delete this.currentlyFrozenContainer.vertical[freezeItemsContainerID];
|
190
|
-
},
|
191
|
-
/**
|
192
|
-
* Update the freeze elements position
|
193
|
-
* Takes four parameters
|
194
|
-
* - targetElements -Array. Collection of DOM element, that has a freeze attribute
|
195
|
-
* - position - string. Indicates which position property to be updated - top or left
|
196
|
-
* - offset - integer. The value of the increase that should be applied.
|
197
|
-
* If it is negative number, should not move the items and it should set their initial position
|
198
|
-
* - freezeItemsContainerID - string. A parent/wrapper element identifier
|
199
|
-
*/
|
200
|
-
_updateUIElementsPosition: function(targetElements, position, offset, freezeItemsContainerID) {
|
201
|
-
for (var index = 0; index < targetElements.length; index++) {
|
202
|
-
var $item = $(targetElements[index]);
|
203
|
-
var itemFreezeDirection = $item.attr("data-sticky-direction");
|
204
|
-
var isFrozenBothDirection = itemFreezeDirection.indexOf(",") > 0;
|
205
|
-
var itemID = $item.attr("data-id");
|
206
|
-
var itemInitialState = this.itemsInitialState[freezeItemsContainerID][itemID];
|
207
|
-
var itemNewPostion = itemInitialState[position];
|
208
|
-
var initialZIndex = itemInitialState["zIndex"];
|
209
|
-
var hasInitialBgColor = itemInitialState["hasBgColor"];
|
210
|
-
var zIndexValue = 1;
|
211
|
-
var maxZIndex = this.freezeMaxZIndex[freezeItemsContainerID] ? this.freezeMaxZIndex[freezeItemsContainerID] : zIndexValue;
|
212
|
-
if (isFrozenBothDirection) {
|
213
|
-
zIndexValue = initialZIndex !== "auto" ? initialZIndex : maxZIndex + 2;
|
214
|
-
} else {
|
215
|
-
zIndexValue = initialZIndex !== "auto" ? initialZIndex + 1 : maxZIndex;
|
216
|
-
}
|
217
|
-
var newStyleRules = {
|
218
|
-
"z-index": zIndexValue
|
219
|
-
};
|
220
|
-
if (offset >= 0) {
|
221
|
-
itemNewPostion = itemNewPostion + offset;
|
222
|
-
} else {
|
223
|
-
newStyleRules["z-index"] = initialZIndex;
|
224
|
-
}
|
225
|
-
if (!hasInitialBgColor) {
|
226
|
-
this._applyBgColorOnScroll($item, isFrozenBothDirection, hasInitialBgColor, offset >= 0, freezeItemsContainerID);
|
227
|
-
}
|
228
|
-
newStyleRules[position] = itemNewPostion + "px";
|
229
|
-
$item.css(newStyleRules);
|
230
|
-
}
|
231
|
-
},
|
232
|
-
// eslint-disable-next-line max-params
|
233
|
-
_applyBgColorOnScroll: function($item, isItemFrozenBothDirection, hasInitialBgColor, shouldApplyBGColor, freezeItemsContainerID) {
|
234
|
-
if ($item.is("img")) {
|
235
|
-
return true;
|
236
|
-
}
|
237
|
-
if (isItemFrozenBothDirection && this._isFrozen(freezeItemsContainerID) && !hasInitialBgColor) {
|
238
|
-
$item.css("background-color", this.freezeBGColor[freezeItemsContainerID]);
|
239
|
-
return true;
|
240
|
-
}
|
241
|
-
if (shouldApplyBGColor) {
|
242
|
-
$item.css("background-color", this.freezeBGColor[freezeItemsContainerID]);
|
243
|
-
} else {
|
244
|
-
$item.css("background-color", "initial");
|
245
|
-
}
|
246
|
-
},
|
247
|
-
_hasSetBgColor: function(bgColorValue) {
|
248
|
-
return utils.getColorAlphaValue(bgColorValue) > 0;
|
249
|
-
},
|
250
|
-
_isFrozen: function(freezeItemsContainerID) {
|
251
|
-
return this.currentlyFrozenContainer.horizontal[freezeItemsContainerID] || this.currentlyFrozenContainer.vertical[freezeItemsContainerID];
|
252
|
-
},
|
253
|
-
/**
|
254
|
-
* Checks if an UI element is in the visible part of the scrollable container
|
255
|
-
* Takes one parameters
|
256
|
-
* - $element - JQuery DOM element
|
257
|
-
*/
|
258
|
-
_isInScrollVisibleArea: function($element) {
|
259
|
-
var $page = $element.closest(".trv-report-page");
|
260
|
-
var elementPosition = $element.position();
|
261
|
-
return this._isVisibleVertically($element, $page, elementPosition) && this._isVisibleHorizontally($element, $page, elementPosition);
|
262
|
-
},
|
263
|
-
_isVisibleHorizontally: function($element, $page, elementPosition) {
|
264
|
-
var pageLeftOffset = parseFloat($page.css("padding-left"));
|
265
|
-
var scrollableContainerLeftScrollPosition = this.$scrollableContainer.scrollLeft();
|
266
|
-
var scrollableContainerWidth = this.$scrollableContainer.width();
|
267
|
-
var elementWidth = $element.outerWidth(true) * this.scaleFactor;
|
268
|
-
var elementLeftOffset = elementPosition.left + pageLeftOffset;
|
269
|
-
return elementLeftOffset > scrollableContainerLeftScrollPosition - elementWidth && elementLeftOffset < scrollableContainerLeftScrollPosition + elementWidth + scrollableContainerWidth;
|
270
|
-
},
|
271
|
-
_isVisibleVertically: function($element, $page, elementPosition) {
|
272
|
-
var pageTopOffset = parseFloat($page.css("padding-top"));
|
273
|
-
var pagePosition = $page.position();
|
274
|
-
var scrollableContainerTopScrollPosition = this.$scrollableContainer.scrollTop();
|
275
|
-
var scrollableContainerHeight = this.$scrollableContainer.height();
|
276
|
-
var elementHeight = $element.outerHeight(true) * this.scaleFactor;
|
277
|
-
var elementTopOffset = elementPosition.top + pageTopOffset + pagePosition.top;
|
278
|
-
return elementTopOffset > scrollableContainerTopScrollPosition - elementHeight && elementTopOffset < scrollableContainerTopScrollPosition + elementHeight + scrollableContainerHeight;
|
279
|
-
}
|
280
|
-
};
|
281
|
-
|
282
|
-
exports.UIFreezeCoordinator = UIFreezeCoordinator;
|
package/dist/es/accessibility.js
DELETED
@@ -1,204 +0,0 @@
|
|
1
|
-
import { stringFormat } from './utils.js';
|
2
|
-
import { stringResources } from './stringResources.js';
|
3
|
-
|
4
|
-
var defaultOptions = {};
|
5
|
-
function Accessibility(options) {
|
6
|
-
var controller;
|
7
|
-
var pageInitialized = false;
|
8
|
-
var areas;
|
9
|
-
var lastArea;
|
10
|
-
var keyMap = {
|
11
|
-
CONFIRM_KEY: 13,
|
12
|
-
// C
|
13
|
-
CONTENT_AREA_KEY: 67,
|
14
|
-
// D
|
15
|
-
DOCUMENT_MAP_AREA_KEY: 68,
|
16
|
-
// M
|
17
|
-
MENU_AREA_KEY: 77,
|
18
|
-
// P
|
19
|
-
PARAMETERS_AREA_KEY: 80
|
20
|
-
};
|
21
|
-
options = $.extend({}, defaultOptions, options);
|
22
|
-
controller = options.controller;
|
23
|
-
if (!controller) {
|
24
|
-
throw "No controller (telerikReporting.ReportViewerController) has been specified.";
|
25
|
-
}
|
26
|
-
controller.reportLoadComplete(function() {
|
27
|
-
setAccessibilityUI();
|
28
|
-
var content = findContentArea();
|
29
|
-
if (content.length > 0) {
|
30
|
-
content.focus();
|
31
|
-
}
|
32
|
-
}).pageReady(function(event, page) {
|
33
|
-
initPage(page);
|
34
|
-
pageInitialized = true;
|
35
|
-
}).error(function(e, message) {
|
36
|
-
focusOnErrorMessage();
|
37
|
-
window.setTimeout(setAccessibilityUI, 500);
|
38
|
-
});
|
39
|
-
controller.updateUI(function(e) {
|
40
|
-
if (pageInitialized) {
|
41
|
-
setPageSelector();
|
42
|
-
decorateMenuItems();
|
43
|
-
}
|
44
|
-
});
|
45
|
-
function setAccessibilityUI() {
|
46
|
-
if (!areas) {
|
47
|
-
initAreas();
|
48
|
-
$(document.body).off("keydown", processKeyDown);
|
49
|
-
$(document.body).on("keydown", processKeyDown);
|
50
|
-
}
|
51
|
-
}
|
52
|
-
function focusOnErrorMessage() {
|
53
|
-
var $errMsg = $("div.trv-pages-area div.trv-error-message");
|
54
|
-
if ($errMsg.length === 0) {
|
55
|
-
return;
|
56
|
-
}
|
57
|
-
$errMsg.attr("tabIndex", 0);
|
58
|
-
$errMsg.focus();
|
59
|
-
}
|
60
|
-
function initPage(page) {
|
61
|
-
if (!page) {
|
62
|
-
return;
|
63
|
-
}
|
64
|
-
setAccessibilityUI();
|
65
|
-
var area = areas[keyMap.CONTENT_AREA_KEY];
|
66
|
-
setContentAreaKeyDown(area);
|
67
|
-
}
|
68
|
-
function setPageSelector() {
|
69
|
-
var pagers = document.querySelectorAll(".trv-report-pager");
|
70
|
-
var pageNumber = controller.getCurrentPageNumber();
|
71
|
-
var pageCount = controller.getPageCount();
|
72
|
-
pagers.forEach((pager) => {
|
73
|
-
pager.setAttribute("aria-label", stringFormat(stringResources.ariaLabelPageNumberSelector, [pageNumber, pageCount]));
|
74
|
-
var pageInputs = pager.querySelectorAll("input[data-role=telerik_ReportViewer_PageNumberInput]");
|
75
|
-
pageInputs.forEach((input) => {
|
76
|
-
input.setAttribute("aria-label", stringResources.ariaLabelPageNumberEditor);
|
77
|
-
});
|
78
|
-
});
|
79
|
-
}
|
80
|
-
function initAreas() {
|
81
|
-
areas = {};
|
82
|
-
areas[keyMap.DOCUMENT_MAP_AREA_KEY] = findDocumentMapArea();
|
83
|
-
areas[keyMap.MENU_AREA_KEY] = findMenuArea();
|
84
|
-
areas[keyMap.CONTENT_AREA_KEY] = findContentArea();
|
85
|
-
var parametersArea = findParametersArea();
|
86
|
-
if (parametersArea) {
|
87
|
-
areas[keyMap.PARAMETERS_AREA_KEY] = parametersArea;
|
88
|
-
setParameterEditorsKeyDown(parametersArea);
|
89
|
-
}
|
90
|
-
}
|
91
|
-
function findContentArea() {
|
92
|
-
return $("div[data-role=telerik_ReportViewer_PagesArea]");
|
93
|
-
}
|
94
|
-
function findDocumentMapArea() {
|
95
|
-
return $("div[data-role=telerik_ReportViewer_DocumentMapArea] div[data-role=treeview]");
|
96
|
-
}
|
97
|
-
function findMenuArea() {
|
98
|
-
return $("ul[data-role=telerik_ReportViewer_MainMenu]");
|
99
|
-
}
|
100
|
-
function findParametersArea() {
|
101
|
-
return $("div[data-role=telerik_ReportViewer_ParametersArea] div.trv-parameters-area-content");
|
102
|
-
}
|
103
|
-
function processKeyDown(event) {
|
104
|
-
if (!areas) {
|
105
|
-
return;
|
106
|
-
}
|
107
|
-
if (!(event.altKey && event.ctrlKey)) {
|
108
|
-
return;
|
109
|
-
}
|
110
|
-
var currentArea = areas[event.which];
|
111
|
-
if (!currentArea) {
|
112
|
-
return;
|
113
|
-
}
|
114
|
-
if (!IsAreaContainerVisible(currentArea.parent())) {
|
115
|
-
return;
|
116
|
-
}
|
117
|
-
var className = "k-focus";
|
118
|
-
if (lastArea) {
|
119
|
-
lastArea.removeClass(className);
|
120
|
-
}
|
121
|
-
currentArea.addClass(className);
|
122
|
-
currentArea.focus();
|
123
|
-
lastArea = currentArea;
|
124
|
-
event.preventDefault();
|
125
|
-
}
|
126
|
-
function setParameterEditorsKeyDown(parametersAreaContent) {
|
127
|
-
if (parametersAreaContent.length === 0) {
|
128
|
-
return;
|
129
|
-
}
|
130
|
-
var $paramsArea = parametersAreaContent.parent("div[data-role=telerik_ReportViewer_ParametersArea]");
|
131
|
-
if (!IsAreaContainerVisible($paramsArea)) {
|
132
|
-
return;
|
133
|
-
}
|
134
|
-
Array.from(parametersAreaContent.children()).forEach((child) => {
|
135
|
-
$(child).on("keydown", (event) => {
|
136
|
-
if (event.which == keyMap.CONFIRM_KEY) {
|
137
|
-
var paramsButton = $paramsArea.find("button.trv-parameters-area-preview-button");
|
138
|
-
paramsButton.focus();
|
139
|
-
event.preventDefault();
|
140
|
-
}
|
141
|
-
});
|
142
|
-
});
|
143
|
-
}
|
144
|
-
function IsAreaContainerVisible(container) {
|
145
|
-
return container && !(container.hasClass("k-collapsed") || container.hasClass("trv-hidden"));
|
146
|
-
}
|
147
|
-
function setContentAreaKeyDown(contentArea) {
|
148
|
-
if (!contentArea) {
|
149
|
-
return;
|
150
|
-
}
|
151
|
-
var actions = contentArea.find("div [data-reporting-action]");
|
152
|
-
if (!actions.length > 0) {
|
153
|
-
return;
|
154
|
-
}
|
155
|
-
Array.from(actions).forEach((action) => {
|
156
|
-
var $action = $(action);
|
157
|
-
$action.on("keydown", (event) => {
|
158
|
-
if (event.which == keyMap.CONFIRM_KEY) {
|
159
|
-
$action.trigger("click");
|
160
|
-
}
|
161
|
-
});
|
162
|
-
});
|
163
|
-
}
|
164
|
-
function decorateMenuItems() {
|
165
|
-
var menuAreas = areas[keyMap.MENU_AREA_KEY];
|
166
|
-
if (!menuAreas) {
|
167
|
-
return;
|
168
|
-
}
|
169
|
-
Array.from(menuAreas).forEach((menu) => {
|
170
|
-
var $menu = $(menu);
|
171
|
-
var menuItems = $menu.children("li.k-item");
|
172
|
-
Array.from(menuItems).forEach((menuItem) => {
|
173
|
-
var $menuItem = $(menuItem);
|
174
|
-
if (!$menuItem.hasClass("trv-report-pager")) {
|
175
|
-
var ariaLabel = $menuItem.attr("aria-label");
|
176
|
-
var expandableSr = stringFormat(". {0}", [stringResources.ariaLabelExpandable]);
|
177
|
-
var expandable = $menuItem.find("ul").length > 0 && ariaLabel.indexOf(expandableSr) < 0 ? expandableSr : "";
|
178
|
-
var selectedSr = stringFormat(". {0}", [stringResources.ariaLabelSelected]);
|
179
|
-
var selected = $menuItem.hasClass("k-selected") && ariaLabel.indexOf(selectedSr) < 0 ? selectedSr : "";
|
180
|
-
var label = ariaLabel + expandable + selected;
|
181
|
-
$menuItem.attr("aria-label", label);
|
182
|
-
if ($menuItem.hasClass("k-disabled")) {
|
183
|
-
$menuItem.attr("aria-disabled", "true");
|
184
|
-
} else {
|
185
|
-
$menuItem.removeAttr("aria-disabled");
|
186
|
-
}
|
187
|
-
}
|
188
|
-
});
|
189
|
-
});
|
190
|
-
}
|
191
|
-
function setKeyMap(keyMapValues) {
|
192
|
-
keyMap = keyMapValues;
|
193
|
-
areas = void 0;
|
194
|
-
}
|
195
|
-
function getKeyMap() {
|
196
|
-
return keyMap;
|
197
|
-
}
|
198
|
-
return {
|
199
|
-
getKeyMap,
|
200
|
-
setKeyMap
|
201
|
-
};
|
202
|
-
}
|
203
|
-
|
204
|
-
export { Accessibility };
|
@@ -1,22 +0,0 @@
|
|
1
|
-
var __defProp = Object.defineProperty;
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
3
|
-
var __publicField = (obj, key, value) => {
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
|
-
return value;
|
6
|
-
};
|
7
|
-
class BaseComponent {
|
8
|
-
// #endregion
|
9
|
-
// #region constructor
|
10
|
-
constructor(element, options) {
|
11
|
-
// #region fields
|
12
|
-
__publicField(this, "element");
|
13
|
-
__publicField(this, "$element");
|
14
|
-
__publicField(this, "options");
|
15
|
-
this.element = element;
|
16
|
-
this.$element = $(element);
|
17
|
-
this.options = options;
|
18
|
-
}
|
19
|
-
// #endregion
|
20
|
-
}
|
21
|
-
|
22
|
-
export { BaseComponent };
|
package/dist/es/binder.js
DELETED
@@ -1,75 +0,0 @@
|
|
1
|
-
import { GlobalSettings } from './globalSettings.js';
|
2
|
-
|
3
|
-
class Binder {
|
4
|
-
static bind($element, ...args) {
|
5
|
-
const commands = args[0].commands;
|
6
|
-
const viewerOptions = args[1];
|
7
|
-
Binder.attachCommands($element, commands, viewerOptions);
|
8
|
-
var plugins = $element.find('[data-role^="telerik_ReportViewer_"]');
|
9
|
-
Array.from(plugins).forEach((element) => {
|
10
|
-
var $element2 = $(element);
|
11
|
-
var fn = $.fn[$element2.attr("data-role")];
|
12
|
-
if (typeof fn === "function") {
|
13
|
-
fn.apply($element2, args);
|
14
|
-
}
|
15
|
-
});
|
16
|
-
}
|
17
|
-
static attachCommands($element, commands, viewerOptions) {
|
18
|
-
var elementSelector = '[data-command^="telerik_ReportViewer_"]';
|
19
|
-
var customElementSelector = "[data-target-report-viewer]" + elementSelector;
|
20
|
-
$element.on("click", elementSelector, commandHandler);
|
21
|
-
if (!GlobalSettings.CommandHandlerAttached) {
|
22
|
-
$(document.body).on("click", customElementSelector, customCommandHandler);
|
23
|
-
GlobalSettings.CommandHandlerAttached = true;
|
24
|
-
}
|
25
|
-
Object.entries(commands).forEach(([key, command]) => {
|
26
|
-
attachCommand(key, command, viewerOptions, $element);
|
27
|
-
});
|
28
|
-
function commandHandler(event) {
|
29
|
-
var prefixedDataCommand = $(this).attr("data-command");
|
30
|
-
if (prefixedDataCommand) {
|
31
|
-
var dataCommand = prefixedDataCommand.substring("telerik_ReportViewer_".length);
|
32
|
-
var cmd = commands[dataCommand];
|
33
|
-
if (cmd && cmd.enabled()) {
|
34
|
-
cmd.exec($(this).attr("data-command-parameter"));
|
35
|
-
}
|
36
|
-
event.preventDefault();
|
37
|
-
}
|
38
|
-
}
|
39
|
-
function customCommandHandler(event) {
|
40
|
-
var $this = $(this);
|
41
|
-
var prefixedDataCommand = $this.attr("data-command");
|
42
|
-
var reportViewerTarget = $this.attr("data-target-report-viewer");
|
43
|
-
if (prefixedDataCommand && reportViewerTarget) {
|
44
|
-
var dataCommand = prefixedDataCommand.substring("telerik_ReportViewer_".length);
|
45
|
-
var reportViewer = $(reportViewerTarget).data("telerik_ReportViewer");
|
46
|
-
var cmd = reportViewer.commands[dataCommand];
|
47
|
-
if (cmd.enabled()) {
|
48
|
-
cmd.exec($(this).attr("data-command-parameter"));
|
49
|
-
}
|
50
|
-
event.preventDefault();
|
51
|
-
}
|
52
|
-
}
|
53
|
-
}
|
54
|
-
}
|
55
|
-
function attachCommand(dataCommand, cmd, viewerOptions, $element) {
|
56
|
-
if (cmd) {
|
57
|
-
var elementSelector = '[data-command="telerik_ReportViewer_' + dataCommand + '"]';
|
58
|
-
var customElementSelector = '[data-target-report-viewer="' + viewerOptions.selector + '"]' + elementSelector;
|
59
|
-
var $defaultElement = $element.find(elementSelector);
|
60
|
-
var $customElement = $(customElementSelector);
|
61
|
-
$(cmd).on("enabledChanged", function(event) {
|
62
|
-
(cmd.enabled() ? $.fn.removeClass : $.fn.addClass).call($defaultElement.parent("li"), "k-disabled");
|
63
|
-
(cmd.enabled() ? $.fn.removeClass : $.fn.addClass).call($customElement, viewerOptions.disabledButtonClass);
|
64
|
-
}).on("checkedChanged", function(event) {
|
65
|
-
var defaultTarget = $defaultElement.parent("li");
|
66
|
-
(cmd.checked() ? $.fn.addClass : $.fn.removeClass).call(defaultTarget, getSelectedClassName(defaultTarget));
|
67
|
-
(cmd.checked() ? $.fn.addClass : $.fn.removeClass).call($customElement, viewerOptions.checkedButtonClass);
|
68
|
-
});
|
69
|
-
}
|
70
|
-
}
|
71
|
-
function getSelectedClassName($element) {
|
72
|
-
return $element.hasClass("trv-menu-toggleable") ? "k-selected !k-bg-primary" : "k-selected";
|
73
|
-
}
|
74
|
-
|
75
|
-
export { Binder };
|
package/dist/es/command.js
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
function Command(execCallback) {
|
2
|
-
var enabledState = true;
|
3
|
-
var checkedState = false;
|
4
|
-
var cmd = {
|
5
|
-
enabled: function(state) {
|
6
|
-
if (arguments.length === 0) {
|
7
|
-
return enabledState;
|
8
|
-
}
|
9
|
-
var newState = Boolean(state);
|
10
|
-
enabledState = newState;
|
11
|
-
$(this).trigger("enabledChanged");
|
12
|
-
return cmd;
|
13
|
-
},
|
14
|
-
checked: function(state) {
|
15
|
-
if (arguments.length === 0) {
|
16
|
-
return checkedState;
|
17
|
-
}
|
18
|
-
var newState = Boolean(state);
|
19
|
-
checkedState = newState;
|
20
|
-
$(this).trigger("checkedChanged");
|
21
|
-
return cmd;
|
22
|
-
},
|
23
|
-
exec: execCallback
|
24
|
-
};
|
25
|
-
return cmd;
|
26
|
-
}
|
27
|
-
|
28
|
-
export { Command };
|