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