@progress/telerik-jquery-report-viewer 25.25.313 → 26.25.716

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 (103) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/accessibility.js +22 -64
  3. package/dist/cjs/aiPrompt.js +315 -0
  4. package/dist/cjs/base-component.js +8 -11
  5. package/dist/cjs/binder.js +12 -12
  6. package/dist/cjs/command.js +44 -25
  7. package/dist/cjs/commandSet.js +78 -53
  8. package/dist/cjs/components/button.js +41 -0
  9. package/dist/cjs/components/toggle-button.js +47 -0
  10. package/dist/cjs/constants.js +22 -0
  11. package/dist/cjs/documentMapArea.js +114 -93
  12. package/dist/cjs/event-emitter.js +2 -8
  13. package/dist/cjs/history.js +13 -12
  14. package/dist/cjs/index.js +4 -12
  15. package/dist/cjs/mainMenu.js +38 -28
  16. package/dist/cjs/mem-storage.js +7 -13
  17. package/dist/cjs/notificationService.js +128 -0
  18. package/dist/cjs/parameterValidators.js +26 -25
  19. package/dist/cjs/parameters.js +180 -161
  20. package/dist/cjs/parametersArea.js +309 -298
  21. package/dist/cjs/perspectives.js +23 -27
  22. package/dist/cjs/report-viewer/report-viewer-settings.js +4 -10
  23. package/dist/cjs/reportViewer.js +441 -190
  24. package/dist/cjs/search.js +218 -328
  25. package/dist/cjs/sendEmail.js +262 -267
  26. package/dist/cjs/service-client-sentinel.js +1 -1
  27. package/dist/cjs/sideMenu.js +20 -16
  28. package/dist/cjs/sr.js +11 -5
  29. package/dist/cjs/template-cache.js +2 -2
  30. package/dist/cjs/toolbar/button.js +18 -0
  31. package/dist/cjs/toolbar/link-button.js +6 -12
  32. package/dist/cjs/toolbar/page-count-label.js +1 -1
  33. package/dist/cjs/toolbar/page-number-input.js +16 -14
  34. package/dist/cjs/toolbar.js +203 -0
  35. package/dist/cjs/touch.js +8 -8
  36. package/dist/cjs/uiController.js +70 -57
  37. package/dist/cjs/utils.js +20 -207
  38. package/dist/font/font-icons.css +25 -222
  39. package/dist/font/font-icons.min.css +3 -3
  40. package/dist/js/telerikReportViewer.js +8196 -9110
  41. package/dist/js/telerikReportViewer.kendo.js +105616 -60642
  42. package/dist/js/telerikReportViewer.kendo.min.js +2 -2
  43. package/dist/js/telerikReportViewer.min.js +1 -1
  44. package/dist/js/telerikReportViewer.stringResources.js +11 -5
  45. package/dist/styles/telerikReportViewer.css +3 -3
  46. package/dist/styles/telerikReportViewer.min.css +3 -3
  47. package/dist/templates/telerikReportViewerTemplate.html +299 -238
  48. package/package.json +2 -3
  49. package/dist/cjs/controller.js +0 -1226
  50. package/dist/cjs/kendo-jquery.js +0 -4
  51. package/dist/cjs/pagesArea.js +0 -625
  52. package/dist/cjs/print.js +0 -165
  53. package/dist/cjs/scroll.js +0 -535
  54. package/dist/cjs/serviceClient.js +0 -311
  55. package/dist/cjs/telerikReportViewer.kendo.js +0 -60196
  56. package/dist/cjs/telerikReportViewer.kendo.min.js +0 -19776
  57. package/dist/cjs/uiFreezeCoordinator.js +0 -282
  58. package/dist/es/accessibility.js +0 -204
  59. package/dist/es/base-component.js +0 -22
  60. package/dist/es/binder.js +0 -75
  61. package/dist/es/command.js +0 -28
  62. package/dist/es/commandSet.js +0 -163
  63. package/dist/es/controller.js +0 -1222
  64. package/dist/es/documentMapArea.js +0 -161
  65. package/dist/es/domUtils.js +0 -43
  66. package/dist/es/enums.js +0 -41
  67. package/dist/es/event-emitter.js +0 -127
  68. package/dist/es/events.js +0 -20
  69. package/dist/es/globalSettings.js +0 -5
  70. package/dist/es/history.js +0 -131
  71. package/dist/es/index.js +0 -25
  72. package/dist/es/jqueryThrottleDebounce.js +0 -46
  73. package/dist/es/kendo-jquery.js +0 -1
  74. package/dist/es/mainMenu.js +0 -319
  75. package/dist/es/mem-storage.js +0 -40
  76. package/dist/es/pagesArea.js +0 -621
  77. package/dist/es/parameterValidators.js +0 -160
  78. package/dist/es/parameters.js +0 -916
  79. package/dist/es/parametersArea.js +0 -493
  80. package/dist/es/perspectives.js +0 -134
  81. package/dist/es/print.js +0 -161
  82. package/dist/es/report-viewer/report-viewer-settings.js +0 -134
  83. package/dist/es/reportViewer.js +0 -666
  84. package/dist/es/scroll.js +0 -531
  85. package/dist/es/search.js +0 -580
  86. package/dist/es/sendEmail.js +0 -388
  87. package/dist/es/service-client-sentinel.js +0 -49
  88. package/dist/es/serviceClient.js +0 -307
  89. package/dist/es/sideMenu.js +0 -212
  90. package/dist/es/sr.js +0 -164
  91. package/dist/es/stringResources.js +0 -7
  92. package/dist/es/telerikReportViewer.kendo.js +0 -60194
  93. package/dist/es/telerikReportViewer.kendo.min.js +0 -19774
  94. package/dist/es/template-cache.js +0 -35
  95. package/dist/es/toolbar/link-button.js +0 -38
  96. package/dist/es/toolbar/page-count-label.js +0 -14
  97. package/dist/es/toolbar/page-number-input.js +0 -60
  98. package/dist/es/touch.js +0 -82
  99. package/dist/es/uiController.js +0 -138
  100. package/dist/es/uiFreezeCoordinator.js +0 -278
  101. package/dist/es/utils.js +0 -444
  102. package/dist/templates/telerikReportViewerTemplate-FA.html +0 -317
  103. /package/dist/font/{ReportingIcons-19.0.25.313.ttf → ReportingIcons-19.1.25.716.ttf} +0 -0
@@ -7,135 +7,174 @@ var stringResources = require('./stringResources.js');
7
7
  var parameterValidators = require('./parameterValidators.js');
8
8
  var parameters = require('./parameters.js');
9
9
  var enums = require('./enums.js');
10
- var globalSettings = require('./globalSettings.js');
10
+ var eventEmitter = require('./event-emitter.js');
11
11
 
12
12
  var defaultOptions = {};
13
13
  var Events = {
14
14
  PARAMETERS_READY: "pa.parametersReady",
15
15
  ERROR: "pa.Error"
16
16
  };
17
- function ParametersArea(placeholder, options, otherOptions) {
18
- options = $.extend({}, defaultOptions, options, otherOptions);
19
- var parametersArea = {};
20
- var $parametersArea = $(parametersArea);
21
- var editors = {};
22
- var controller = options.controller;
23
- if (!controller) {
24
- throw "No controller (telerikReporting.reportViewerController) has been specified.";
25
- }
26
- var parameterEditors = parameters.ParameterEditors;
27
- if (options.parameterEditors && options.parameterEditors.length > 0) {
28
- parameterEditors = [].concat(options.parameterEditors, parameters.ParameterEditors);
29
- }
30
- var recentParameterValues;
31
- var parameters$1;
32
- var initialParameterValues;
33
- var processedParameterValues = void 0;
34
- var $placeholder = $(placeholder);
35
- var $content = $placeholder.find(".trv-parameters-area-content");
36
- var $errorMessage = $placeholder.find(".trv-error-message");
37
- var $previewButton = $placeholder.find(".trv-parameters-area-preview-button");
38
- $previewButton.text(stringResources.stringResources[$previewButton.text()]);
39
- $previewButton.attr("aria-label", stringResources.stringResources[$previewButton.attr("aria-label")]);
40
- $previewButton.on("click", function(e) {
41
- e.preventDefault();
42
- if (allParametersValid()) {
43
- applyParameters();
17
+ class ParametersArea {
18
+ // #region fields
19
+ options;
20
+ viewerOptions;
21
+ element;
22
+ $element;
23
+ eventEmitter;
24
+ controller;
25
+ notificationService;
26
+ parameters;
27
+ editors;
28
+ parameterEditors;
29
+ initialParameterValues;
30
+ recentParameterValues;
31
+ processedParameterValues;
32
+ _parametersContainer;
33
+ _parametersWrapper;
34
+ $errorMessage;
35
+ $previewButton;
36
+ parameterContainerTemplate;
37
+ parametersAreaVisible;
38
+ parametersAreaNecessary;
39
+ enableAccessibility;
40
+ loadingCount;
41
+ initialized;
42
+ // #endregion
43
+ // #region constructor
44
+ constructor(element, options, viewerOptions) {
45
+ this.options = $.extend({}, defaultOptions, options, viewerOptions);
46
+ this.element = element;
47
+ this.eventEmitter = new eventEmitter.EventEmitter();
48
+ this.editors = {};
49
+ this.controller = this.options.controller;
50
+ if (!this.controller) {
51
+ throw "No controller (telerikReporting.reportViewerController) has been specified.";
44
52
  }
45
- });
46
- var parameterContainerTemplate = options.templates["trv-parameter"];
47
- var parametersAreaVisible = options.parametersAreaVisible !== false;
48
- var enableAccessibility = options.enableAccessibility;
49
- init();
50
- function init() {
51
- replaceStringResources($placeholder);
52
- }
53
- function replaceStringResources($paramsArea) {
54
- var $previewButton2 = $paramsArea.find(".trv-parameters-area-preview-button");
55
- if (!$previewButton2) {
53
+ this.notificationService = options.notificationService;
54
+ if (!this.notificationService) {
55
+ throw "No notificationService (telerikReporting.NotificationService) has been specified.";
56
+ }
57
+ this.parameterEditors = parameters.ParameterEditors;
58
+ if (this.options.parameterEditors && this.options.parameterEditors.length > 0) {
59
+ this.parameterEditors = [].concat(this.options.parameterEditors, parameters.ParameterEditors);
60
+ }
61
+ this.recentParameterValues;
62
+ this.parameters;
63
+ this.initialParameterValues;
64
+ this.processedParameterValues = void 0;
65
+ this.$element = $(this.element);
66
+ this._parametersContainer = this.element?.querySelector(".trv-parameters-area-content");
67
+ this._parametersWrapper = this.element?.querySelector(".trv-parameters-wrapper");
68
+ this.$errorMessage = this.$element.find(".trv-error-message");
69
+ this.$previewButton = this.$element.find(".trv-parameters-area-preview-button");
70
+ this.$previewButton.text(stringResources.stringResources[this.$previewButton.text()]);
71
+ this.$previewButton.attr("aria-label", stringResources.stringResources[this.$previewButton.attr("aria-label")]);
72
+ this.$previewButton.on("click", (e) => {
73
+ e.preventDefault();
74
+ if (this.allParametersValid()) {
75
+ this.applyParameters();
76
+ }
77
+ });
78
+ this.parameterContainerTemplate = this.options.templates["trv-parameter"];
79
+ this.parametersAreaVisible = this.options.parametersAreaVisible !== false;
80
+ this.enableAccessibility = this.options.enableAccessibility;
81
+ this.loadingCount = 0;
82
+ this.parametersAreaNecessary = false;
83
+ this.initialized = false;
84
+ this.init();
85
+ }
86
+ // #endregion
87
+ // #region methods
88
+ init() {
89
+ if (this.initialized) {
56
90
  return;
57
91
  }
58
- $previewButton2.attr("aria-label", stringResources.stringResources[$previewButton2.attr("aria-label")]);
59
- $previewButton2.text(stringResources.stringResources[$previewButton2.text()]);
92
+ this._attachEvents();
93
+ this.replaceStringResources(this.$element);
60
94
  }
61
- function toggleElementDisplay(el, shouldHide) {
95
+ replaceStringResources($paramsArea) {
96
+ var $previewButton = $paramsArea.find(".trv-parameters-area-preview-button");
97
+ if (!$previewButton) {
98
+ return;
99
+ }
100
+ $previewButton.attr("aria-label", stringResources.stringResources[$previewButton.attr("aria-label")]);
101
+ $previewButton.text(stringResources.stringResources[$previewButton.text()]);
102
+ }
103
+ toggleElementDisplay(el, shouldHide) {
62
104
  el.style.display = shouldHide ? "none" : "";
63
105
  }
64
- function createParameterContainer() {
65
- return $(parameterContainerTemplate);
106
+ createParameterContainer() {
107
+ return $(this.parameterContainerTemplate);
66
108
  }
67
- function createParameterUI(parameter) {
68
- var $container = createParameterContainer();
109
+ createParameterUI(parameter) {
110
+ var $container = this.createParameterContainer();
69
111
  var $editorPlaceholder = $container.find(".trv-parameter-value");
70
112
  var $title = $container.find(".trv-parameter-title");
71
113
  var $error = $container.find(".trv-parameter-error");
72
- var $errorMessage2 = $container.find(".trv-parameter-error-message");
114
+ var $errorMessage = $container.find(".trv-parameter-error-message");
73
115
  var $useDefaultValueCheckbox = $container.find(".trv-parameter-use-default input");
74
- var editorsTypes = options.parameters && options.parameters.editors ? options.parameters.editors : null;
75
- var editorFactory = selectParameterEditorFactory(parameter, editorsTypes);
116
+ var editorsTypes = this.options.parameters && this.options.parameters.editors ? this.options.parameters.editors : null;
117
+ var editorFactory = this.selectParameterEditorFactory(parameter, editorsTypes);
76
118
  var parameterText = utils.escapeHtml(parameter.text);
77
119
  var isHiddenParameter = !parameter.isVisible;
78
120
  if (isHiddenParameter) {
79
121
  parameterText += " [<b>hidden</b>]";
80
122
  }
81
123
  $title.html(parameterText).attr("title", parameterText);
82
- $errorMessage2.text(parameter.Error);
124
+ $errorMessage.text(parameter.Error);
83
125
  (parameter.Error ? $.fn.show : $.fn.hide).call($error);
84
126
  var editor = editorFactory.createEditor(
85
127
  $editorPlaceholder,
86
128
  {
87
- templates: options.templates,
88
- parameterChanged: function(parameter2, newValue) {
129
+ templates: this.options.templates,
130
+ parameterChanged: (parameter2, newValue) => {
89
131
  var invalidParameterLI = document.querySelector(".trv-pages-area .trv-error-message ul li." + parameter2.name);
90
132
  try {
91
133
  newValue = parameterValidators.ParameterValidators.validate(parameter2, newValue);
92
134
  $error.hide();
93
135
  if (invalidParameterLI) {
94
- toggleElementDisplay(invalidParameterLI, true);
136
+ this.toggleElementDisplay(invalidParameterLI, true);
95
137
  }
96
- onParameterChanged(parameter2, newValue);
138
+ this.onParameterChanged(parameter2, newValue);
97
139
  } catch (error) {
98
140
  if (invalidParameterLI) {
99
- toggleElementDisplay(invalidParameterLI, false);
141
+ this.toggleElementDisplay(invalidParameterLI, false);
100
142
  }
101
143
  parameter2.Error = error;
102
144
  parameter2.value = [];
103
- $errorMessage2.text(error);
145
+ $errorMessage.text(error);
104
146
  $error.show();
105
- enablePreviewButton(false);
147
+ this.enablePreviewButton(false);
106
148
  } finally {
107
- setAccessibilityErrorState(parameter2);
149
+ this.setAccessibilityErrorState(parameter2);
108
150
  }
109
151
  },
110
- enableAccessibility
152
+ enableAccessibility: this.enableAccessibility
111
153
  }
112
154
  );
113
- editors[parameter.id] = editor;
155
+ this.editors[parameter.id] = editor;
114
156
  editor.beginEdit(parameter);
115
- if (enableAccessibility && !isHiddenParameter) {
157
+ if (this.enableAccessibility && !isHiddenParameter) {
116
158
  editor.addAccessibility(parameter);
117
159
  }
118
160
  if ($useDefaultValueCheckbox.length > 0) {
119
- $useDefaultValueCheckbox.on(
120
- "click",
121
- function() {
122
- var useDefaultValue = $(this).is(":checked");
123
- if (useDefaultValue) {
124
- delete recentParameterValues[parameter.id];
125
- delete initialParameterValues[parameter.id];
126
- invalidateChildParameters(parameter);
127
- updateParameters(onLoadParametersSuccess);
128
- } else {
129
- recentParameterValues[parameter.id] = parameter.value;
130
- initialParameterValues[parameter.id] = parameter.value;
131
- }
132
- editor.enable(!useDefaultValue);
133
- raiseParametersReady();
161
+ $useDefaultValueCheckbox.on("click", (event) => {
162
+ var useDefaultValue = $(event.currentTarget).is(":checked");
163
+ if (useDefaultValue) {
164
+ delete this.recentParameterValues[parameter.id];
165
+ delete this.initialParameterValues[parameter.id];
166
+ this.invalidateChildParameters(parameter);
167
+ this.updateParameters(this.onLoadParametersSuccess.bind(this));
168
+ } else {
169
+ this.recentParameterValues[parameter.id] = parameter.value;
170
+ this.initialParameterValues[parameter.id] = parameter.value;
134
171
  }
135
- );
136
- var hasInitialValues = initialParameterValues !== null;
172
+ editor.enable(!useDefaultValue);
173
+ this.trigger(Events.PARAMETERS_READY, this.recentParameterValues);
174
+ });
175
+ var hasInitialValues = this.initialParameterValues !== null;
137
176
  if (hasInitialValues) {
138
- if (!(parameter.id in initialParameterValues)) {
177
+ if (!(parameter.id in this.initialParameterValues)) {
139
178
  $useDefaultValueCheckbox.prop("checked", true);
140
179
  editor.enable(false);
141
180
  }
@@ -146,63 +185,66 @@ function ParametersArea(placeholder, options, otherOptions) {
146
185
  }
147
186
  return $container;
148
187
  }
149
- function setAccessibilityErrorState(parameter) {
150
- var editor = editors[parameter.id];
151
- if (!editor || !enableAccessibility) {
188
+ setAccessibilityErrorState(parameter) {
189
+ var editor = this.editors[parameter.id];
190
+ if (!editor || !this.enableAccessibility) {
152
191
  return;
153
192
  }
154
193
  editor.setAccessibilityErrorState(parameter);
155
194
  }
156
- function enablePreviewButton(enabled) {
195
+ enablePreviewButton(enabled) {
157
196
  if (enabled) {
158
- $previewButton.prop("disabled", false);
159
- $previewButton.removeClass("k-disabled");
197
+ this.$previewButton.prop("disabled", false);
198
+ this.$previewButton.removeClass("k-disabled");
160
199
  } else {
161
- $previewButton.prop("disabled", true);
162
- $previewButton.addClass("k-disabled");
200
+ this.$previewButton.prop("disabled", true);
201
+ this.$previewButton.addClass("k-disabled");
163
202
  }
164
203
  }
165
- function selectParameterEditorFactory(parameter, editorsType) {
166
- var factory = Array.from(parameterEditors).find((editor) => {
204
+ selectParameterEditorFactory(parameter, editorsType) {
205
+ var factory = Array.from(this.parameterEditors).find((editor) => {
167
206
  return editor.match(parameter, editorsType);
168
207
  });
169
208
  return factory;
170
209
  }
171
- function showError(error) {
172
- $errorMessage.text(error);
173
- (error ? $.fn.addClass : $.fn.removeClass).call($placeholder, "trv-error");
210
+ showError(error) {
211
+ this.$errorMessage.text(error);
212
+ (error ? $.fn.addClass : $.fn.removeClass).call(this.$element, "trv-error");
174
213
  }
175
- function showPreviewButton() {
176
- (allParametersAutoRefresh() && controller.isReportAutoRun() ? $.fn.removeClass : $.fn.addClass).call($placeholder, "preview");
214
+ showPreviewButton(parameters) {
215
+ (this.allParametersAutoRefresh(parameters) && this.controller.autoRunEnabled ? $.fn.removeClass : $.fn.addClass).call(this.$element, "preview");
177
216
  }
178
- function allParametersAutoRefresh() {
179
- var allAuto = Array.from(parameters$1).every((parameter) => {
217
+ allParametersAutoRefresh(parameters) {
218
+ if (!parameters) {
219
+ return true;
220
+ }
221
+ var allAuto = Array.from(parameters).every((parameter) => {
180
222
  return !parameter.isVisible || parameter.autoRefresh;
181
223
  });
182
224
  return allAuto;
183
225
  }
184
- function allParametersValid() {
185
- var allValid = Array.from(parameters$1).every((parameter) => {
226
+ allParametersValid() {
227
+ var allValid = Array.from(this.parameters).every((parameter) => {
186
228
  return !parameter.Error;
187
229
  });
188
230
  return allValid;
189
231
  }
190
- function clearEditors() {
191
- Object.entries(editors).forEach(([key, editor]) => {
232
+ clearEditors() {
233
+ Object.entries(this.editors).forEach(([key, editor]) => {
192
234
  if (typeof editor.destroy === "function") {
193
235
  editor.destroy();
194
236
  }
195
237
  });
196
- editors = {};
238
+ this.editors = {};
197
239
  }
198
- function fill(newParameters) {
199
- recentParameterValues = {};
200
- processedParameterValues = {};
201
- parameters$1 = newParameters || [];
202
- clearEditors();
240
+ fill(newParameters) {
241
+ this.recentParameterValues = {};
242
+ this.processedParameterValues = {};
243
+ this.parameters = newParameters || [];
244
+ this.clearEditors();
203
245
  var $parameterContainer;
204
246
  var $tempContainer = $("<div></div>");
205
- Array.from(parameters$1).forEach((parameter) => {
247
+ Array.from(this.parameters).forEach((parameter) => {
206
248
  try {
207
249
  parameter.value = parameterValidators.ParameterValidators.validate(parameter, parameter.value);
208
250
  } catch (e) {
@@ -211,126 +253,126 @@ function ParametersArea(placeholder, options, otherOptions) {
211
253
  var hasError = Boolean(parameter.Error);
212
254
  var hasValue = !hasError;
213
255
  if (hasValue) {
214
- recentParameterValues[parameter.id] = parameter.value;
256
+ this.recentParameterValues[parameter.id] = parameter.value;
215
257
  } else {
216
258
  parameter.Error = stringResources.stringResources.invalidParameter;
217
259
  }
218
260
  if (parameter.availableValues) {
219
- processedParameterValues[parameter.id] = { valueMember: parameter.value, displayMember: parameter.label, availableValues: parameter.availableValues, multivalue: parameter.multivalue };
261
+ this.processedParameterValues[parameter.id] = { valueMember: parameter.value, displayMember: parameter.label, availableValues: parameter.availableValues, multivalue: parameter.multivalue };
220
262
  } else {
221
- processedParameterValues[parameter.id] = parameter.value;
263
+ this.processedParameterValues[parameter.id] = parameter.value;
222
264
  }
223
- if (parameter.isVisible || options.showHiddenParameters) {
224
- $parameterContainer = createParameterUI(parameter);
265
+ if (parameter.isVisible || this.options.showHiddenParameters) {
266
+ $parameterContainer = this.createParameterUI(parameter);
225
267
  if ($parameterContainer) {
226
268
  $tempContainer.append($parameterContainer);
227
269
  }
228
270
  }
229
271
  });
230
- if (initialParameterValues !== void 0) {
231
- if (null === initialParameterValues) {
232
- initialParameterValues = {};
233
- Array.from(parameters$1).forEach((parameter) => {
272
+ if (this.initialParameterValues !== void 0) {
273
+ if (null === this.initialParameterValues) {
274
+ this.initialParameterValues = {};
275
+ Array.from(this.parameters).forEach((parameter) => {
234
276
  if (parameter.isVisible) {
235
- initialParameterValues[parameter.id] = parameter.value;
277
+ this.initialParameterValues[parameter.id] = parameter.value;
236
278
  } else {
237
- delete recentParameterValues[parameter.id];
279
+ delete this.recentParameterValues[parameter.id];
238
280
  }
239
281
  });
240
282
  } else {
241
- Array.from(parameters$1).forEach((parameter) => {
242
- if (!(parameter.id in initialParameterValues)) {
243
- delete recentParameterValues[parameter.id];
283
+ Array.from(this.parameters).forEach((parameter) => {
284
+ if (!(parameter.id in this.initialParameterValues)) {
285
+ delete this.recentParameterValues[parameter.id];
244
286
  }
245
287
  });
246
288
  }
247
289
  }
248
- $content.empty();
249
- if (parameters$1.length > 0) {
250
- $content.append($tempContainer.children());
251
- if (enableAccessibility) {
252
- $content.attr("aria-label", "Parameters area. Contains " + parameters$1.length + " parameters.");
290
+ if (this._parametersWrapper) {
291
+ kendo.destroy(this._parametersWrapper);
292
+ this._parametersWrapper.innerHTML = "";
293
+ if (this.parameters.length > 0) {
294
+ this._parametersWrapper.append(...$tempContainer.children().get());
295
+ if (this.enableAccessibility) {
296
+ this._parametersWrapper.setAttribute("aria-label", "Parameters area. Contains " + this.parameters.length + " parameters.");
297
+ }
253
298
  }
254
299
  }
255
- showPreviewButton();
256
- var allValid = allParametersValid();
257
- enablePreviewButton(allValid);
258
- applyProcessedParameters();
300
+ this.showPreviewButton(this.parameters);
301
+ var allValid = this.allParametersValid();
302
+ this.enablePreviewButton(allValid);
303
+ this.applyProcessedParameters();
259
304
  }
260
- function applyParameters() {
261
- controller.setParameters($.extend({}, recentParameterValues));
262
- controller.previewReport(false);
305
+ applyParameters() {
306
+ this.controller.setParameters($.extend({}, this.recentParameterValues));
307
+ this.controller.previewReport(false);
263
308
  }
264
- function applyProcessedParameters() {
265
- controller.setProcessedParameter($.extend({}, processedParameterValues));
309
+ applyProcessedParameters() {
310
+ this.controller.setProcessedParameterValues($.extend({}, this.processedParameterValues));
266
311
  }
267
- function allParametersValidForAutoRefresh() {
312
+ allParametersValidForAutoRefresh() {
268
313
  var triggerAutoUpdate = true;
269
- for (var i = parameters$1.length - 1; triggerAutoUpdate && i >= 0; i--) {
270
- var p = parameters$1[i];
271
- triggerAutoUpdate = p.id in recentParameterValues && (Boolean(p.autoRefresh) || !p.isVisible);
314
+ for (var i = this.parameters.length - 1; triggerAutoUpdate && i >= 0; i--) {
315
+ var p = this.parameters[i];
316
+ triggerAutoUpdate = p.id in this.recentParameterValues && (Boolean(p.autoRefresh) || !p.isVisible);
272
317
  }
273
318
  return triggerAutoUpdate;
274
319
  }
275
- function raiseParametersReady() {
276
- parametersArea.parametersReady(recentParameterValues);
277
- }
278
- function tryRefreshReport() {
279
- raiseParametersReady();
280
- if (allParametersValidForAutoRefresh()) {
281
- applyParameters();
320
+ tryRefreshReport() {
321
+ this.trigger(Events.PARAMETERS_READY, this.recentParameterValues);
322
+ if (this.allParametersValidForAutoRefresh() && this.controller.autoRunEnabled) {
323
+ this.applyParameters();
282
324
  }
283
325
  }
284
- function invalidateChildParameters(parameter) {
326
+ invalidateChildParameters(parameter) {
285
327
  if (parameter.childParameters) {
286
328
  Array.from(parameter.childParameters).forEach((parameterId) => {
287
- var childParameter = getParameterById(parameterId);
329
+ var childParameter = this.getParameterById(parameterId);
288
330
  if (childParameter) {
289
- invalidateChildParameters(childParameter);
331
+ this.invalidateChildParameters(childParameter);
290
332
  }
291
- delete recentParameterValues[parameterId];
292
- resetPendingParameterChange(parameterId);
333
+ delete this.recentParameterValues[parameterId];
334
+ this.resetPendingParameterChange(parameterId);
293
335
  });
294
336
  }
295
337
  }
296
- function resetPendingParameterChange(parameterId) {
297
- if (editors) {
298
- var editor = editors[parameterId];
338
+ resetPendingParameterChange(parameterId) {
339
+ if (this.editors) {
340
+ var editor = this.editors[parameterId];
299
341
  if (editor && typeof editor.clearPendingChange === "function") {
300
342
  editor.clearPendingChange();
301
343
  }
302
344
  }
303
345
  }
304
- function onParameterChanged(parameter, newValue) {
346
+ onParameterChanged(parameter, newValue) {
305
347
  delete parameter["Error"];
306
348
  parameter.value = newValue;
307
- recentParameterValues[parameter.id] = newValue;
308
- if (initialParameterValues !== void 0) {
309
- if (parameter.id in initialParameterValues) {
310
- recentParameterValues[parameter.id] = newValue;
349
+ this.recentParameterValues[parameter.id] = newValue;
350
+ if (this.initialParameterValues !== void 0) {
351
+ if (parameter.id in this.initialParameterValues) {
352
+ this.recentParameterValues[parameter.id] = newValue;
311
353
  }
312
354
  } else {
313
- recentParameterValues[parameter.id] = newValue;
355
+ this.recentParameterValues[parameter.id] = newValue;
314
356
  }
315
- invalidateChildParameters(parameter);
357
+ this.invalidateChildParameters(parameter);
316
358
  if (parameter.childParameters) {
317
- updateParameters(tryRefreshReport);
359
+ this.updateParameters(this.tryRefreshReport.bind(this));
318
360
  } else {
319
- var allValid = allParametersValid();
320
- enablePreviewButton(allValid);
361
+ var allValid = this.allParametersValid();
362
+ this.enablePreviewButton(allValid);
321
363
  if (allValid) {
322
364
  var errorMsg = document.querySelector(".trv-pages-area .trv-error-message");
323
- if ($previewButton.is(":visible") && errorMsg) {
365
+ if (this.$previewButton.is(":visible") && errorMsg) {
324
366
  errorMsg.textContent = stringResources.stringResources.tryReportPreview;
325
367
  }
326
- tryRefreshReport();
368
+ this.tryRefreshReport();
327
369
  }
328
370
  }
329
371
  }
330
- function getParameterById(parameterId) {
331
- if (parameters$1) {
332
- for (var i = 0; i < parameters$1.length; i++) {
333
- var p = parameters$1[i];
372
+ getParameterById(parameterId) {
373
+ if (this.parameters) {
374
+ for (var i = 0; i < this.parameters.length; i++) {
375
+ var p = this.parameters[i];
334
376
  if (p.id === parameterId) {
335
377
  return p;
336
378
  }
@@ -338,160 +380,129 @@ function ParametersArea(placeholder, options, otherOptions) {
338
380
  }
339
381
  return null;
340
382
  }
341
- function hasVisibleParameters(params) {
342
- if (!params || null === params) {
343
- return false;
344
- }
345
- var hasVisible = Array.from(params).some((parameter) => {
383
+ setParametersAreaVisibility(visible) {
384
+ this.controller.setParametersAreaVisible({ visible });
385
+ }
386
+ hasVisibleParameters(params) {
387
+ return (params || []).some((parameter) => {
346
388
  return parameter.isVisible;
347
389
  });
348
- return hasVisible;
349
390
  }
350
- var loadingCount = 0;
351
- function beginLoad() {
352
- loadingCount++;
353
- $placeholder.addClass("trv-loading");
391
+ beginLoad() {
392
+ this.loadingCount++;
393
+ this.$element.addClass("trv-loading");
354
394
  }
355
- function endLoad() {
356
- if (loadingCount > 0) {
357
- if (0 === --loadingCount) {
358
- $placeholder.removeClass("trv-loading");
395
+ endLoad() {
396
+ if (this.loadingCount > 0) {
397
+ if (0 === --this.loadingCount) {
398
+ this.$element.removeClass("trv-loading");
359
399
  }
360
400
  }
361
401
  }
362
- var parametersAreaNecessary = false;
363
- function onLoadParametersComplete(params, successAction) {
364
- showParametersAreaIfNecessary(params);
365
- fill(params);
366
- showError("");
367
- if (parametersAreaNecessary && parametersAreaVisible) {
368
- showParametersArea(true);
369
- if (enableAccessibility) {
370
- setSplitbarAccessibilityAttributes();
402
+ onLoadParametersComplete(params, successAction) {
403
+ this.showParametersAreaIfNecessary(params);
404
+ this.fill(params);
405
+ this.showError("");
406
+ if (this.parametersAreaNecessary && this.parametersAreaVisible) {
407
+ this.showParametersArea(true);
408
+ if (this.enableAccessibility) {
409
+ this.setSplitbarAccessibilityAttributes();
371
410
  }
372
411
  }
373
- controller.updateUIInternal();
412
+ this.notificationService.updateUIInternal();
374
413
  if (typeof successAction === "function") {
375
414
  successAction();
376
415
  }
377
- endLoad();
378
- }
379
- function showParametersAreaIfNecessary(params) {
380
- parametersAreaNecessary = hasVisibleParameters(params) || !controller.isReportAutoRun();
381
- showParametersArea(parametersAreaVisible && parametersAreaNecessary);
382
- }
383
- function updateParameters(successAction) {
384
- acceptParameters(controller.loadParameters(recentParameterValues), successAction);
385
- }
386
- function acceptParameters(controllerLoadParametersPromise, successAction) {
387
- beginLoad();
388
- controllerLoadParametersPromise.then(function(parameters2) {
389
- onLoadParametersComplete(parameters2, successAction);
390
- }).catch(function(error) {
391
- endLoad();
392
- clear();
393
- if (!$placeholder.hasClass("trv-hidden")) {
394
- showError(error);
416
+ this.endLoad();
417
+ }
418
+ showParametersAreaIfNecessary(params) {
419
+ this.parametersAreaNecessary = this.hasVisibleParameters(params) || !this.controller.autoRunEnabled;
420
+ this.showParametersArea(this.parametersAreaVisible && this.parametersAreaNecessary);
421
+ }
422
+ updateParameters(successAction) {
423
+ this.acceptParameters(this.controller.loadParameters(this.recentParameterValues), successAction);
424
+ }
425
+ acceptParameters(controllerLoadParametersPromise, successAction) {
426
+ this.beginLoad();
427
+ controllerLoadParametersPromise.then((parameters) => {
428
+ this.onLoadParametersComplete(parameters, successAction);
429
+ }).catch((error) => {
430
+ this.endLoad();
431
+ this.clear();
432
+ if (!this.$element.hasClass("k-hidden")) {
433
+ this.showError(error);
395
434
  }
396
- parametersArea.error(error);
435
+ this.trigger(Events.ERROR, error);
397
436
  });
398
437
  }
399
- function getEventHandlerFromArguments(args) {
400
- var arg0;
401
- if (args && args.length) {
402
- arg0 = args[0];
438
+ onLoadParametersSuccess() {
439
+ if (this.initialParameterValues === null) {
440
+ this.initialParameterValues = $.extend({}, this.recentParameterValues);
403
441
  }
404
- if (typeof arg0 === "function") {
405
- return arg0;
406
- }
407
- return null;
408
- }
409
- function eventFactory(event, args) {
410
- var h = getEventHandlerFromArguments(args);
411
- if (h) {
412
- $parametersArea.on(event, h);
413
- } else {
414
- $parametersArea.trigger(event, args);
415
- }
416
- return controller;
417
- }
418
- function onLoadParametersSuccess() {
419
- if (initialParameterValues === null) {
420
- initialParameterValues = $.extend({}, recentParameterValues);
421
- }
422
- raiseParametersReady();
442
+ this.trigger(Events.PARAMETERS_READY, this.recentParameterValues);
423
443
  }
424
- function showParametersArea(show) {
425
- var splitter = globalSettings.GlobalSettings.viewerInstances.find((element) => element.id === options.viewerSelector + "-parameters-splitter");
444
+ showParametersArea(show) {
445
+ var splitter = $("#" + this.options.viewerSelector + "-parameters-splitter").getKendoSplitter();
426
446
  if (!splitter) {
427
447
  return;
428
448
  }
429
- var sibling = $placeholder.prev();
430
- if (options.parametersAreaPosition === enums.ParametersAreaPositions.TOP || options.parametersAreaPosition === enums.ParametersAreaPositions.LEFT) {
431
- sibling = $placeholder.next();
449
+ var sibling = this.$element.prev();
450
+ if (this.options.parametersAreaPosition === enums.ParametersAreaPositions.TOP || this.options.parametersAreaPosition === enums.ParametersAreaPositions.LEFT) {
451
+ sibling = this.$element.next();
432
452
  }
433
- (parametersAreaNecessary ? $.fn.removeClass : $.fn.addClass).call(sibling, "trv-hidden");
434
- splitter.instance.toggle(".trv-parameters-area", show);
435
- }
436
- function setSplitbarAccessibilityAttributes() {
437
- var splitbar = $placeholder.prev();
438
- var tabIndex = $placeholder.find(".trv-parameters-area-content").attr("tabIndex");
439
- if (options.parametersAreaPosition === enums.ParametersAreaPositions.TOP || options.parametersAreaPosition === enums.ParametersAreaPositions.LEFT) {
440
- splitbar = $placeholder.next();
453
+ (this.parametersAreaNecessary ? $.fn.removeClass : $.fn.addClass).call(sibling, "k-hidden");
454
+ splitter.toggle(".trv-parameters-area", show);
455
+ }
456
+ setSplitbarAccessibilityAttributes() {
457
+ var splitbar = this.$element.prev();
458
+ var tabIndex = this.$element.find(".trv-parameters-area-content").attr("tabIndex");
459
+ if (this.options.parametersAreaPosition === enums.ParametersAreaPositions.TOP || this.options.parametersAreaPosition === enums.ParametersAreaPositions.LEFT) {
460
+ splitbar = this.$element.next();
441
461
  }
442
462
  splitbar.attr("aria-label", stringResources.stringResources.ariaLabelParametersAreaSplitter);
443
463
  splitbar.attr("tabIndex", tabIndex);
444
464
  }
445
- function onReloadParameters(event, controllerLoadParametersPromise) {
446
- showError();
447
- $content.empty();
448
- acceptParameters(controllerLoadParametersPromise, onLoadParametersSuccess);
449
- }
450
- controller.reloadParameters(onReloadParameters).beforeLoadReport(function() {
451
- loadingCount = 0;
452
- beginLoad();
453
- }).reportLoadComplete(function() {
454
- showParametersAreaIfNecessary(parameters$1);
455
- showPreviewButton();
456
- }).error(endLoad).pageReady(endLoad);
457
- controller.getParametersAreaState(function(event, args) {
458
- var parametersAreaNecessary2 = false;
459
- if (parameters$1) {
460
- parametersAreaNecessary2 = hasVisibleParameters(parameters$1) || !controller.isReportAutoRun();
461
- }
462
- args.enabled = parametersAreaNecessary2;
463
- args.visible = parametersAreaVisible;
464
- }).setParametersAreaVisible(function(event, args) {
465
- parametersAreaVisible = args.visible;
466
- showParametersArea(args.visible && (hasVisibleParameters(parameters$1) || !controller.isReportAutoRun()));
467
- });
468
- function clear() {
469
- fill([]);
470
- }
471
- $.extend(
472
- parametersArea,
473
- {
474
- allParametersValid: function() {
475
- return allParametersValid();
476
- },
477
- clear: function() {
478
- clear();
479
- },
480
- error: function() {
481
- return eventFactory(Events.ERROR, arguments);
482
- },
483
- parametersReady: function() {
484
- return eventFactory(Events.PARAMETERS_READY, arguments);
485
- },
486
- fill: function(parameters2) {
487
- return fill(parameters2);
488
- },
489
- setParameters: function(parameterValues) {
490
- initialParameterValues = null === parameterValues ? null : $.extend({}, parameterValues);
465
+ _attachEvents() {
466
+ this.controller.on("reloadParameters", (controllerLoadParametersPromise) => {
467
+ this.showError();
468
+ kendo.destroy(this._parametersWrapper);
469
+ this._parametersWrapper.innerHTML = "";
470
+ this.acceptParameters(controllerLoadParametersPromise, this.onLoadParametersSuccess.bind(this));
471
+ }).onAsync("beforeLoadReport", async () => {
472
+ this.loadingCount = 0;
473
+ this.beginLoad();
474
+ }).onAsync("reportLoadComplete", async (reportInfo) => {
475
+ this.showParametersAreaIfNecessary(this.parameters);
476
+ this.showPreviewButton(this.parameters);
477
+ }).on("error", () => this.endLoad()).on("pageReady", () => this.endLoad());
478
+ this.notificationService.getParametersAreaState((event, args) => {
479
+ var parametersAreaNecessary = false;
480
+ if (this.parameters) {
481
+ parametersAreaNecessary = this.hasVisibleParameters(this.parameters) || !this.controller.autoRunEnabled;
491
482
  }
492
- }
493
- );
494
- return parametersArea;
483
+ args.enabled = parametersAreaNecessary;
484
+ args.visible = this.parametersAreaVisible;
485
+ }).setParametersAreaVisible((event, args) => {
486
+ this.parametersAreaVisible = args.visible;
487
+ this.showParametersArea(args.visible && (this.hasVisibleParameters(this.parameters) || !this.controller.autoRunEnabled));
488
+ });
489
+ }
490
+ clear() {
491
+ this.fill([]);
492
+ }
493
+ setParameters(parameterValues) {
494
+ this.initialParameterValues = null === parameterValues ? null : $.extend({}, parameterValues);
495
+ }
496
+ // #endregion
497
+ // #region events
498
+ on(type, handler) {
499
+ this.eventEmitter.on(type, handler);
500
+ return this;
501
+ }
502
+ trigger(type, ...args) {
503
+ return this.eventEmitter.trigger(type, ...args);
504
+ }
505
+ // #endregion
495
506
  }
496
507
 
497
508
  exports.ParametersArea = ParametersArea;