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

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 (64) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/accessibility.js +28 -38
  3. package/dist/cjs/base-component.js +26 -0
  4. package/dist/cjs/binder.js +45 -138
  5. package/dist/cjs/controller.js +25 -25
  6. package/dist/cjs/documentMapArea.js +4 -13
  7. package/dist/cjs/event-emitter.js +124 -10
  8. package/dist/cjs/index.js +2 -0
  9. package/dist/cjs/mainMenu.js +22 -31
  10. package/dist/cjs/pagesArea.js +8 -27
  11. package/dist/cjs/parameterValidators.js +4 -7
  12. package/dist/cjs/parameters.js +13 -13
  13. package/dist/cjs/parametersArea.js +36 -49
  14. package/dist/cjs/print.js +3 -4
  15. package/dist/cjs/reportViewer.js +38 -27
  16. package/dist/cjs/scroll.js +4 -6
  17. package/dist/cjs/search.js +327 -377
  18. package/dist/cjs/sendEmail.js +52 -95
  19. package/dist/cjs/serviceClient.js +163 -257
  20. package/dist/cjs/sideMenu.js +15 -24
  21. package/dist/cjs/sr.js +4 -4
  22. package/dist/cjs/template-cache.js +6 -6
  23. package/dist/cjs/toolbar/link-button.js +42 -0
  24. package/dist/cjs/toolbar/page-count-label.js +18 -0
  25. package/dist/cjs/toolbar/page-number-input.js +64 -0
  26. package/dist/cjs/uiFreezeCoordinator.js +17 -16
  27. package/dist/cjs/utils.js +11 -14
  28. package/dist/es/accessibility.js +29 -39
  29. package/dist/es/base-component.js +22 -0
  30. package/dist/es/binder.js +45 -138
  31. package/dist/es/controller.js +26 -26
  32. package/dist/es/documentMapArea.js +4 -13
  33. package/dist/es/event-emitter.js +124 -10
  34. package/dist/es/index.js +1 -0
  35. package/dist/es/mainMenu.js +23 -32
  36. package/dist/es/pagesArea.js +9 -28
  37. package/dist/es/parameterValidators.js +5 -8
  38. package/dist/es/parameters.js +14 -14
  39. package/dist/es/parametersArea.js +37 -50
  40. package/dist/es/print.js +4 -5
  41. package/dist/es/reportViewer.js +39 -28
  42. package/dist/es/scroll.js +4 -6
  43. package/dist/es/search.js +328 -378
  44. package/dist/es/sendEmail.js +52 -95
  45. package/dist/es/serviceClient.js +164 -258
  46. package/dist/es/sideMenu.js +16 -25
  47. package/dist/es/sr.js +4 -4
  48. package/dist/es/template-cache.js +7 -7
  49. package/dist/es/toolbar/link-button.js +38 -0
  50. package/dist/es/toolbar/page-count-label.js +14 -0
  51. package/dist/es/toolbar/page-number-input.js +60 -0
  52. package/dist/es/uiFreezeCoordinator.js +17 -16
  53. package/dist/es/utils.js +11 -14
  54. package/dist/font/font-icons.css +4 -4
  55. package/dist/font/font-icons.min.css +3 -3
  56. package/dist/js/telerikReportViewer.js +1080 -1190
  57. package/dist/js/telerikReportViewer.min.js +1 -1
  58. package/dist/js/telerikReportViewer.stringResources.js +4 -4
  59. package/dist/styles/telerikReportViewer.css +3 -3
  60. package/dist/styles/telerikReportViewer.min.css +3 -3
  61. package/dist/templates/telerikReportViewerTemplate-FA.html +4 -4
  62. package/dist/templates/telerikReportViewerTemplate.html +6 -6
  63. package/package.json +3 -2
  64. /package/dist/font/{ReportingIcons-18.1.24.514.ttf → ReportingIcons-18.2.24.806.ttf} +0 -0
package/dist/es/binder.js CHANGED
@@ -1,56 +1,54 @@
1
- import { each, tryParseInt, isSpecialKey } from './utils.js';
2
1
  import { GlobalSettings } from './globalSettings.js';
3
2
 
4
- var Binder = {
5
- bind: function($element) {
6
- var args = Array.prototype.slice.call(arguments, 1);
7
- attachCommands($element, args);
8
- var result = $element.find('[data-role^="telerik_ReportViewer_"]');
9
- each(result, function() {
10
- var $this = $(this);
11
- var f = $.fn[$this.attr("data-role")];
12
- if (typeof f === "function") {
13
- f.apply($this, args);
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
14
  }
15
15
  });
16
16
  }
17
- };
18
- function attachCommands($element, args) {
19
- var commands = args[0].commands;
20
- var viewerOptions = args[1];
21
- var elementSelector = '[data-command^="telerik_ReportViewer_"]';
22
- var customElementSelector = "[data-target-report-viewer]" + elementSelector;
23
- $element.on("click", elementSelector, commandHandler);
24
- if (!GlobalSettings.CommandHandlerAttached) {
25
- $(document.body).on("click", customElementSelector, customCommandHandler);
26
- GlobalSettings.CommandHandlerAttached = true;
27
- }
28
- each(commands, function(key, command) {
29
- attachCommand(key, command, viewerOptions, $element);
30
- });
31
- function commandHandler(e) {
32
- var prefixedDataCommand = $(this).attr("data-command");
33
- if (prefixedDataCommand) {
34
- var dataCommand = prefixedDataCommand.substring("telerik_ReportViewer_".length);
35
- var cmd = commands[dataCommand];
36
- if (cmd && cmd.enabled()) {
37
- cmd.exec($(this).attr("data-command-parameter"));
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();
38
37
  }
39
- e.preventDefault();
40
38
  }
41
- }
42
- function customCommandHandler(e) {
43
- var $this = $(this);
44
- var prefixedDataCommand = $this.attr("data-command");
45
- var reportViewerTarget = $this.attr("data-target-report-viewer");
46
- if (prefixedDataCommand && reportViewerTarget) {
47
- var dataCommand = prefixedDataCommand.substring("telerik_ReportViewer_".length);
48
- var reportViewer = $(reportViewerTarget).data("telerik_ReportViewer");
49
- var cmd = reportViewer.commands[dataCommand];
50
- if (cmd.enabled()) {
51
- cmd.exec($(this).attr("data-command-parameter"));
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();
52
51
  }
53
- e.preventDefault();
54
52
  }
55
53
  }
56
54
  }
@@ -60,10 +58,10 @@ function attachCommand(dataCommand, cmd, viewerOptions, $element) {
60
58
  var customElementSelector = '[data-target-report-viewer="' + viewerOptions.selector + '"]' + elementSelector;
61
59
  var $defaultElement = $element.find(elementSelector);
62
60
  var $customElement = $(customElementSelector);
63
- $(cmd).on("enabledChanged", function(e) {
61
+ $(cmd).on("enabledChanged", function(event) {
64
62
  (cmd.enabled() ? $.fn.removeClass : $.fn.addClass).call($defaultElement.parent("li"), "k-disabled");
65
63
  (cmd.enabled() ? $.fn.removeClass : $.fn.addClass).call($customElement, viewerOptions.disabledButtonClass);
66
- }).on("checkedChanged", function(e) {
64
+ }).on("checkedChanged", function(event) {
67
65
  var defaultTarget = $defaultElement.parent("li");
68
66
  (cmd.checked() ? $.fn.addClass : $.fn.removeClass).call(defaultTarget, getSelectedClassName(defaultTarget));
69
67
  (cmd.checked() ? $.fn.addClass : $.fn.removeClass).call($customElement, viewerOptions.checkedButtonClass);
@@ -73,96 +71,5 @@ function attachCommand(dataCommand, cmd, viewerOptions, $element) {
73
71
  function getSelectedClassName($element) {
74
72
  return $element.hasClass("trv-menu-toggleable") ? "k-selected !k-bg-primary" : "k-selected";
75
73
  }
76
- function LinkButton(dom, options) {
77
- var cmd;
78
- var $element = $(dom);
79
- var dataCommand = $element.attr("data-command");
80
- if (dataCommand) {
81
- cmd = options.commands[dataCommand];
82
- }
83
- if (cmd) {
84
- $element.click(function(e) {
85
- if (cmd.enabled()) {
86
- cmd.exec($(this).attr("data-command-parameter"));
87
- } else {
88
- e.preventDefault();
89
- }
90
- });
91
- $(cmd).on("enabledChanged", function(e) {
92
- (cmd.enabled() ? $.fn.removeClass : $.fn.addClass).call($element, "disabled");
93
- }).on("checkedChanged", function(e) {
94
- (cmd.checked() ? $.fn.addClass : $.fn.removeClass).call($element, "checked");
95
- });
96
- }
97
- }
98
- var linkButton_pluginName = "telerik_ReportViewer_LinkButton";
99
- $.fn[linkButton_pluginName] = function(options) {
100
- return each(this, function() {
101
- if (!$.data(this, linkButton_pluginName)) {
102
- $.data(this, linkButton_pluginName, new LinkButton(this, options));
103
- }
104
- });
105
- };
106
- function PageNumberInput(dom, options) {
107
- var $element = $(dom);
108
- var oldValue = 0;
109
- var cmd = options.commands["goToPage"];
110
- function setPageNumber(value) {
111
- if (oldValue !== value || !$element.is(":focus")) {
112
- $element.val(value);
113
- oldValue = value;
114
- }
115
- }
116
- options.controller.pageNumberChange(function(e, value) {
117
- setPageNumber(value);
118
- });
119
- $element.change(function() {
120
- var val = $(this).val();
121
- var num = tryParseInt(val);
122
- if (!isNaN(num)) {
123
- var result = cmd.exec(num);
124
- setPageNumber(result);
125
- }
126
- });
127
- $element.keydown(function(e) {
128
- if (e.which == 13) {
129
- $(this).change();
130
- return e.preventDefault();
131
- }
132
- });
133
- function validateValue(value) {
134
- return /^([0-9]+)$/.test(value);
135
- }
136
- $element.keypress(function(event) {
137
- if (isSpecialKey(event.keyCode)) {
138
- return true;
139
- }
140
- var newValue = $element.val() + String.fromCharCode(event.charCode);
141
- return validateValue(newValue);
142
- }).on("paste", function(event) {
143
- });
144
- }
145
- var pageNumberInput_pluginName = "telerik_ReportViewer_PageNumberInput";
146
- $.fn[pageNumberInput_pluginName] = function(options) {
147
- return each(this, function() {
148
- if (!$.data(this, pageNumberInput_pluginName)) {
149
- $.data(this, pageNumberInput_pluginName, new PageNumberInput(this, options));
150
- }
151
- });
152
- };
153
- function PageCountLabel(dom, options) {
154
- var $element = $(dom);
155
- options.controller.pageCountChange(function(e, value) {
156
- $element.text(value);
157
- });
158
- }
159
- var pageCountLabel_pluginName = "telerik_ReportViewer_PageCountLabel";
160
- $.fn[pageCountLabel_pluginName] = function(options) {
161
- return each(this, function() {
162
- if (!$.data(this, pageCountLabel_pluginName)) {
163
- $.data(this, pageCountLabel_pluginName, new PageCountLabel(this, options));
164
- }
165
- });
166
- };
167
74
 
168
75
  export { Binder };
@@ -1,4 +1,4 @@
1
- import { extend, tryParseInt, each, logError, isInvalidClientException, isInternalServerError, isApplicationException, getExceptionInstance, stringFormat, parseJSON, escapeHtml, isSystemArgumentException, exceptionTypeNamesMatch, isSvgSupported } from './utils.js';
1
+ import { tryParseInt, logError, isInvalidClientException, isInternalServerError, isApplicationException, getExceptionInstance, stringFormat, parseJSON, escapeHtml, isSystemArgumentException, exceptionTypeNamesMatch, isSvgSupported } from './utils.js';
2
2
  import { stringResources } from './stringResources.js';
3
3
  import { PrintManager } from './print.js';
4
4
  import { ParameterValidators } from './parameterValidators.js';
@@ -34,7 +34,7 @@ function ReportViewerController(options) {
34
34
  var eventEmitter = new EventEmitter();
35
35
  var serviceClientSentinel;
36
36
  clearReportState();
37
- options = extend({}, defaultOptions, options);
37
+ options = $.extend({}, defaultOptions, options);
38
38
  var settings = options.settings;
39
39
  if (typeof settings.getPrintMode === "function") {
40
40
  printMode = settings.getPrintMode();
@@ -173,18 +173,16 @@ function ReportViewerController(options) {
173
173
  return client.getDocumentInfo(clientId2, instanceId, documentId).catch(handleRequestError).then(function(info) {
174
174
  if (info && info.documentReady) {
175
175
  return info;
176
- } else {
177
- info["promise"] = new Promise(function(resolve, reject) {
178
- window.setTimeout(resolve, options2.documentInfoPollIntervalMs);
179
- }).then(function() {
180
- return getDocumentInfoRecursive(clientId2, instanceId, documentId, options2);
181
- });
182
- return info;
183
176
  }
177
+ info["promise"] = new Promise(function(resolve, reject) {
178
+ window.setTimeout(resolve, options2.documentInfoPollIntervalMs);
179
+ }).then(function() {
180
+ return getDocumentInfoRecursive(clientId2, instanceId, documentId, options2);
181
+ });
182
+ return info;
184
183
  });
185
- } else {
186
- return Promise.reject();
187
184
  }
185
+ return Promise.reject();
188
186
  }
189
187
  function ReportLoader(reportHost, useCache, baseDocumentId, actionId) {
190
188
  var loaderOptions = {};
@@ -542,7 +540,7 @@ function ReportViewerController(options) {
542
540
  if (typeof args[0] === "function") {
543
541
  eventEmitter.on(event, args[0]);
544
542
  } else {
545
- eventEmitter.trigger(event, args);
543
+ eventEmitter.trigger(event, ...args);
546
544
  }
547
545
  return controller;
548
546
  }
@@ -571,11 +569,10 @@ function ReportViewerController(options) {
571
569
  var node = nodes[i];
572
570
  if (node.id === id) {
573
571
  return node.page;
574
- } else {
575
- var page = getPageForBookmark(node.items, id);
576
- if (page) {
577
- return page;
578
- }
572
+ }
573
+ var page = getPageForBookmark(node.items, id);
574
+ if (page) {
575
+ return page;
579
576
  }
580
577
  }
581
578
  }
@@ -752,7 +749,7 @@ function ReportViewerController(options) {
752
749
  MISSING_OR_INVALID_PARAMETERS: "missingOrInvalidParameters",
753
750
  RENDERING_STOPPED: "renderingStopped"
754
751
  };
755
- extend(
752
+ $.extend(
756
753
  controller,
757
754
  {
758
755
  getPageData: function(pageNumber) {
@@ -767,7 +764,7 @@ function ReportViewerController(options) {
767
764
  }
768
765
  return {
769
766
  report,
770
- parameters: extend({}, parameterValues)
767
+ parameters: $.extend({}, parameterValues)
771
768
  };
772
769
  },
773
770
  setReportSource: function(rs) {
@@ -783,7 +780,7 @@ function ReportViewerController(options) {
783
780
  return this;
784
781
  },
785
782
  updateSettings: function(settings2) {
786
- options.settings = extend({}, settings2, options.settings);
783
+ options.settings = $.extend({}, settings2, options.settings);
787
784
  },
788
785
  clearReportSource: function() {
789
786
  report = parameterValues = null;
@@ -894,6 +891,9 @@ function ReportViewerController(options) {
894
891
  });
895
892
  },
896
893
  getReportParameters: function() {
894
+ if (!parameterValues) {
895
+ return [];
896
+ }
897
897
  var paramsToBeExposed = {};
898
898
  for (var key in processedParameterValues) {
899
899
  var processedParam = processedParameterValues[key];
@@ -925,13 +925,13 @@ function ReportViewerController(options) {
925
925
  var parameterValues2 = {};
926
926
  var invalidParameters = [];
927
927
  var hasError = false;
928
- each(parameters || [], function() {
928
+ Array.from(parameters || []).forEach((parameter) => {
929
929
  try {
930
- var value = parameterValidators.validate(this, this.value);
931
- parameterValues2[this.id] = value;
930
+ var value = parameterValidators.validate(parameter, parameter.value);
931
+ parameterValues2[parameter.id] = value;
932
932
  } catch (e) {
933
933
  hasError = true;
934
- invalidParameters.push(this);
934
+ invalidParameters.push(parameter);
935
935
  return;
936
936
  }
937
937
  });
@@ -1008,8 +1008,8 @@ function ReportViewerController(options) {
1008
1008
  eventEmitter.on(eventName, handler);
1009
1009
  return controller;
1010
1010
  },
1011
- trigger: function(eventName, args) {
1012
- eventEmitter.trigger(eventName, args);
1011
+ trigger: function(eventName, ...args) {
1012
+ eventEmitter.trigger(eventName, ...args);
1013
1013
  return controller;
1014
1014
  },
1015
1015
  showNotification: function(...args) {
@@ -1,4 +1,3 @@
1
- import { each } from './utils.js';
2
1
  import { stringResources } from './stringResources.js';
3
2
  import { DocumentMapAreaPositions } from './enums.js';
4
3
  import { GlobalSettings } from './globalSettings.js';
@@ -41,8 +40,8 @@ function DocumentMapArea(placeholder, options, otherOptions) {
41
40
  }
42
41
  function setNodeAccessibilityAttributes(node) {
43
42
  var $items = $(node).find("li");
44
- each($items, function() {
45
- var $li = $(this);
43
+ Array.from($items).forEach((item) => {
44
+ var $li = $(item);
46
45
  $li.attr("aria-label", $li[0].innerText);
47
46
  });
48
47
  }
@@ -74,8 +73,8 @@ function DocumentMapArea(placeholder, options, otherOptions) {
74
73
  treeView.bind("expand", onTreeViewNodeExpand);
75
74
  treeView.element.attr("aria-label", stringResources.ariaLabelDocumentMap);
76
75
  var listItems = treeView.element.find("ul");
77
- each(listItems, function() {
78
- setNodeAccessibilityAttributes(this);
76
+ Array.from(listItems).forEach((list) => {
77
+ setNodeAccessibilityAttributes(list);
79
78
  });
80
79
  if (documentMapNecessary) {
81
80
  setSplitbarAccessibilityAttributes();
@@ -152,13 +151,5 @@ function DocumentMapArea(placeholder, options, otherOptions) {
152
151
  $documentMapOverlay.attr("aria-label", stringResources[$documentMapOverlay.attr("aria-label")]);
153
152
  }
154
153
  }
155
- var pluginName = "telerik_ReportViewer_DocumentMapArea";
156
- $.fn[pluginName] = function(options, otherOptions) {
157
- return each(this, function() {
158
- if (!$.data(this, pluginName)) {
159
- $.data(this, pluginName, new DocumentMapArea(this, options, otherOptions));
160
- }
161
- });
162
- };
163
154
 
164
155
  export { DocumentMapArea };
@@ -1,13 +1,127 @@
1
- function EventEmitter() {
2
- var _emitter = $({});
3
- return {
4
- on: function(eventName, handler) {
5
- _emitter.on(eventName, handler);
6
- },
7
- trigger: function(eventName, ...args) {
8
- _emitter.trigger(eventName, ...args);
9
- }
10
- };
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 EventEmitter extends EventTarget {
8
+ constructor() {
9
+ super();
10
+ __publicField(this, "_events");
11
+ __publicField(this, "_eventsCount");
12
+ this._events = {};
13
+ this._eventsCount = 0;
14
+ }
15
+ /**
16
+ * @param {string} type
17
+ * @param {(event: CustomEvent, ...args: any[]) => void} listener
18
+ * @returns
19
+ */
20
+ addListener(type, listener) {
21
+ if (typeof listener !== "function") {
22
+ throw new TypeError("listener must be a function");
23
+ }
24
+ if (!this._events[type]) {
25
+ this._events[type] = [];
26
+ }
27
+ function wrappedListener(event) {
28
+ listener.call(this, event, ...event.detail);
29
+ }
30
+ wrappedListener.listener = listener;
31
+ this._events[type].push(wrappedListener);
32
+ this._eventsCount++;
33
+ this.addEventListener(type, wrappedListener.bind(this));
34
+ return this;
35
+ }
36
+ /**
37
+ * @alias addListener
38
+ * @param {string} type
39
+ * @param {(event: CustomEvent, ...args: any[]) => void} listener
40
+ * @returns
41
+ */
42
+ on(type, listener) {
43
+ return this.addListener(type, listener);
44
+ }
45
+ /**
46
+ * @param {string} type
47
+ * @param {any[]} args
48
+ * @returns
49
+ */
50
+ trigger(type, ...args) {
51
+ if (!this._events[type]) {
52
+ return void 0;
53
+ }
54
+ const event = new CustomEvent(type, {
55
+ detail: args,
56
+ cancelable: true
57
+ });
58
+ return this.dispatchEvent(event);
59
+ }
60
+ /**
61
+ * @alias trigger
62
+ * @param {string} type
63
+ * @param {any[]} args
64
+ * @returns
65
+ */
66
+ emit(type, ...args) {
67
+ return this.trigger(type, ...args);
68
+ }
69
+ /**
70
+ * @param {string} type
71
+ * @param {(event: CustomEvent, ...args: any[]) => void} listener
72
+ * @returns
73
+ */
74
+ removeListener(type, listener) {
75
+ if (!this._events[type]) {
76
+ return this;
77
+ }
78
+ this._events[type] = this._events[type].filter((wrappedListener) => {
79
+ if (wrappedListener.listener !== listener) {
80
+ return true;
81
+ }
82
+ this.removeEventListener(type, wrappedListener);
83
+ return false;
84
+ });
85
+ if (this._events[type].length === 0) {
86
+ delete this._events[type];
87
+ this._eventsCount--;
88
+ }
89
+ return this;
90
+ }
91
+ /**
92
+ * @param {string} type
93
+ * @returns
94
+ */
95
+ removeAllListeners(type) {
96
+ if (type === void 0) {
97
+ Object.keys(this._events).forEach((eventType) => {
98
+ this.removeAllListeners(eventType);
99
+ });
100
+ return this;
101
+ }
102
+ if (this._events[type]) {
103
+ this._events[type].forEach((wrappedListener) => {
104
+ this.removeEventListener(type, wrappedListener);
105
+ });
106
+ delete this._events[type];
107
+ this._eventsCount--;
108
+ }
109
+ return this;
110
+ }
111
+ /**
112
+ * @param {string} type
113
+ * @param {(event: CustomEvent, ...args: any[]) => void} listener
114
+ * @returns
115
+ */
116
+ off(type, listener) {
117
+ if (type === void 0) {
118
+ return this.removeAllListeners();
119
+ }
120
+ if (listener === void 0) {
121
+ return this.removeAllListeners(type);
122
+ }
123
+ return this.removeListener(type, listener);
124
+ }
11
125
  }
12
126
 
13
127
  export { EventEmitter };
package/dist/es/index.js CHANGED
@@ -22,3 +22,4 @@ import './sr.js';
22
22
  export { TouchBehavior } from './touch.js';
23
23
  export { UIController } from './uiController.js';
24
24
  export { UIFreezeCoordinator } from './uiFreezeCoordinator.js';
25
+ export { ParametersArea } from './parametersArea.js';
@@ -1,4 +1,4 @@
1
- import { each, tryParseInt, stringFormat, findElement } from './utils.js';
1
+ import { tryParseInt, stringFormat } from './utils.js';
2
2
  import { stringResources } from './stringResources.js';
3
3
 
4
4
  var lastSelectedMenuItem;
@@ -44,9 +44,9 @@ function MainMenu(dom, rootOptions, otherOptions) {
44
44
  replaceStringResources();
45
45
  }
46
46
  function setTabIndexes() {
47
- var $menus = $.find('[data-role="telerik_ReportViewer_MainMenu"]');
48
- each($menus, function() {
49
- var $menuArea = $(this);
47
+ var $menus = $('[data-role="telerik_ReportViewer_MainMenu"]');
48
+ Array.from($menus).forEach((menu2) => {
49
+ var $menuArea = $(menu2);
50
50
  var listItems = $menuArea.find("li");
51
51
  var menuTabIndex = 0;
52
52
  var tabIndexAttr = $menuArea.attr("tabIndex");
@@ -64,13 +64,13 @@ function MainMenu(dom, rootOptions, otherOptions) {
64
64
  });
65
65
  }
66
66
  function setMenuItemsTabIndexes(listItems, menuTabIndex) {
67
- each(listItems, function() {
68
- var $item = $(this);
67
+ Array.from(listItems).forEach((item) => {
68
+ var $item = $(item);
69
69
  $item.attr("tabindex", menuTabIndex);
70
- $item.focus(function() {
70
+ $item.on("focus", (event) => {
71
71
  $item.addClass("k-focus");
72
72
  });
73
- $item.blur(function() {
73
+ $item.on("blur", (event) => {
74
74
  $item.removeClass("k-focus");
75
75
  });
76
76
  var anchor = $item.children("a");
@@ -89,16 +89,15 @@ function MainMenu(dom, rootOptions, otherOptions) {
89
89
  });
90
90
  }
91
91
  function fillFormats(formats) {
92
- each($(dom).find("ul[data-command-list=export-format-list]"), function() {
93
- var $list = $(this);
92
+ Array.from($(dom).find("ul[data-command-list=export-format-list]")).forEach((list) => {
93
+ var $list = $(list);
94
94
  var $parent = $list.parents("li");
95
95
  var tabIndex = enableAccessibility ? $parent.attr("tabindex") : -1;
96
96
  if (!tabIndex) {
97
97
  tabIndex = 1;
98
98
  }
99
99
  $list.empty();
100
- each(formats, function() {
101
- var format = this;
100
+ Array.from(formats).forEach((format) => {
102
101
  var ariaLabel = enableAccessibility ? stringFormat('aria-label="{localizedName}" ', format) : " ";
103
102
  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
103
  menu.append(li, $parent);
@@ -109,10 +108,10 @@ function MainMenu(dom, rootOptions, otherOptions) {
109
108
  });
110
109
  }
111
110
  function setInternalListAccessibilityKeyEvents(listItems) {
112
- each(listItems, function() {
113
- var $item = $(this);
111
+ Array.from(listItems).forEach((item) => {
112
+ var $item = $(item);
114
113
  $item.off("keydown");
115
- $item.on("keydown", function(event) {
114
+ $item.on("keydown", (event) => {
116
115
  switch (event.which) {
117
116
  case kendo.keys.ENTER:
118
117
  clickOnMenuItem($item);
@@ -120,17 +119,17 @@ function MainMenu(dom, rootOptions, otherOptions) {
120
119
  case kendo.keys.UP:
121
120
  var $prev = $item.prev();
122
121
  if ($prev.length > 0) {
123
- $prev.focus();
122
+ $prev.trigger("focus");
124
123
  } else {
125
- $item.parents("li").focus();
124
+ $item.parents("li").trigger("focus");
126
125
  }
127
126
  break;
128
127
  case kendo.keys.DOWN:
129
128
  var $next = $item.next();
130
129
  if ($next.length > 0) {
131
- $next.focus();
130
+ $next.trigger("focus");
132
131
  } else {
133
- $item.parent().children("li").first().focus();
132
+ $item.parent().children("li").first().trigger("focus");
134
133
  }
135
134
  break;
136
135
  }
@@ -294,12 +293,12 @@ function MainMenu(dom, rootOptions, otherOptions) {
294
293
  if (!menuAreas) {
295
294
  return;
296
295
  }
297
- each(menuAreas, function() {
298
- var $menu = $(this);
296
+ Array.from(menuAreas).forEach((menu2) => {
297
+ var $menu = $(menu2);
299
298
  var menuItems = $menu.children("li.k-item");
300
299
  $menu.attr("aria-label", stringResources[$menu.attr("aria-label")]);
301
- each(menuItems, function() {
302
- var $menuItem = $(this);
300
+ Array.from(menuItems).forEach((menuItem) => {
301
+ var $menuItem = $(menuItem);
303
302
  $menuItem.attr("aria-label", stringResources[$menuItem.attr("aria-label")]);
304
303
  if (!$menuItem.hasClass("trv-report-pager")) {
305
304
  var $a = $menuItem.find("a");
@@ -313,16 +312,8 @@ function MainMenu(dom, rootOptions, otherOptions) {
313
312
  });
314
313
  }
315
314
  function findMenuArea() {
316
- return findElement("ul[data-role=telerik_ReportViewer_MainMenu]");
315
+ return $("ul[data-role=telerik_ReportViewer_MainMenu]");
317
316
  }
318
317
  }
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
318
 
328
319
  export { MainMenu };