@progress/telerik-jquery-report-viewer 21.24.130 → 22.24.514

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.
Files changed (92) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/accessibility.js +218 -0
  3. package/dist/cjs/binder.js +172 -0
  4. package/dist/cjs/command.js +32 -0
  5. package/dist/cjs/commandSet.js +167 -0
  6. package/dist/cjs/controller.js +1207 -0
  7. package/dist/cjs/documentMapArea.js +168 -0
  8. package/dist/cjs/domUtils.js +50 -0
  9. package/dist/cjs/enums.js +52 -0
  10. package/dist/cjs/event-emitter.js +17 -0
  11. package/dist/cjs/events.js +23 -0
  12. package/dist/cjs/globalSettings.js +9 -0
  13. package/dist/cjs/history.js +131 -0
  14. package/dist/cjs/index.js +58 -0
  15. package/dist/cjs/jqueryThrottleDebounce.js +48 -0
  16. package/dist/cjs/kendo-jquery.js +4 -0
  17. package/dist/cjs/mainMenu.js +332 -0
  18. package/dist/cjs/mem-storage.js +44 -0
  19. package/dist/cjs/pagesArea.js +641 -0
  20. package/dist/cjs/parameterValidators.js +167 -0
  21. package/dist/cjs/parameters.js +921 -0
  22. package/dist/cjs/parametersArea.js +502 -0
  23. package/dist/cjs/perspectives.js +138 -0
  24. package/dist/cjs/print.js +166 -0
  25. package/dist/cjs/report-viewer/report-viewer-settings.js +138 -0
  26. package/dist/cjs/reportViewer.js +654 -0
  27. package/dist/cjs/scroll.js +537 -0
  28. package/dist/cjs/search.js +634 -0
  29. package/dist/cjs/sendEmail.js +435 -0
  30. package/dist/cjs/service-client-sentinel.js +52 -0
  31. package/dist/cjs/serviceClient.js +405 -0
  32. package/dist/cjs/sideMenu.js +225 -0
  33. package/dist/cjs/sr.js +164 -0
  34. package/dist/cjs/stringResources.js +11 -0
  35. package/dist/cjs/telerikReportViewer.kendo.js +60196 -0
  36. package/dist/cjs/telerikReportViewer.kendo.min.js +19776 -0
  37. package/dist/cjs/template-cache.js +39 -0
  38. package/dist/cjs/touch.js +86 -0
  39. package/dist/cjs/uiController.js +142 -0
  40. package/dist/cjs/uiFreezeCoordinator.js +281 -0
  41. package/dist/cjs/utils.js +492 -0
  42. package/dist/es/accessibility.js +214 -0
  43. package/dist/es/binder.js +168 -0
  44. package/dist/es/command.js +28 -0
  45. package/dist/es/commandSet.js +163 -0
  46. package/dist/es/controller.js +1203 -0
  47. package/dist/es/documentMapArea.js +164 -0
  48. package/dist/es/domUtils.js +43 -0
  49. package/dist/es/enums.js +41 -0
  50. package/dist/es/event-emitter.js +13 -0
  51. package/dist/es/events.js +19 -0
  52. package/dist/es/globalSettings.js +5 -0
  53. package/dist/es/history.js +127 -0
  54. package/dist/es/index.js +24 -0
  55. package/dist/es/jqueryThrottleDebounce.js +46 -0
  56. package/dist/es/kendo-jquery.js +1 -0
  57. package/dist/es/mainMenu.js +328 -0
  58. package/dist/es/mem-storage.js +40 -0
  59. package/dist/es/pagesArea.js +637 -0
  60. package/dist/es/parameterValidators.js +163 -0
  61. package/dist/es/parameters.js +916 -0
  62. package/dist/es/parametersArea.js +498 -0
  63. package/dist/es/perspectives.js +134 -0
  64. package/dist/es/print.js +162 -0
  65. package/dist/es/report-viewer/report-viewer-settings.js +134 -0
  66. package/dist/es/reportViewer.js +650 -0
  67. package/dist/es/scroll.js +533 -0
  68. package/dist/es/search.js +630 -0
  69. package/dist/es/sendEmail.js +431 -0
  70. package/dist/es/service-client-sentinel.js +48 -0
  71. package/dist/es/serviceClient.js +401 -0
  72. package/dist/es/sideMenu.js +221 -0
  73. package/dist/es/sr.js +162 -0
  74. package/dist/es/stringResources.js +7 -0
  75. package/dist/es/telerikReportViewer.kendo.js +60194 -0
  76. package/dist/es/telerikReportViewer.kendo.min.js +19774 -0
  77. package/dist/es/template-cache.js +35 -0
  78. package/dist/es/touch.js +82 -0
  79. package/dist/es/uiController.js +138 -0
  80. package/dist/es/uiFreezeCoordinator.js +277 -0
  81. package/dist/es/utils.js +447 -0
  82. package/dist/font/font-icons.css +4 -4
  83. package/dist/font/font-icons.min.css +3 -3
  84. package/dist/js/telerikReportViewer.js +8574 -8249
  85. package/dist/js/telerikReportViewer.min.js +1 -17
  86. package/dist/js/telerikReportViewer.stringResources.js +166 -173
  87. package/dist/styles/telerikReportViewer.css +1 -1
  88. package/dist/styles/telerikReportViewer.min.css +1 -1
  89. package/dist/templates/telerikReportViewerTemplate-FA.html +3 -3
  90. package/dist/templates/telerikReportViewerTemplate.html +3 -3
  91. package/package.json +13 -7
  92. /package/dist/font/{ReportingIcons-18.0.24.130.ttf → ReportingIcons-18.1.24.514.ttf} +0 -0
@@ -0,0 +1,328 @@
1
+ import { each, tryParseInt, stringFormat, findElement } from './utils.js';
2
+ import { stringResources } from './stringResources.js';
3
+
4
+ var lastSelectedMenuItem;
5
+ var lastSelectedSubmenuItem;
6
+ function MainMenu(dom, rootOptions, otherOptions) {
7
+ var options = $.extend({}, rootOptions, otherOptions);
8
+ var menu = $(dom).data("kendoMenu");
9
+ var childrenL1 = dom.childNodes;
10
+ var controller = options.controller;
11
+ var enableAccessibility = options.enableAccessibility;
12
+ if (!controller) {
13
+ throw "No controller (telerikReporting.ReportViewerController) has been specified.";
14
+ }
15
+ if (!menu) {
16
+ init();
17
+ }
18
+ controller.reportLoadComplete(function(e, args) {
19
+ if (!enableAccessibility) {
20
+ if (menu && menu._oldHoverItem) {
21
+ menu._oldHoverItem.toggleClass("k-focus");
22
+ }
23
+ }
24
+ if (!args.renderingExtensions) {
25
+ controller.getDocumentFormats().then(fillFormats);
26
+ } else {
27
+ fillFormats(args.renderingExtensions);
28
+ }
29
+ });
30
+ function init() {
31
+ try {
32
+ menu = $(dom).kendoMenu().data("kendoMenu");
33
+ } catch (e) {
34
+ console.error("Instantiation of Kendo Menu as Main Menu threw an exception", e);
35
+ throw e;
36
+ }
37
+ menu.bind("activate", onSubmenuActivate);
38
+ menu.bind("deactivate", onSubmenuDeactivate);
39
+ menu.element.off("keydown", onMenuKeyDown);
40
+ menu.element.on("keydown", onMenuKeyDown);
41
+ if (options.enableAccessibility) {
42
+ setTabIndexes();
43
+ }
44
+ replaceStringResources();
45
+ }
46
+ function setTabIndexes() {
47
+ var $menus = $.find('[data-role="telerik_ReportViewer_MainMenu"]');
48
+ each($menus, function() {
49
+ var $menuArea = $(this);
50
+ var listItems = $menuArea.find("li");
51
+ var menuTabIndex = 0;
52
+ var tabIndexAttr = $menuArea.attr("tabIndex");
53
+ if (tabIndexAttr) {
54
+ menuTabIndex = tryParseInt(tabIndexAttr);
55
+ if (!menuTabIndex || isNaN(menuTabIndex)) {
56
+ menuTabIndex = 0;
57
+ }
58
+ }
59
+ setMenuItemsTabIndexes(listItems, menuTabIndex);
60
+ var pager = listItems.find('input[data-role="telerik_ReportViewer_PageNumberInput"]');
61
+ if (pager.length > 0) {
62
+ pager.attr("tabindex", menuTabIndex);
63
+ }
64
+ });
65
+ }
66
+ function setMenuItemsTabIndexes(listItems, menuTabIndex) {
67
+ each(listItems, function() {
68
+ var $item = $(this);
69
+ $item.attr("tabindex", menuTabIndex);
70
+ $item.focus(function() {
71
+ $item.addClass("k-focus");
72
+ });
73
+ $item.blur(function() {
74
+ $item.removeClass("k-focus");
75
+ });
76
+ var anchor = $item.children("a");
77
+ if (anchor.length > 0) {
78
+ var $anchor = $(anchor);
79
+ $anchor.attr("tabindex", -1);
80
+ $item.attr("title", $anchor.attr("title"));
81
+ }
82
+ $item.off("keydown");
83
+ $item.on("keydown", function(event) {
84
+ if (event.which == kendo.keys.ENTER) {
85
+ clickOnMenuItem($item);
86
+ lastSelectedMenuItem = $item;
87
+ }
88
+ });
89
+ });
90
+ }
91
+ function fillFormats(formats) {
92
+ each($(dom).find("ul[data-command-list=export-format-list]"), function() {
93
+ var $list = $(this);
94
+ var $parent = $list.parents("li");
95
+ var tabIndex = enableAccessibility ? $parent.attr("tabindex") : -1;
96
+ if (!tabIndex) {
97
+ tabIndex = 1;
98
+ }
99
+ $list.empty();
100
+ each(formats, function() {
101
+ var format = this;
102
+ var ariaLabel = enableAccessibility ? stringFormat('aria-label="{localizedName}" ', format) : " ";
103
+ var li = "<li " + ariaLabel + stringFormat('tabindex="' + tabIndex + '"><a tabindex="-1" href="#" data-command="telerik_ReportViewer_export" data-command-parameter="{name}"><span>{localizedName}</span></a></li>', format);
104
+ menu.append(li, $parent);
105
+ });
106
+ if (enableAccessibility) {
107
+ setInternalListAccessibilityKeyEvents($parent.find("li"));
108
+ }
109
+ });
110
+ }
111
+ function setInternalListAccessibilityKeyEvents(listItems) {
112
+ each(listItems, function() {
113
+ var $item = $(this);
114
+ $item.off("keydown");
115
+ $item.on("keydown", function(event) {
116
+ switch (event.which) {
117
+ case kendo.keys.ENTER:
118
+ clickOnMenuItem($item);
119
+ break;
120
+ case kendo.keys.UP:
121
+ var $prev = $item.prev();
122
+ if ($prev.length > 0) {
123
+ $prev.focus();
124
+ } else {
125
+ $item.parents("li").focus();
126
+ }
127
+ break;
128
+ case kendo.keys.DOWN:
129
+ var $next = $item.next();
130
+ if ($next.length > 0) {
131
+ $next.focus();
132
+ } else {
133
+ $item.parent().children("li").first().focus();
134
+ }
135
+ break;
136
+ }
137
+ });
138
+ });
139
+ }
140
+ function clickOnMenuItem(item) {
141
+ if (isItemExportContainer(item)) {
142
+ clickOnExportDropdown();
143
+ } else if (item && item.length > 0) {
144
+ var anchor = item.children("a");
145
+ if (anchor.length > 0) {
146
+ anchor.click();
147
+ }
148
+ }
149
+ }
150
+ function clickOnExportDropdown() {
151
+ var dropDownItemID = "#trv-main-menu-export-command";
152
+ var mainMenu = $("[data-role='telerik_ReportViewer_MainMenu']").data("kendoMenu");
153
+ mainMenu.open(dropDownItemID);
154
+ }
155
+ function onSubmenuActivate(e) {
156
+ var $item = $(e.item);
157
+ focusOnFirstSubmenuItem($item);
158
+ }
159
+ function onSubmenuDeactivate(e) {
160
+ lastSelectedSubmenuItem = void 0;
161
+ }
162
+ function focusOnFirstSubmenuItem(parentItem) {
163
+ if (lastSelectedMenuItem && lastSelectedMenuItem.is(parentItem)) {
164
+ window.setTimeout(function() {
165
+ var li = parentItem.find("li");
166
+ if (li.length > 0) {
167
+ li[0].focus();
168
+ }
169
+ }, 100);
170
+ }
171
+ }
172
+ function onMenuKeyDown(e) {
173
+ switch (e.which) {
174
+ case kendo.keys.ENTER:
175
+ if (!enableAccessibility) {
176
+ var $item = getFocusedItem();
177
+ if ($item.length > 0) {
178
+ if (isItemExportContainer($item) && lastSelectedSubmenuItem) {
179
+ $item = lastSelectedSubmenuItem;
180
+ }
181
+ clickOnMenuItem($item);
182
+ }
183
+ }
184
+ break;
185
+ case kendo.keys.RIGHT:
186
+ enableAccessibility ? focusNextItemAccessibilitySelection() : focusNextItemNativeMenuSelection();
187
+ break;
188
+ case kendo.keys.LEFT:
189
+ enableAccessibility ? focusPreviousItemAccessibilitySelection() : focusPreviousItemNativeMenuSelection();
190
+ break;
191
+ case kendo.keys.DOWN:
192
+ case kendo.keys.UP:
193
+ if (!enableAccessibility) {
194
+ lastSelectedSubmenuItem = getKendoFocusedNestedItem();
195
+ }
196
+ }
197
+ }
198
+ function getFocusedItem() {
199
+ var $item;
200
+ var focusedItem = document.activeElement;
201
+ if (focusedItem && focusedItem.localName == "li") {
202
+ var items = $(childrenL1).filter("li.k-item");
203
+ for (var i = 0; i < items.length; i++) {
204
+ var listItem = items[i];
205
+ if (focusedItem === listItem) {
206
+ $item = $(listItem);
207
+ break;
208
+ }
209
+ }
210
+ } else if (focusedItem && focusedItem.localName == "input") {
211
+ $item = $(focusedItem).closest("li.k-item");
212
+ } else {
213
+ $item = menu.element.children("li.k-item.k-focus");
214
+ if ($item.length === 0) {
215
+ $item = menu.element.children("li.k-item").first();
216
+ }
217
+ }
218
+ return $item;
219
+ }
220
+ function focusNextItemAccessibilitySelection() {
221
+ var $item = getFocusedItem();
222
+ if (!$item || !$item.length > 0) {
223
+ return;
224
+ }
225
+ var $next = $item.next();
226
+ if ($next.css("display") == "none") {
227
+ $next = $next.next();
228
+ }
229
+ if (!$next.length > 0) {
230
+ $next = $(childrenL1).filter("li.k-item").first();
231
+ }
232
+ $next.focus();
233
+ }
234
+ var lastKendoFocusedItem;
235
+ function focusNextItemNativeMenuSelection() {
236
+ var allItems = menu.element.children("li.k-item");
237
+ var $focused = allItems.filter(".k-focus");
238
+ if (kendo.version >= "2017.3.913") {
239
+ lastKendoFocusedItem = $focused;
240
+ return;
241
+ }
242
+ if ($focused.hasClass("k-disabled")) {
243
+ if (!lastKendoFocusedItem || $focused.is(lastKendoFocusedItem)) {
244
+ var $next = $focused.next();
245
+ if (!$next.length > 0) {
246
+ $next = allItems.first();
247
+ }
248
+ $focused.toggleClass("k-focus");
249
+ $next.toggleClass("k-focus");
250
+ lastKendoFocusedItem = $next;
251
+ menu._oldHoverItem = $next;
252
+ } else {
253
+ lastKendoFocusedItem = $focused;
254
+ }
255
+ } else {
256
+ menu._oldHoverItem = $focused;
257
+ lastKendoFocusedItem = $focused;
258
+ }
259
+ }
260
+ function focusPreviousItemAccessibilitySelection() {
261
+ var $item = getFocusedItem();
262
+ if (!$item || !$item.length > 0) {
263
+ return;
264
+ }
265
+ var $prev = $item.prev();
266
+ if ($prev.css("display") == "none") {
267
+ $prev = $prev.prev();
268
+ }
269
+ if (!$prev.length > 0) {
270
+ $prev = $(childrenL1).filter("li.k-item").last();
271
+ }
272
+ $prev.focus();
273
+ }
274
+ function focusPreviousItemNativeMenuSelection() {
275
+ var $focused = menu.element.children("li.k-item.k-focus");
276
+ lastKendoFocusedItem = $focused;
277
+ }
278
+ function getKendoFocusedNestedItem() {
279
+ var $focused = menu.element.find('li.k-item.k-focus [data-command="telerik_ReportViewer_export"]');
280
+ if ($focused.length === 1) {
281
+ return $focused.parent("li");
282
+ }
283
+ return void 0;
284
+ }
285
+ function isItemExportContainer(item) {
286
+ if (item.length === 0) {
287
+ return;
288
+ }
289
+ var id = item.attr("id");
290
+ return id == "trv-main-menu-export-command" || id == "trv-side-menu-export-command";
291
+ }
292
+ function replaceStringResources() {
293
+ var menuAreas = findMenuArea();
294
+ if (!menuAreas) {
295
+ return;
296
+ }
297
+ each(menuAreas, function() {
298
+ var $menu = $(this);
299
+ var menuItems = $menu.children("li.k-item");
300
+ $menu.attr("aria-label", stringResources[$menu.attr("aria-label")]);
301
+ each(menuItems, function() {
302
+ var $menuItem = $(this);
303
+ $menuItem.attr("aria-label", stringResources[$menuItem.attr("aria-label")]);
304
+ if (!$menuItem.hasClass("trv-report-pager")) {
305
+ var $a = $menuItem.find("a");
306
+ if ($a) {
307
+ $a.attr("title", stringResources[$a.attr("title")]);
308
+ }
309
+ } else {
310
+ $menuItem.attr("title", stringResources[$menuItem.attr("title")]);
311
+ }
312
+ });
313
+ });
314
+ }
315
+ function findMenuArea() {
316
+ return findElement("ul[data-role=telerik_ReportViewer_MainMenu]");
317
+ }
318
+ }
319
+ var pluginName = "telerik_ReportViewer_MainMenu";
320
+ $.fn[pluginName] = function(options, otherOptions) {
321
+ return each(this, function() {
322
+ if (!$.data(this, pluginName)) {
323
+ $.data(this, pluginName, new MainMenu(this, options, otherOptions));
324
+ }
325
+ });
326
+ };
327
+
328
+ export { MainMenu };
@@ -0,0 +1,40 @@
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 MemStorage {
8
+ // #endregion
9
+ // #region constructor
10
+ constructor() {
11
+ // #region fields
12
+ __publicField(this, "_data", {});
13
+ this._data = {};
14
+ }
15
+ // #endregion
16
+ // #region properties
17
+ get length() {
18
+ return Object.keys(this._data).length;
19
+ }
20
+ // #endregion
21
+ // #region methods
22
+ getItem(key) {
23
+ return this._data[key] || null;
24
+ }
25
+ setItem(key, value) {
26
+ this._data[key] = value;
27
+ }
28
+ removeItem(key) {
29
+ delete this._data[key];
30
+ }
31
+ key(index) {
32
+ return Object.keys(this._data)[index] || null;
33
+ }
34
+ clear() {
35
+ this._data = {};
36
+ }
37
+ // #endregion
38
+ }
39
+
40
+ export { MemStorage };