@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.
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 +311 -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 +306 -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 +259 -264
  26. package/dist/cjs/service-client-sentinel.js +1 -1
  27. package/dist/cjs/sideMenu.js +20 -16
  28. package/dist/cjs/sr.js +9 -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 +186 -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 +8173 -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 +9 -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.211.ttf → ReportingIcons-19.1.25.521.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 (options.parameterEditors && options.parameterEditors.length > 0) {
59
+ this.parameterEditors = [].concat(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,63 @@ 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
+ var allAuto = Array.from(parameters).every((parameter) => {
180
219
  return !parameter.isVisible || parameter.autoRefresh;
181
220
  });
182
221
  return allAuto;
183
222
  }
184
- function allParametersValid() {
185
- var allValid = Array.from(parameters$1).every((parameter) => {
223
+ allParametersValid() {
224
+ var allValid = Array.from(this.parameters).every((parameter) => {
186
225
  return !parameter.Error;
187
226
  });
188
227
  return allValid;
189
228
  }
190
- function clearEditors() {
191
- Object.entries(editors).forEach(([key, editor]) => {
229
+ clearEditors() {
230
+ Object.entries(this.editors).forEach(([key, editor]) => {
192
231
  if (typeof editor.destroy === "function") {
193
232
  editor.destroy();
194
233
  }
195
234
  });
196
- editors = {};
235
+ this.editors = {};
197
236
  }
198
- function fill(newParameters) {
199
- recentParameterValues = {};
200
- processedParameterValues = {};
201
- parameters$1 = newParameters || [];
202
- clearEditors();
237
+ fill(newParameters) {
238
+ this.recentParameterValues = {};
239
+ this.processedParameterValues = {};
240
+ this.parameters = newParameters || [];
241
+ this.clearEditors();
203
242
  var $parameterContainer;
204
243
  var $tempContainer = $("<div></div>");
205
- Array.from(parameters$1).forEach((parameter) => {
244
+ Array.from(this.parameters).forEach((parameter) => {
206
245
  try {
207
246
  parameter.value = parameterValidators.ParameterValidators.validate(parameter, parameter.value);
208
247
  } catch (e) {
@@ -211,126 +250,126 @@ function ParametersArea(placeholder, options, otherOptions) {
211
250
  var hasError = Boolean(parameter.Error);
212
251
  var hasValue = !hasError;
213
252
  if (hasValue) {
214
- recentParameterValues[parameter.id] = parameter.value;
253
+ this.recentParameterValues[parameter.id] = parameter.value;
215
254
  } else {
216
255
  parameter.Error = stringResources.stringResources.invalidParameter;
217
256
  }
218
257
  if (parameter.availableValues) {
219
- processedParameterValues[parameter.id] = { valueMember: parameter.value, displayMember: parameter.label, availableValues: parameter.availableValues, multivalue: parameter.multivalue };
258
+ this.processedParameterValues[parameter.id] = { valueMember: parameter.value, displayMember: parameter.label, availableValues: parameter.availableValues, multivalue: parameter.multivalue };
220
259
  } else {
221
- processedParameterValues[parameter.id] = parameter.value;
260
+ this.processedParameterValues[parameter.id] = parameter.value;
222
261
  }
223
- if (parameter.isVisible || options.showHiddenParameters) {
224
- $parameterContainer = createParameterUI(parameter);
262
+ if (parameter.isVisible || this.options.showHiddenParameters) {
263
+ $parameterContainer = this.createParameterUI(parameter);
225
264
  if ($parameterContainer) {
226
265
  $tempContainer.append($parameterContainer);
227
266
  }
228
267
  }
229
268
  });
230
- if (initialParameterValues !== void 0) {
231
- if (null === initialParameterValues) {
232
- initialParameterValues = {};
233
- Array.from(parameters$1).forEach((parameter) => {
269
+ if (this.initialParameterValues !== void 0) {
270
+ if (null === this.initialParameterValues) {
271
+ this.initialParameterValues = {};
272
+ Array.from(this.parameters).forEach((parameter) => {
234
273
  if (parameter.isVisible) {
235
- initialParameterValues[parameter.id] = parameter.value;
274
+ this.initialParameterValues[parameter.id] = parameter.value;
236
275
  } else {
237
- delete recentParameterValues[parameter.id];
276
+ delete this.recentParameterValues[parameter.id];
238
277
  }
239
278
  });
240
279
  } else {
241
- Array.from(parameters$1).forEach((parameter) => {
242
- if (!(parameter.id in initialParameterValues)) {
243
- delete recentParameterValues[parameter.id];
280
+ Array.from(this.parameters).forEach((parameter) => {
281
+ if (!(parameter.id in this.initialParameterValues)) {
282
+ delete this.recentParameterValues[parameter.id];
244
283
  }
245
284
  });
246
285
  }
247
286
  }
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.");
287
+ if (this._parametersWrapper) {
288
+ kendo.destroy(this._parametersWrapper);
289
+ this._parametersWrapper.innerHTML = "";
290
+ if (this.parameters.length > 0) {
291
+ this._parametersWrapper.append(...$tempContainer.children().get());
292
+ if (this.enableAccessibility) {
293
+ this._parametersWrapper.setAttribute("aria-label", "Parameters area. Contains " + this.parameters.length + " parameters.");
294
+ }
253
295
  }
254
296
  }
255
- showPreviewButton();
256
- var allValid = allParametersValid();
257
- enablePreviewButton(allValid);
258
- applyProcessedParameters();
297
+ this.showPreviewButton(this.parameters);
298
+ var allValid = this.allParametersValid();
299
+ this.enablePreviewButton(allValid);
300
+ this.applyProcessedParameters();
259
301
  }
260
- function applyParameters() {
261
- controller.setParameters($.extend({}, recentParameterValues));
262
- controller.previewReport(false);
302
+ applyParameters() {
303
+ this.controller.setParameters($.extend({}, this.recentParameterValues));
304
+ this.controller.previewReport(false);
263
305
  }
264
- function applyProcessedParameters() {
265
- controller.setProcessedParameter($.extend({}, processedParameterValues));
306
+ applyProcessedParameters() {
307
+ this.controller.setProcessedParameterValues($.extend({}, this.processedParameterValues));
266
308
  }
267
- function allParametersValidForAutoRefresh() {
309
+ allParametersValidForAutoRefresh() {
268
310
  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);
311
+ for (var i = this.parameters.length - 1; triggerAutoUpdate && i >= 0; i--) {
312
+ var p = this.parameters[i];
313
+ triggerAutoUpdate = p.id in this.recentParameterValues && (Boolean(p.autoRefresh) || !p.isVisible);
272
314
  }
273
315
  return triggerAutoUpdate;
274
316
  }
275
- function raiseParametersReady() {
276
- parametersArea.parametersReady(recentParameterValues);
277
- }
278
- function tryRefreshReport() {
279
- raiseParametersReady();
280
- if (allParametersValidForAutoRefresh()) {
281
- applyParameters();
317
+ tryRefreshReport() {
318
+ this.trigger(Events.PARAMETERS_READY, this.recentParameterValues);
319
+ if (this.allParametersValidForAutoRefresh() && this.controller.autoRunEnabled) {
320
+ this.applyParameters();
282
321
  }
283
322
  }
284
- function invalidateChildParameters(parameter) {
323
+ invalidateChildParameters(parameter) {
285
324
  if (parameter.childParameters) {
286
325
  Array.from(parameter.childParameters).forEach((parameterId) => {
287
- var childParameter = getParameterById(parameterId);
326
+ var childParameter = this.getParameterById(parameterId);
288
327
  if (childParameter) {
289
- invalidateChildParameters(childParameter);
328
+ this.invalidateChildParameters(childParameter);
290
329
  }
291
- delete recentParameterValues[parameterId];
292
- resetPendingParameterChange(parameterId);
330
+ delete this.recentParameterValues[parameterId];
331
+ this.resetPendingParameterChange(parameterId);
293
332
  });
294
333
  }
295
334
  }
296
- function resetPendingParameterChange(parameterId) {
297
- if (editors) {
298
- var editor = editors[parameterId];
335
+ resetPendingParameterChange(parameterId) {
336
+ if (this.editors) {
337
+ var editor = this.editors[parameterId];
299
338
  if (editor && typeof editor.clearPendingChange === "function") {
300
339
  editor.clearPendingChange();
301
340
  }
302
341
  }
303
342
  }
304
- function onParameterChanged(parameter, newValue) {
343
+ onParameterChanged(parameter, newValue) {
305
344
  delete parameter["Error"];
306
345
  parameter.value = newValue;
307
- recentParameterValues[parameter.id] = newValue;
308
- if (initialParameterValues !== void 0) {
309
- if (parameter.id in initialParameterValues) {
310
- recentParameterValues[parameter.id] = newValue;
346
+ this.recentParameterValues[parameter.id] = newValue;
347
+ if (this.initialParameterValues !== void 0) {
348
+ if (parameter.id in this.initialParameterValues) {
349
+ this.recentParameterValues[parameter.id] = newValue;
311
350
  }
312
351
  } else {
313
- recentParameterValues[parameter.id] = newValue;
352
+ this.recentParameterValues[parameter.id] = newValue;
314
353
  }
315
- invalidateChildParameters(parameter);
354
+ this.invalidateChildParameters(parameter);
316
355
  if (parameter.childParameters) {
317
- updateParameters(tryRefreshReport);
356
+ this.updateParameters(this.tryRefreshReport.bind(this));
318
357
  } else {
319
- var allValid = allParametersValid();
320
- enablePreviewButton(allValid);
358
+ var allValid = this.allParametersValid();
359
+ this.enablePreviewButton(allValid);
321
360
  if (allValid) {
322
361
  var errorMsg = document.querySelector(".trv-pages-area .trv-error-message");
323
- if ($previewButton.is(":visible") && errorMsg) {
362
+ if (this.$previewButton.is(":visible") && errorMsg) {
324
363
  errorMsg.textContent = stringResources.stringResources.tryReportPreview;
325
364
  }
326
- tryRefreshReport();
365
+ this.tryRefreshReport();
327
366
  }
328
367
  }
329
368
  }
330
- function getParameterById(parameterId) {
331
- if (parameters$1) {
332
- for (var i = 0; i < parameters$1.length; i++) {
333
- var p = parameters$1[i];
369
+ getParameterById(parameterId) {
370
+ if (this.parameters) {
371
+ for (var i = 0; i < this.parameters.length; i++) {
372
+ var p = this.parameters[i];
334
373
  if (p.id === parameterId) {
335
374
  return p;
336
375
  }
@@ -338,160 +377,129 @@ function ParametersArea(placeholder, options, otherOptions) {
338
377
  }
339
378
  return null;
340
379
  }
341
- function hasVisibleParameters(params) {
342
- if (!params || null === params) {
343
- return false;
344
- }
345
- var hasVisible = Array.from(params).some((parameter) => {
380
+ setParametersAreaVisibility(visible) {
381
+ this.controller.setParametersAreaVisible({ visible });
382
+ }
383
+ hasVisibleParameters(params) {
384
+ return (params || []).some((parameter) => {
346
385
  return parameter.isVisible;
347
386
  });
348
- return hasVisible;
349
387
  }
350
- var loadingCount = 0;
351
- function beginLoad() {
352
- loadingCount++;
353
- $placeholder.addClass("trv-loading");
388
+ beginLoad() {
389
+ this.loadingCount++;
390
+ this.$element.addClass("trv-loading");
354
391
  }
355
- function endLoad() {
356
- if (loadingCount > 0) {
357
- if (0 === --loadingCount) {
358
- $placeholder.removeClass("trv-loading");
392
+ endLoad() {
393
+ if (this.loadingCount > 0) {
394
+ if (0 === --this.loadingCount) {
395
+ this.$element.removeClass("trv-loading");
359
396
  }
360
397
  }
361
398
  }
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();
399
+ onLoadParametersComplete(params, successAction) {
400
+ this.showParametersAreaIfNecessary(params);
401
+ this.fill(params);
402
+ this.showError("");
403
+ if (this.parametersAreaNecessary && this.parametersAreaVisible) {
404
+ this.showParametersArea(true);
405
+ if (this.enableAccessibility) {
406
+ this.setSplitbarAccessibilityAttributes();
371
407
  }
372
408
  }
373
- controller.updateUIInternal();
409
+ this.notificationService.updateUIInternal();
374
410
  if (typeof successAction === "function") {
375
411
  successAction();
376
412
  }
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);
413
+ this.endLoad();
414
+ }
415
+ showParametersAreaIfNecessary(params) {
416
+ this.parametersAreaNecessary = this.hasVisibleParameters(params) || !this.controller.autoRunEnabled;
417
+ this.showParametersArea(this.parametersAreaVisible && this.parametersAreaNecessary);
418
+ }
419
+ updateParameters(successAction) {
420
+ this.acceptParameters(this.controller.loadParameters(this.recentParameterValues), successAction);
421
+ }
422
+ acceptParameters(controllerLoadParametersPromise, successAction) {
423
+ this.beginLoad();
424
+ controllerLoadParametersPromise.then((parameters) => {
425
+ this.onLoadParametersComplete(parameters, successAction);
426
+ }).catch((error) => {
427
+ this.endLoad();
428
+ this.clear();
429
+ if (!this.$element.hasClass("k-hidden")) {
430
+ this.showError(error);
395
431
  }
396
- parametersArea.error(error);
432
+ this.trigger(Events.ERROR, error);
397
433
  });
398
434
  }
399
- function getEventHandlerFromArguments(args) {
400
- var arg0;
401
- if (args && args.length) {
402
- arg0 = args[0];
403
- }
404
- if (typeof arg0 === "function") {
405
- return arg0;
435
+ onLoadParametersSuccess() {
436
+ if (this.initialParameterValues === null) {
437
+ this.initialParameterValues = $.extend({}, this.recentParameterValues);
406
438
  }
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;
439
+ this.trigger(Events.PARAMETERS_READY, this.recentParameterValues);
417
440
  }
418
- function onLoadParametersSuccess() {
419
- if (initialParameterValues === null) {
420
- initialParameterValues = $.extend({}, recentParameterValues);
421
- }
422
- raiseParametersReady();
423
- }
424
- function showParametersArea(show) {
425
- var splitter = globalSettings.GlobalSettings.viewerInstances.find((element) => element.id === options.viewerSelector + "-parameters-splitter");
441
+ showParametersArea(show) {
442
+ var splitter = $("#" + this.options.viewerSelector + "-parameters-splitter").getKendoSplitter();
426
443
  if (!splitter) {
427
444
  return;
428
445
  }
429
- var sibling = $placeholder.prev();
430
- if (options.parametersAreaPosition === enums.ParametersAreaPositions.TOP || options.parametersAreaPosition === enums.ParametersAreaPositions.LEFT) {
431
- sibling = $placeholder.next();
446
+ var sibling = this.$element.prev();
447
+ if (this.options.parametersAreaPosition === enums.ParametersAreaPositions.TOP || this.options.parametersAreaPosition === enums.ParametersAreaPositions.LEFT) {
448
+ sibling = this.$element.next();
432
449
  }
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();
450
+ (this.parametersAreaNecessary ? $.fn.removeClass : $.fn.addClass).call(sibling, "k-hidden");
451
+ splitter.toggle(".trv-parameters-area", show);
452
+ }
453
+ setSplitbarAccessibilityAttributes() {
454
+ var splitbar = this.$element.prev();
455
+ var tabIndex = this.$element.find(".trv-parameters-area-content").attr("tabIndex");
456
+ if (this.options.parametersAreaPosition === enums.ParametersAreaPositions.TOP || this.options.parametersAreaPosition === enums.ParametersAreaPositions.LEFT) {
457
+ splitbar = this.$element.next();
441
458
  }
442
459
  splitbar.attr("aria-label", stringResources.stringResources.ariaLabelParametersAreaSplitter);
443
460
  splitbar.attr("tabIndex", tabIndex);
444
461
  }
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);
462
+ _attachEvents() {
463
+ this.controller.on("reloadParameters", (controllerLoadParametersPromise) => {
464
+ this.showError();
465
+ kendo.destroy(this._parametersWrapper);
466
+ this._parametersWrapper.innerHTML = "";
467
+ this.acceptParameters(controllerLoadParametersPromise, this.onLoadParametersSuccess.bind(this));
468
+ }).onAsync("beforeLoadReport", async () => {
469
+ this.loadingCount = 0;
470
+ this.beginLoad();
471
+ }).onAsync("reportLoadComplete", async (reportInfo) => {
472
+ this.showParametersAreaIfNecessary(this.parameters);
473
+ this.showPreviewButton(this.parameters);
474
+ }).on("error", () => this.endLoad()).on("pageReady", () => this.endLoad());
475
+ this.notificationService.getParametersAreaState((event, args) => {
476
+ var parametersAreaNecessary = false;
477
+ if (this.parameters) {
478
+ parametersAreaNecessary = this.hasVisibleParameters(this.parameters) || !this.controller.autoRunEnabled;
491
479
  }
492
- }
493
- );
494
- return parametersArea;
480
+ args.enabled = parametersAreaNecessary;
481
+ args.visible = this.parametersAreaVisible;
482
+ }).setParametersAreaVisible((event, args) => {
483
+ this.parametersAreaVisible = args.visible;
484
+ this.showParametersArea(args.visible && (this.hasVisibleParameters(this.parameters) || !this.controller.autoRunEnabled));
485
+ });
486
+ }
487
+ clear() {
488
+ this.fill([]);
489
+ }
490
+ setParameters(parameterValues) {
491
+ this.initialParameterValues = null === parameterValues ? null : $.extend({}, parameterValues);
492
+ }
493
+ // #endregion
494
+ // #region events
495
+ on(type, handler) {
496
+ this.eventEmitter.on(type, handler);
497
+ return this;
498
+ }
499
+ trigger(type, ...args) {
500
+ return this.eventEmitter.trigger(type, ...args);
501
+ }
502
+ // #endregion
495
503
  }
496
504
 
497
505
  exports.ParametersArea = ParametersArea;