@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
@@ -1,666 +0,0 @@
1
- import { rTrim, generateGuidString, isApplicationExceptionInstance, stringFormat, escapeHtml, logError, loadScript } from './utils.js';
2
- import { stringResources } from './stringResources.js';
3
- import { ServiceClient } from './serviceClient.js';
4
- import { ReportViewerController } from './controller.js';
5
- import { HistoryManager } from './history.js';
6
- import { Binder } from './binder.js';
7
- import { CommandSet } from './commandSet.js';
8
- import { UIController } from './uiController.js';
9
- import { Accessibility } from './accessibility.js';
10
- import { DocumentMapArea } from './documentMapArea.js';
11
- import { ParametersArea } from './parametersArea.js';
12
- import { PagesArea } from './pagesArea.js';
13
- import { MainMenu } from './mainMenu.js';
14
- import { Search } from './search.js';
15
- import { SendEmail } from './sendEmail.js';
16
- import { SideMenu } from './sideMenu.js';
17
- import { Events } from './events.js';
18
- import { PerspectiveManager } from './perspectives.js';
19
- import { ScaleModes, ViewModes, PageModes, ParametersAreaPositions, DocumentMapAreaPositions, ParameterEditorTypes } from './enums.js';
20
- import { GlobalSettings } from './globalSettings.js';
21
- import { MemStorage } from './mem-storage.js';
22
- import { TemplateCache } from './template-cache.js';
23
- import { ReportViewerSettings } from './report-viewer/report-viewer-settings.js';
24
- import { LinkButton } from './toolbar/link-button.js';
25
- import { PageNumberInput } from './toolbar/page-number-input.js';
26
- import { PageCountLabel } from './toolbar/page-count-label.js';
27
-
28
- const Instances = GlobalSettings.viewerInstances;
29
- function getDefaultOptions(serviceUrl, version) {
30
- return {
31
- id: null,
32
- serviceUrl: null,
33
- templateUrl: rTrim(serviceUrl, "\\/") + "/resources/templates/telerikReportViewerTemplate-" + version + ".html/",
34
- reportSource: null,
35
- reportServer: null,
36
- authenticationToken: null,
37
- sendEmail: null,
38
- scale: 1,
39
- scaleMode: ScaleModes.FIT_PAGE,
40
- viewMode: ViewModes.INTERACTIVE,
41
- pageMode: PageModes.CONTINUOUS_SCROLL,
42
- parametersAreaPosition: ParametersAreaPositions.RIGHT,
43
- documentMapAreaPosition: DocumentMapAreaPositions.LEFT,
44
- parameters: {
45
- editors: {
46
- multiSelect: ParameterEditorTypes.LIST_VIEW,
47
- singleSelect: ParameterEditorTypes.LIST_VIEW
48
- }
49
- },
50
- persistSession: false,
51
- parameterEditors: [],
52
- disabledButtonClass: null,
53
- checkedButtonClass: null,
54
- parametersAreaVisible: true,
55
- documentMapVisible: true,
56
- enableAccessibility: false,
57
- searchMetadataOnDemand: false,
58
- initialPageAreaImageUrl: null,
59
- keepClientAlive: true
60
- };
61
- }
62
- function ReportViewer(dom, options) {
63
- var svcApiUrl = options.serviceUrl;
64
- var reportServerUrlSVCApiUrl = "";
65
- if (options.reportServer) {
66
- reportServerUrlSVCApiUrl = rTrim(options.reportServer.url, "\\/");
67
- svcApiUrl = reportServerUrlSVCApiUrl + "/api/reports";
68
- }
69
- var $placeholder = $(dom);
70
- var templates = {};
71
- var persistanceKey = options.id || `trv_${dom.id}`;
72
- var accessibility;
73
- var settings = {};
74
- var client = {};
75
- var controller = {};
76
- var perspectiveManager = {};
77
- var history = {};
78
- var commands = {};
79
- var viewer = {};
80
- var serviceClientOptions = {};
81
- var reportServerUrl = "";
82
- options.viewerSelector = "reportViewer-" + generateGuidString();
83
- $placeholder.attr("data-selector", options.viewerSelector);
84
- if (!validateOptions(options)) {
85
- return;
86
- }
87
- var version = "19.0.25.211";
88
- options = $.extend({}, getDefaultOptions(svcApiUrl, version), options);
89
- settings = new ReportViewerSettings(
90
- persistanceKey,
91
- options.persistSession ? window.sessionStorage : new MemStorage(),
92
- {
93
- scale: options.scale,
94
- scaleMode: options.scaleMode,
95
- printMode: options.printMode ? options.printMode : options.directPrint,
96
- enableAccessibility: options.enableAccessibility,
97
- searchMetadataOnDemand: options.searchMetadataOnDemand,
98
- sendEmail: options.sendEmail,
99
- parametersAreaPosition: options.parametersAreaPosition,
100
- documentMapAreaPosition: options.documentMapAreaPosition,
101
- keepClientAlive: options.keepClientAlive
102
- }
103
- );
104
- if (options.reportServer) {
105
- reportServerUrl = rTrim(options.reportServer.url, "\\/");
106
- serviceClientOptions.serviceUrl = reportServerUrl + "/api/reports";
107
- serviceClientOptions.loginInfo = {
108
- url: reportServerUrl + "/Token",
109
- username: options.reportServer.username,
110
- password: options.reportServer.password
111
- };
112
- } else {
113
- serviceClientOptions.serviceUrl = options.serviceUrl;
114
- }
115
- client = new ServiceClient(serviceClientOptions);
116
- controller = options.controller;
117
- if (!controller) {
118
- controller = new ReportViewerController({
119
- serviceClient: client,
120
- settings
121
- });
122
- } else {
123
- controller.updateSettings(settings);
124
- }
125
- history = new HistoryManager({
126
- controller,
127
- settings
128
- });
129
- commands = new CommandSet({
130
- controller,
131
- history
132
- });
133
- new UIController({
134
- controller,
135
- history,
136
- commands
137
- });
138
- viewer = {
139
- stringResources,
140
- refreshReport: function(ignoreCache) {
141
- if (arguments.length === 0) {
142
- ignoreCache = true;
143
- }
144
- controller.refreshReport(ignoreCache, true);
145
- return viewer;
146
- },
147
- reportSource: function(rs) {
148
- if (rs || rs === null) {
149
- controller.setReportSource(rs);
150
- controller.refreshReport(false, true);
151
- return viewer;
152
- }
153
- return controller.getReportSource();
154
- },
155
- clearReportSource: function() {
156
- controller.clearReportSource();
157
- return viewer;
158
- },
159
- viewMode: function(vm) {
160
- if (vm) {
161
- controller.setViewMode(vm);
162
- return viewer;
163
- }
164
- return controller.getViewMode();
165
- },
166
- pageMode: function(psm) {
167
- if (psm) {
168
- controller.setPageMode(psm);
169
- return viewer;
170
- }
171
- return controller.getPageMode();
172
- },
173
- printMode: function(pm) {
174
- if (pm) {
175
- controller.setPrintMode(pm);
176
- return viewer;
177
- }
178
- return controller.getPrintMode();
179
- },
180
- scale: function({ scale, scaleMode } = {}) {
181
- if (scale || scaleMode) {
182
- controller.setScale(scale || controller.getScale());
183
- controller.setScaleMode(scaleMode || controller.getScaleMode());
184
- return viewer;
185
- }
186
- return {
187
- scale: controller.getScale(),
188
- scaleMode: controller.getScaleMode()
189
- };
190
- },
191
- currentPage: function() {
192
- return controller.getCurrentPageNumber();
193
- },
194
- pageCount: function() {
195
- return controller.getPageCount();
196
- },
197
- parametersAreaVisible: function(visible) {
198
- controller.setParametersAreaVisible({ visible });
199
- },
200
- getReportParameters: function() {
201
- return controller.getReportParameters();
202
- },
203
- isReportAutoRun: function() {
204
- return controller.isReportAutoRun();
205
- },
206
- authenticationToken: function(token) {
207
- if (token) {
208
- controller.setAuthenticationToken(token);
209
- }
210
- return viewer;
211
- },
212
- bind: function(eventName, eventHandler) {
213
- eventBinder(eventName, eventHandler, true);
214
- },
215
- unbind: function(eventName, eventHandler) {
216
- eventBinder(eventName, eventHandler, false);
217
- },
218
- accessibilityKeyMap: function(keyMap) {
219
- if (accessibility) {
220
- if (keyMap) {
221
- accessibility.setKeyMap(keyMap);
222
- return viewer;
223
- }
224
- return accessibility.getKeyMap();
225
- }
226
- return void 0;
227
- },
228
- commands,
229
- dispose: function() {
230
- controller.dispose();
231
- if (perspectiveManager) {
232
- perspectiveManager.dispose();
233
- }
234
- }
235
- };
236
- function validateOptions(options2) {
237
- if (!options2) {
238
- $placeholder.text("The report viewer configuration options are not initialized.");
239
- return false;
240
- }
241
- if (options2.reportServer) {
242
- if (!options2.reportServer.url) {
243
- $placeholder.text("The report server URL is not specified.");
244
- return false;
245
- }
246
- } else {
247
- if (!options2.serviceUrl) {
248
- $placeholder.text("The serviceUrl is not specified.");
249
- return false;
250
- }
251
- }
252
- return true;
253
- }
254
- function eventBinder(eventName, eventHandler, bind) {
255
- if (typeof eventHandler === "function") {
256
- if (bind) {
257
- $(viewer).on(eventName, { sender: viewer }, eventHandler);
258
- } else {
259
- $(viewer).off(eventName, eventHandler);
260
- }
261
- } else if (!eventHandler && !bind) {
262
- $(viewer).off(eventName);
263
- }
264
- }
265
- function attachEvents() {
266
- var eventMap = {
267
- EXPORT_BEGIN: controller.Events.EXPORT_STARTED,
268
- EXPORT_END: controller.Events.EXPORT_DOCUMENT_READY,
269
- PRINT_BEGIN: controller.Events.PRINT_STARTED,
270
- PRINT_END: controller.Events.PRINT_DOCUMENT_READY,
271
- RENDERING_BEGIN: controller.Events.BEFORE_LOAD_REPORT,
272
- RENDERING_END: controller.Events.REPORT_LOAD_COMPLETE,
273
- PAGE_READY: controller.Events.PAGE_READY,
274
- ERROR: controller.Events.ERROR,
275
- UPDATE_UI: controller.Events.UPDATE_UI,
276
- INTERACTIVE_ACTION_EXECUTING: controller.Events.INTERACTIVE_ACTION_EXECUTING,
277
- INTERACTIVE_ACTION_ENTER: controller.Events.INTERACTIVE_ACTION_ENTER,
278
- INTERACTIVE_ACTION_LEAVE: controller.Events.INTERACTIVE_ACTION_LEAVE,
279
- VIEWER_TOOLTIP_OPENING: controller.Events.TOOLTIP_OPENING,
280
- SEND_EMAIL_BEGIN: controller.Events.SEND_EMAIL_STARTED,
281
- SEND_EMAIL_END: controller.Events.SEND_EMAIL_READY,
282
- PARAMETERS_LOADED: controller.Events.PARAMETERS_LOADED
283
- };
284
- var $viewer = $(viewer);
285
- for (const [viewerEvent, controllerEvent] of Object.entries(eventMap)) {
286
- controller.on(controllerEvent, function(e, args) {
287
- $viewer.trigger(viewerEvent, args);
288
- });
289
- }
290
- }
291
- function attachEventHandlers() {
292
- eventBinder(Events.EXPORT_BEGIN, options.exportBegin, true);
293
- eventBinder(Events.EXPORT_END, options.exportEnd, true);
294
- eventBinder(Events.PRINT_BEGIN, options.printBegin, true);
295
- eventBinder(Events.PRINT_END, options.printEnd, true);
296
- eventBinder(Events.RENDERING_BEGIN, options.renderingBegin, true);
297
- eventBinder(Events.RENDERING_END, options.renderingEnd, true);
298
- eventBinder(Events.PAGE_READY, options.pageReady, true);
299
- eventBinder(Events.ERROR, options.error, true);
300
- eventBinder(Events.UPDATE_UI, options.updateUi, true);
301
- eventBinder(Events.INTERACTIVE_ACTION_EXECUTING, options.interactiveActionExecuting, true);
302
- eventBinder(Events.INTERACTIVE_ACTION_ENTER, options.interactiveActionEnter, true);
303
- eventBinder(Events.INTERACTIVE_ACTION_LEAVE, options.interactiveActionLeave, true);
304
- eventBinder(Events.VIEWER_TOOLTIP_OPENING, options.viewerToolTipOpening, true);
305
- eventBinder(Events.SEND_EMAIL_BEGIN, options.sendEmailBegin, true);
306
- eventBinder(Events.SEND_EMAIL_END, options.sendEmailEnd, true);
307
- eventBinder(Events.PARAMETERS_LOADED, options.parametersLoaded, true);
308
- }
309
- function init() {
310
- $placeholder.html(templates["trv-report-viewer"]);
311
- Binder.bind(
312
- $placeholder,
313
- {
314
- controller,
315
- commands,
316
- templates
317
- },
318
- options
319
- );
320
- perspectiveManager = new PerspectiveManager(dom, controller);
321
- perspectiveManager.attach();
322
- initSplitter();
323
- attachEvents();
324
- attachEventHandlers();
325
- initFromStorage();
326
- initAccessibility(options);
327
- }
328
- function initSplitter() {
329
- var parameterAreaPaneOptions = {
330
- max: "500px",
331
- min: "50px",
332
- size: "210px",
333
- collapsible: true
334
- };
335
- var parameterAreaTemplate = $placeholder.find(".trv-parameters-area");
336
- var parameterAreaPanes = [{}];
337
- var documentMapPaneOptions = {
338
- max: "500px",
339
- min: "50px",
340
- size: "210px",
341
- collapsible: true,
342
- collapsed: true
343
- };
344
- var documentMapTemplate = $placeholder.find(".trv-document-map");
345
- var documentMapPanes = [{}];
346
- var orientation = "horizontal";
347
- if (options.documentMapAreaPosition === DocumentMapAreaPositions.RIGHT) {
348
- documentMapTemplate.insertAfter($placeholder.find(".trv-pages-area"));
349
- documentMapPanes.push(documentMapPaneOptions);
350
- } else {
351
- documentMapPanes.unshift(documentMapPaneOptions);
352
- }
353
- if (options.parametersAreaPosition === ParametersAreaPositions.TOP || options.parametersAreaPosition === ParametersAreaPositions.BOTTOM) {
354
- orientation = "vertical";
355
- parameterAreaTemplate.addClass("-vertical");
356
- parameterAreaPaneOptions.size = "130px";
357
- }
358
- if (options.parametersAreaPosition === ParametersAreaPositions.LEFT || options.parametersAreaPosition === ParametersAreaPositions.TOP) {
359
- parameterAreaTemplate.insertBefore($placeholder.find(".trv-document-map-splitter"));
360
- parameterAreaPanes.unshift(parameterAreaPaneOptions);
361
- } else {
362
- parameterAreaPanes.push(parameterAreaPaneOptions);
363
- }
364
- try {
365
- var documentMapSplitter = $placeholder.find(".trv-document-map-splitter").kendoSplitter({
366
- panes: documentMapPanes,
367
- expand: function(e) {
368
- setSplitterPaneVisibility(e.pane, true);
369
- },
370
- collapse: function(e) {
371
- setSplitterPaneVisibility(e.pane, false);
372
- },
373
- resize: function(e) {
374
- }
375
- }).data("kendoSplitter");
376
- } catch (e) {
377
- console.error("Instantiation of Kendo Splitter as Document Map splitter threw an exception", e);
378
- throw e;
379
- }
380
- try {
381
- var parametersSplitter = $placeholder.find(".trv-parameters-splitter").kendoSplitter({
382
- panes: parameterAreaPanes,
383
- orientation,
384
- expand: function(e) {
385
- setSplitterPaneVisibility(e.pane, true);
386
- },
387
- collapse: function(e) {
388
- setSplitterPaneVisibility(e.pane, false);
389
- },
390
- resize: function(e) {
391
- }
392
- }).data("kendoSplitter");
393
- } catch (e) {
394
- console.error("Instantiation of Kendo Splitter as Parameters area splitter threw an exception", e);
395
- throw e;
396
- }
397
- var parametersSplitterInstance = {
398
- id: options.viewerSelector + "-parameters-splitter",
399
- instance: parametersSplitter
400
- };
401
- var documentMapSplitterInstance = {
402
- id: options.viewerSelector + "-document-map-splitter",
403
- instance: documentMapSplitter
404
- };
405
- Instances.push(parametersSplitterInstance);
406
- Instances.push(documentMapSplitterInstance);
407
- }
408
- function setSplitterPaneVisibility(pane, visible) {
409
- var paneID = $(pane).attr("data-id");
410
- switch (paneID) {
411
- case "trv-document-map":
412
- controller.setDocumentMapVisible({
413
- visible
414
- });
415
- break;
416
- case "trv-parameters-area":
417
- controller.setParametersAreaVisible({
418
- visible
419
- });
420
- break;
421
- }
422
- }
423
- function initFromStorage() {
424
- var vm = settings.getViewMode();
425
- var psm = settings.getPageMode();
426
- var pm = settings.getPrintMode();
427
- var s = settings.getScale();
428
- var sm = settings.getScaleMode();
429
- var dm = settings.getDocumentMapVisible();
430
- var pa = settings.getParametersAreaVisible();
431
- settings.getAccessibilityKeyMap();
432
- controller.setViewMode(vm ? vm : options.viewMode);
433
- controller.setPageMode(psm ? psm : options.pageMode);
434
- controller.setPrintMode(pm ? pm : options.printMode);
435
- controller.setScale(s ? s : options.scale);
436
- controller.setScaleMode(sm ? sm : options.scaleMode);
437
- controller.setDocumentMapVisible({
438
- visible: dm ? dm : options.documentMapVisible
439
- });
440
- controller.setParametersAreaVisible({
441
- visible: pa ? pa : options.parametersAreaVisible
442
- });
443
- controller.printModeChanged(function() {
444
- settings.setPrintMode(controller.getPrintMode());
445
- });
446
- controller.viewModeChanged(function() {
447
- settings.setViewMode(controller.getViewMode());
448
- });
449
- controller.pageModeChanged(function() {
450
- settings.setPageMode(controller.getPageMode());
451
- });
452
- controller.scaleChanged(function(event, scale) {
453
- settings.setScale(scale);
454
- });
455
- controller.scaleModeChanged(function(event, scaleMode) {
456
- settings.setScaleMode(scaleMode);
457
- });
458
- controller.setSideMenuVisible(function(event, args) {
459
- window.setTimeout(function() {
460
- (args.visible ? $.fn.addClass : $.fn.removeClass).call($placeholder, "trv-side-menu-visible");
461
- }, 1);
462
- });
463
- controller.setDocumentMapVisible(function() {
464
- var args = {};
465
- controller.getDocumentMapState(args);
466
- settings.setDocumentMapVisible(args.visible);
467
- });
468
- controller.setParametersAreaVisible(function() {
469
- var args = {};
470
- controller.getParametersAreaState(args);
471
- settings.setParametersAreaVisible(args.visible);
472
- });
473
- }
474
- function initAccessibility(options2) {
475
- if (options2.enableAccessibility) {
476
- accessibility = new Accessibility({
477
- controller,
478
- templates
479
- });
480
- var am = options2.accessibilityKeyMap;
481
- if (am) {
482
- accessibility.setKeyMap(am);
483
- }
484
- settings.contentTabIndex = getTemplateContentTabIndex();
485
- }
486
- }
487
- function getTemplateContentTabIndex() {
488
- var pageAreaSelector = "div.trv-pages-area";
489
- try {
490
- var $pagesArea = $placeholder.find(pageAreaSelector);
491
- if ($pagesArea.length === 0) {
492
- throw "Selector " + pageAreaSelector + " did not return a result.";
493
- }
494
- return parseInt($pagesArea.attr("tabindex"));
495
- } catch (e) {
496
- if (console)
497
- console.log(e);
498
- return 0;
499
- }
500
- }
501
- function start() {
502
- var pendingRefresh = false;
503
- init();
504
- controller.reportLoadComplete(function() {
505
- if (options.documentMapVisible === false) {
506
- controller.setDocumentMapVisible({ visible: false });
507
- }
508
- });
509
- var rs = settings.getReportSource();
510
- if (rs !== void 0) {
511
- controller.setReportSource(rs);
512
- var pageNumber = settings.getPageNumber();
513
- if (pageNumber !== void 0) {
514
- controller.navigateToPage(pageNumber);
515
- }
516
- pendingRefresh = true;
517
- } else {
518
- if (options.viewMode) {
519
- controller.setViewMode(options.viewMode);
520
- }
521
- if (options.pageMode) {
522
- controller.setPageMode(options.pageMode);
523
- }
524
- if (options.reportSource) {
525
- controller.setReportSource(options.reportSource);
526
- pendingRefresh = true;
527
- }
528
- }
529
- if (typeof options.ready === "function") {
530
- options.ready.call(viewer);
531
- }
532
- if (pendingRefresh) {
533
- controller.refreshReport(false, true);
534
- }
535
- }
536
- function loadStyleSheets(styleSheets) {
537
- if (!styleSheets)
538
- return Promise.resolve();
539
- var $head = $("head");
540
- var currentStyleLinks = $head.find("link").map(function(i, e) {
541
- return e.outerHTML;
542
- }).toArray();
543
- var promises = [];
544
- Array.from(styleSheets).forEach((element) => {
545
- if (currentStyleLinks.indexOf(element) === -1) {
546
- promises.push(
547
- new Promise(function(resolve, reject) {
548
- var $link = $(element);
549
- $link.on("load", resolve);
550
- $link.on("onerror", function() {
551
- logError("error loading stylesheet " + element);
552
- resolve();
553
- });
554
- $head.append($link);
555
- })
556
- );
557
- }
558
- });
559
- return Promise.all(promises).then(controller.cssLoaded);
560
- }
561
- function browserSupportsAllFeatures() {
562
- return window.Promise;
563
- }
564
- function ensureKendo(version2) {
565
- if (window.kendo) {
566
- return Promise.resolve();
567
- }
568
- var kendoUrl = rTrim(svcApiUrl, "\\/") + "/resources/js/telerikReportViewer.kendo-" + version2 + ".min.js/";
569
- return loadScript(kendoUrl).catch(function(errorData) {
570
- logError("Kendo could not be loaded automatically. Make sure 'options.serviceUrl' / 'options.reportServer.url' is correct and accessible. The error is: " + errorData.error);
571
- });
572
- }
573
- function main(version2) {
574
- ensureKendo(version2).then(function() {
575
- }).then(function() {
576
- viewer.authenticationToken(options.authenticationToken);
577
- controller.getServiceVersion().catch(function(ex) {
578
- var errorOutput = isApplicationExceptionInstance(ex) ? ex.exceptionMessage : stringFormat(stringResources.errorServiceUrl, [escapeHtml(svcApiUrl)]);
579
- $placeholder.text(errorOutput);
580
- return Promise.reject();
581
- }).then(function(data) {
582
- if (data !== version2) {
583
- $placeholder.text(stringFormat(stringResources.errorServiceVersion, [data, version2]));
584
- return Promise.reject();
585
- }
586
- TemplateCache.load(options.templateUrl, svcApiUrl, client).catch(function() {
587
- $placeholder.text(stringFormat(stringResources.errorLoadingTemplates, [escapeHtml(options.templateUrl)]));
588
- return Promise.reject();
589
- }).then(function(result) {
590
- templates = result.templates;
591
- return loadStyleSheets(result.styleSheets);
592
- }).then(start);
593
- });
594
- });
595
- }
596
- if (browserSupportsAllFeatures()) {
597
- main(version);
598
- } else {
599
- throw "The current browser does not support the Promise feature which is required for using the Report Viewer.";
600
- }
601
- return viewer;
602
- }
603
- var pluginName = "telerik_ReportViewer";
604
- $.fn[pluginName] = function(options) {
605
- if (this.selector && !options.selector) {
606
- options.selector = this.selector;
607
- }
608
- return this.each(function() {
609
- if (!$.data(this, pluginName)) {
610
- $.data(this, pluginName, new ReportViewer(this, options));
611
- }
612
- });
613
- };
614
- const plugins = [
615
- {
616
- name: "telerik_ReportViewer_DocumentMapArea",
617
- constructor: DocumentMapArea
618
- },
619
- {
620
- name: "telerik_ReportViewer_MainMenu",
621
- constructor: MainMenu
622
- },
623
- {
624
- name: "telerik_ReportViewer_PagesArea",
625
- constructor: PagesArea
626
- },
627
- {
628
- name: "telerik_ReportViewer_ParametersArea",
629
- constructor: ParametersArea
630
- },
631
- {
632
- name: "telerik_ReportViewer_SearchDialog",
633
- constructor: Search
634
- },
635
- {
636
- name: "telerik_ReportViewer_SendEmail",
637
- constructor: SendEmail
638
- },
639
- {
640
- name: "telerik_ReportViewer_SideMenu",
641
- constructor: SideMenu
642
- },
643
- {
644
- name: "telerik_ReportViewer_LinkButton",
645
- constructor: LinkButton
646
- },
647
- {
648
- name: "telerik_ReportViewer_PageNumberInput",
649
- constructor: PageNumberInput
650
- },
651
- {
652
- name: "telerik_ReportViewer_PageCountLabel",
653
- constructor: PageCountLabel
654
- }
655
- ];
656
- plugins.forEach((plugin) => {
657
- $.fn[plugin.name] = function(options, otherOptions) {
658
- return this.each(function() {
659
- if (!$.data(this, plugin.name)) {
660
- $.data(this, plugin.name, new plugin.constructor(this, options, otherOptions));
661
- }
662
- });
663
- };
664
- });
665
-
666
- export { ReportViewer };