@progress/telerik-jquery-report-viewer 31.26.812 → 31.26.1007
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 +2 -0
- package/dist/cjs/commandSet.js +24 -1
- package/dist/cjs/exportDialog.js +581 -0
- package/dist/cjs/mainMenu.js +9 -2
- package/dist/cjs/notificationService.js +4 -0
- package/dist/cjs/reportViewer.js +19 -4
- package/dist/cjs/search.js +4 -3
- package/dist/cjs/sendEmail.js +1 -0
- package/dist/cjs/sideMenu.js +9 -1
- package/dist/cjs/sr.js +23 -0
- package/dist/cjs/template-cache.js +18 -1
- package/dist/cjs/toolbar/page-number-input.js +2 -1
- package/dist/cjs/toolbar.js +28 -7
- package/dist/cjs/utils.js +21 -0
- package/dist/js/telerikReportViewer.js +1140 -321
- package/dist/js/telerikReportViewer.kendo.js +15238 -36624
- package/dist/js/telerikReportViewer.kendo.min.js +87 -43
- package/dist/js/telerikReportViewer.min.js +1 -1
- package/dist/js/telerikReportViewer.stringResources.js +23 -0
- package/dist/styles/telerikReportViewer.css +5 -3
- package/dist/styles/telerikReportViewer.min.css +5 -3
- package/dist/templates/telerikReportViewerTemplate.html +142 -105
- package/package.json +2 -3
- package/dist/font/ReportingIcons-20.2.26.812.ttf +0 -0
- package/dist/font/font-icons.css +0 -4155
- package/dist/font/font-icons.min.css +0 -10
- package/dist/font/reporting-icons.ttf +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* TelerikReporting v20.2.26.
|
|
2
|
+
* TelerikReporting v20.2.26.1007 (https://www.telerik.com/products/reporting.aspx)
|
|
3
3
|
* Copyright 2026 Progress Software EAD. All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* Telerik Reporting commercial licenses may be obtained at
|
|
@@ -13,7 +13,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
13
13
|
|
|
14
14
|
var dist = {exports: {}};
|
|
15
15
|
|
|
16
|
-
/*! @license DOMPurify 3.4.
|
|
16
|
+
/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */
|
|
17
17
|
|
|
18
18
|
var purify_cjs;
|
|
19
19
|
var hasRequiredPurify_cjs;
|
|
@@ -446,7 +446,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
446
446
|
function createDOMPurify() {
|
|
447
447
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
448
448
|
const DOMPurify = root => createDOMPurify(root);
|
|
449
|
-
DOMPurify.version = '3.4.
|
|
449
|
+
DOMPurify.version = '3.4.13';
|
|
450
450
|
DOMPurify.removed = [];
|
|
451
451
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
452
452
|
// Not running in a browser, provide a factory function
|
|
@@ -477,6 +477,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
477
477
|
const getAttributes = lookupGetter(ElementPrototype, 'attributes');
|
|
478
478
|
const getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeType') : null;
|
|
479
479
|
const getNodeName = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeName') : null;
|
|
480
|
+
const getOwnerDocument = Node && Node.prototype ? lookupGetter(Node.prototype, 'ownerDocument') : null;
|
|
480
481
|
// As per issue #47, the web-components registry is inherited by a
|
|
481
482
|
// new document created via createHTMLDocument. As per the spec
|
|
482
483
|
// (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)
|
|
@@ -1395,7 +1396,17 @@ var telerikReportViewer = (function (exports) {
|
|
|
1395
1396
|
* @return The created NodeIterator
|
|
1396
1397
|
*/
|
|
1397
1398
|
const _createNodeIterator = function _createNodeIterator(root) {
|
|
1398
|
-
|
|
1399
|
+
/* Read ownerDocument through the cached Node.prototype getter, never the
|
|
1400
|
+
direct property. HTMLFormElement has [LegacyOverrideBuiltIns], so a
|
|
1401
|
+
clobbering child (<input name="ownerDocument"> or a form-associated
|
|
1402
|
+
external input) shadows the prototype getter and makes a direct read
|
|
1403
|
+
return that <input>. createNodeIterator.call(<input>, ...) then throws
|
|
1404
|
+
"Illegal invocation", and on the IN_PLACE path that throw lands before
|
|
1405
|
+
the walk's fail-closed barrier - leaving the caller's live tree, with
|
|
1406
|
+
any already-armed handler in it, un-neutralized. The cached getter
|
|
1407
|
+
returns the real Document regardless of the clobber. */
|
|
1408
|
+
const doc = getOwnerDocument ? getOwnerDocument(root) : root.ownerDocument;
|
|
1409
|
+
return createNodeIterator.call(doc || root, root,
|
|
1399
1410
|
// eslint-disable-next-line no-bitwise
|
|
1400
1411
|
NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);
|
|
1401
1412
|
};
|
|
@@ -1435,7 +1446,11 @@ var telerikReportViewer = (function (exports) {
|
|
|
1435
1446
|
const _scrubTemplateExpressions2 = function _scrubTemplateExpressions(node) {
|
|
1436
1447
|
var _node$querySelectorAl;
|
|
1437
1448
|
node.normalize();
|
|
1438
|
-
|
|
1449
|
+
/* Clobber-safe ownerDocument read, same reasoning as _createNodeIterator:
|
|
1450
|
+
under SAFE_FOR_TEMPLATES this runs on the live IN_PLACE root, which may
|
|
1451
|
+
carry a form-named-getter override of ownerDocument. */
|
|
1452
|
+
const doc = getOwnerDocument ? getOwnerDocument(node) : node.ownerDocument;
|
|
1453
|
+
const walker = createNodeIterator.call(doc || node, node,
|
|
1439
1454
|
// eslint-disable-next-line no-bitwise
|
|
1440
1455
|
NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);
|
|
1441
1456
|
let currentNode = walker.nextNode();
|
|
@@ -1602,7 +1617,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
1602
1617
|
* @param tagName the node's transformCaseFunc'd tag name
|
|
1603
1618
|
* @return true if the node was removed, false if kept
|
|
1604
1619
|
*/
|
|
1605
|
-
const _sanitizeDisallowedNode = function _sanitizeDisallowedNode(currentNode, tagName) {
|
|
1620
|
+
const _sanitizeDisallowedNode = function _sanitizeDisallowedNode(currentNode, tagName, root) {
|
|
1606
1621
|
/* Check if we have a custom element to handle */
|
|
1607
1622
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
1608
1623
|
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
@@ -1625,27 +1640,26 @@ var telerikReportViewer = (function (exports) {
|
|
|
1625
1640
|
const childNodes = getChildNodes(currentNode);
|
|
1626
1641
|
if (childNodes && parentNode) {
|
|
1627
1642
|
const childCount = childNodes.length;
|
|
1628
|
-
/*
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
event to neutralise.
|
|
1643
|
+
/* Hoist by moving each child up one level rather than deep-cloning
|
|
1644
|
+
it. Moving transfers every descendant exactly once, so a chain of
|
|
1645
|
+
nested disallowed elements costs O(n) instead of the O(n^2) that
|
|
1646
|
+
re-cloning the shrinking subtree at each level produced; it also
|
|
1647
|
+
empties the removed original, so `DOMPurify.removed` no longer
|
|
1648
|
+
pins whole subtrees. Moving preserves the in-place guarantee too:
|
|
1649
|
+
an original carrying already-queued resource events (`<img
|
|
1650
|
+
onerror>`, `<video>`/`<audio>` error, lazy/`onload`, …) is
|
|
1651
|
+
relocated and sanitised rather than left detached but still armed.
|
|
1652
|
+
The sole case that must clone is removing the walk root itself.
|
|
1653
|
+
The result is serialised from the root's subtree, so a restrictive
|
|
1654
|
+
ALLOWED_TAGS that strips the root (`body` on the string path) must
|
|
1655
|
+
leave the content inside it, which only cloning does. In IN_PLACE
|
|
1656
|
+
the root is pre-validated as an allowed tag and so is never removed
|
|
1657
|
+
here, so that path always takes the move branch.
|
|
1644
1658
|
`childNodes` is live; a tail-to-head walk keeps `childNodes[i]`
|
|
1645
1659
|
valid whether we move (drops the trailing entry) or clone (leaves
|
|
1646
1660
|
the list intact). */
|
|
1647
1661
|
for (let i = childCount - 1; i >= 0; --i) {
|
|
1648
|
-
const hoisted =
|
|
1662
|
+
const hoisted = currentNode === root ? cloneNode(childNodes[i], true) : childNodes[i];
|
|
1649
1663
|
parentNode.insertBefore(hoisted, getNextSibling(currentNode));
|
|
1650
1664
|
}
|
|
1651
1665
|
}
|
|
@@ -1653,6 +1667,26 @@ var telerikReportViewer = (function (exports) {
|
|
|
1653
1667
|
_forceRemove(currentNode);
|
|
1654
1668
|
return true;
|
|
1655
1669
|
};
|
|
1670
|
+
/**
|
|
1671
|
+
* Fork a hook-mutable allowlist off its shared binding the first time a
|
|
1672
|
+
* (possibly lazily-installed) uponSanitize* hook is about to see it, so the
|
|
1673
|
+
* hook cannot widen the per-instance default or the setConfig binding by
|
|
1674
|
+
* reference and leak past the call. Returns the set unchanged once it is
|
|
1675
|
+
* already call-local, so repeated calls across elements are idempotent.
|
|
1676
|
+
*
|
|
1677
|
+
* @param hookList the uponSanitize* hook array for this event
|
|
1678
|
+
* @param set the current ALLOWED_TAGS / ALLOWED_ATTR binding
|
|
1679
|
+
* @param defaultSet the per-instance DEFAULT_ALLOWED_* constant
|
|
1680
|
+
* @param setConfigSet the captured setConfig() binding, or null
|
|
1681
|
+
* @return a call-local clone if a hook is present and set is still shared,
|
|
1682
|
+
* else set unchanged
|
|
1683
|
+
*/
|
|
1684
|
+
const _forkSharedAllowlist = function _forkSharedAllowlist(hookList, set, defaultSet, setConfigSet) {
|
|
1685
|
+
if (hookList.length === 0) {
|
|
1686
|
+
return set;
|
|
1687
|
+
}
|
|
1688
|
+
return set === defaultSet || set === setConfigSet ? clone(set) : set;
|
|
1689
|
+
};
|
|
1656
1690
|
/**
|
|
1657
1691
|
* _sanitizeElements
|
|
1658
1692
|
*
|
|
@@ -1666,9 +1700,14 @@ var telerikReportViewer = (function (exports) {
|
|
|
1666
1700
|
const _sanitizeElements = function _sanitizeElements(currentNode, root) {
|
|
1667
1701
|
/* Execute a hook if present */
|
|
1668
1702
|
_executeHooks(hooks.beforeSanitizeElements, currentNode, null);
|
|
1669
|
-
/* A hook may have detached the node
|
|
1670
|
-
detached-node comment after the uponSanitizeElement hook below).
|
|
1703
|
+
/* A hook may have detached the node - treat it as removed (see the
|
|
1704
|
+
detached-node comment after the uponSanitizeElement hook below). On
|
|
1705
|
+
the IN_PLACE path, neutralize the detached subtree first so a queued
|
|
1706
|
+
resource handler on it cannot fire in page scope after we return. */
|
|
1671
1707
|
if (currentNode !== root && getParentNode(currentNode) === null) {
|
|
1708
|
+
if (IN_PLACE) {
|
|
1709
|
+
_neutralizeSubtree(currentNode);
|
|
1710
|
+
}
|
|
1672
1711
|
return true;
|
|
1673
1712
|
}
|
|
1674
1713
|
/* Check if element is clobbered or can clobber */
|
|
@@ -1678,6 +1717,12 @@ var telerikReportViewer = (function (exports) {
|
|
|
1678
1717
|
}
|
|
1679
1718
|
/* Now let's check the element's type and name */
|
|
1680
1719
|
const tagName = transformCaseFunc(getNodeName ? getNodeName(currentNode) : currentNode.nodeName);
|
|
1720
|
+
/* Close the pre-walk clone-guard's timing gap: an uponSanitizeElement
|
|
1721
|
+
hook may have been installed after that guard sampled the hook arrays
|
|
1722
|
+
(e.g. lazily from beforeSanitizeElements), leaving ALLOWED_TAGS still
|
|
1723
|
+
aliasing a shared binding that a widening hook would mutate by
|
|
1724
|
+
reference. Fork it before exposing it to the hook. */
|
|
1725
|
+
ALLOWED_TAGS = _forkSharedAllowlist(hooks.uponSanitizeElement, ALLOWED_TAGS, DEFAULT_ALLOWED_TAGS, SET_CONFIG_ALLOWED_TAGS);
|
|
1681
1726
|
/* Execute a hook if present */
|
|
1682
1727
|
_executeHooks(hooks.uponSanitizeElement, currentNode, {
|
|
1683
1728
|
tagName,
|
|
@@ -1695,10 +1740,22 @@ var telerikReportViewer = (function (exports) {
|
|
|
1695
1740
|
opposite of a node that is already safely gone. The walk root is
|
|
1696
1741
|
exempt: a detached IN_PLACE root is legitimate input and must still
|
|
1697
1742
|
be fully sanitized, and a kill-decision on it must keep hitting the
|
|
1698
|
-
REPORT-3 throw. Nodes detached by hooks
|
|
1699
|
-
responsibility: they are not recorded in
|
|
1700
|
-
|
|
1743
|
+
REPORT-3 throw. Nodes detached by hooks stay the hook's
|
|
1744
|
+
responsibility for placement: they are not recorded in
|
|
1745
|
+
DOMPurify.removed, so the post-walk IN_PLACE pass (which iterates
|
|
1746
|
+
DOMPurify.removed) does not reach them. But a hook-detached subtree
|
|
1747
|
+
can still hold a queued resource-event handler - e.g. an <img onload>
|
|
1748
|
+
that began loading when the caller built the live tree - which fires
|
|
1749
|
+
in page scope after sanitize returns even though the handler never
|
|
1750
|
+
reached the returned tree. That is the audit-5 F1 hazard, and the
|
|
1751
|
+
documented node.remove() hook pattern walks straight into it. So on
|
|
1752
|
+
the IN_PLACE path we neutralize the detached subtree inline here,
|
|
1753
|
+
stripping its non-allow-listed attributes before returning, exactly
|
|
1754
|
+
as the post-walk pass does for _forceRemove'd subtrees. */
|
|
1701
1755
|
if (currentNode !== root && getParentNode(currentNode) === null) {
|
|
1756
|
+
if (IN_PLACE) {
|
|
1757
|
+
_neutralizeSubtree(currentNode);
|
|
1758
|
+
}
|
|
1702
1759
|
return true;
|
|
1703
1760
|
}
|
|
1704
1761
|
/* Remove mXSS vectors, processing instructions and risky comments */
|
|
@@ -1708,7 +1765,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
1708
1765
|
}
|
|
1709
1766
|
/* Remove element if anything forbids its presence */
|
|
1710
1767
|
if (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {
|
|
1711
|
-
const removed = _sanitizeDisallowedNode(currentNode, tagName);
|
|
1768
|
+
const removed = _sanitizeDisallowedNode(currentNode, tagName, root);
|
|
1712
1769
|
/* A false return means the node is a custom element kept via
|
|
1713
1770
|
CUSTOM_ELEMENT_HANDLING - the only keep path through
|
|
1714
1771
|
_sanitizeDisallowedNode. Run afterSanitizeElements on it so the
|
|
@@ -1913,6 +1970,9 @@ var telerikReportViewer = (function (exports) {
|
|
|
1913
1970
|
if (!attributes || _isClobbered(currentNode)) {
|
|
1914
1971
|
return;
|
|
1915
1972
|
}
|
|
1973
|
+
/* Same lazy-install guard as uponSanitizeElement (see there): fork the
|
|
1974
|
+
attribute allowlist off its shared binding before a hook can see it. */
|
|
1975
|
+
ALLOWED_ATTR = _forkSharedAllowlist(hooks.uponSanitizeAttribute, ALLOWED_ATTR, DEFAULT_ALLOWED_ATTR, SET_CONFIG_ALLOWED_ATTR);
|
|
1916
1976
|
const hookEvent = {
|
|
1917
1977
|
attrName: '',
|
|
1918
1978
|
attrValue: '',
|
|
@@ -2285,17 +2345,20 @@ var telerikReportViewer = (function (exports) {
|
|
|
2285
2345
|
}
|
|
2286
2346
|
/* Get node iterator */
|
|
2287
2347
|
const walkRoot = inPlace ? dirty : body;
|
|
2288
|
-
const nodeIterator = _createNodeIterator(walkRoot);
|
|
2289
2348
|
/* Now start iterating over the created document.
|
|
2290
2349
|
The walk runs inside an exception barrier (campaign-3 F2): a re-entrant
|
|
2291
2350
|
engine/custom-element mutation can detach a node mid-walk so
|
|
2292
2351
|
`_forceRemove`'s parentless guard throws, aborting the loop. Without the
|
|
2293
2352
|
barrier the caller's in-place tree would be left half-sanitized with the
|
|
2294
|
-
unvisited tail still armed.
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2353
|
+
unvisited tail still armed. _createNodeIterator itself is inside the
|
|
2354
|
+
barrier too: constructing the iterator dereferences the root's document,
|
|
2355
|
+
and any failure there (e.g. an exotic/clobbered root) must still fail
|
|
2356
|
+
closed rather than skip the neutralize. On any throw we fail closed -
|
|
2357
|
+
strip the in-place root bare - then rethrow so the existing throw
|
|
2358
|
+
contract is preserved. (String/DOM-copy paths never return the partial
|
|
2359
|
+
body, so the propagating throw is already fail-closed there.) */
|
|
2298
2360
|
try {
|
|
2361
|
+
const nodeIterator = _createNodeIterator(walkRoot);
|
|
2299
2362
|
while (currentNode = nodeIterator.nextNode()) {
|
|
2300
2363
|
/* Sanitize tags and elements */
|
|
2301
2364
|
_sanitizeElements(currentNode, walkRoot);
|
|
@@ -2482,73 +2545,78 @@ var telerikReportViewer = (function (exports) {
|
|
|
2482
2545
|
l2((n2 = n2.apply(e2, t2 || [])).next());
|
|
2483
2546
|
});
|
|
2484
2547
|
}
|
|
2548
|
+
function o(e2, t2, i2, n2) {
|
|
2549
|
+
if ("a" === i2 && !n2) throw new TypeError("Private accessor was defined without a getter");
|
|
2550
|
+
if ("function" == typeof t2 ? e2 !== t2 || !n2 : !t2.has(e2)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
2551
|
+
return "m" === i2 ? n2 : "a" === i2 ? n2.call(e2) : n2 ? n2.value : t2.get(e2);
|
|
2552
|
+
}
|
|
2485
2553
|
"function" == typeof SuppressedError && SuppressedError;
|
|
2486
|
-
class
|
|
2554
|
+
class a {
|
|
2487
2555
|
constructor() {
|
|
2488
2556
|
this.BasePath = "", this.ImmediatePrint = false, this.ContentOnly = false, this.UseSVG = false, this.enableSearch = false, this.enableAccessibility = false, this.contentTabIndex = 0;
|
|
2489
2557
|
}
|
|
2490
2558
|
}
|
|
2491
|
-
class
|
|
2559
|
+
class l {
|
|
2492
2560
|
constructor() {
|
|
2493
2561
|
this.from = "", this.to = "", this.cc = "", this.subject = "", this.format = "", this.body = "";
|
|
2494
2562
|
}
|
|
2495
2563
|
}
|
|
2496
|
-
class
|
|
2564
|
+
class h {
|
|
2497
2565
|
constructor(e2, t2) {
|
|
2498
2566
|
this.cancel = false, this.element = e2, this.action = t2;
|
|
2499
2567
|
}
|
|
2500
2568
|
}
|
|
2501
|
-
class
|
|
2569
|
+
class c {
|
|
2502
2570
|
constructor(e2, t2) {
|
|
2503
2571
|
this.id = "", this.type = "", this.id = e2, this.type = t2;
|
|
2504
2572
|
}
|
|
2505
2573
|
}
|
|
2506
|
-
class
|
|
2574
|
+
class d {
|
|
2507
2575
|
constructor(e2, t2) {
|
|
2508
2576
|
this.isCancelled = false, this.format = "", this.deviceInfo = e2, this.format = t2;
|
|
2509
2577
|
}
|
|
2510
2578
|
}
|
|
2511
|
-
class
|
|
2579
|
+
class u {
|
|
2512
2580
|
constructor(e2, t2) {
|
|
2513
2581
|
this.handled = false, this.deviceInfo = e2, this.format = t2;
|
|
2514
2582
|
}
|
|
2515
2583
|
}
|
|
2516
|
-
class
|
|
2584
|
+
class p {
|
|
2517
2585
|
constructor(e2, t2, i2) {
|
|
2518
2586
|
this.handled = false, this.url = e2, this.format = t2, this.windowOpenTarget = i2;
|
|
2519
2587
|
}
|
|
2520
2588
|
}
|
|
2521
|
-
class
|
|
2589
|
+
class g {
|
|
2522
2590
|
constructor(e2) {
|
|
2523
2591
|
this.handled = false, this.deviceInfo = e2;
|
|
2524
2592
|
}
|
|
2525
2593
|
}
|
|
2526
|
-
class
|
|
2594
|
+
class f {
|
|
2527
2595
|
constructor(e2) {
|
|
2528
2596
|
this.handled = false, this.url = e2;
|
|
2529
2597
|
}
|
|
2530
2598
|
}
|
|
2531
|
-
class
|
|
2599
|
+
class m {
|
|
2532
2600
|
constructor(e2, t2) {
|
|
2533
2601
|
this.handled = false, this.deviceInfo = e2, this.format = t2;
|
|
2534
2602
|
}
|
|
2535
2603
|
}
|
|
2536
|
-
class
|
|
2604
|
+
class v extends l {
|
|
2537
2605
|
constructor(e2, t2, i2) {
|
|
2538
2606
|
super(), this.handled = false, this.body = e2.body, this.cc = e2.cc, this.format = e2.format, this.from = e2.from, this.subject = e2.subject, this.to = e2.to, this.deviceInfo = t2, this.url = i2;
|
|
2539
2607
|
}
|
|
2540
2608
|
}
|
|
2541
|
-
class
|
|
2609
|
+
class P {
|
|
2542
2610
|
constructor(e2, t2) {
|
|
2543
2611
|
this.page = e2, this.reportDocumentId = t2;
|
|
2544
2612
|
}
|
|
2545
2613
|
}
|
|
2546
|
-
class
|
|
2614
|
+
class C {
|
|
2547
2615
|
constructor(e2, t2, i2, n2 = null) {
|
|
2548
2616
|
this.element = e2, this.text = t2, this.title = i2, this.eventArgs = n2;
|
|
2549
2617
|
}
|
|
2550
2618
|
}
|
|
2551
|
-
class
|
|
2619
|
+
class y {
|
|
2552
2620
|
constructor(e2, t2) {
|
|
2553
2621
|
this._responseText = e2, this._error = t2;
|
|
2554
2622
|
try {
|
|
@@ -2571,14 +2639,14 @@ var telerikReportViewer = (function (exports) {
|
|
|
2571
2639
|
return (null === (e2 = this.responseJSON) || void 0 === e2 ? void 0 : e2.exceptionMessage) || (null === (t2 = this.responseJSON) || void 0 === t2 ? void 0 : t2.ExceptionMessage);
|
|
2572
2640
|
}
|
|
2573
2641
|
}
|
|
2574
|
-
function
|
|
2642
|
+
function S(e2, t2 = false, i2 = false) {
|
|
2575
2643
|
let n2 = { Accept: "application/json, text/javascript, */*; q=0.01" };
|
|
2576
2644
|
return t2 && (n2["Content-Type"] = i2 ? "application/x-www-form-urlencoded; charset=UTF-8" : "application/json; charset=UTF-8"), e2 && (n2.authorization = "Bearer " + e2), n2;
|
|
2577
2645
|
}
|
|
2578
|
-
function
|
|
2646
|
+
function b(e2) {
|
|
2579
2647
|
return s(this, void 0, void 0, function* () {
|
|
2580
2648
|
if (!e2.ok) {
|
|
2581
|
-
let t2 = yield e2.text(), i2 = new
|
|
2649
|
+
let t2 = yield e2.text(), i2 = new y(t2, e2.statusText);
|
|
2582
2650
|
return Promise.reject(i2);
|
|
2583
2651
|
}
|
|
2584
2652
|
if (204 == e2.status) return Promise.resolve();
|
|
@@ -2586,14 +2654,14 @@ var telerikReportViewer = (function (exports) {
|
|
|
2586
2654
|
});
|
|
2587
2655
|
}
|
|
2588
2656
|
function I(e2, t2 = {}, i2 = "", n2 = false) {
|
|
2589
|
-
return fetch(e2, { method: "POST", headers:
|
|
2657
|
+
return fetch(e2, { method: "POST", headers: S(i2, true, n2), body: n2 ? t2 : JSON.stringify(t2) }).then(b);
|
|
2590
2658
|
}
|
|
2591
|
-
class
|
|
2659
|
+
class w {
|
|
2592
2660
|
authenticatePromise() {
|
|
2593
2661
|
return Promise.resolve("");
|
|
2594
2662
|
}
|
|
2595
2663
|
}
|
|
2596
|
-
class
|
|
2664
|
+
class L {
|
|
2597
2665
|
constructor(e2) {
|
|
2598
2666
|
this.connectionConfig = e2;
|
|
2599
2667
|
}
|
|
@@ -2606,7 +2674,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
2606
2674
|
return Promise.reject("Failed to connect to Report Server with user credentials. Are you missing the reportServer.url, reportServer.username or reportServer.password values?");
|
|
2607
2675
|
}
|
|
2608
2676
|
}
|
|
2609
|
-
class
|
|
2677
|
+
class T {
|
|
2610
2678
|
constructor(e2) {
|
|
2611
2679
|
this.connectionConfig = e2;
|
|
2612
2680
|
}
|
|
@@ -2615,44 +2683,44 @@ var telerikReportViewer = (function (exports) {
|
|
|
2615
2683
|
}
|
|
2616
2684
|
}
|
|
2617
2685
|
e.AuthType = void 0, (n = e.AuthType || (e.AuthType = {}))[n.None = 0] = "None", n[n.Basic = 1] = "Basic", n[n.PersonalToken = 2] = "PersonalToken";
|
|
2618
|
-
class
|
|
2686
|
+
class A {
|
|
2619
2687
|
constructor(e2) {
|
|
2620
2688
|
this.baseUrl = null == e2 ? void 0 : e2.replace(/\/$/, "");
|
|
2621
2689
|
}
|
|
2622
2690
|
}
|
|
2623
|
-
class R extends
|
|
2691
|
+
class R extends A {
|
|
2624
2692
|
constructor(t2) {
|
|
2625
2693
|
super(t2), this.authType = e.AuthType.None, this.serviceUrl = this.baseUrl;
|
|
2626
2694
|
}
|
|
2627
2695
|
}
|
|
2628
|
-
class
|
|
2696
|
+
class E extends A {
|
|
2629
2697
|
constructor(t2) {
|
|
2630
2698
|
super(t2), this.authType = e.AuthType.None, this.serviceUrl = this.baseUrl + "/api/reports";
|
|
2631
2699
|
}
|
|
2632
2700
|
}
|
|
2633
|
-
class
|
|
2701
|
+
class M extends E {
|
|
2634
2702
|
constructor(t2, i2, n2) {
|
|
2635
2703
|
super(t2), this.authType = e.AuthType.Basic, this.username = i2, this.password = n2, this.tokenUrl = this.baseUrl + "/Token";
|
|
2636
2704
|
}
|
|
2637
2705
|
}
|
|
2638
|
-
class
|
|
2706
|
+
class k extends E {
|
|
2639
2707
|
constructor(t2, i2) {
|
|
2640
2708
|
super(t2), this.authType = e.AuthType.PersonalToken, this.getPersonalAccessToken = i2, this.personalTokenUrl = this.baseUrl + "/PersonalToken", this.refreshTokenUrl = this.baseUrl + "/refresh";
|
|
2641
2709
|
}
|
|
2642
2710
|
}
|
|
2643
|
-
function k() {
|
|
2644
|
-
}
|
|
2645
2711
|
function x() {
|
|
2646
|
-
x.init.call(this);
|
|
2647
2712
|
}
|
|
2648
|
-
function N(
|
|
2649
|
-
|
|
2713
|
+
function N() {
|
|
2714
|
+
N.init.call(this);
|
|
2715
|
+
}
|
|
2716
|
+
function D(e2) {
|
|
2717
|
+
return void 0 === e2._maxListeners ? N.defaultMaxListeners : e2._maxListeners;
|
|
2650
2718
|
}
|
|
2651
|
-
function
|
|
2719
|
+
function V(e2, t2, i2, n2) {
|
|
2652
2720
|
var r2, s2, o2, a2;
|
|
2653
2721
|
if ("function" != typeof i2) throw new TypeError('"listener" argument must be a function');
|
|
2654
|
-
if ((s2 = e2._events) ? (s2.newListener && (e2.emit("newListener", t2, i2.listener ? i2.listener : i2), s2 = e2._events), o2 = s2[t2]) : (s2 = e2._events = new
|
|
2655
|
-
if ("function" == typeof o2 ? o2 = s2[t2] = n2 ? [i2, o2] : [o2, i2] : n2 ? o2.unshift(i2) : o2.push(i2), !o2.warned && (r2 =
|
|
2722
|
+
if ((s2 = e2._events) ? (s2.newListener && (e2.emit("newListener", t2, i2.listener ? i2.listener : i2), s2 = e2._events), o2 = s2[t2]) : (s2 = e2._events = new x(), e2._eventsCount = 0), o2) {
|
|
2723
|
+
if ("function" == typeof o2 ? o2 = s2[t2] = n2 ? [i2, o2] : [o2, i2] : n2 ? o2.unshift(i2) : o2.push(i2), !o2.warned && (r2 = D(e2)) && r2 > 0 && o2.length > r2) {
|
|
2656
2724
|
o2.warned = true;
|
|
2657
2725
|
var l2 = new Error("Possible EventEmitter memory leak detected. " + o2.length + " " + t2 + " listeners added. Use emitter.setMaxListeners() to increase limit");
|
|
2658
2726
|
l2.name = "MaxListenersExceededWarning", l2.emitter = e2, l2.type = t2, l2.count = o2.length, a2 = l2, "function" == typeof console.warn ? console.warn(a2) : console.log(a2);
|
|
@@ -2660,14 +2728,14 @@ var telerikReportViewer = (function (exports) {
|
|
|
2660
2728
|
} else o2 = s2[t2] = i2, ++e2._eventsCount;
|
|
2661
2729
|
return e2;
|
|
2662
2730
|
}
|
|
2663
|
-
function
|
|
2731
|
+
function F(e2, t2, i2) {
|
|
2664
2732
|
var n2 = false;
|
|
2665
2733
|
function r2() {
|
|
2666
2734
|
e2.removeListener(t2, r2), n2 || (n2 = true, i2.apply(e2, arguments));
|
|
2667
2735
|
}
|
|
2668
2736
|
return r2.listener = i2, r2;
|
|
2669
2737
|
}
|
|
2670
|
-
function
|
|
2738
|
+
function O(e2) {
|
|
2671
2739
|
var t2 = this._events;
|
|
2672
2740
|
if (t2) {
|
|
2673
2741
|
var i2 = t2[e2];
|
|
@@ -2676,18 +2744,18 @@ var telerikReportViewer = (function (exports) {
|
|
|
2676
2744
|
}
|
|
2677
2745
|
return 0;
|
|
2678
2746
|
}
|
|
2679
|
-
function
|
|
2747
|
+
function z(e2, t2) {
|
|
2680
2748
|
for (var i2 = new Array(t2); t2--; ) i2[t2] = e2[t2];
|
|
2681
2749
|
return i2;
|
|
2682
2750
|
}
|
|
2683
|
-
|
|
2684
|
-
this.domain = null,
|
|
2685
|
-
},
|
|
2751
|
+
x.prototype = /* @__PURE__ */ Object.create(null), N.EventEmitter = N, N.usingDomains = false, N.prototype.domain = void 0, N.prototype._events = void 0, N.prototype._maxListeners = void 0, N.defaultMaxListeners = 10, N.init = function() {
|
|
2752
|
+
this.domain = null, N.usingDomains && (void 0).active, this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = new x(), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
|
|
2753
|
+
}, N.prototype.setMaxListeners = function(e2) {
|
|
2686
2754
|
if ("number" != typeof e2 || e2 < 0 || isNaN(e2)) throw new TypeError('"n" argument must be a positive number');
|
|
2687
2755
|
return this._maxListeners = e2, this;
|
|
2688
|
-
},
|
|
2689
|
-
return
|
|
2690
|
-
},
|
|
2756
|
+
}, N.prototype.getMaxListeners = function() {
|
|
2757
|
+
return D(this);
|
|
2758
|
+
}, N.prototype.emit = function(e2) {
|
|
2691
2759
|
var t2, i2, n2, r2, s2, o2, a2, l2 = "error" === e2;
|
|
2692
2760
|
if (o2 = this._events) l2 = l2 && null == o2.error;
|
|
2693
2761
|
else if (!l2) return false;
|
|
@@ -2705,51 +2773,51 @@ var telerikReportViewer = (function (exports) {
|
|
|
2705
2773
|
case 1:
|
|
2706
2774
|
!(function(e3, t3, i3) {
|
|
2707
2775
|
if (t3) e3.call(i3);
|
|
2708
|
-
else for (var n3 = e3.length, r3 =
|
|
2776
|
+
else for (var n3 = e3.length, r3 = z(e3, n3), s3 = 0; s3 < n3; ++s3) r3[s3].call(i3);
|
|
2709
2777
|
})(i2, c2, this);
|
|
2710
2778
|
break;
|
|
2711
2779
|
case 2:
|
|
2712
2780
|
!(function(e3, t3, i3, n3) {
|
|
2713
2781
|
if (t3) e3.call(i3, n3);
|
|
2714
|
-
else for (var r3 = e3.length, s3 =
|
|
2782
|
+
else for (var r3 = e3.length, s3 = z(e3, r3), o3 = 0; o3 < r3; ++o3) s3[o3].call(i3, n3);
|
|
2715
2783
|
})(i2, c2, this, arguments[1]);
|
|
2716
2784
|
break;
|
|
2717
2785
|
case 3:
|
|
2718
2786
|
!(function(e3, t3, i3, n3, r3) {
|
|
2719
2787
|
if (t3) e3.call(i3, n3, r3);
|
|
2720
|
-
else for (var s3 = e3.length, o3 =
|
|
2788
|
+
else for (var s3 = e3.length, o3 = z(e3, s3), a3 = 0; a3 < s3; ++a3) o3[a3].call(i3, n3, r3);
|
|
2721
2789
|
})(i2, c2, this, arguments[1], arguments[2]);
|
|
2722
2790
|
break;
|
|
2723
2791
|
case 4:
|
|
2724
2792
|
!(function(e3, t3, i3, n3, r3, s3) {
|
|
2725
2793
|
if (t3) e3.call(i3, n3, r3, s3);
|
|
2726
|
-
else for (var o3 = e3.length, a3 =
|
|
2794
|
+
else for (var o3 = e3.length, a3 = z(e3, o3), l3 = 0; l3 < o3; ++l3) a3[l3].call(i3, n3, r3, s3);
|
|
2727
2795
|
})(i2, c2, this, arguments[1], arguments[2], arguments[3]);
|
|
2728
2796
|
break;
|
|
2729
2797
|
default:
|
|
2730
2798
|
for (r2 = new Array(n2 - 1), s2 = 1; s2 < n2; s2++) r2[s2 - 1] = arguments[s2];
|
|
2731
2799
|
!(function(e3, t3, i3, n3) {
|
|
2732
2800
|
if (t3) e3.apply(i3, n3);
|
|
2733
|
-
else for (var r3 = e3.length, s3 =
|
|
2801
|
+
else for (var r3 = e3.length, s3 = z(e3, r3), o3 = 0; o3 < r3; ++o3) s3[o3].apply(i3, n3);
|
|
2734
2802
|
})(i2, c2, this, r2);
|
|
2735
2803
|
}
|
|
2736
2804
|
return true;
|
|
2737
|
-
},
|
|
2738
|
-
return
|
|
2739
|
-
},
|
|
2740
|
-
return
|
|
2741
|
-
},
|
|
2805
|
+
}, N.prototype.addListener = function(e2, t2) {
|
|
2806
|
+
return V(this, e2, t2, false);
|
|
2807
|
+
}, N.prototype.on = N.prototype.addListener, N.prototype.prependListener = function(e2, t2) {
|
|
2808
|
+
return V(this, e2, t2, true);
|
|
2809
|
+
}, N.prototype.once = function(e2, t2) {
|
|
2742
2810
|
if ("function" != typeof t2) throw new TypeError('"listener" argument must be a function');
|
|
2743
|
-
return this.on(e2,
|
|
2744
|
-
},
|
|
2811
|
+
return this.on(e2, F(this, e2, t2)), this;
|
|
2812
|
+
}, N.prototype.prependOnceListener = function(e2, t2) {
|
|
2745
2813
|
if ("function" != typeof t2) throw new TypeError('"listener" argument must be a function');
|
|
2746
|
-
return this.prependListener(e2,
|
|
2747
|
-
},
|
|
2814
|
+
return this.prependListener(e2, F(this, e2, t2)), this;
|
|
2815
|
+
}, N.prototype.removeListener = function(e2, t2) {
|
|
2748
2816
|
var i2, n2, r2, s2, o2;
|
|
2749
2817
|
if ("function" != typeof t2) throw new TypeError('"listener" argument must be a function');
|
|
2750
2818
|
if (!(n2 = this._events)) return this;
|
|
2751
2819
|
if (!(i2 = n2[e2])) return this;
|
|
2752
|
-
if (i2 === t2 || i2.listener && i2.listener === t2) 0 === --this._eventsCount ? this._events = new
|
|
2820
|
+
if (i2 === t2 || i2.listener && i2.listener === t2) 0 === --this._eventsCount ? this._events = new x() : (delete n2[e2], n2.removeListener && this.emit("removeListener", e2, i2.listener || t2));
|
|
2753
2821
|
else if ("function" != typeof i2) {
|
|
2754
2822
|
for (r2 = -1, s2 = i2.length; s2-- > 0; ) if (i2[s2] === t2 || i2[s2].listener && i2[s2].listener === t2) {
|
|
2755
2823
|
o2 = i2[s2].listener, r2 = s2;
|
|
@@ -2757,7 +2825,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
2757
2825
|
}
|
|
2758
2826
|
if (r2 < 0) return this;
|
|
2759
2827
|
if (1 === i2.length) {
|
|
2760
|
-
if (i2[0] = void 0, 0 === --this._eventsCount) return this._events = new
|
|
2828
|
+
if (i2[0] = void 0, 0 === --this._eventsCount) return this._events = new x(), this;
|
|
2761
2829
|
delete n2[e2];
|
|
2762
2830
|
} else !(function(e3, t3) {
|
|
2763
2831
|
for (var i3 = t3, n3 = i3 + 1, r3 = e3.length; n3 < r3; i3 += 1, n3 += 1) e3[i3] = e3[n3];
|
|
@@ -2766,46 +2834,46 @@ var telerikReportViewer = (function (exports) {
|
|
|
2766
2834
|
n2.removeListener && this.emit("removeListener", e2, o2 || t2);
|
|
2767
2835
|
}
|
|
2768
2836
|
return this;
|
|
2769
|
-
},
|
|
2837
|
+
}, N.prototype.off = function(e2, t2) {
|
|
2770
2838
|
return this.removeListener(e2, t2);
|
|
2771
|
-
},
|
|
2839
|
+
}, N.prototype.removeAllListeners = function(e2) {
|
|
2772
2840
|
var t2, i2;
|
|
2773
2841
|
if (!(i2 = this._events)) return this;
|
|
2774
|
-
if (!i2.removeListener) return 0 === arguments.length ? (this._events = new
|
|
2842
|
+
if (!i2.removeListener) return 0 === arguments.length ? (this._events = new x(), this._eventsCount = 0) : i2[e2] && (0 === --this._eventsCount ? this._events = new x() : delete i2[e2]), this;
|
|
2775
2843
|
if (0 === arguments.length) {
|
|
2776
2844
|
for (var n2, r2 = Object.keys(i2), s2 = 0; s2 < r2.length; ++s2) "removeListener" !== (n2 = r2[s2]) && this.removeAllListeners(n2);
|
|
2777
|
-
return this.removeAllListeners("removeListener"), this._events = new
|
|
2845
|
+
return this.removeAllListeners("removeListener"), this._events = new x(), this._eventsCount = 0, this;
|
|
2778
2846
|
}
|
|
2779
2847
|
if ("function" == typeof (t2 = i2[e2])) this.removeListener(e2, t2);
|
|
2780
2848
|
else if (t2) do {
|
|
2781
2849
|
this.removeListener(e2, t2[t2.length - 1]);
|
|
2782
2850
|
} while (t2[0]);
|
|
2783
2851
|
return this;
|
|
2784
|
-
},
|
|
2852
|
+
}, N.prototype.listeners = function(e2) {
|
|
2785
2853
|
var t2, i2 = this._events;
|
|
2786
2854
|
return i2 && (t2 = i2[e2]) ? "function" == typeof t2 ? [t2.listener || t2] : (function(e3) {
|
|
2787
2855
|
for (var t3 = new Array(e3.length), i3 = 0; i3 < t3.length; ++i3) t3[i3] = e3[i3].listener || e3[i3];
|
|
2788
2856
|
return t3;
|
|
2789
2857
|
})(t2) : [];
|
|
2790
|
-
},
|
|
2791
|
-
return "function" == typeof e2.listenerCount ? e2.listenerCount(t2) :
|
|
2792
|
-
},
|
|
2858
|
+
}, N.listenerCount = function(e2, t2) {
|
|
2859
|
+
return "function" == typeof e2.listenerCount ? e2.listenerCount(t2) : O.call(e2, t2);
|
|
2860
|
+
}, N.prototype.listenerCount = O, N.prototype.eventNames = function() {
|
|
2793
2861
|
return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];
|
|
2794
2862
|
};
|
|
2795
|
-
const
|
|
2796
|
-
function _(e2) {
|
|
2797
|
-
if ("string" != typeof e2 && "symbol" != typeof e2) throw new TypeError("type is not type of string or symbol!");
|
|
2798
|
-
}
|
|
2863
|
+
const _ = "function" == typeof Symbol ? /* @__PURE__ */ Symbol.for("--[[await-event-emitter]]--") : "--[[await-event-emitter]]--";
|
|
2799
2864
|
function H(e2) {
|
|
2800
|
-
if ("
|
|
2865
|
+
if ("string" != typeof e2 && "symbol" != typeof e2) throw new TypeError("type is not type of string or symbol!");
|
|
2801
2866
|
}
|
|
2802
2867
|
function U(e2) {
|
|
2803
|
-
|
|
2868
|
+
if ("function" != typeof e2) throw new TypeError("fn is not type of Function!");
|
|
2804
2869
|
}
|
|
2805
2870
|
function $(e2) {
|
|
2806
|
-
return { [
|
|
2871
|
+
return { [_]: "always", fn: e2 };
|
|
2807
2872
|
}
|
|
2808
|
-
|
|
2873
|
+
function B(e2) {
|
|
2874
|
+
return { [_]: "once", fn: e2 };
|
|
2875
|
+
}
|
|
2876
|
+
class q {
|
|
2809
2877
|
constructor() {
|
|
2810
2878
|
this._events = {};
|
|
2811
2879
|
}
|
|
@@ -2813,25 +2881,25 @@ var telerikReportViewer = (function (exports) {
|
|
|
2813
2881
|
return this.on(e2, t2);
|
|
2814
2882
|
}
|
|
2815
2883
|
on(e2, t2) {
|
|
2816
|
-
return
|
|
2884
|
+
return H(e2), U(t2), this._events[e2] = this._events[e2] || [], this._events[e2].push($(t2)), this;
|
|
2817
2885
|
}
|
|
2818
2886
|
prependListener(e2, t2) {
|
|
2819
2887
|
return this.prepend(e2, t2);
|
|
2820
2888
|
}
|
|
2821
2889
|
prepend(e2, t2) {
|
|
2822
|
-
return
|
|
2890
|
+
return H(e2), U(t2), this._events[e2] = this._events[e2] || [], this._events[e2].unshift($(t2)), this;
|
|
2823
2891
|
}
|
|
2824
2892
|
prependOnceListener(e2, t2) {
|
|
2825
2893
|
return this.prependOnce(e2, t2);
|
|
2826
2894
|
}
|
|
2827
2895
|
prependOnce(e2, t2) {
|
|
2828
|
-
return
|
|
2896
|
+
return H(e2), U(t2), this._events[e2] = this._events[e2] || [], this._events[e2].unshift(B(t2)), this;
|
|
2829
2897
|
}
|
|
2830
2898
|
listeners(e2) {
|
|
2831
2899
|
return (this._events[e2] || []).map((e3) => e3.fn);
|
|
2832
2900
|
}
|
|
2833
2901
|
once(e2, t2) {
|
|
2834
|
-
return
|
|
2902
|
+
return H(e2), U(t2), this._events[e2] = this._events[e2] || [], this._events[e2].push(B(t2)), this;
|
|
2835
2903
|
}
|
|
2836
2904
|
removeAllListeners() {
|
|
2837
2905
|
this._events = {};
|
|
@@ -2840,7 +2908,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
2840
2908
|
return this.removeListener(e2, t2);
|
|
2841
2909
|
}
|
|
2842
2910
|
removeListener(e2, t2) {
|
|
2843
|
-
|
|
2911
|
+
H(e2);
|
|
2844
2912
|
const i2 = this.listeners(e2);
|
|
2845
2913
|
if ("function" == typeof t2) {
|
|
2846
2914
|
let n2 = -1, r2 = false;
|
|
@@ -2851,12 +2919,12 @@ var telerikReportViewer = (function (exports) {
|
|
|
2851
2919
|
}
|
|
2852
2920
|
emit(e2, ...t2) {
|
|
2853
2921
|
return s(this, void 0, void 0, function* () {
|
|
2854
|
-
|
|
2922
|
+
H(e2);
|
|
2855
2923
|
const i2 = this.listeners(e2), n2 = [];
|
|
2856
2924
|
if (i2 && i2.length) {
|
|
2857
2925
|
for (let r2 = 0; r2 < i2.length; r2++) {
|
|
2858
2926
|
const s2 = i2[r2], o2 = s2.apply(this, t2);
|
|
2859
|
-
o2 instanceof Promise && (yield o2), this._events[e2] && this._events[e2][r2] && "once" === this._events[e2][r2][
|
|
2927
|
+
o2 instanceof Promise && (yield o2), this._events[e2] && this._events[e2][r2] && "once" === this._events[e2][r2][_] && n2.push(s2);
|
|
2860
2928
|
}
|
|
2861
2929
|
return n2.forEach((t3) => this.removeListener(e2, t3)), true;
|
|
2862
2930
|
}
|
|
@@ -2864,21 +2932,21 @@ var telerikReportViewer = (function (exports) {
|
|
|
2864
2932
|
});
|
|
2865
2933
|
}
|
|
2866
2934
|
emitSync(e2, ...t2) {
|
|
2867
|
-
|
|
2935
|
+
H(e2);
|
|
2868
2936
|
const i2 = this.listeners(e2), n2 = [];
|
|
2869
2937
|
if (i2 && i2.length) {
|
|
2870
2938
|
for (let r2 = 0; r2 < i2.length; r2++) {
|
|
2871
2939
|
const s2 = i2[r2];
|
|
2872
|
-
s2.apply(this, t2), this._events[e2] && this._events[e2][r2] && "once" === this._events[e2][r2][
|
|
2940
|
+
s2.apply(this, t2), this._events[e2] && this._events[e2][r2] && "once" === this._events[e2][r2][_] && n2.push(s2);
|
|
2873
2941
|
}
|
|
2874
2942
|
return n2.forEach((t3) => this.removeListener(e2, t3)), true;
|
|
2875
2943
|
}
|
|
2876
2944
|
return false;
|
|
2877
2945
|
}
|
|
2878
2946
|
}
|
|
2879
|
-
class
|
|
2947
|
+
class W {
|
|
2880
2948
|
constructor() {
|
|
2881
|
-
this.eventEmitter = new
|
|
2949
|
+
this.eventEmitter = new N(), this.awaitEventEmitter = new q();
|
|
2882
2950
|
}
|
|
2883
2951
|
on(e2, t2) {
|
|
2884
2952
|
return this.eventEmitter.on(e2, t2), this;
|
|
@@ -2895,7 +2963,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
2895
2963
|
});
|
|
2896
2964
|
}
|
|
2897
2965
|
}
|
|
2898
|
-
class
|
|
2966
|
+
class Z {
|
|
2899
2967
|
hasPdfPlugin() {
|
|
2900
2968
|
let e2 = /Firefox[/\s](\d+\.\d+)/.exec(navigator.userAgent);
|
|
2901
2969
|
if (null !== e2 && e2.length > 1) {
|
|
@@ -2909,7 +2977,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
2909
2977
|
return false;
|
|
2910
2978
|
}
|
|
2911
2979
|
}
|
|
2912
|
-
class
|
|
2980
|
+
class j {
|
|
2913
2981
|
constructor(e2) {
|
|
2914
2982
|
this.defaultPlugin = e2;
|
|
2915
2983
|
}
|
|
@@ -2918,12 +2986,12 @@ var telerikReportViewer = (function (exports) {
|
|
|
2918
2986
|
return false;
|
|
2919
2987
|
}
|
|
2920
2988
|
}
|
|
2921
|
-
class
|
|
2989
|
+
class G {
|
|
2922
2990
|
hasPdfPlugin() {
|
|
2923
2991
|
return false;
|
|
2924
2992
|
}
|
|
2925
2993
|
}
|
|
2926
|
-
class
|
|
2994
|
+
class J {
|
|
2927
2995
|
constructor() {
|
|
2928
2996
|
this.hasPdfPlugin = false, this.iframe = null, this.hasPdfPlugin = this.detectPdfSupport(), this.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
|
2929
2997
|
}
|
|
@@ -2931,9 +2999,9 @@ var telerikReportViewer = (function (exports) {
|
|
|
2931
2999
|
return "boolean" == typeof navigator.pdfViewerEnabled ? navigator.pdfViewerEnabled : (function() {
|
|
2932
3000
|
if (window.navigator) {
|
|
2933
3001
|
let e2 = window.navigator.userAgent.toLowerCase();
|
|
2934
|
-
return e2.indexOf("firefox") > -1 ? new
|
|
3002
|
+
return e2.indexOf("firefox") > -1 ? new Z() : e2.indexOf("edg/") > -1 ? new j("Microsoft Edge PDF Plugin") : e2.indexOf("chrome") > -1 ? new j("Chrome PDF Viewer") : e2.indexOf("safari") > -1 ? new j("WebKit built-in PDF") : new G();
|
|
2935
3003
|
}
|
|
2936
|
-
return new
|
|
3004
|
+
return new G();
|
|
2937
3005
|
})().hasPdfPlugin();
|
|
2938
3006
|
}
|
|
2939
3007
|
destroy() {
|
|
@@ -2974,17 +3042,17 @@ var telerikReportViewer = (function (exports) {
|
|
|
2974
3042
|
return this.hasPdfPlugin;
|
|
2975
3043
|
}
|
|
2976
3044
|
}
|
|
2977
|
-
function
|
|
3045
|
+
function K(e2) {
|
|
2978
3046
|
return 1e3 * e2;
|
|
2979
3047
|
}
|
|
2980
|
-
class
|
|
3048
|
+
class X {
|
|
2981
3049
|
constructor(e2, t2, i2) {
|
|
2982
3050
|
if (this.pingMilliseconds = 0, !e2) throw "Error";
|
|
2983
3051
|
this.serviceClient = e2, this.clientID = t2, this.initSessionTimeout(i2);
|
|
2984
3052
|
}
|
|
2985
3053
|
initSessionTimeout(e2) {
|
|
2986
3054
|
if (!isFinite(e2)) throw "sessionTimeoutSeconds must be finite";
|
|
2987
|
-
this.pingMilliseconds = e2 <= 120 ?
|
|
3055
|
+
this.pingMilliseconds = e2 <= 120 ? K(e2) / 2 : K(e2 - 60);
|
|
2988
3056
|
}
|
|
2989
3057
|
start() {
|
|
2990
3058
|
this.pingMilliseconds <= 0 || (this.interval = setInterval(() => {
|
|
@@ -2995,31 +3063,31 @@ var telerikReportViewer = (function (exports) {
|
|
|
2995
3063
|
this.interval && (clearInterval(this.interval), this.interval = null);
|
|
2996
3064
|
}
|
|
2997
3065
|
}
|
|
2998
|
-
var
|
|
2999
|
-
function
|
|
3066
|
+
var Y, Q, ee, te, ie;
|
|
3067
|
+
function ne(e2, t2 = "", i2 = "") {
|
|
3000
3068
|
let n2 = document.createElement(e2);
|
|
3001
|
-
return t2 && (n2.id = t2),
|
|
3069
|
+
return t2 && (n2.id = t2), re(n2, i2), n2;
|
|
3002
3070
|
}
|
|
3003
|
-
function
|
|
3071
|
+
function re(e2, t2) {
|
|
3004
3072
|
if ("" === t2 || !e2) return;
|
|
3005
3073
|
let i2 = t2.trim().split(" ");
|
|
3006
3074
|
i2 = i2.filter((e3) => "" !== e3.trim()), e2.classList.add(...i2);
|
|
3007
3075
|
}
|
|
3008
|
-
function
|
|
3076
|
+
function se(e2, t2) {
|
|
3009
3077
|
if ("" === t2 || !e2) return;
|
|
3010
3078
|
let i2 = t2.trim().split(" ");
|
|
3011
3079
|
i2 = i2.filter((e3) => "" !== e3.trim()), e2.classList.remove(...i2);
|
|
3012
3080
|
}
|
|
3013
|
-
function
|
|
3081
|
+
function oe(e2, t2) {
|
|
3014
3082
|
return e2.classList.contains(t2);
|
|
3015
3083
|
}
|
|
3016
|
-
function
|
|
3084
|
+
function ae(e2) {
|
|
3017
3085
|
return e2.offsetParent;
|
|
3018
3086
|
}
|
|
3019
|
-
function
|
|
3087
|
+
function le(e2) {
|
|
3020
3088
|
return parseInt(e2, 10) || 0;
|
|
3021
3089
|
}
|
|
3022
|
-
function
|
|
3090
|
+
function he(e2, t2, i2, n2 = 0, r2 = 0) {
|
|
3023
3091
|
let s2 = `${n2 = n2 || 0} ${r2 = r2 || 0}`;
|
|
3024
3092
|
!(function(e3, t3) {
|
|
3025
3093
|
e3.style.setProperty("transform", t3), e3.style.setProperty("-moz-transform", t3), e3.style.setProperty("-ms-transform", t3), e3.style.setProperty("-webkit-transform", t3), e3.style.setProperty("-o-transform", t3);
|
|
@@ -3027,11 +3095,11 @@ var telerikReportViewer = (function (exports) {
|
|
|
3027
3095
|
e3.style.setProperty("transform-origin", t3), e3.style.setProperty("-moz-transform-origin", t3), e3.style.setProperty("-ms-transform-origin", t3), e3.style.setProperty("-webkit-transform-origin", t3), e3.style.setProperty("-o-transform-origin", t3);
|
|
3028
3096
|
})(e2, s2);
|
|
3029
3097
|
}
|
|
3030
|
-
function
|
|
3031
|
-
let t2 =
|
|
3098
|
+
function ce(e2) {
|
|
3099
|
+
let t2 = ne("div");
|
|
3032
3100
|
return t2.textContent = e2, t2.innerHTML;
|
|
3033
3101
|
}
|
|
3034
|
-
function
|
|
3102
|
+
function de(e2) {
|
|
3035
3103
|
if (e2 && e2.length < 6) {
|
|
3036
3104
|
let t3 = 1, i2 = e2.split("");
|
|
3037
3105
|
for ("#" !== i2[0] && (t3 = 0); t3 < i2.length; t3++) i2[t3] = i2[t3] + i2[t3];
|
|
@@ -3040,14 +3108,14 @@ var telerikReportViewer = (function (exports) {
|
|
|
3040
3108
|
let t2 = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e2);
|
|
3041
3109
|
return t2 ? parseInt(t2[1], 16) + ", " + parseInt(t2[2], 16) + ", " + parseInt(t2[3], 16) : null;
|
|
3042
3110
|
}
|
|
3043
|
-
function
|
|
3111
|
+
function ue(e2) {
|
|
3044
3112
|
return !!e2 && e2.indexOf(",") > -1;
|
|
3045
3113
|
}
|
|
3046
|
-
function
|
|
3114
|
+
function pe(e2) {
|
|
3047
3115
|
if ("transparent" === e2.toLowerCase()) return 0;
|
|
3048
|
-
if (!
|
|
3116
|
+
if (!ue(e2)) return 1;
|
|
3049
3117
|
if (-1 !== e2.indexOf("#")) {
|
|
3050
|
-
let t3 =
|
|
3118
|
+
let t3 = de(e2);
|
|
3051
3119
|
if (null === t3) return 1;
|
|
3052
3120
|
e2 = t3;
|
|
3053
3121
|
}
|
|
@@ -3056,28 +3124,28 @@ var telerikReportViewer = (function (exports) {
|
|
|
3056
3124
|
});
|
|
3057
3125
|
return 4 === t2.length ? parseFloat((parseFloat(t2[3].replace(/[()]/g, "")) / 255).toFixed(2)) : 1;
|
|
3058
3126
|
}
|
|
3059
|
-
function
|
|
3060
|
-
let i2 =
|
|
3127
|
+
function ge(e2, t2) {
|
|
3128
|
+
let i2 = ne("div");
|
|
3061
3129
|
for (i2.innerHTML = t2; i2.childNodes.length; ) e2.appendChild(i2.childNodes[0]);
|
|
3062
3130
|
}
|
|
3063
|
-
function
|
|
3064
|
-
let i2 =
|
|
3131
|
+
function fe(e2, t2) {
|
|
3132
|
+
let i2 = ne("div");
|
|
3065
3133
|
for (i2.innerHTML = t2; i2.childNodes.length; ) e2.prepend(i2.childNodes[i2.childNodes.length - 1]);
|
|
3066
3134
|
}
|
|
3067
|
-
function
|
|
3135
|
+
function me(e2, t2) {
|
|
3068
3136
|
return e2 ? e2.querySelector(t2) : null;
|
|
3069
3137
|
}
|
|
3070
|
-
function
|
|
3138
|
+
function ve(e2) {
|
|
3071
3139
|
let t2 = e2.parentElement;
|
|
3072
|
-
return t2 ? t2.clientHeight != t2.scrollHeight ? t2 :
|
|
3140
|
+
return t2 ? t2.clientHeight != t2.scrollHeight ? t2 : ve(t2) : null;
|
|
3073
3141
|
}
|
|
3074
|
-
function
|
|
3142
|
+
function Pe(e2, t2 = 300) {
|
|
3075
3143
|
let i2;
|
|
3076
3144
|
return function(...n2) {
|
|
3077
3145
|
clearTimeout(i2), i2 = setTimeout(() => e2.apply(this, n2), t2);
|
|
3078
3146
|
};
|
|
3079
3147
|
}
|
|
3080
|
-
function
|
|
3148
|
+
function Ce(e2, t2) {
|
|
3081
3149
|
let i2 = null;
|
|
3082
3150
|
return function(n2, ...r2) {
|
|
3083
3151
|
i2 || (i2 = setTimeout(function() {
|
|
@@ -3085,50 +3153,56 @@ var telerikReportViewer = (function (exports) {
|
|
|
3085
3153
|
}, t2));
|
|
3086
3154
|
};
|
|
3087
3155
|
}
|
|
3088
|
-
function
|
|
3156
|
+
function ye(e2, t2) {
|
|
3089
3157
|
return !!e2.responseJSON && e2.responseJSON.exceptionType === t2;
|
|
3090
3158
|
}
|
|
3091
|
-
function ye(e2) {
|
|
3092
|
-
return Ce(e2, "Telerik.Reporting.Services.Engine.InvalidClientException");
|
|
3093
|
-
}
|
|
3094
3159
|
function Se(e2) {
|
|
3095
|
-
return
|
|
3160
|
+
return ye(e2, "Telerik.Reporting.Services.Engine.InvalidClientException");
|
|
3161
|
+
}
|
|
3162
|
+
function be(e2) {
|
|
3163
|
+
return ye(e2, "Telerik.Reporting.Services.Engine.InvalidParameterException");
|
|
3096
3164
|
}
|
|
3097
3165
|
function Ie(e2) {
|
|
3098
3166
|
return !!e2 && "internalservererror" === e2.split(" ").join("").toLowerCase();
|
|
3099
3167
|
}
|
|
3100
|
-
function
|
|
3168
|
+
function we(e2, ...t2) {
|
|
3101
3169
|
return e2.replace(/{(\d+)}/g, (e3, i2) => t2[i2] || "");
|
|
3102
3170
|
}
|
|
3103
|
-
|
|
3171
|
+
e.PageMode = void 0, (Y = e.PageMode || (e.PageMode = {}))[Y.ContinuousScroll = 0] = "ContinuousScroll", Y[Y.SinglePage = 1] = "SinglePage", e.PrintMode = void 0, (Q = e.PrintMode || (e.PrintMode = {}))[Q.AutoSelect = 0] = "AutoSelect", Q[Q.ForcePDFPlugin = 1] = "ForcePDFPlugin", Q[Q.ForcePDFFile = 2] = "ForcePDFFile", e.ScaleMode = void 0, (ee = e.ScaleMode || (e.ScaleMode = {}))[ee.FitPageWidth = 0] = "FitPageWidth", ee[ee.FitPage = 1] = "FitPage", ee[ee.Specific = 2] = "Specific", e.ServiceType = void 0, (te = e.ServiceType || (e.ServiceType = {}))[te.REST = 0] = "REST", te[te.ReportServer = 1] = "ReportServer", e.ViewMode = void 0, (ie = e.ViewMode || (e.ViewMode = {}))[ie.Interactive = 0] = "Interactive", ie[ie.PrintPreview = 1] = "PrintPreview";
|
|
3172
|
+
const Le = ["javascript:", "vbscript:"];
|
|
3173
|
+
function Te(e2) {
|
|
3174
|
+
if ("string" != typeof e2 || 0 === e2.length) return false;
|
|
3175
|
+
const t2 = e2.replace(/[\u0000-\u0020]/g, "").toLowerCase();
|
|
3176
|
+
return Le.some((e3) => t2.startsWith(e3));
|
|
3177
|
+
}
|
|
3178
|
+
function Ae(e2, t2) {
|
|
3104
3179
|
let i2, n2;
|
|
3105
|
-
if (
|
|
3180
|
+
if (Re(e2)) for (i2 = e2.length, n2 = 0; n2 < i2 && false !== t2.call(e2[n2], n2, e2[n2]); n2++) ;
|
|
3106
3181
|
else for (n2 in e2) if (false === t2.call(e2[n2], n2, e2[n2])) break;
|
|
3107
3182
|
return e2;
|
|
3108
3183
|
}
|
|
3109
|
-
function
|
|
3184
|
+
function Re(e2) {
|
|
3110
3185
|
if (Array.isArray(e2)) return true;
|
|
3111
3186
|
return "number" == typeof (!!e2 && "length" in e2 && e2.length);
|
|
3112
3187
|
}
|
|
3113
|
-
function
|
|
3188
|
+
function Ee(e2) {
|
|
3114
3189
|
return /^(\-|\+)?([0-9]+)$/.test(e2) ? Number(e2) : NaN;
|
|
3115
3190
|
}
|
|
3116
|
-
function
|
|
3191
|
+
function Me(e2) {
|
|
3117
3192
|
return /^(\-|\+)?([0-9]+(\.[0-9]+)?)$/.test(e2) ? Number(e2) : NaN;
|
|
3118
3193
|
}
|
|
3119
|
-
function
|
|
3194
|
+
function ke(e2) {
|
|
3120
3195
|
return e2 instanceof Date ? e2 : (/Z|[\+\-]\d\d:?\d\d/i.test(e2) || (e2 += "Z"), new Date(e2));
|
|
3121
3196
|
}
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
var De = (function() {
|
|
3197
|
+
const xe = "System.Int64", Ne = "System.Double", De = "System.String", Ve = "System.DateTime", Fe = "System.Boolean";
|
|
3198
|
+
var Oe = (function() {
|
|
3125
3199
|
var e2 = {};
|
|
3126
3200
|
function t2(e3, t3, i3, n2) {
|
|
3127
3201
|
var r2 = [].concat(t3).map(function(t4) {
|
|
3128
3202
|
return (function(e4, t5, i4) {
|
|
3129
3203
|
if (e4.availableValues) {
|
|
3130
3204
|
var n3 = false;
|
|
3131
|
-
if (
|
|
3205
|
+
if (Ae(e4.availableValues, function(e5, r3) {
|
|
3132
3206
|
return !(n3 = i4(t5, r3.value));
|
|
3133
3207
|
}), !n3) {
|
|
3134
3208
|
if (e4.allowNull && !t5) return t5;
|
|
@@ -3150,7 +3224,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3150
3224
|
function i2(e3, t3) {
|
|
3151
3225
|
return e3.allowNull && -1 != [null, "", void 0].indexOf(t3);
|
|
3152
3226
|
}
|
|
3153
|
-
return e2[
|
|
3227
|
+
return e2[De] = { validate: function(e3, i3) {
|
|
3154
3228
|
return t2(e3, i3, function(t3) {
|
|
3155
3229
|
if (!t3) {
|
|
3156
3230
|
if (e3.allowNull) return null;
|
|
@@ -3161,37 +3235,37 @@ var telerikReportViewer = (function (exports) {
|
|
|
3161
3235
|
}, function(e4, t3) {
|
|
3162
3236
|
return e4 == t3;
|
|
3163
3237
|
});
|
|
3164
|
-
} }, e2[
|
|
3238
|
+
} }, e2[Ne] = { validate: function(e3, n2) {
|
|
3165
3239
|
return t2(e3, n2, function(t3) {
|
|
3166
|
-
var n3 =
|
|
3240
|
+
var n3 = Me(t3);
|
|
3167
3241
|
if (isNaN(n3)) {
|
|
3168
3242
|
if (i2(e3, t3)) return null;
|
|
3169
3243
|
throw "Parameter value cannot be empty.";
|
|
3170
3244
|
}
|
|
3171
3245
|
return n3;
|
|
3172
3246
|
}, function(e4, t3) {
|
|
3173
|
-
return
|
|
3247
|
+
return Me(e4) == Me(t3);
|
|
3174
3248
|
});
|
|
3175
|
-
} }, e2[
|
|
3249
|
+
} }, e2[xe] = { validate: function(e3, n2) {
|
|
3176
3250
|
return t2(e3, n2, function(t3) {
|
|
3177
|
-
var n3 =
|
|
3251
|
+
var n3 = Ee(t3);
|
|
3178
3252
|
if (isNaN(n3)) {
|
|
3179
3253
|
if (i2(e3, t3)) return null;
|
|
3180
3254
|
throw "Parameter value cannot be empty.";
|
|
3181
3255
|
}
|
|
3182
3256
|
return n3;
|
|
3183
3257
|
}, function(e4, t3) {
|
|
3184
|
-
return
|
|
3258
|
+
return Ee(e4) == Me(t3);
|
|
3185
3259
|
});
|
|
3186
|
-
} }, e2[
|
|
3260
|
+
} }, e2[Ve] = { validate: function(e3, i3) {
|
|
3187
3261
|
return t2(e3, i3, function(t3) {
|
|
3188
3262
|
if (e3.allowNull && (null === t3 || "" === t3 || void 0 === t3)) return null;
|
|
3189
|
-
if (!isNaN(Date.parse(t3))) return e3.availableValues ? t3 :
|
|
3263
|
+
if (!isNaN(Date.parse(t3))) return e3.availableValues ? t3 : ke(t3);
|
|
3190
3264
|
throw "Please input a valid date.";
|
|
3191
3265
|
}, function(e4, t3) {
|
|
3192
|
-
return e4 =
|
|
3266
|
+
return e4 = ke(e4), t3 = ke(t3), e4.getTime() == t3.getTime();
|
|
3193
3267
|
});
|
|
3194
|
-
} }, e2[
|
|
3268
|
+
} }, e2[Fe] = { validate: function(e3, n2) {
|
|
3195
3269
|
return t2(e3, n2, function(t3) {
|
|
3196
3270
|
if (-1 != ["true", "false"].indexOf(String(t3).toLowerCase())) return Boolean(t3);
|
|
3197
3271
|
if (i2(e3, t3)) return null;
|
|
@@ -3201,11 +3275,11 @@ var telerikReportViewer = (function (exports) {
|
|
|
3201
3275
|
});
|
|
3202
3276
|
} }, { validate: function(t3, i3) {
|
|
3203
3277
|
var n2 = e2[t3.type];
|
|
3204
|
-
if (!n2) throw
|
|
3278
|
+
if (!n2) throw we("Cannot validate parameter of type {type}.", t3);
|
|
3205
3279
|
return n2.validate(t3, i3);
|
|
3206
3280
|
} };
|
|
3207
3281
|
})();
|
|
3208
|
-
function
|
|
3282
|
+
function ze(e2, t2, i2) {
|
|
3209
3283
|
try {
|
|
3210
3284
|
const n2 = e2.availableValues.find((e3) => e3.value === t2);
|
|
3211
3285
|
if (!n2) {
|
|
@@ -3217,17 +3291,17 @@ var telerikReportViewer = (function (exports) {
|
|
|
3217
3291
|
return;
|
|
3218
3292
|
}
|
|
3219
3293
|
}
|
|
3220
|
-
function
|
|
3294
|
+
function _e(e2, t2, i2) {
|
|
3221
3295
|
const n2 = [];
|
|
3222
|
-
for (let r2 in t2) n2.push(
|
|
3296
|
+
for (let r2 in t2) n2.push(ze(e2, t2[r2], i2));
|
|
3223
3297
|
return n2;
|
|
3224
3298
|
}
|
|
3225
|
-
class
|
|
3299
|
+
class He {
|
|
3226
3300
|
constructor(e2 = "", t2 = {}) {
|
|
3227
3301
|
this.report = e2, this.parameters = t2;
|
|
3228
3302
|
}
|
|
3229
3303
|
}
|
|
3230
|
-
class
|
|
3304
|
+
class Ue extends W {
|
|
3231
3305
|
constructor(e2) {
|
|
3232
3306
|
super(), this.resizeObserver = null, this.element = e2, this.initResizeObserver();
|
|
3233
3307
|
}
|
|
@@ -3235,7 +3309,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3235
3309
|
this.destroyResizeObserver();
|
|
3236
3310
|
}
|
|
3237
3311
|
initResizeObserver() {
|
|
3238
|
-
this.debounceResize =
|
|
3312
|
+
this.debounceResize = Pe(this.onResize.bind(this), 50), this.resizeObserver = new ResizeObserver(this.debounceResize), this.resizeObserver.observe(this.element);
|
|
3239
3313
|
}
|
|
3240
3314
|
destroyResizeObserver() {
|
|
3241
3315
|
this.resizeObserver && this.resizeObserver.unobserve(this.element), this.resizeObserver = this.debounceResize = null;
|
|
@@ -3244,8 +3318,8 @@ var telerikReportViewer = (function (exports) {
|
|
|
3244
3318
|
e2[0].target === this.element && this.emit("resize");
|
|
3245
3319
|
}
|
|
3246
3320
|
}
|
|
3247
|
-
const
|
|
3248
|
-
class
|
|
3321
|
+
const $e = '<div class="trv-report-page trv-skeleton-page trv-skeleton-{0}" data-page="{0}"><div class="trv-skeleton-wrapper"></div></div>';
|
|
3322
|
+
class Be {
|
|
3249
3323
|
constructor(t2, i2, n2) {
|
|
3250
3324
|
this.enabled = false, this.viewMode = e.ViewMode.Interactive, this.scrollInProgress = false, this.additionalTopOffset = 130, this.onClickHandler = null, this.debounceScroll = null, this.throttleScroll = null, this.oldScrollTopPosition = 0, this.lastLoadedPage = null, this.placeholder = t2, this.pageContainer = t2.querySelector(".trv-page-container"), this.pageWrapper = t2.querySelector(".trv-page-wrapper"), this.contentArea = i2, this.controller = n2, this.controller.getPageMode() === e.PageMode.ContinuousScroll && this.enable(), this.controller.on("loadedReportChange", this.disable.bind(this)).on("viewModeChanged", this.disable.bind(this)).on("scaleChanged", this.onScaleChanged.bind(this)).on("interactiveActionExecuting", this.onInteractiveActionExecuting.bind(this)).on("pageLoaded", this.onPageLoaded.bind(this));
|
|
3251
3325
|
}
|
|
@@ -3267,10 +3341,10 @@ var telerikReportViewer = (function (exports) {
|
|
|
3267
3341
|
return this.enabled;
|
|
3268
3342
|
}
|
|
3269
3343
|
enable() {
|
|
3270
|
-
this.enabled = true,
|
|
3344
|
+
this.enabled = true, re(this.placeholder, "scrollable"), this.initEvents();
|
|
3271
3345
|
}
|
|
3272
3346
|
disable() {
|
|
3273
|
-
this.enabled && (this.lastLoadedPage = null, this.pageWrapper.innerHTML = "", this.enabled = false,
|
|
3347
|
+
this.enabled && (this.lastLoadedPage = null, this.pageWrapper.innerHTML = "", this.enabled = false, se(this.placeholder, "scrollable"), this.unbind());
|
|
3274
3348
|
}
|
|
3275
3349
|
renderPage(e2) {
|
|
3276
3350
|
let t2 = this.controller.getViewMode(), i2 = this.findPageElement(e2.pageNumber);
|
|
@@ -3285,7 +3359,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3285
3359
|
this.enabled && this.currentPageNumber() > 0 && this.keepCurrentPageInToView();
|
|
3286
3360
|
}
|
|
3287
3361
|
setCurrentPage(e2) {
|
|
3288
|
-
e2 !== this.currentPageNumber() && this.controller.setCurrentPageNumber(e2), this.controller.getPageCount() > 1 && (
|
|
3362
|
+
e2 !== this.currentPageNumber() && this.controller.setCurrentPageNumber(e2), this.controller.getPageCount() > 1 && (se(this.findElement(".k-state-default"), "k-state-default"), re(this.findPageElement(e2), "k-state-default")), this.loadNextPreviousPage(e2);
|
|
3289
3363
|
}
|
|
3290
3364
|
updatePageArea(e2) {
|
|
3291
3365
|
var t2;
|
|
@@ -3310,17 +3384,17 @@ var telerikReportViewer = (function (exports) {
|
|
|
3310
3384
|
return this.controller.getCurrentPageNumber();
|
|
3311
3385
|
}
|
|
3312
3386
|
isSkeletonScreen(e2, t2) {
|
|
3313
|
-
return !(!e2 && !(e2 = this.findPageElement(t2))) &&
|
|
3387
|
+
return !(!e2 && !(e2 = this.findPageElement(t2))) && oe(e2, "trv-skeleton-" + t2);
|
|
3314
3388
|
}
|
|
3315
3389
|
addSkeletonScreen(e2, t2) {
|
|
3316
|
-
let i2 =
|
|
3317
|
-
t2 ?
|
|
3390
|
+
let i2 = we($e, e2);
|
|
3391
|
+
t2 ? fe(this.pageWrapper, i2) : ge(this.pageWrapper, i2);
|
|
3318
3392
|
}
|
|
3319
3393
|
generateSkeletonScreens(e2) {
|
|
3320
3394
|
var t2;
|
|
3321
3395
|
let i2 = "", n2 = null === (t2 = this.findLastElement(".trv-report-page")) || void 0 === t2 ? void 0 : t2.dataset.page, r2 = n2 ? parseInt(n2) + 1 : 1;
|
|
3322
|
-
for (; r2 < e2; r2++) i2 +=
|
|
3323
|
-
|
|
3396
|
+
for (; r2 < e2; r2++) i2 += we($e, r2);
|
|
3397
|
+
ge(this.pageWrapper, i2);
|
|
3324
3398
|
}
|
|
3325
3399
|
loadMorePages() {
|
|
3326
3400
|
var e2;
|
|
@@ -3366,10 +3440,10 @@ var telerikReportViewer = (function (exports) {
|
|
|
3366
3440
|
}
|
|
3367
3441
|
}
|
|
3368
3442
|
initEvents() {
|
|
3369
|
-
this.onClickHandler = this.clickPage.bind(this), this.debounceScroll =
|
|
3443
|
+
this.onClickHandler = this.clickPage.bind(this), this.debounceScroll = Pe(() => {
|
|
3370
3444
|
let e2 = this.placeholder.querySelectorAll(".trv-report-page"), t2 = Math.round(this.pageContainer.scrollTop + this.pageContainer.offsetHeight);
|
|
3371
3445
|
!this.scrollInProgress && e2.length && this.oldScrollTopPosition !== t2 && this.advanceCurrentPage(Array.from(e2));
|
|
3372
|
-
}, 250), this.throttleScroll =
|
|
3446
|
+
}, 250), this.throttleScroll = Ce(() => {
|
|
3373
3447
|
let e2 = this.placeholder.querySelectorAll(".trv-report-page"), t2 = Math.round(this.pageContainer.scrollTop + this.pageContainer.offsetHeight);
|
|
3374
3448
|
this.scrollInProgress || this.oldScrollTopPosition === t2 || (this.oldScrollTopPosition > t2 ? this.scrollUp(Array.from(e2)) : this.scrollDown(Array.from(e2), t2)), this.oldScrollTopPosition = t2;
|
|
3375
3449
|
}, 250), this.pageContainer.addEventListener("click", this.onClickHandler), this.pageContainer.addEventListener("scroll", this.debounceScroll), this.pageContainer.addEventListener("scroll", this.throttleScroll);
|
|
@@ -3458,7 +3532,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3458
3532
|
return i2 && i2.length ? i2[i2.length - 1] : null;
|
|
3459
3533
|
}
|
|
3460
3534
|
}
|
|
3461
|
-
class
|
|
3535
|
+
class qe {
|
|
3462
3536
|
constructor() {
|
|
3463
3537
|
this.scaleFactor = 0, this.placeholder = null, this.scrollableContainer = null, this.itemsInitialState = {}, this.xFrozenAreasBounds = {}, this.yFrozenAreasBounds = {}, this.freezeMaxZIndex = {}, this.freezeBGColor = {}, this.currentlyFrozenContainer = { vertical: {}, horizontal: {} }, this.zIndex = 1;
|
|
3464
3538
|
}
|
|
@@ -3466,7 +3540,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3466
3540
|
this.reset(e2), this.attachToScrollEvent();
|
|
3467
3541
|
}
|
|
3468
3542
|
reset(e2) {
|
|
3469
|
-
this.placeholder = e2, this.scrollableContainer =
|
|
3543
|
+
this.placeholder = e2, this.scrollableContainer = me(e2, ".trv-page-container"), this.itemsInitialState = {}, this.xFrozenAreasBounds = {}, this.yFrozenAreasBounds = {}, this.currentlyFrozenContainer = { vertical: {}, horizontal: {} };
|
|
3470
3544
|
}
|
|
3471
3545
|
setScaleFactor(e2) {
|
|
3472
3546
|
this.scaleFactor = e2;
|
|
@@ -3489,7 +3563,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3489
3563
|
saveFreezeItemsInitialState(e2) {
|
|
3490
3564
|
var t2, i2, n2;
|
|
3491
3565
|
let r2 = null === (t2 = this.placeholder) || void 0 === t2 ? void 0 : t2.querySelectorAll("[data-sticky-direction][data-sticky-id='" + e2 + "']"), s2 = null === (i2 = this.placeholder) || void 0 === i2 ? void 0 : i2.querySelectorAll("[data-reporting-action][data-sticky-id='" + e2 + "']"), o2 = null, a2 = null, l2 = null, h2 = null;
|
|
3492
|
-
this.itemsInitialState[e2] = {}, this.freezeBGColor[e2] = (null === (n2 =
|
|
3566
|
+
this.itemsInitialState[e2] = {}, this.freezeBGColor[e2] = (null === (n2 = me(this.placeholder, "[data-id='" + e2 + "']")) || void 0 === n2 ? void 0 : n2.dataset.stickyBgColor) || "", r2.forEach((t3) => {
|
|
3493
3567
|
var i3;
|
|
3494
3568
|
let n3 = t3.dataset.stickyDirection, r3 = (null === (i3 = t3.dataset.id) || void 0 === i3 ? void 0 : i3.toString()) || "", s3 = t3.offsetLeft / this.scaleFactor, c2 = t3.offsetLeft + t3.offsetWidth * this.scaleFactor, d2 = t3.offsetTop / this.scaleFactor, u2 = t3.offsetTop + t3.offsetHeight * this.scaleFactor, p2 = (e3, t4) => null === e3 || t4 < e3 ? t4 : e3, g2 = (e3, t4) => null === e3 || t4 > e3 ? t4 : e3;
|
|
3495
3569
|
switch (n3) {
|
|
@@ -3511,7 +3585,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3511
3585
|
}
|
|
3512
3586
|
updateFreezeItemsOnScroll(e2, t2, i2) {
|
|
3513
3587
|
var n2, r2;
|
|
3514
|
-
let s2 =
|
|
3588
|
+
let s2 = me(this.placeholder, "div[data-id='" + e2 + "']");
|
|
3515
3589
|
if (!s2) return;
|
|
3516
3590
|
let o2 = null === (n2 = this.placeholder) || void 0 === n2 ? void 0 : n2.querySelectorAll("[data-sticky-direction*='Horizontal'][data-sticky-id='" + e2 + "']"), a2 = null === (r2 = this.placeholder) || void 0 === r2 ? void 0 : r2.querySelectorAll("[data-sticky-direction*='Vertical'][data-sticky-id='" + e2 + "']");
|
|
3517
3591
|
if (this.isInScrollVisibleArea(s2)) {
|
|
@@ -3534,7 +3608,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3534
3608
|
"IMG" !== e2.tagName && (t2 && this.isFrozen(r2) && !i2 ? e2.style.backgroundColor = this.freezeBGColor[r2] : e2.style.backgroundColor = n2 ? this.freezeBGColor[r2] : "initial");
|
|
3535
3609
|
}
|
|
3536
3610
|
hasSetBgColor(e2) {
|
|
3537
|
-
return
|
|
3611
|
+
return pe(e2) > 0;
|
|
3538
3612
|
}
|
|
3539
3613
|
isFrozen(e2) {
|
|
3540
3614
|
return this.currentlyFrozenContainer.horizontal[e2] || this.currentlyFrozenContainer.vertical[e2];
|
|
@@ -3553,21 +3627,22 @@ var telerikReportViewer = (function (exports) {
|
|
|
3553
3627
|
return e2.top > t2.scrollTop - n2 && e2.top < t2.scrollTop + n2 + i2.height;
|
|
3554
3628
|
}
|
|
3555
3629
|
}
|
|
3556
|
-
const
|
|
3557
|
-
function
|
|
3630
|
+
const We = /{(\w+?)}/g, Ze = "trv-initial-image-styles";
|
|
3631
|
+
function je(e2, t2) {
|
|
3558
3632
|
let i2 = Array.isArray(t2);
|
|
3559
|
-
return e2 ? e2.replace(
|
|
3633
|
+
return e2 ? e2.replace(We, function(e3, n2) {
|
|
3560
3634
|
return t2[i2 ? parseInt(n2) : n2];
|
|
3561
3635
|
}) : "";
|
|
3562
3636
|
}
|
|
3563
|
-
const
|
|
3564
|
-
|
|
3637
|
+
const Ge = "trv-search-dialog-shaded-result", Je = "trv-search-dialog-highlighted-result";
|
|
3638
|
+
var Ke;
|
|
3639
|
+
Ke = /* @__PURE__ */ new WeakMap(), e.BasicAuth = L, e.BookmarkNode = class {
|
|
3565
3640
|
constructor() {
|
|
3566
3641
|
this.id = "", this.text = "", this.page = 0, this.items = null;
|
|
3567
3642
|
}
|
|
3568
|
-
}, e.ConnectionConfig =
|
|
3643
|
+
}, e.ConnectionConfig = A, e.ConnectionConfigNoAuth = R, e.ConnectionConfigServerCredentials = M, e.ConnectionConfigServerNoAuth = E, e.ConnectionConfigServerToken = k, e.ContentArea = class {
|
|
3569
3644
|
constructor(e2, t2, i2, n2 = {}) {
|
|
3570
|
-
this.actions = [], this.pendingElement = null, this.documentReady = true, this.reportPageIsLoaded = false, this.navigateToPageOnDocReady = 0, this.navigateToElementOnDocReady = null, this.onClickHandler = null, this.onMouseEnterHandler = null, this.onMouseLeaveHandler = null, this.isNewReportSource = false, this.uiFreezeCoordinator = null, this.initialPageAreaImageUrl = "", this.showPageAreaImage = false, this.placeholder = e2.querySelector(".trv-pages-pane, .trv-pages-area"), this.pageContainer = e2.querySelector(".trv-page-container"), this.pageWrapper = e2.querySelector(".trv-page-wrapper"), this.parametersContainer = e2.querySelector(".trv-parameters-area"), this.notification = e2.querySelector(".trv-notification, .trv-error-pane"), this.scrollManager = new
|
|
3645
|
+
this.actions = [], this.pendingElement = null, this.documentReady = true, this.reportPageIsLoaded = false, this.navigateToPageOnDocReady = 0, this.navigateToElementOnDocReady = null, this.onClickHandler = null, this.onMouseEnterHandler = null, this.onMouseLeaveHandler = null, this.isNewReportSource = false, this.uiFreezeCoordinator = null, this.initialPageAreaImageUrl = "", this.showPageAreaImage = false, this.placeholder = e2.querySelector(".trv-pages-pane, .trv-pages-area"), this.pageContainer = e2.querySelector(".trv-page-container"), this.pageWrapper = e2.querySelector(".trv-page-wrapper"), this.parametersContainer = e2.querySelector(".trv-parameters-area"), this.notification = e2.querySelector(".trv-notification, .trv-error-pane"), this.scrollManager = new Be(this.placeholder, this, t2), this.resizeService = new Ue(this.pageContainer), this.resizeService.on("resize", this.onResize.bind(this)), this.controller = t2, this.controller.on("pageReady", this.onPageReady.bind(this)).on("navigateToPage", this.navigateToPage.bind(this)).on("serverActionStarted", this.onServerActionStarted.bind(this)).on("reportSourceChanged", this.onReportSourceChanged.bind(this)).on("scaleChanged", this.updatePageDimensions.bind(this)).on("scaleModeChanged", this.updatePageDimensions.bind(this)).on("printDocumentReady", this.onPrintDocumentReady.bind(this)).on("exportDocumentReady", this.onExportDocumentReady.bind(this)).onAsync("beforeLoadReport", this.onBeforeLoadReport.bind(this)).on("beginLoadReport", this.onBeginLoadReport.bind(this)).on("reportLoadProgress", this.onReportLoadProgress.bind(this)).onAsync("reportLoadComplete", this.onReportLoadComplete.bind(this)).onAsync("reportAutoRunOff", this.onReportAutoRunOff.bind(this)).on("renderingStopped", this.onRenderingStopped.bind(this)).on("missingOrInvalidParameters", this.onMissingOrInvalidParameters.bind(this)).on("noReport", this.onNoReport.bind(this)).on("error", this.onError.bind(this)).on("showNotification", this.onShowNotification.bind(this)), this.messages = i2, this.enableAccessibility = n2.enableAccessibility || false, this.initialPageAreaImageUrl = n2.initialPageAreaImageUrl || "";
|
|
3571
3646
|
}
|
|
3572
3647
|
destroy() {
|
|
3573
3648
|
this.resizeService && this.resizeService.destroy();
|
|
@@ -3594,10 +3669,10 @@ var telerikReportViewer = (function (exports) {
|
|
|
3594
3669
|
this.documentReady = true, this.invalidateCurrentlyLoadedPage();
|
|
3595
3670
|
}
|
|
3596
3671
|
onReportLoadProgress(e2) {
|
|
3597
|
-
this.navigateWhenPageAvailable(this.navigateToPageOnDocReady, e2.pageCount), this.showNotification(
|
|
3672
|
+
this.navigateWhenPageAvailable(this.navigateToPageOnDocReady, e2.pageCount), this.showNotification(je(this.messages.ReportViewer_LoadingReportPagesInProgress, [e2.pageCount]));
|
|
3598
3673
|
}
|
|
3599
3674
|
onReportLoadComplete(t2) {
|
|
3600
|
-
0 === t2.pageCount ? (this.clearPage(), this.showNotification(this.messages.ReportViewer_NoPageToDisplay)) : (this.navigateOnLoadComplete(this.navigateToPageOnDocReady, t2.pageCount), this.showNotification(
|
|
3675
|
+
0 === t2.pageCount ? (this.clearPage(), this.showNotification(this.messages.ReportViewer_NoPageToDisplay)) : (this.navigateOnLoadComplete(this.navigateToPageOnDocReady, t2.pageCount), this.showNotification(je(this.messages.ReportViewer_LoadedReportPagesComplete, [t2.pageCount])), this.showNotificationTimeoutId = window.setTimeout(this.hideNotification.bind(this), 2e3), this.disableParametersArea(false), this.enableInteractivity()), t2.containsFrozenContent && null === this.uiFreezeCoordinator && (this.uiFreezeCoordinator = new qe(), this.controller.getViewMode() === e.ViewMode.Interactive && this.uiFreezeCoordinator.init(this.placeholder));
|
|
3601
3676
|
}
|
|
3602
3677
|
onReportAutoRunOff() {
|
|
3603
3678
|
this.disableParametersArea(false), this.showNotification(this.messages.ReportViewer_AutoRunDisabled || "Please validate the report parameter values and press Preview to generate the report.");
|
|
@@ -3684,14 +3759,14 @@ var telerikReportViewer = (function (exports) {
|
|
|
3684
3759
|
}
|
|
3685
3760
|
let e3 = 0, i3 = 0;
|
|
3686
3761
|
for (; n2 && n2 !== this.pageContainer; ) {
|
|
3687
|
-
if (
|
|
3762
|
+
if (oe(n2, "trv-page-wrapper")) {
|
|
3688
3763
|
let t3 = n2.dataset.pageScale;
|
|
3689
3764
|
if ("string" == typeof t3) {
|
|
3690
3765
|
let n3 = parseFloat(t3);
|
|
3691
3766
|
e3 *= n3, i3 *= n3;
|
|
3692
3767
|
}
|
|
3693
3768
|
}
|
|
3694
|
-
e3 += n2.offsetTop, i3 += n2.offsetLeft, n2 =
|
|
3769
|
+
e3 += n2.offsetTop, i3 += n2.offsetLeft, n2 = ae(n2);
|
|
3695
3770
|
}
|
|
3696
3771
|
this.scrollManager.getEnabled() && t2 ? this.scrollManager.navigateToElement(e3, t2) : (this.pageContainer.scrollTop = e3, this.pageContainer.scrollLeft = i3);
|
|
3697
3772
|
} else this.scrollManager.getEnabled() && t2 && this.scrollManager.navigateToElement((null === (i2 = this.placeholder) || void 0 === i2 ? void 0 : i2.querySelector('[data-page="' + t2 + '"]')).offsetTop, t2);
|
|
@@ -3703,7 +3778,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3703
3778
|
return !isNaN(t2) && t2 > -1 ? e2 : this.findNextFocusableElement(e2.nextElementSibling);
|
|
3704
3779
|
}
|
|
3705
3780
|
disablePagesArea(e2) {
|
|
3706
|
-
e2 ?
|
|
3781
|
+
e2 ? re(this.placeholder, "trv-loading") : se(this.placeholder, "trv-loading");
|
|
3707
3782
|
}
|
|
3708
3783
|
disableParametersArea(e2) {
|
|
3709
3784
|
var t2, i2;
|
|
@@ -3714,13 +3789,13 @@ var telerikReportViewer = (function (exports) {
|
|
|
3714
3789
|
}
|
|
3715
3790
|
showNotification(e2 = "", t2 = "info") {
|
|
3716
3791
|
let i2 = this.notification.dataset.type;
|
|
3717
|
-
i2 &&
|
|
3792
|
+
i2 && se(this.notification, `k-notification-${i2}`), this.notification.dataset.type = t2;
|
|
3718
3793
|
let n2 = this.notification.querySelector(".k-notification-content, .trv-error-message"), r2 = null == e2 ? void 0 : e2.split(/\r?\n/);
|
|
3719
|
-
n2.innerHTML = r2 && r2.length ? `${r2.join("<br>")}` : "Notification message not found.",
|
|
3794
|
+
n2.innerHTML = r2 && r2.length ? `${r2.join("<br>")}` : "Notification message not found.", re(this.notification, `k-notification-${t2}`), se(this.notification, "k-hidden");
|
|
3720
3795
|
}
|
|
3721
3796
|
hideNotification() {
|
|
3722
3797
|
let e2 = String(this.notification.dataset.type);
|
|
3723
|
-
delete this.notification.dataset.type,
|
|
3798
|
+
delete this.notification.dataset.type, se(this.notification, `k-notification-${e2}`), re(this.notification, "k-hidden");
|
|
3724
3799
|
}
|
|
3725
3800
|
pageNo(e2) {
|
|
3726
3801
|
var t2;
|
|
@@ -3740,7 +3815,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3740
3815
|
if (n2.dataset.box) r2 = JSON.parse(n2.dataset.box);
|
|
3741
3816
|
else {
|
|
3742
3817
|
let e2 = getComputedStyle(n2), i3 = getComputedStyle(t2);
|
|
3743
|
-
r2 = { padLeft:
|
|
3818
|
+
r2 = { padLeft: le(i3.marginLeft) + le(e2.borderLeftWidth) + le(e2.paddingLeft), padRight: le(i3.marginRight) + le(e2.borderRightWidth) + le(e2.paddingRight), padTop: le(i3.marginTop) + le(e2.borderTopWidth) + le(e2.paddingTop), padBottom: le(i3.marginBottom) + le(e2.borderBottomWidth) + le(e2.paddingBottom) }, n2.dataset.box = JSON.stringify(r2);
|
|
3744
3819
|
}
|
|
3745
3820
|
let a2 = s2.offsetWidth, l2 = s2.offsetHeight;
|
|
3746
3821
|
if (0 === a2) {
|
|
@@ -3749,7 +3824,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3749
3824
|
}
|
|
3750
3825
|
const h2 = this.controller.getScaleMode(), c2 = l2 > a2 && h2 === e.ScaleMode.FitPageWidth ? 20 : 0, d2 = (this.pageContainer.clientWidth - c2 - r2.padLeft - r2.padRight) / a2, u2 = (this.pageContainer.clientHeight - 1 - r2.padTop - r2.padBottom) / l2;
|
|
3751
3826
|
let p2 = this.controller.getScale();
|
|
3752
|
-
h2 === e.ScaleMode.FitPageWidth ? p2 = d2 : p2 && h2 !== e.ScaleMode.FitPage || (p2 = Math.min(d2, u2)), null !== this.uiFreezeCoordinator && this.uiFreezeCoordinator.setScaleFactor(p2), t2.dataset.pageScale = p2.toString(), n2.dataset.pageScale = p2.toString(), o2 ||
|
|
3827
|
+
h2 === e.ScaleMode.FitPageWidth ? p2 = d2 : p2 && h2 !== e.ScaleMode.FitPage || (p2 = Math.min(d2, u2)), null !== this.uiFreezeCoordinator && this.uiFreezeCoordinator.setScaleFactor(p2), t2.dataset.pageScale = p2.toString(), n2.dataset.pageScale = p2.toString(), o2 || he(s2, p2, p2), n2.style.height = p2 * l2 + "px", n2.style.width = p2 * a2 + "px", this.controller.setScale(p2, true);
|
|
3753
3828
|
}
|
|
3754
3829
|
enableInteractivity() {
|
|
3755
3830
|
this.disableInteractivity(), this.onClickHandler = this.onClick.bind(this), this.onMouseEnterHandler = this.onMouseEnter.bind(this), this.onMouseLeaveHandler = this.onMouseLeave.bind(this), this.pageContainer.addEventListener("click", this.onClickHandler), this.pageContainer.addEventListener("mouseenter", this.onMouseEnterHandler, true), this.pageContainer.addEventListener("mouseleave", this.onMouseLeaveHandler, true);
|
|
@@ -3772,24 +3847,24 @@ var telerikReportViewer = (function (exports) {
|
|
|
3772
3847
|
onInteractiveItemClick(e2, t2) {
|
|
3773
3848
|
var i2;
|
|
3774
3849
|
let n2 = (null === (i2 = e2.dataset.reportingAction) || void 0 === i2 ? void 0 : i2.toString()) || "", r2 = this.getAction(n2);
|
|
3775
|
-
r2 && (this.navigateToPageOnDocReady = this.getNavigateToPageOnDocReady(t2, r2.Type), this.controller.executeReportAction(new
|
|
3850
|
+
r2 && (this.navigateToPageOnDocReady = this.getNavigateToPageOnDocReady(t2, r2.Type), this.controller.executeReportAction(new h(e2, r2))), t2.stopPropagation();
|
|
3776
3851
|
}
|
|
3777
3852
|
onInteractiveItemEnter(e2) {
|
|
3778
3853
|
var t2;
|
|
3779
3854
|
let i2 = (null === (t2 = e2.dataset.reportingAction) || void 0 === t2 ? void 0 : t2.toString()) || "", n2 = this.getAction(i2);
|
|
3780
|
-
n2 && this.controller.reportActionEnter(new
|
|
3855
|
+
n2 && this.controller.reportActionEnter(new h(e2, n2));
|
|
3781
3856
|
}
|
|
3782
3857
|
onInteractiveItemLeave(e2) {
|
|
3783
3858
|
var t2;
|
|
3784
3859
|
let i2 = (null === (t2 = e2.dataset.reportingAction) || void 0 === t2 ? void 0 : t2.toString()) || "", n2 = this.getAction(i2);
|
|
3785
|
-
n2 && this.controller.reportActionLeave(new
|
|
3860
|
+
n2 && this.controller.reportActionLeave(new h(e2, n2));
|
|
3786
3861
|
}
|
|
3787
3862
|
onToolTipItemEnter(e2, t2) {
|
|
3788
3863
|
let i2 = e2.dataset.tooltipTitle, n2 = e2.dataset.tooltipText;
|
|
3789
|
-
(i2 || n2) && this.controller.reportTooltipOpening(new
|
|
3864
|
+
(i2 || n2) && this.controller.reportTooltipOpening(new C(e2, n2 || "", i2 || "", t2));
|
|
3790
3865
|
}
|
|
3791
3866
|
onToolTipItemLeave(e2) {
|
|
3792
|
-
this.controller.reportTooltipClosing(new
|
|
3867
|
+
this.controller.reportTooltipClosing(new C(e2, "", "", null));
|
|
3793
3868
|
}
|
|
3794
3869
|
getNavigateToPageOnDocReady(e2, t2) {
|
|
3795
3870
|
var i2;
|
|
@@ -3806,7 +3881,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3806
3881
|
var t2;
|
|
3807
3882
|
let i2 = "trv-" + this.controller.getClientId() + "-styles";
|
|
3808
3883
|
null === (t2 = document.getElementById(i2)) || void 0 === t2 || t2.remove();
|
|
3809
|
-
let n2 =
|
|
3884
|
+
let n2 = ne("style", i2);
|
|
3810
3885
|
this.applyNonce(n2), n2.innerHTML = e2.pageStyles, document.head.appendChild(n2);
|
|
3811
3886
|
}
|
|
3812
3887
|
setPageContent(e2) {
|
|
@@ -3818,15 +3893,15 @@ var telerikReportViewer = (function (exports) {
|
|
|
3818
3893
|
this.actions && this.actions.length ? this.actions = this.actions.concat(t2.pageActions) : this.actions = t2.pageActions, this.applyPlaceholderViewModeClass(), this.setPageDimensions(e2, t2.pageNumber);
|
|
3819
3894
|
}
|
|
3820
3895
|
renderPageElement(e2) {
|
|
3821
|
-
let t2 =
|
|
3896
|
+
let t2 = ne("div");
|
|
3822
3897
|
t2.innerHTML = e2.pageContent;
|
|
3823
3898
|
let i2 = t2.querySelector("div.sheet");
|
|
3824
3899
|
i2.style.margin = "0";
|
|
3825
|
-
let n2 =
|
|
3826
|
-
return n2.dataset.page = e2.pageNumber.toString(), n2.append(i2), n2.append(
|
|
3900
|
+
let n2 = ne("div", "", "trv-report-page");
|
|
3901
|
+
return n2.dataset.page = e2.pageNumber.toString(), n2.append(i2), n2.append(ne("div", "", "k-overlay trv-overlay trv-page-overlay")), n2;
|
|
3827
3902
|
}
|
|
3828
3903
|
applyPlaceholderViewModeClass() {
|
|
3829
|
-
this.controller.getViewMode() === e.ViewMode.Interactive ? (
|
|
3904
|
+
this.controller.getViewMode() === e.ViewMode.Interactive ? (se(this.placeholder, "printpreview"), re(this.placeholder, "interactive")) : (se(this.placeholder, "interactive"), re(this.placeholder, "printpreview"));
|
|
3830
3905
|
}
|
|
3831
3906
|
applyNonce(e2) {
|
|
3832
3907
|
const t2 = this.controller.getNonce();
|
|
@@ -3834,14 +3909,18 @@ var telerikReportViewer = (function (exports) {
|
|
|
3834
3909
|
}
|
|
3835
3910
|
setPageAreaImage() {
|
|
3836
3911
|
this.clearPageAreaImage();
|
|
3837
|
-
let e2 =
|
|
3838
|
-
this.applyNonce(e2), e2.innerHTML =
|
|
3912
|
+
let e2 = ne("style", Ze);
|
|
3913
|
+
this.applyNonce(e2), e2.innerHTML = je('.trv-page-container {background: #ffffff url("{0}") no-repeat center 50px}', [this.initialPageAreaImageUrl]), document.head.appendChild(e2), this.showPageAreaImage = true;
|
|
3839
3914
|
}
|
|
3840
3915
|
clearPageAreaImage() {
|
|
3841
3916
|
var e2;
|
|
3842
|
-
null === (e2 = document.getElementById(
|
|
3917
|
+
null === (e2 = document.getElementById(Ze)) || void 0 === e2 || e2.remove();
|
|
3918
|
+
}
|
|
3919
|
+
}, e.CurrentPageChangedEventArgs = P, e.DeviceInfo = a, e.DeviceSetting = class {
|
|
3920
|
+
constructor() {
|
|
3921
|
+
this.name = "", this.type = "string", this.value = null, this.availableValues = null, this.description = "", this.group = "General", this.readOnly = false;
|
|
3843
3922
|
}
|
|
3844
|
-
}, e.
|
|
3923
|
+
}, e.DocumentInfo = class {
|
|
3845
3924
|
constructor() {
|
|
3846
3925
|
this.documentReady = false, this.documentMapAvailable = false, this.containsFrozenContent = false, this.pageCount = 0, this.documentMapNodes = [], this.bookmarkNodes = [], this.renderingExtensions = [], this.autoRunEnabled = true;
|
|
3847
3926
|
}
|
|
@@ -3849,29 +3928,61 @@ var telerikReportViewer = (function (exports) {
|
|
|
3849
3928
|
constructor() {
|
|
3850
3929
|
this.id = "", this.isExpanded = false, this.label = "", this.text = "", this.page = 0, this.items = [];
|
|
3851
3930
|
}
|
|
3852
|
-
}, e.EmailInfo =
|
|
3931
|
+
}, e.EmailInfo = l, e.ExportDocumentReadyEventArgs = p, e.ExportSettingsStore = class {
|
|
3932
|
+
constructor(e2, t2) {
|
|
3933
|
+
Ke.set(this, {});
|
|
3934
|
+
}
|
|
3935
|
+
getValue(e2, t2) {
|
|
3936
|
+
if (t2.readOnly) return t2.value;
|
|
3937
|
+
const i2 = o(this, Ke, "f")[e2];
|
|
3938
|
+
return i2 && Object.prototype.hasOwnProperty.call(i2, t2.name) ? i2[t2.name] : t2.value;
|
|
3939
|
+
}
|
|
3940
|
+
saveValues(e2, t2, i2) {
|
|
3941
|
+
const n2 = this.getFormatValues(e2), r2 = {};
|
|
3942
|
+
return t2.forEach((e3) => {
|
|
3943
|
+
e3.readOnly || (Object.prototype.hasOwnProperty.call(n2, e3.name) && (r2[e3.name] = n2[e3.name]), Object.prototype.hasOwnProperty.call(i2, e3.name) && (r2[e3.name] = i2[e3.name]));
|
|
3944
|
+
}), Object.keys(r2).length > 0 ? o(this, Ke, "f")[e2] = r2 : delete o(this, Ke, "f")[e2], true;
|
|
3945
|
+
}
|
|
3946
|
+
resetValues(e2) {
|
|
3947
|
+
return delete o(this, Ke, "f")[e2], true;
|
|
3948
|
+
}
|
|
3949
|
+
getDeviceInfo(e2, t2) {
|
|
3950
|
+
const i2 = {};
|
|
3951
|
+
return t2.forEach((t3) => {
|
|
3952
|
+
const n2 = this.getValue(e2, t3), r2 = this.hasValue(e2, t3);
|
|
3953
|
+
(t3.readOnly || r2) && null != n2 && (i2[t3.name] = n2);
|
|
3954
|
+
}), i2;
|
|
3955
|
+
}
|
|
3956
|
+
hasValue(e2, t2) {
|
|
3957
|
+
const i2 = o(this, Ke, "f")[e2];
|
|
3958
|
+
return Boolean(i2 && Object.prototype.hasOwnProperty.call(i2, t2.name));
|
|
3959
|
+
}
|
|
3960
|
+
getFormatValues(e2) {
|
|
3961
|
+
return Object.assign({}, o(this, Ke, "f")[e2]);
|
|
3962
|
+
}
|
|
3963
|
+
}, e.ExportStartEventArgs = d, e.ExportStartedEventArgs = u, e.KeepClientAliveSentinel = X, e.NoAuth = w, e.PageAction = class {
|
|
3853
3964
|
constructor() {
|
|
3854
3965
|
this.Id = "", this.ReportItemName = "", this.Type = "", this.Value = {};
|
|
3855
3966
|
}
|
|
3856
|
-
}, e.PageActionEventArgs =
|
|
3967
|
+
}, e.PageActionEventArgs = h, e.PageInfo = class {
|
|
3857
3968
|
constructor() {
|
|
3858
3969
|
this.pageNumber = 0, this.pageReady = false, this.pageStyles = "", this.pageContent = "", this.pageActions = [];
|
|
3859
3970
|
}
|
|
3860
|
-
}, e.PageTargetElement =
|
|
3971
|
+
}, e.PageTargetElement = c, e.ParameterInfo = class {
|
|
3861
3972
|
constructor() {
|
|
3862
3973
|
this.name = "", this.type = "", this.text = "", this.multivalue = false, this.allowNull = false, this.allowBlank = false, this.isVisible = false, this.autoRefresh = false, this.hasChildParameters = false, this.childParameters = [], this.availableValues = [], this.value = "", this.id = "", this.label = "";
|
|
3863
3974
|
}
|
|
3864
|
-
}, e.ParameterValidators =
|
|
3975
|
+
}, e.ParameterValidators = Oe, e.ParameterValue = class {
|
|
3865
3976
|
constructor() {
|
|
3866
3977
|
this.name = "", this.value = null;
|
|
3867
3978
|
}
|
|
3868
|
-
}, e.PersonalTokenAuth =
|
|
3979
|
+
}, e.PersonalTokenAuth = T, e.PrintDocumentReadyEventArgs = f, e.PrintStartedEventArgs = g, e.RenderingExtension = class {
|
|
3869
3980
|
constructor() {
|
|
3870
|
-
this.name = "", this.localizedName = "";
|
|
3981
|
+
this.name = "", this.localizedName = "", this.settings = [];
|
|
3871
3982
|
}
|
|
3872
|
-
}, e.ReportController = class extends
|
|
3983
|
+
}, e.ReportController = class extends W {
|
|
3873
3984
|
constructor(e2, t2) {
|
|
3874
|
-
super(), this.configurationInfo = null, this.keepClientAliveSentinel = null, this.registerClientPromise = null, this.registerInstancePromise = null, this.documentFormatsPromise = null, this.clientId = "", this.reportInstanceId = "", this.documentId = "", this.threadId = "", this.parameterValues = {}, this.bookmarkNodes = [], this.renderingExtensions = null, this.pageCount = 0, this.currentPageNumber = 0, this.clientHasExpired = false, this.cancelLoad = false, this.searchInitiated = false, this.aiPromptInitiated = false, this.contentTabIndex = 0, this.respectAutoRun = true, this.processedParameterValues = {}, this.options = t2, t2.reportSource && this.setParameters(t2.reportSource.parameters), this.printManager = new
|
|
3985
|
+
super(), this.configurationInfo = null, this.keepClientAliveSentinel = null, this.registerClientPromise = null, this.registerInstancePromise = null, this.documentFormatsPromise = null, this.clientId = "", this.reportInstanceId = "", this.documentId = "", this.threadId = "", this.parameterValues = {}, this.bookmarkNodes = [], this.renderingExtensions = null, this.pageCount = 0, this.currentPageNumber = 0, this.clientHasExpired = false, this.cancelLoad = false, this.searchInitiated = false, this.aiPromptInitiated = false, this.contentTabIndex = 0, this.respectAutoRun = true, this.processedParameterValues = {}, this.options = t2, t2.reportSource && this.setParameters(t2.reportSource.parameters), this.printManager = new J(), this.serviceClient = e2, t2.authenticationToken && this.serviceClient.setAccessToken(t2.authenticationToken);
|
|
3875
3986
|
}
|
|
3876
3987
|
get autoRunEnabled() {
|
|
3877
3988
|
var e2 = !this.parameterValues || !("trv_AutoRun" in this.parameterValues) || this.parameterValues.trv_AutoRun;
|
|
@@ -3916,7 +4027,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3916
4027
|
processParameters(e2) {
|
|
3917
4028
|
let t2 = {}, i2 = [], n2 = false;
|
|
3918
4029
|
for (let r2 of e2) try {
|
|
3919
|
-
let e3 =
|
|
4030
|
+
let e3 = Oe.validate(r2, r2.value);
|
|
3920
4031
|
t2[r2.id] = e3;
|
|
3921
4032
|
} catch (e3) {
|
|
3922
4033
|
n2 = true, i2.push(r2);
|
|
@@ -3937,7 +4048,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3937
4048
|
}
|
|
3938
4049
|
hasInvalidParameter(e2) {
|
|
3939
4050
|
for (const t2 of e2) try {
|
|
3940
|
-
|
|
4051
|
+
Oe.validate(t2, t2.value);
|
|
3941
4052
|
} catch (e3) {
|
|
3942
4053
|
return true;
|
|
3943
4054
|
}
|
|
@@ -3969,7 +4080,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
3969
4080
|
}
|
|
3970
4081
|
getReportSource() {
|
|
3971
4082
|
var e2;
|
|
3972
|
-
return new
|
|
4083
|
+
return new He(null === (e2 = this.options.reportSource) || void 0 === e2 ? void 0 : e2.report, this.parameterValues);
|
|
3973
4084
|
}
|
|
3974
4085
|
setReportSource(e2) {
|
|
3975
4086
|
this.options.reportSource = e2, this.setParameters(this.options.reportSource.parameters), this.emit("reportSourceChanged", e2);
|
|
@@ -4014,7 +4125,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
4014
4125
|
return this.currentPageNumber;
|
|
4015
4126
|
}
|
|
4016
4127
|
setCurrentPageNumber(e2) {
|
|
4017
|
-
this.currentPageNumber !== e2 && (this.currentPageNumber = e2, this.emit("currentPageChanged", new
|
|
4128
|
+
this.currentPageNumber !== e2 && (this.currentPageNumber = e2, this.emit("currentPageChanged", new P(e2, this.documentId)));
|
|
4018
4129
|
}
|
|
4019
4130
|
getPageCount() {
|
|
4020
4131
|
return this.pageCount;
|
|
@@ -4033,15 +4144,15 @@ var telerikReportViewer = (function (exports) {
|
|
|
4033
4144
|
if (!e2.cancel) if ("navigateToReport" === t2.Type) {
|
|
4034
4145
|
this.emit("serverActionStarted");
|
|
4035
4146
|
let e3 = t2.Value, i2 = this.fixDataContractJsonSerializer(e3.ParameterValues);
|
|
4036
|
-
this.respectAutoRun = true, this.emit("navigateToReport", new
|
|
4147
|
+
this.respectAutoRun = true, this.emit("navigateToReport", new He(e3.Report, i2));
|
|
4037
4148
|
} else if ("navigateToBookmark" === t2.Type) {
|
|
4038
|
-
let e3 = this.getPageForBookmark(this.bookmarkNodes, t2.Value), i2 = new
|
|
4149
|
+
let e3 = this.getPageForBookmark(this.bookmarkNodes, t2.Value), i2 = new c(t2.Value, "bookmark");
|
|
4039
4150
|
this.navigateToPage(e3, i2);
|
|
4040
4151
|
} else if ("sorting" === t2.Type) this.execServerAction(t2.Id);
|
|
4041
4152
|
else if ("toggleVisibility" === t2.Type) this.execServerAction(t2.Id);
|
|
4042
4153
|
else if ("navigateToUrl" === t2.Type) {
|
|
4043
4154
|
let e3 = t2.Value;
|
|
4044
|
-
window.open(e3.Url, e3.Target);
|
|
4155
|
+
Te(e3.Url) ? console.warn("A NavigateToUrl action was blocked because its URL uses a prohibited scheme (javascript/vbscript).") : window.open(e3.Url, e3.Target);
|
|
4045
4156
|
} else t2.Type;
|
|
4046
4157
|
}), 0);
|
|
4047
4158
|
}
|
|
@@ -4067,37 +4178,40 @@ var telerikReportViewer = (function (exports) {
|
|
|
4067
4178
|
return s(this, void 0, void 0, function* () {
|
|
4068
4179
|
let e2 = this.createDeviceInfo();
|
|
4069
4180
|
e2.ImmediatePrint = true;
|
|
4070
|
-
let t2 = new
|
|
4181
|
+
let t2 = new g(e2);
|
|
4071
4182
|
yield this.emitAsync("printStarted", t2), this.emit("printStarted", t2), t2.handled || (this.showNotification(this.options.messages.ReportViewer_PreparingPrint), this.setUIState("PrintInProgress", true), this.exportAsync("PDF", t2.deviceInfo).then((e3) => s(this, void 0, void 0, function* () {
|
|
4072
4183
|
let t3 = this.serviceClient.getDocumentUrl(this.clientId, this.reportInstanceId, e3);
|
|
4073
4184
|
t3 += `?${"response-content-disposition=" + (this.getCanUsePlugin() ? "inline" : "attachment")}`;
|
|
4074
|
-
let i2 = new
|
|
4185
|
+
let i2 = new f(t3);
|
|
4075
4186
|
yield this.emitAsync("printDocumentReady", i2), this.emit("printDocumentReady", i2), this.setUIState("PrintInProgress", false), i2.handled || this.printManager.print(t3, this.getReportFileName());
|
|
4076
4187
|
})));
|
|
4077
4188
|
});
|
|
4078
4189
|
}
|
|
4079
|
-
exportReport(e2) {
|
|
4190
|
+
exportReport(e2, t2) {
|
|
4080
4191
|
return s(this, void 0, void 0, function* () {
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4192
|
+
const i2 = Object.assign({}, t2);
|
|
4193
|
+
let n2 = new d(i2, e2);
|
|
4194
|
+
if (yield this.emitAsync("exportStart", n2), !n2.isCancelled) {
|
|
4195
|
+
let t3 = new u(n2.deviceInfo, n2.format);
|
|
4084
4196
|
if (yield this.emitAsync("exportStarted", t3), this.emit("exportStarted", t3), t3.handled) return;
|
|
4085
|
-
this.showNotification(this.options.messages.ReportViewer_PreparingDownload), this.setUIState("ExportInProgress", true)
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
let
|
|
4089
|
-
|
|
4197
|
+
this.showNotification(this.options.messages.ReportViewer_PreparingDownload), this.setUIState("ExportInProgress", true);
|
|
4198
|
+
const i3 = this.normalizeDeviceInfo(t3.deviceInfo);
|
|
4199
|
+
this.exportAsync(t3.format, i3).then((t4) => s(this, void 0, void 0, function* () {
|
|
4200
|
+
let i4 = this.serviceClient.getDocumentUrl(this.clientId, this.reportInstanceId, t4);
|
|
4201
|
+
i4 += "?response-content-disposition=attachment";
|
|
4202
|
+
let n3 = new p(i4, e2, "_self");
|
|
4203
|
+
yield this.emitAsync("exportEnd", n3), yield this.emitAsync("exportDocumentReady", n3), this.emit("exportDocumentReady", n3), this.setUIState("ExportInProgress", false), n3.handled || window.open(i4, n3.windowOpenTarget);
|
|
4090
4204
|
}));
|
|
4091
4205
|
}
|
|
4092
4206
|
});
|
|
4093
4207
|
}
|
|
4094
4208
|
sendReport(e2) {
|
|
4095
4209
|
return s(this, void 0, void 0, function* () {
|
|
4096
|
-
let t2 = this.createDeviceInfo(), i2 = new
|
|
4210
|
+
let t2 = this.createDeviceInfo(), i2 = new m(t2, e2.format);
|
|
4097
4211
|
yield this.emitAsync("sendEmailStarted", i2), this.emit("sendEmailStarted", i2), i2.handled || this.exportAsync(e2.format, i2.deviceInfo).then((t3) => s(this, void 0, void 0, function* () {
|
|
4098
4212
|
let n2 = this.serviceClient.getDocumentUrl(this.clientId, this.reportInstanceId, t3);
|
|
4099
4213
|
n2 += "?response-content-disposition=attachment";
|
|
4100
|
-
let r2 = new
|
|
4214
|
+
let r2 = new v(e2, i2.deviceInfo, n2);
|
|
4101
4215
|
yield this.emitAsync("sendEmailDocumentReady", r2), this.emit("sendEmailDocumentReady", r2), r2.handled || this.sendDocumentAsync(t3, r2);
|
|
4102
4216
|
}));
|
|
4103
4217
|
});
|
|
@@ -4121,7 +4235,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
4121
4235
|
}
|
|
4122
4236
|
sendDocumentAsync(e2, t2) {
|
|
4123
4237
|
return this.serviceClient.sendDocument(this.clientId, this.reportInstanceId, e2, t2).catch((e3) => {
|
|
4124
|
-
this.handleRequestError(e3,
|
|
4238
|
+
this.handleRequestError(e3, we(this.options.messages.ReportViewer_ErrorSendingDocument, ce(this.getReport())));
|
|
4125
4239
|
});
|
|
4126
4240
|
}
|
|
4127
4241
|
loadParameters(e2 = void 0) {
|
|
@@ -4134,7 +4248,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
4134
4248
|
}
|
|
4135
4249
|
initializeAndStartSentinel() {
|
|
4136
4250
|
this.options.keepClientAlive && this.clientId && this.serviceClient.getClientsSessionTimeoutSeconds().then((e2) => {
|
|
4137
|
-
this.keepClientAliveSentinel = new
|
|
4251
|
+
this.keepClientAliveSentinel = new X(this.serviceClient, this.clientId, e2), this.keepClientAliveSentinel.start();
|
|
4138
4252
|
});
|
|
4139
4253
|
}
|
|
4140
4254
|
stopSentinel() {
|
|
@@ -4159,14 +4273,14 @@ var telerikReportViewer = (function (exports) {
|
|
|
4159
4273
|
this.pageCount = 0, this.currentPageNumber = 0;
|
|
4160
4274
|
}
|
|
4161
4275
|
handleSearchRequestError(e2) {
|
|
4162
|
-
if (!
|
|
4276
|
+
if (!ye(e2, "System.ArgumentException")) throw this.handleRequestError(e2, "", true), null;
|
|
4163
4277
|
this.throwPromiseError(e2);
|
|
4164
4278
|
}
|
|
4165
4279
|
throwPromiseError(e2) {
|
|
4166
4280
|
throw e2.exceptionMessage ? e2.exceptionMessage : this.options.messages.ReportViewer_PromisesChainStopError;
|
|
4167
4281
|
}
|
|
4168
4282
|
handleRequestError(e2, t2 = "", i2 = false) {
|
|
4169
|
-
|
|
4283
|
+
Se(e2) && this.onClientExpired();
|
|
4170
4284
|
let n2 = Ie(e2.error) ? "" : e2.error, r2 = this.formatRequestError(e2, n2, t2);
|
|
4171
4285
|
this.raiseError(r2), i2 || this.throwPromiseError(e2);
|
|
4172
4286
|
}
|
|
@@ -4174,12 +4288,12 @@ var telerikReportViewer = (function (exports) {
|
|
|
4174
4288
|
let n2 = e2.responseJSON, r2 = "";
|
|
4175
4289
|
if (n2) {
|
|
4176
4290
|
if (401 == n2.status || 403 == n2.status) return this.options.messages.ReportViewer_ErrorUnauthorizedOrForbidden || "You don't have permission to access this report document.";
|
|
4177
|
-
if (
|
|
4178
|
-
r2 =
|
|
4179
|
-
let t3 =
|
|
4291
|
+
if (be(e2)) return this.options.messages.ReportViewer_MissingOrInvalidParameter;
|
|
4292
|
+
r2 = ce(n2.message);
|
|
4293
|
+
let t3 = ce(n2.exceptionMessage || n2.ExceptionMessage || n2.error_description);
|
|
4180
4294
|
t3 && (r2 ? r2 += " " + t3 : r2 = t3);
|
|
4181
|
-
} else r2 =
|
|
4182
|
-
return (i2 || t2) && (r2 && (r2 = " " + r2), r2 =
|
|
4295
|
+
} else r2 = ce(e2.responseText);
|
|
4296
|
+
return (i2 || t2) && (r2 && (r2 = " " + r2), r2 = ce(i2 || t2) + r2), Se(e2) && (r2 += "<br />" + this.options.messages.ReportViewer_ClientExpired), r2;
|
|
4183
4297
|
}
|
|
4184
4298
|
raiseError(e2, t2 = true) {
|
|
4185
4299
|
this.emit("error", e2, t2);
|
|
@@ -4192,7 +4306,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
4192
4306
|
}
|
|
4193
4307
|
initializeClient() {
|
|
4194
4308
|
return this.registerClientPromise || (this.registerClientPromise = this.serviceClient.registerClient().catch((e2) => {
|
|
4195
|
-
const t2 =
|
|
4309
|
+
const t2 = we(this.options.messages.ReportViewer_ErrorServiceUrl, [this.serviceClient.getServiceUrl()]);
|
|
4196
4310
|
this.handleRequestError(e2, t2);
|
|
4197
4311
|
}).then(this.setClientId.bind(this)).catch(this.clearClientId.bind(this))), this.registerClientPromise;
|
|
4198
4312
|
}
|
|
@@ -4202,7 +4316,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
4202
4316
|
registerDocumentAsync(e2, t2, i2) {
|
|
4203
4317
|
return s(this, arguments, void 0, function* (e3, t3, i3, n2 = "", r2 = "") {
|
|
4204
4318
|
return (yield this.serviceClient.createReportDocument(this.clientId, this.reportInstanceId, e3, t3, !i3, n2, r2).catch((t4) => {
|
|
4205
|
-
this.handleRequestError(t4,
|
|
4319
|
+
this.handleRequestError(t4, we(this.options.messages.ReportViewer_ErrorCreatingReportDocument, ce(this.getReport()), ce(e3)));
|
|
4206
4320
|
})) || "";
|
|
4207
4321
|
});
|
|
4208
4322
|
}
|
|
@@ -4228,8 +4342,15 @@ var telerikReportViewer = (function (exports) {
|
|
|
4228
4342
|
let e2 = this.createDeviceInfo();
|
|
4229
4343
|
return e2.ContentOnly = true, e2.UseSVG = true, e2;
|
|
4230
4344
|
}
|
|
4345
|
+
normalizeDeviceInfo(e2) {
|
|
4346
|
+
const t2 = {}, i2 = /* @__PURE__ */ new Map();
|
|
4347
|
+
return Object.entries(e2 || {}).forEach(([e3, n2]) => {
|
|
4348
|
+
const r2 = e3.toLowerCase(), s2 = i2.get(r2);
|
|
4349
|
+
s2 && delete t2[s2], t2[e3] = n2, i2.set(r2, e3);
|
|
4350
|
+
}), t2;
|
|
4351
|
+
}
|
|
4231
4352
|
createDeviceInfo() {
|
|
4232
|
-
let e2 = new
|
|
4353
|
+
let e2 = new a();
|
|
4233
4354
|
this.options.enableAccessibility && (e2.enableAccessibility = true, e2.contentTabIndex = this.getContentTabIndex());
|
|
4234
4355
|
let t2 = this.getSearchInitiated(), i2 = this.options.searchMetadataOnDemand;
|
|
4235
4356
|
return e2.enableSearch = !i2 || t2, e2;
|
|
@@ -4244,7 +4365,7 @@ var telerikReportViewer = (function (exports) {
|
|
|
4244
4365
|
const e2 = {}, t2 = this.getProcessedParameterValues();
|
|
4245
4366
|
for (let i2 in t2) {
|
|
4246
4367
|
const n2 = t2[i2], r2 = this.parameterValues[i2];
|
|
4247
|
-
n2 && n2.availableValues ? n2.multivalue ? e2[i2] =
|
|
4368
|
+
n2 && n2.availableValues ? n2.multivalue ? e2[i2] = _e(n2, r2, i2) : e2[i2] = ze(n2, r2, i2) : e2[i2] = r2;
|
|
4248
4369
|
}
|
|
4249
4370
|
return e2;
|
|
4250
4371
|
}
|
|
@@ -4399,13 +4520,13 @@ ${e3.text} (${e3.id})`;
|
|
|
4399
4520
|
constructor(e2, t2) {
|
|
4400
4521
|
this.url = e2, this.getPersonalAccessToken = t2;
|
|
4401
4522
|
}
|
|
4402
|
-
}, e.ReportSourceOptions =
|
|
4523
|
+
}, e.ReportSourceOptions = He, e.RequestError = y, e.SearchInfo = class {
|
|
4403
4524
|
constructor() {
|
|
4404
4525
|
this.searchToken = "", this.matchCase = false, this.matchWholeWord = false, this.useRegularExpressions = false;
|
|
4405
4526
|
}
|
|
4406
|
-
}, e.SearchManager = class extends
|
|
4527
|
+
}, e.SearchManager = class extends W {
|
|
4407
4528
|
constructor(e2, t2) {
|
|
4408
|
-
super(), this.searchResults = [], this.pendingHighlightItem = null, this.highlightedElements = [], this.currentHighlightedElement = null, this.isActive = false, this.controller = t2, this.pageContainer =
|
|
4529
|
+
super(), this.searchResults = [], this.pendingHighlightItem = null, this.highlightedElements = [], this.currentHighlightedElement = null, this.isActive = false, this.controller = t2, this.pageContainer = me(e2, ".trv-page-container"), this.controller.on("applySearchColors", this.applySearchColors.bind(this)).on("pageReady", this.applySearchColors.bind(this));
|
|
4409
4530
|
}
|
|
4410
4531
|
search(e2) {
|
|
4411
4532
|
this.isActive = true, this.clearColoredItems(), this.searchResults = [], e2.searchToken && "" !== e2.searchToken ? this.controller.getSearchResults(e2).then(this.onSearchComplete.bind(this)) : this.onSearchComplete([]);
|
|
@@ -4414,15 +4535,15 @@ ${e3.text} (${e3.id})`;
|
|
|
4414
4535
|
this.isActive = false, this.clearColoredItems(), this.searchResults = [];
|
|
4415
4536
|
}
|
|
4416
4537
|
highlightSearchItem(t2) {
|
|
4417
|
-
t2 && (this.currentHighlightedElement && (
|
|
4538
|
+
t2 && (this.currentHighlightedElement && (se(this.currentHighlightedElement, Je), re(this.currentHighlightedElement, Ge)), t2.page === this.controller.getCurrentPageNumber() ? this.highlightItem(t2) : this.controller.getPageMode() === e.PageMode.SinglePage ? this.clearColoredItems() : this.highlightItem(t2), this.pendingHighlightItem = t2, this.navigateToPage(t2));
|
|
4418
4539
|
}
|
|
4419
4540
|
navigateToPage(e2) {
|
|
4420
|
-
this.controller.navigateToPage(e2.page, new
|
|
4541
|
+
this.controller.navigateToPage(e2.page, new c(e2.id, "search"));
|
|
4421
4542
|
}
|
|
4422
4543
|
colorPageElements(e2) {
|
|
4423
4544
|
e2 && 0 !== e2.length && (e2.forEach((e3) => {
|
|
4424
|
-
let t2 =
|
|
4425
|
-
t2 && (
|
|
4545
|
+
let t2 = me(this.pageContainer, "[data-search-id=" + e3.id + "]");
|
|
4546
|
+
t2 && (re(t2, Ge), this.highlightedElements.push(t2));
|
|
4426
4547
|
}), this.highlightItem(this.pendingHighlightItem));
|
|
4427
4548
|
}
|
|
4428
4549
|
highlightItem(e2) {
|
|
@@ -4430,13 +4551,13 @@ ${e3.text} (${e3.id})`;
|
|
|
4430
4551
|
let t2 = this.highlightedElements.find(function(t3) {
|
|
4431
4552
|
return t3.dataset.searchId === e2.id;
|
|
4432
4553
|
});
|
|
4433
|
-
t2 && (this.currentHighlightedElement = t2,
|
|
4554
|
+
t2 && (this.currentHighlightedElement = t2, se(t2, Ge), re(t2, Je));
|
|
4434
4555
|
}
|
|
4435
4556
|
}
|
|
4436
4557
|
clearColoredItems() {
|
|
4437
4558
|
this.highlightedElements && this.highlightedElements.length > 0 && this.highlightedElements.forEach((e2) => {
|
|
4438
|
-
|
|
4439
|
-
}), this.currentHighlightedElement &&
|
|
4559
|
+
se(e2, Ge);
|
|
4560
|
+
}), this.currentHighlightedElement && se(this.currentHighlightedElement, Je), this.highlightedElements = [], this.currentHighlightedElement = null;
|
|
4440
4561
|
}
|
|
4441
4562
|
applySearchColors() {
|
|
4442
4563
|
this.isActive && this.colorPageElements(this.searchResults);
|
|
@@ -4448,23 +4569,23 @@ ${e3.text} (${e3.id})`;
|
|
|
4448
4569
|
constructor() {
|
|
4449
4570
|
this.description = "", this.id = "", this.page = 0;
|
|
4450
4571
|
}
|
|
4451
|
-
}, e.SendEmailDocumentReadyEventArgs =
|
|
4572
|
+
}, e.SendEmailDocumentReadyEventArgs = v, e.SendEmailStartedEventArgs = m, e.ServiceClient = class {
|
|
4452
4573
|
constructor(e2) {
|
|
4453
4574
|
this.connectionConfig = this.getConnectionConfig(e2), this.authStrategy = this.getAuthStrategy(this.connectionConfig);
|
|
4454
4575
|
}
|
|
4455
4576
|
getConnectionConfig(e2) {
|
|
4456
|
-
return e2.reportServer && e2.reportServer.url && e2.reportServer.username && e2.reportServer.password ? new
|
|
4577
|
+
return e2.reportServer && e2.reportServer.url && e2.reportServer.username && e2.reportServer.password ? new M(e2.reportServer.url, e2.reportServer.username, e2.reportServer.password) : e2.reportServer && e2.reportServer.url && e2.reportServer.getPersonalAccessToken ? new k(e2.reportServer.url, e2.reportServer.getPersonalAccessToken) : e2.reportServer && e2.reportServer.url ? new E(e2.reportServer.url) : e2.serverPreview && e2.serverShareToken ? new k("", () => Promise.resolve(e2.serverShareToken)) : new R(e2.serviceUrl);
|
|
4457
4578
|
}
|
|
4458
4579
|
getAuthStrategy(t2) {
|
|
4459
4580
|
switch (t2.authType) {
|
|
4460
4581
|
case e.AuthType.None:
|
|
4461
|
-
return new
|
|
4582
|
+
return new w();
|
|
4462
4583
|
case e.AuthType.Basic:
|
|
4463
|
-
return new w(t2);
|
|
4464
|
-
case e.AuthType.PersonalToken:
|
|
4465
4584
|
return new L(t2);
|
|
4585
|
+
case e.AuthType.PersonalToken:
|
|
4586
|
+
return new T(t2);
|
|
4466
4587
|
default:
|
|
4467
|
-
return new
|
|
4588
|
+
return new w();
|
|
4468
4589
|
}
|
|
4469
4590
|
}
|
|
4470
4591
|
validateClientID(e2) {
|
|
@@ -4472,7 +4593,7 @@ ${e3.text} (${e3.id})`;
|
|
|
4472
4593
|
}
|
|
4473
4594
|
authenticatedGet(e2) {
|
|
4474
4595
|
return this.login().then((t2) => (null == t2 ? void 0 : t2.expiresAt) < Date.now() ? (this.loginPromise = this.authStrategy.authenticatePromise(true, t2.refreshToken), this.authenticatedGet(e2)) : (function(e3, t3) {
|
|
4475
|
-
return fetch(e3, { headers:
|
|
4596
|
+
return fetch(e3, { headers: S(t3) }).then(b);
|
|
4476
4597
|
})(e2, t2.access_token || t2.accessToken));
|
|
4477
4598
|
}
|
|
4478
4599
|
authenticatedPost(e2, t2) {
|
|
@@ -4480,7 +4601,7 @@ ${e3.text} (${e3.id})`;
|
|
|
4480
4601
|
}
|
|
4481
4602
|
authenticatedDelete(e2) {
|
|
4482
4603
|
return this.login().then((t2) => t2.expiresAt < Date.now() ? (this.loginPromise = this.authStrategy.authenticatePromise(true, t2.refreshToken), this.authenticatedDelete(e2)) : (function(e3, t3) {
|
|
4483
|
-
return fetch(e3, { method: "DELETE", headers:
|
|
4604
|
+
return fetch(e3, { method: "DELETE", headers: S(t3) }).then(b);
|
|
4484
4605
|
})(e2, t2.access_token || t2.accessToken));
|
|
4485
4606
|
}
|
|
4486
4607
|
login() {
|
|
@@ -4564,16 +4685,18 @@ ${e3.text} (${e3.id})`;
|
|
|
4564
4685
|
return e2.clientSessionTimeout;
|
|
4565
4686
|
});
|
|
4566
4687
|
}
|
|
4567
|
-
}, e.TooltipEventArgs =
|
|
4688
|
+
}, e.TooltipEventArgs = C, e.addClass = re, e.appendHtml = ge, e.createElement = ne, e.debounce = Pe, e.each = Ae, e.escapeHtml = ce, e.findElement = me, e.getColorAlphaValue = pe, e.getElementAttributeValue = function(e2, t2) {
|
|
4568
4689
|
var i2;
|
|
4569
4690
|
return e2 && e2.attributes && (null === (i2 = e2.attributes[t2]) || void 0 === i2 ? void 0 : i2.value) || "";
|
|
4570
|
-
}, e.getElementScrollParent =
|
|
4691
|
+
}, e.getElementScrollParent = ve, e.getOffsetParent = ae, e.hasClass = oe, e.hasExportSettings = function(e2) {
|
|
4692
|
+
return Array.isArray(e2) && e2.some((e3) => e3 && Array.isArray(e3.settings) && e3.settings.length > 0);
|
|
4693
|
+
}, e.hasProhibitedUrlScheme = Te, e.isArray = Re, e.isExceptionOfType = ye, e.isInternalServerError = Ie, e.isInvalidClientException = Se, e.isInvalidParameterException = be, e.isRgbColor = ue, e.keepElementInView = function(e2) {
|
|
4571
4694
|
if (!e2) return;
|
|
4572
|
-
let t2 =
|
|
4695
|
+
let t2 = ve(e2);
|
|
4573
4696
|
if (!t2) return;
|
|
4574
4697
|
let i2 = e2.offsetTop, n2 = i2 + e2.offsetHeight, r2 = t2.scrollTop + t2.offsetHeight;
|
|
4575
4698
|
i2 < t2.scrollTop ? t2.scrollTop = i2 : n2 > r2 && (t2.scrollTop += n2 - r2);
|
|
4576
|
-
}, e.parseToLocalDate =
|
|
4699
|
+
}, e.parseToLocalDate = ke, e.prependHtml = fe, e.removeClass = se, e.reportSourcesAreEqual = function(e2) {
|
|
4577
4700
|
const t2 = e2.firstReportSource, i2 = e2.secondReportSource;
|
|
4578
4701
|
if (t2 && i2 && t2.report === i2.report) {
|
|
4579
4702
|
let e3 = "";
|
|
@@ -4582,12 +4705,27 @@ ${e3.text} (${e3.id})`;
|
|
|
4582
4705
|
return i2.parameters && (n2 = JSON.stringify(i2.parameters)), e3 === n2;
|
|
4583
4706
|
}
|
|
4584
4707
|
return false;
|
|
4585
|
-
}, e.scaleElement =
|
|
4708
|
+
}, e.scaleElement = he, e.splitPascalCase = function(e2) {
|
|
4709
|
+
return e2.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z])([A-Z][a-z])/g, "$1 $2");
|
|
4710
|
+
}, e.stringFormat = we, e.throttle = Ce, e.toPixel = le, e.toRgbColor = de, e.tryParseFloat = Me, e.tryParseInt = Ee, Object.defineProperty(e, "__esModule", { value: true });
|
|
4586
4711
|
});
|
|
4587
4712
|
})(dist, dist.exports);
|
|
4588
4713
|
var distExports = dist.exports;
|
|
4589
4714
|
|
|
4590
4715
|
var stringFormatRegExp = /{(\w+?)}/g;
|
|
4716
|
+
var renderingExtensionIconClasses = {
|
|
4717
|
+
PDF: "rendering-extension-pdf-icon",
|
|
4718
|
+
IMAGE: "rendering-extension-image-icon",
|
|
4719
|
+
CSV: "rendering-extension-csv-icon",
|
|
4720
|
+
DOCX: "rendering-extension-docx-icon",
|
|
4721
|
+
MHTML: "rendering-extension-mhtml-icon",
|
|
4722
|
+
PPTX: "rendering-extension-pptx-icon",
|
|
4723
|
+
RTF: "rendering-extension-rtf-icon",
|
|
4724
|
+
XLS: "rendering-extension-xls-icon",
|
|
4725
|
+
XLSX: "rendering-extension-xlsx-icon",
|
|
4726
|
+
XPS: "rendering-extension-xps-icon"
|
|
4727
|
+
};
|
|
4728
|
+
var exportOptionsIconClass = "rendering-extension-options-icon";
|
|
4591
4729
|
var specialKeys = {
|
|
4592
4730
|
DELETE: 46,
|
|
4593
4731
|
BACKSPACE: 8,
|
|
@@ -4650,6 +4788,12 @@ ${e3.text} (${e3.id})`;
|
|
|
4650
4788
|
return v.toString(16);
|
|
4651
4789
|
});
|
|
4652
4790
|
}
|
|
4791
|
+
function getRenderingExtensionIconClass(format) {
|
|
4792
|
+
return typeof format === "string" ? renderingExtensionIconClasses[format.toUpperCase()] || "" : "";
|
|
4793
|
+
}
|
|
4794
|
+
function getExportOptionsIconClass() {
|
|
4795
|
+
return exportOptionsIconClass;
|
|
4796
|
+
}
|
|
4653
4797
|
function trim(s, charlist) {
|
|
4654
4798
|
return rTrim(lTrim(s, charlist), charlist);
|
|
4655
4799
|
}
|
|
@@ -4824,6 +4968,8 @@ ${e3.text} (${e3.id})`;
|
|
|
4824
4968
|
isSpecialKey,
|
|
4825
4969
|
rectangle,
|
|
4826
4970
|
generateGuidString,
|
|
4971
|
+
getRenderingExtensionIconClass,
|
|
4972
|
+
getExportOptionsIconClass,
|
|
4827
4973
|
trim,
|
|
4828
4974
|
replaceAll,
|
|
4829
4975
|
lTrim,
|
|
@@ -5197,6 +5343,22 @@ ${e3.text} (${e3.id})`;
|
|
|
5197
5343
|
if (!historyManager) {
|
|
5198
5344
|
throw "No options.history.";
|
|
5199
5345
|
}
|
|
5346
|
+
var exportSettingsStore = options.exportSettingsStore;
|
|
5347
|
+
var exportDialogEnabled = Boolean(options.exportDialog.enabled);
|
|
5348
|
+
var hasConfigurableExportSettings = false;
|
|
5349
|
+
var openExportDialogCommand = new Command(() => {
|
|
5350
|
+
if (exportDialogEnabled && hasConfigurableExportSettings) {
|
|
5351
|
+
notificationService.setExportDialogVisible({ visible: true });
|
|
5352
|
+
}
|
|
5353
|
+
}).setEnabled(false);
|
|
5354
|
+
controller.on("beginLoadReport", () => {
|
|
5355
|
+
hasConfigurableExportSettings = false;
|
|
5356
|
+
openExportDialogCommand.setEnabled(false);
|
|
5357
|
+
}).onAsync("reportLoadComplete", async (info) => {
|
|
5358
|
+
const extensions = Array.isArray(info?.renderingExtensions) ? info.renderingExtensions : await Promise.resolve(controller.getDocumentFormats());
|
|
5359
|
+
hasConfigurableExportSettings = distExports.hasExportSettings(extensions);
|
|
5360
|
+
openExportDialogCommand.setEnabled(exportDialogEnabled && hasConfigurableExportSettings);
|
|
5361
|
+
});
|
|
5200
5362
|
function getDocumentMapVisible() {
|
|
5201
5363
|
var args = {};
|
|
5202
5364
|
notificationService.getDocumentMapState(args);
|
|
@@ -5257,9 +5419,16 @@ ${e3.text} (${e3.id})`;
|
|
|
5257
5419
|
}),
|
|
5258
5420
|
"export": new Command((format) => {
|
|
5259
5421
|
if (format) {
|
|
5260
|
-
controller.
|
|
5422
|
+
Promise.resolve(controller.getDocumentFormats()).then((formats) => {
|
|
5423
|
+
const extension = (formats || []).find((item) => item.name === format);
|
|
5424
|
+
const deviceInfo = extension && exportSettingsStore ? exportSettingsStore.getDeviceInfo(format, extension.settings || []) : {};
|
|
5425
|
+
controller.exportReport(format, deviceInfo);
|
|
5426
|
+
}).catch((error) => {
|
|
5427
|
+
controller.trigger("error", { message: error });
|
|
5428
|
+
});
|
|
5261
5429
|
}
|
|
5262
5430
|
}),
|
|
5431
|
+
"openExportDialog": openExportDialogCommand,
|
|
5263
5432
|
"print": new Command(() => {
|
|
5264
5433
|
controller.printReport();
|
|
5265
5434
|
}),
|
|
@@ -5618,6 +5787,18 @@ ${e3.text} (${e3.id})`;
|
|
|
5618
5787
|
sendEmailFormatLabel: "Format:",
|
|
5619
5788
|
sendEmailSendLabel: "Send",
|
|
5620
5789
|
sendEmailCancelLabel: "Cancel",
|
|
5790
|
+
exportDialogSaveLabel: "Save",
|
|
5791
|
+
exportDialogCloseLabel: "Cancel",
|
|
5792
|
+
exportDialogFormatLabel: "Export format",
|
|
5793
|
+
exportOptionsLabel: "Export Options",
|
|
5794
|
+
exportDialogResetLabel: "Reset",
|
|
5795
|
+
exportDialogSettingsSuffix: " Settings",
|
|
5796
|
+
exportDialogDocumentationLabel: "Documentation",
|
|
5797
|
+
exportDialogTextPlaceholder: "Enter text",
|
|
5798
|
+
exportDialogNoSettings: "This export format has no configurable settings.",
|
|
5799
|
+
exportDialogPagesLabel: "Pages",
|
|
5800
|
+
exportDialogAllPagesLabel: "All Pages",
|
|
5801
|
+
exportDialogPageRangeLabel: "Page Range",
|
|
5621
5802
|
// Accessibility string resources
|
|
5622
5803
|
ariaLabelPageNumberSelector: "Page number selector. Showing page {0} of {1}.",
|
|
5623
5804
|
ariaLabelPageNumberEditor: "Page number editor",
|
|
@@ -5645,6 +5826,8 @@ ${e3.text} (${e3.id})`;
|
|
|
5645
5826
|
ariaLabelSearchDialogArea: "Search area",
|
|
5646
5827
|
ariaLabelAiPromptDialogArea: "AI prompt area",
|
|
5647
5828
|
ariaLabelSendEmailDialogArea: "Send email area",
|
|
5829
|
+
ariaLabelSearchDialogInput: "Search input",
|
|
5830
|
+
ariaLabelSearchDialogInputDropdown: "Previous searches",
|
|
5648
5831
|
ariaLabelSearchDialogStop: "Stop search",
|
|
5649
5832
|
ariaLabelSearchDialogOptions: "Search options",
|
|
5650
5833
|
ariaLabelSearchDialogNavigateUp: "Navigate up",
|
|
@@ -5680,6 +5863,12 @@ ${e3.text} (${e3.id})`;
|
|
|
5680
5863
|
ariaLabelSendEmailFormat: "Report format:",
|
|
5681
5864
|
ariaLabelSendEmailSend: "Send email",
|
|
5682
5865
|
ariaLabelSendEmailCancel: "Cancel sending email",
|
|
5866
|
+
// Export dialog accessibility resources
|
|
5867
|
+
ariaLabelExportDialogArea: "Export settings dialog",
|
|
5868
|
+
ariaLabelExportDialogFormat: "Export format",
|
|
5869
|
+
ariaLabelExportDialogSave: "Save export options",
|
|
5870
|
+
ariaLabelExportDialogClose: "Cancel export options",
|
|
5871
|
+
ariaLabelExportDialogReset: "Reset export settings",
|
|
5683
5872
|
// Search dialog resources
|
|
5684
5873
|
searchDialogTitle: "Search in report contents",
|
|
5685
5874
|
searchDialogSearchInProgress: "searching...",
|
|
@@ -5695,11 +5884,14 @@ ${e3.text} (${e3.id})`;
|
|
|
5695
5884
|
searchDialogPageText: "page",
|
|
5696
5885
|
// Send Email dialog resources
|
|
5697
5886
|
sendEmailDialogTitle: "Send Email",
|
|
5887
|
+
sendEmailDialogEmailBody: "Email body textarea",
|
|
5698
5888
|
sendEmailValidationEmailRequired: "Email field is required",
|
|
5699
5889
|
sendEmailValidationEmailFormat: "Email format is not valid",
|
|
5700
5890
|
sendEmailValidationSingleEmail: "The field accepts a single email address only",
|
|
5701
5891
|
sendEmailValidationFormatRequired: "Format field is required",
|
|
5702
5892
|
errorSendingDocument: "Error sending report document (Report = '{0}').",
|
|
5893
|
+
// Export dialog resources
|
|
5894
|
+
exportDialogTitle: "Export Options",
|
|
5703
5895
|
// AI Prompt dialog resources
|
|
5704
5896
|
aiPromptDialogConsentTitle: "Before you start with AI",
|
|
5705
5897
|
aiPromptDialogConsentAccept: "Consent",
|
|
@@ -7927,7 +8119,7 @@ ${e3.text} (${e3.id})`;
|
|
|
7927
8119
|
"button": Button,
|
|
7928
8120
|
"toggle-button": ToggleButton
|
|
7929
8121
|
};
|
|
7930
|
-
function replaceStringResources$
|
|
8122
|
+
function replaceStringResources$4($search) {
|
|
7931
8123
|
if (!$search) {
|
|
7932
8124
|
return;
|
|
7933
8125
|
}
|
|
@@ -7994,7 +8186,7 @@ ${e3.text} (${e3.id})`;
|
|
|
7994
8186
|
if (this.initialized) {
|
|
7995
8187
|
return;
|
|
7996
8188
|
}
|
|
7997
|
-
replaceStringResources$
|
|
8189
|
+
replaceStringResources$4(this.$element);
|
|
7998
8190
|
this._initDialog();
|
|
7999
8191
|
this._initSearchbox();
|
|
8000
8192
|
this._initResultsArea();
|
|
@@ -8082,6 +8274,9 @@ ${e3.text} (${e3.id})`;
|
|
|
8082
8274
|
},
|
|
8083
8275
|
select: this.processComboBoxEvent.bind(this)
|
|
8084
8276
|
});
|
|
8277
|
+
this.kendoComboBox.element[0]?.setAttribute("aria-label", stringResources.ariaLabelSearchDialogInput);
|
|
8278
|
+
this.kendoComboBox.input[0]?.setAttribute("aria-label", stringResources.ariaLabelSearchDialogInput);
|
|
8279
|
+
this.kendoComboBox._arrow[0]?.setAttribute("aria-label", stringResources.ariaLabelSearchDialogInputDropdown);
|
|
8085
8280
|
}
|
|
8086
8281
|
_initDialog() {
|
|
8087
8282
|
this.kendoSearchDialog = new kendo.ui.Window(this.element, {
|
|
@@ -8359,15 +8554,13 @@ ${e3.text} (${e3.id})`;
|
|
|
8359
8554
|
}
|
|
8360
8555
|
if (show) {
|
|
8361
8556
|
$errorIcon[0].title = message;
|
|
8362
|
-
$errorIcon.show();
|
|
8363
|
-
} else {
|
|
8364
|
-
$errorIcon.hide();
|
|
8365
8557
|
}
|
|
8558
|
+
$errorIcon.toggleClass("k-hidden", !show);
|
|
8366
8559
|
}
|
|
8367
8560
|
}
|
|
8368
8561
|
|
|
8369
8562
|
var defaultOptions$1 = {};
|
|
8370
|
-
function replaceStringResources$
|
|
8563
|
+
function replaceStringResources$3($sendEmailDialog) {
|
|
8371
8564
|
if (!$sendEmailDialog) {
|
|
8372
8565
|
return;
|
|
8373
8566
|
}
|
|
@@ -8457,7 +8650,7 @@ ${e3.text} (${e3.id})`;
|
|
|
8457
8650
|
if (this.initialized) {
|
|
8458
8651
|
return;
|
|
8459
8652
|
}
|
|
8460
|
-
replaceStringResources$
|
|
8653
|
+
replaceStringResources$3(this.$element);
|
|
8461
8654
|
this.controller.getDocumentFormats().then((formats) => {
|
|
8462
8655
|
this.docFormatList = formats;
|
|
8463
8656
|
this.docFormat?.setDataSource(this.docFormatList);
|
|
@@ -8597,6 +8790,7 @@ ${e3.text} (${e3.id})`;
|
|
|
8597
8790
|
}
|
|
8598
8791
|
element.setAttribute("id", `${prefix}-${attrName}`);
|
|
8599
8792
|
element.setAttribute("name", `${prefix}-${attrName}`);
|
|
8793
|
+
element.setAttribute("aria-label", stringResources.sendEmailDialogEmailBody);
|
|
8600
8794
|
});
|
|
8601
8795
|
Array.from(this.element.querySelectorAll(".trv-send-email-label label")).forEach((element) => {
|
|
8602
8796
|
var attrFor = element.getAttribute("for");
|
|
@@ -8748,6 +8942,576 @@ ${e3.text} (${e3.id})`;
|
|
|
8748
8942
|
}
|
|
8749
8943
|
}
|
|
8750
8944
|
|
|
8945
|
+
const PAGE_SELECTION_FIELD = "__trvPageSelection";
|
|
8946
|
+
function replaceStringResources$2($dialog) {
|
|
8947
|
+
if (!$dialog) {
|
|
8948
|
+
return;
|
|
8949
|
+
}
|
|
8950
|
+
const labels = $dialog.find(".trv-replace-string");
|
|
8951
|
+
if (labels.length) {
|
|
8952
|
+
Array.from(labels).forEach((element) => {
|
|
8953
|
+
const $element = $(element);
|
|
8954
|
+
const stringResource = stringResources[$element.text()];
|
|
8955
|
+
if (stringResource) {
|
|
8956
|
+
$element.text(stringResource);
|
|
8957
|
+
}
|
|
8958
|
+
});
|
|
8959
|
+
}
|
|
8960
|
+
const ariaLabels = $dialog.find("[aria-label]").add($dialog);
|
|
8961
|
+
if (ariaLabels.length) {
|
|
8962
|
+
Array.from(ariaLabels).forEach((element) => {
|
|
8963
|
+
const $element = $(element);
|
|
8964
|
+
const stringResource = stringResources[$element.attr("aria-label")];
|
|
8965
|
+
if (stringResource) {
|
|
8966
|
+
$element.attr("aria-label", stringResource);
|
|
8967
|
+
}
|
|
8968
|
+
});
|
|
8969
|
+
}
|
|
8970
|
+
}
|
|
8971
|
+
function isPasswordSetting(name) {
|
|
8972
|
+
return typeof name === "string" && name.toLowerCase().includes("password");
|
|
8973
|
+
}
|
|
8974
|
+
function createEditorInput(container, options, type) {
|
|
8975
|
+
return $("<input />").attr({
|
|
8976
|
+
id: options.field,
|
|
8977
|
+
name: options.field,
|
|
8978
|
+
type,
|
|
8979
|
+
"data-bind": `${type === "checkbox" ? "checked" : "value"}:${options.field}`
|
|
8980
|
+
}).appendTo(container);
|
|
8981
|
+
}
|
|
8982
|
+
function createPasswordEditor(container, options) {
|
|
8983
|
+
createEditorInput(container, options, "password").attr("autocomplete", "new-password").kendoTextBox({ enable: options.editorOptions.enabled });
|
|
8984
|
+
}
|
|
8985
|
+
function createDropDownEditor(container, options) {
|
|
8986
|
+
createEditorInput(container, options, "text").kendoDropDownList({
|
|
8987
|
+
dataSource: options.editorOptions.dataSource,
|
|
8988
|
+
enable: options.editorOptions.enabled
|
|
8989
|
+
});
|
|
8990
|
+
}
|
|
8991
|
+
function createCheckBoxEditor(container, options) {
|
|
8992
|
+
container.closest(".k-form-field").addClass("trv-export-boolean-field");
|
|
8993
|
+
createEditorInput(container, options, "checkbox").kendoCheckBox({
|
|
8994
|
+
enabled: options.editorOptions.enabled
|
|
8995
|
+
});
|
|
8996
|
+
}
|
|
8997
|
+
function createNumericEditor(container, options) {
|
|
8998
|
+
createEditorInput(container, options, "text").kendoNumericTextBox({
|
|
8999
|
+
format: "n0",
|
|
9000
|
+
decimals: 0,
|
|
9001
|
+
min: 0,
|
|
9002
|
+
step: 1,
|
|
9003
|
+
autoAdjust: true,
|
|
9004
|
+
enable: options.editorOptions.enabled
|
|
9005
|
+
});
|
|
9006
|
+
}
|
|
9007
|
+
function createTextEditor(container, options) {
|
|
9008
|
+
createEditorInput(container, options, "text").kendoTextBox({
|
|
9009
|
+
placeholder: stringResources.exportDialogTextPlaceholder,
|
|
9010
|
+
enable: options.editorOptions.enabled
|
|
9011
|
+
});
|
|
9012
|
+
}
|
|
9013
|
+
function createPageSelectionEditor(container, options) {
|
|
9014
|
+
const optionName = `${options.field}-${kendo.guid()}`;
|
|
9015
|
+
container.closest(".k-form-field").addClass("trv-export-page-selection");
|
|
9016
|
+
[
|
|
9017
|
+
{ selected: false, text: options.editorOptions.allPagesLabel },
|
|
9018
|
+
{ selected: true, text: options.editorOptions.pageRangeLabel }
|
|
9019
|
+
].forEach((pageOption) => {
|
|
9020
|
+
const inputId = kendo.guid();
|
|
9021
|
+
const option = $('<label class="trv-export-page-option"></label>').appendTo(container);
|
|
9022
|
+
const input = $('<input type="radio" />').attr({
|
|
9023
|
+
id: inputId,
|
|
9024
|
+
name: optionName,
|
|
9025
|
+
[kendo.attr("skip")]: true
|
|
9026
|
+
}).appendTo(option).kendoRadioButton({ checked: pageOption.selected === options.editorOptions.pageRangeSelected });
|
|
9027
|
+
$("<span></span>").text(pageOption.text).appendTo(option);
|
|
9028
|
+
input.on("change", () => options.editorOptions.change(pageOption.selected, options.model));
|
|
9029
|
+
});
|
|
9030
|
+
}
|
|
9031
|
+
class ExportDialog {
|
|
9032
|
+
// #region fields
|
|
9033
|
+
// #endregion
|
|
9034
|
+
// #region constructor
|
|
9035
|
+
constructor(element, options, viewerOptions) {
|
|
9036
|
+
this.options = options;
|
|
9037
|
+
this.viewerOptions = viewerOptions;
|
|
9038
|
+
this.element = element;
|
|
9039
|
+
this.$element = $(element);
|
|
9040
|
+
this.controller = options.controller;
|
|
9041
|
+
this.notificationService = options.notificationService;
|
|
9042
|
+
this.exportSettingsStore = options.exportSettingsStore;
|
|
9043
|
+
this.initialized = false;
|
|
9044
|
+
this.dialogVisible = false;
|
|
9045
|
+
this.format = "";
|
|
9046
|
+
this.formats = [];
|
|
9047
|
+
this.pendingValues = {};
|
|
9048
|
+
this.initialValues = {};
|
|
9049
|
+
this.formatDrawer = void 0;
|
|
9050
|
+
this.settingsForm = void 0;
|
|
9051
|
+
this.currentValues = void 0;
|
|
9052
|
+
this.pagingSettingNames = [];
|
|
9053
|
+
this.windowLocation = void 0;
|
|
9054
|
+
if (!this.controller) {
|
|
9055
|
+
throw "No controller (telerikReporting.ReportViewerController) has been specified.";
|
|
9056
|
+
}
|
|
9057
|
+
if (!this.notificationService) {
|
|
9058
|
+
throw "No notificationService (telerikReporting.NotificationService) has been specified.";
|
|
9059
|
+
}
|
|
9060
|
+
this.init();
|
|
9061
|
+
}
|
|
9062
|
+
// #endregion
|
|
9063
|
+
// #region methods
|
|
9064
|
+
init() {
|
|
9065
|
+
if (this.initialized) {
|
|
9066
|
+
return;
|
|
9067
|
+
}
|
|
9068
|
+
replaceStringResources$2(this.$element);
|
|
9069
|
+
this.$settingsContainer = this.$element.find(".trv-export-dialog-settings");
|
|
9070
|
+
this.$noSettingsMessage = this.$element.find(".trv-export-dialog-no-settings");
|
|
9071
|
+
this.$formatSelector = this.$element.find(".trv-export-dialog-formats");
|
|
9072
|
+
this._initDialog();
|
|
9073
|
+
this._attachCommands();
|
|
9074
|
+
this._attachEvents();
|
|
9075
|
+
this.initialized = true;
|
|
9076
|
+
}
|
|
9077
|
+
_initDialog() {
|
|
9078
|
+
this.phoneViewport = this.isPhoneViewport();
|
|
9079
|
+
this.kendoExportDialog = new kendo.ui.Window(this.element, {
|
|
9080
|
+
title: stringResources.exportDialogTitle,
|
|
9081
|
+
visible: false,
|
|
9082
|
+
draggable: !this.phoneViewport,
|
|
9083
|
+
resizable: true,
|
|
9084
|
+
modal: true,
|
|
9085
|
+
close: () => {
|
|
9086
|
+
this.storeDialogPosition();
|
|
9087
|
+
},
|
|
9088
|
+
open: () => {
|
|
9089
|
+
this.updateDialogViewport();
|
|
9090
|
+
this.adjustDialogPosition();
|
|
9091
|
+
},
|
|
9092
|
+
resize: () => {
|
|
9093
|
+
kendo.resize(this.$element, true);
|
|
9094
|
+
},
|
|
9095
|
+
deactivate: () => {
|
|
9096
|
+
this.notificationService.setExportDialogVisible({ visible: false });
|
|
9097
|
+
}
|
|
9098
|
+
});
|
|
9099
|
+
this.kendoExportDialog.element.removeClass("trv-export-dialog k-hidden");
|
|
9100
|
+
this.kendoExportDialog.wrapper.addClass("trv-export-dialog");
|
|
9101
|
+
this.kendoExportDialog.wrapper.find(".k-window-title").prepend(
|
|
9102
|
+
$('<span aria-hidden="true"></span>').addClass(
|
|
9103
|
+
`k-sprite rendering-extension-icon ${getExportOptionsIconClass()}`
|
|
9104
|
+
)
|
|
9105
|
+
);
|
|
9106
|
+
this.$element.find(".trv-export-dialog-reset").kendoButton({
|
|
9107
|
+
icon: "arrow-rotate-cw",
|
|
9108
|
+
fillMode: "flat",
|
|
9109
|
+
themeColor: "base"
|
|
9110
|
+
});
|
|
9111
|
+
this.$element.find(".trv-export-dialog-documentation").attr("title", stringResources.exportDialogDocumentationLabel).prepend(kendo.ui.icon({ icon: "hyperlink-open" }));
|
|
9112
|
+
this.$element.find('[data-command="telerik_ReportViewer_exportDialog_Close"]').kendoButton({
|
|
9113
|
+
fillMode: "solid",
|
|
9114
|
+
themeColor: "base"
|
|
9115
|
+
});
|
|
9116
|
+
this.$element.find('[data-command="telerik_ReportViewer_exportDialog_Save"]').kendoButton({
|
|
9117
|
+
fillMode: "solid",
|
|
9118
|
+
themeColor: "primary"
|
|
9119
|
+
});
|
|
9120
|
+
this.$settingsContainer.kendoTooltip({
|
|
9121
|
+
filter: ".trv-export-setting-info",
|
|
9122
|
+
showOn: "mouseenter focus",
|
|
9123
|
+
position: "top",
|
|
9124
|
+
content: (event) => $('<span class="trv-export-setting-tooltip-text"></span>').text(event.target.attr("data-description") || "")[0].outerHTML
|
|
9125
|
+
});
|
|
9126
|
+
}
|
|
9127
|
+
_attachCommands() {
|
|
9128
|
+
this.optionsCommandSet = {
|
|
9129
|
+
"exportDialog_Close": new Command(() => {
|
|
9130
|
+
this.close();
|
|
9131
|
+
}),
|
|
9132
|
+
"exportDialog_Save": new Command(() => {
|
|
9133
|
+
this.save();
|
|
9134
|
+
}),
|
|
9135
|
+
"exportDialog_Reset": new Command(() => {
|
|
9136
|
+
this.reset();
|
|
9137
|
+
})
|
|
9138
|
+
};
|
|
9139
|
+
Binder.attachCommands(this.$element.find(".trv-export-dialog-layout"), this.optionsCommandSet, this.viewerOptions);
|
|
9140
|
+
}
|
|
9141
|
+
_attachEvents() {
|
|
9142
|
+
this.controller.on("beginLoadReport", this.close.bind(this)).on("viewModeChanged", this.close.bind(this));
|
|
9143
|
+
this.notificationService.setExportDialogVisible((event, args) => {
|
|
9144
|
+
if (args && args.visible === true) {
|
|
9145
|
+
this.open(args.format);
|
|
9146
|
+
} else {
|
|
9147
|
+
this.close();
|
|
9148
|
+
}
|
|
9149
|
+
});
|
|
9150
|
+
$(window).on("resize", () => {
|
|
9151
|
+
if (this.kendoExportDialog && this.kendoExportDialog.options.visible) {
|
|
9152
|
+
if (!this.phoneViewport) {
|
|
9153
|
+
this.storeDialogPosition();
|
|
9154
|
+
}
|
|
9155
|
+
this.updateDialogViewport();
|
|
9156
|
+
this.adjustDialogPosition();
|
|
9157
|
+
}
|
|
9158
|
+
});
|
|
9159
|
+
}
|
|
9160
|
+
isPhoneViewport() {
|
|
9161
|
+
return $(window).innerWidth() <= 767;
|
|
9162
|
+
}
|
|
9163
|
+
updateDialogViewport() {
|
|
9164
|
+
const phone = this.isPhoneViewport();
|
|
9165
|
+
if (phone !== this.phoneViewport) {
|
|
9166
|
+
this.phoneViewport = phone;
|
|
9167
|
+
this.kendoExportDialog.setOptions({ draggable: !phone });
|
|
9168
|
+
}
|
|
9169
|
+
this.updateFormatDrawerForViewport();
|
|
9170
|
+
kendo.resize(this.$element, true);
|
|
9171
|
+
}
|
|
9172
|
+
open() {
|
|
9173
|
+
this.dialogVisible = false;
|
|
9174
|
+
const formatsPromise = this.controller.getDocumentFormats();
|
|
9175
|
+
Promise.resolve(formatsPromise).then((formats) => {
|
|
9176
|
+
if (!distExports.hasExportSettings(formats)) {
|
|
9177
|
+
return;
|
|
9178
|
+
}
|
|
9179
|
+
this.dialogVisible = true;
|
|
9180
|
+
this.pendingValues = {};
|
|
9181
|
+
this.initialValues = {};
|
|
9182
|
+
this.formats = formats || [];
|
|
9183
|
+
this.buildFormatDrawer();
|
|
9184
|
+
this.kendoExportDialog.open();
|
|
9185
|
+
});
|
|
9186
|
+
}
|
|
9187
|
+
close() {
|
|
9188
|
+
this.dialogVisible = false;
|
|
9189
|
+
this.pendingValues = {};
|
|
9190
|
+
this.initialValues = {};
|
|
9191
|
+
this.destroySettingsForm();
|
|
9192
|
+
if (this.kendoExportDialog && this.kendoExportDialog.options.visible) {
|
|
9193
|
+
this.kendoExportDialog.close();
|
|
9194
|
+
}
|
|
9195
|
+
}
|
|
9196
|
+
buildFormatDrawer() {
|
|
9197
|
+
const selectedFormat = this.formats.some((item) => item.name === this.format) ? this.format : this.formats[0]?.name;
|
|
9198
|
+
const drawerItems = this.formats.map((format) => ({
|
|
9199
|
+
format: format.name,
|
|
9200
|
+
text: format.localizedName,
|
|
9201
|
+
selected: format.name === selectedFormat,
|
|
9202
|
+
miniTemplate: () => {
|
|
9203
|
+
const iconClass = getRenderingExtensionIconClass(format.name);
|
|
9204
|
+
const icon = iconClass ? `<span aria-hidden="true" class="k-sprite rendering-extension-icon ${iconClass}"></span>` : `<span aria-hidden="true">${kendo.htmlEncode(format.name.slice(0, 3))}</span>`;
|
|
9205
|
+
return `<li data-role="drawer-item">${icon}</li>`;
|
|
9206
|
+
}
|
|
9207
|
+
}));
|
|
9208
|
+
if (this.formatDrawer) {
|
|
9209
|
+
this.formatDrawer.setOptions({ items: drawerItems });
|
|
9210
|
+
} else {
|
|
9211
|
+
this.formatDrawer = this.$formatSelector.kendoDrawer({
|
|
9212
|
+
items: drawerItems,
|
|
9213
|
+
mode: "push",
|
|
9214
|
+
position: "left",
|
|
9215
|
+
width: 240,
|
|
9216
|
+
mini: { width: 48 },
|
|
9217
|
+
expanded: !this.isPhoneViewport(),
|
|
9218
|
+
autoCollapse: false,
|
|
9219
|
+
swipeToOpen: false,
|
|
9220
|
+
navigatable: true,
|
|
9221
|
+
itemClick: (event) => {
|
|
9222
|
+
if (event.dataItem?.format) {
|
|
9223
|
+
this.showFormat(event.dataItem.format);
|
|
9224
|
+
}
|
|
9225
|
+
}
|
|
9226
|
+
}).data("kendoDrawer");
|
|
9227
|
+
}
|
|
9228
|
+
this.updateFormatDrawerForViewport();
|
|
9229
|
+
this.renderFormatDrawerIcons();
|
|
9230
|
+
this.showFormat(selectedFormat);
|
|
9231
|
+
}
|
|
9232
|
+
updateFormatDrawerForViewport() {
|
|
9233
|
+
if (!this.formatDrawer) {
|
|
9234
|
+
return;
|
|
9235
|
+
}
|
|
9236
|
+
if (this.isPhoneViewport() && this.formatDrawer.visible) {
|
|
9237
|
+
this.formatDrawer.hide();
|
|
9238
|
+
} else if (!this.isPhoneViewport() && !this.formatDrawer.visible) {
|
|
9239
|
+
this.formatDrawer.show();
|
|
9240
|
+
}
|
|
9241
|
+
if (this.formatDrawer.visible) {
|
|
9242
|
+
this.renderFormatDrawerIcons();
|
|
9243
|
+
}
|
|
9244
|
+
}
|
|
9245
|
+
renderFormatDrawerIcons() {
|
|
9246
|
+
if (!this.formatDrawer.visible) {
|
|
9247
|
+
return;
|
|
9248
|
+
}
|
|
9249
|
+
const drawerElements = this.formatDrawer.drawerItemsWrapper.find('[data-role="drawer-item"]');
|
|
9250
|
+
drawerElements.each((index, element) => {
|
|
9251
|
+
const format = this.formats[index];
|
|
9252
|
+
const iconClass = getRenderingExtensionIconClass(format?.name);
|
|
9253
|
+
const $element = $(element);
|
|
9254
|
+
$element.find(".k-item-text").attr("title", format?.localizedName || "");
|
|
9255
|
+
if (iconClass && !$element.find(".rendering-extension-icon").length) {
|
|
9256
|
+
$element.prepend(
|
|
9257
|
+
$('<span aria-hidden="true"></span>').addClass(
|
|
9258
|
+
`k-sprite rendering-extension-icon ${iconClass}`
|
|
9259
|
+
)
|
|
9260
|
+
);
|
|
9261
|
+
}
|
|
9262
|
+
});
|
|
9263
|
+
}
|
|
9264
|
+
showFormat(format) {
|
|
9265
|
+
this.capturePendingValues();
|
|
9266
|
+
this.format = format;
|
|
9267
|
+
const extension = this.formats.find((item) => item.name === format);
|
|
9268
|
+
this.$element.find(".trv-export-dialog-format-name").text(
|
|
9269
|
+
`${extension?.localizedName || format || ""}${stringResources.exportDialogSettingsSuffix}`
|
|
9270
|
+
);
|
|
9271
|
+
this.$element.find(".trv-export-dialog-reset").attr("title", stringResources.ariaLabelExportDialogReset);
|
|
9272
|
+
this.buildSettingsForm(extension ? extension.settings : []);
|
|
9273
|
+
}
|
|
9274
|
+
buildSettingsForm(settings) {
|
|
9275
|
+
this.destroySettingsForm();
|
|
9276
|
+
if (!settings || settings.length === 0) {
|
|
9277
|
+
this.$noSettingsMessage.removeClass("k-hidden");
|
|
9278
|
+
return;
|
|
9279
|
+
}
|
|
9280
|
+
this.$noSettingsMessage.addClass("k-hidden");
|
|
9281
|
+
if (!kendo.ui.Form) {
|
|
9282
|
+
console.error("The Kendo UI Form widget is not available. Export settings cannot be displayed.");
|
|
9283
|
+
this.$noSettingsMessage.removeClass("k-hidden");
|
|
9284
|
+
return;
|
|
9285
|
+
}
|
|
9286
|
+
const formData = {};
|
|
9287
|
+
const groups = /* @__PURE__ */ new Map();
|
|
9288
|
+
settings.forEach((setting) => {
|
|
9289
|
+
const pendingValues = this.pendingValues[this.format];
|
|
9290
|
+
const savedValue = this.exportSettingsStore ? this.exportSettingsStore.getValue(this.format, setting) : setting.value;
|
|
9291
|
+
const initialValue = pendingValues && Object.prototype.hasOwnProperty.call(pendingValues, setting.name) ? pendingValues[setting.name] : savedValue ?? this.getDefaultValue(setting.type);
|
|
9292
|
+
const groupName = setting.group?.trim() || "General";
|
|
9293
|
+
const groupSettings = groups.get(groupName) || [];
|
|
9294
|
+
formData[setting.name] = initialValue;
|
|
9295
|
+
groupSettings.push(setting);
|
|
9296
|
+
groups.set(groupName, groupSettings);
|
|
9297
|
+
});
|
|
9298
|
+
const pageRangeSelected = Number(formData.StartPage) > 0;
|
|
9299
|
+
if (!Object.prototype.hasOwnProperty.call(this.initialValues, this.format)) {
|
|
9300
|
+
this.initialValues[this.format] = { ...formData };
|
|
9301
|
+
}
|
|
9302
|
+
this.currentValues = { ...formData };
|
|
9303
|
+
formData[PAGE_SELECTION_FIELD] = pageRangeSelected;
|
|
9304
|
+
const formElement = $('<div class="trv-export-settings-form"></div>').appendTo(this.$settingsContainer.empty());
|
|
9305
|
+
const items = Array.from(groups, ([name, groupSettings]) => {
|
|
9306
|
+
const isPagingGroup = name === "Paging";
|
|
9307
|
+
const groupItems = groupSettings.map((setting) => this.createFormItem(setting));
|
|
9308
|
+
if (isPagingGroup) {
|
|
9309
|
+
this.pagingSettingNames = groupSettings.map((setting) => setting.name);
|
|
9310
|
+
groupItems.reverse();
|
|
9311
|
+
groupItems.unshift(this.createPageSelectionFormItem(pageRangeSelected));
|
|
9312
|
+
}
|
|
9313
|
+
return {
|
|
9314
|
+
type: "group",
|
|
9315
|
+
label: name,
|
|
9316
|
+
layout: "grid",
|
|
9317
|
+
grid: { cols: 1, gutter: 12 },
|
|
9318
|
+
items: groupItems
|
|
9319
|
+
};
|
|
9320
|
+
});
|
|
9321
|
+
this.settingsForm = formElement.kendoForm({
|
|
9322
|
+
formData: { ...formData },
|
|
9323
|
+
items,
|
|
9324
|
+
renderButtons: false,
|
|
9325
|
+
focusFirst: false,
|
|
9326
|
+
validatable: {
|
|
9327
|
+
validateOnBlur: false,
|
|
9328
|
+
validationSummary: false
|
|
9329
|
+
},
|
|
9330
|
+
change: (event) => {
|
|
9331
|
+
if (event.field !== PAGE_SELECTION_FIELD) {
|
|
9332
|
+
this.currentValues[event.field] = event.value;
|
|
9333
|
+
}
|
|
9334
|
+
}
|
|
9335
|
+
}).data("kendoForm");
|
|
9336
|
+
this.renderSettingInfoIcons(settings);
|
|
9337
|
+
this.togglePagingSettings(pageRangeSelected);
|
|
9338
|
+
}
|
|
9339
|
+
renderSettingInfoIcons(settings) {
|
|
9340
|
+
settings.forEach((setting) => {
|
|
9341
|
+
if (!setting.description) {
|
|
9342
|
+
return;
|
|
9343
|
+
}
|
|
9344
|
+
const label = this.$settingsContainer.find(".k-form-label").filter((index, element) => element.htmlFor === setting.name);
|
|
9345
|
+
const info = $('<span class="trv-export-setting-info" tabindex="0" role="img"></span>').attr({
|
|
9346
|
+
"aria-label": setting.description,
|
|
9347
|
+
"data-description": setting.description
|
|
9348
|
+
}).append(kendo.ui.icon({ icon: "info-circle", type: "font" })).on("click", (event) => event.preventDefault());
|
|
9349
|
+
label.append(info);
|
|
9350
|
+
});
|
|
9351
|
+
}
|
|
9352
|
+
createPageSelectionFormItem(pageRangeSelected) {
|
|
9353
|
+
return {
|
|
9354
|
+
field: PAGE_SELECTION_FIELD,
|
|
9355
|
+
label: stringResources.exportDialogPagesLabel,
|
|
9356
|
+
editor: createPageSelectionEditor,
|
|
9357
|
+
editorOptions: {
|
|
9358
|
+
pageRangeSelected,
|
|
9359
|
+
allPagesLabel: stringResources.exportDialogAllPagesLabel,
|
|
9360
|
+
pageRangeLabel: stringResources.exportDialogPageRangeLabel,
|
|
9361
|
+
change: (selected, model) => this.onPageSelectionChange(selected, model)
|
|
9362
|
+
}
|
|
9363
|
+
};
|
|
9364
|
+
}
|
|
9365
|
+
onPageSelectionChange(pageRangeSelected, model) {
|
|
9366
|
+
model.set(PAGE_SELECTION_FIELD, pageRangeSelected);
|
|
9367
|
+
if (pageRangeSelected) {
|
|
9368
|
+
if (this.pagingSettingNames.includes("StartPage") && Number(model.get("StartPage")) <= 0) {
|
|
9369
|
+
model.set("StartPage", 1);
|
|
9370
|
+
}
|
|
9371
|
+
} else {
|
|
9372
|
+
if (this.pagingSettingNames.includes("StartPage")) {
|
|
9373
|
+
model.set("StartPage", 0);
|
|
9374
|
+
}
|
|
9375
|
+
if (this.pagingSettingNames.includes("EndPage")) {
|
|
9376
|
+
model.set("EndPage", 0);
|
|
9377
|
+
}
|
|
9378
|
+
}
|
|
9379
|
+
this.togglePagingSettings(pageRangeSelected);
|
|
9380
|
+
}
|
|
9381
|
+
togglePagingSettings(pageRangeSelected) {
|
|
9382
|
+
this.pagingSettingNames.forEach((name) => {
|
|
9383
|
+
this.$settingsContainer.find(`[data-container-for="${name}"]`).closest(".k-form-field").toggleClass("k-hidden", !pageRangeSelected);
|
|
9384
|
+
});
|
|
9385
|
+
}
|
|
9386
|
+
createFormItem(setting) {
|
|
9387
|
+
const item = {
|
|
9388
|
+
field: setting.name,
|
|
9389
|
+
label: this.getSettingLabel(setting.name),
|
|
9390
|
+
editorOptions: {
|
|
9391
|
+
enabled: !setting.readOnly
|
|
9392
|
+
}
|
|
9393
|
+
};
|
|
9394
|
+
if (isPasswordSetting(setting.name)) {
|
|
9395
|
+
item.editor = createPasswordEditor;
|
|
9396
|
+
} else if (Array.isArray(setting.availableValues) && setting.availableValues.length > 0) {
|
|
9397
|
+
item.editor = createDropDownEditor;
|
|
9398
|
+
item.editorOptions.dataSource = [...setting.availableValues];
|
|
9399
|
+
} else {
|
|
9400
|
+
switch (setting.type) {
|
|
9401
|
+
case "boolean":
|
|
9402
|
+
item.editor = createCheckBoxEditor;
|
|
9403
|
+
break;
|
|
9404
|
+
case "number":
|
|
9405
|
+
item.editor = createNumericEditor;
|
|
9406
|
+
break;
|
|
9407
|
+
default:
|
|
9408
|
+
item.editor = createTextEditor;
|
|
9409
|
+
break;
|
|
9410
|
+
}
|
|
9411
|
+
}
|
|
9412
|
+
return item;
|
|
9413
|
+
}
|
|
9414
|
+
capturePendingValues() {
|
|
9415
|
+
if (this.currentValues && this.format) {
|
|
9416
|
+
this.pendingValues[this.format] = { ...this.currentValues };
|
|
9417
|
+
}
|
|
9418
|
+
}
|
|
9419
|
+
reset() {
|
|
9420
|
+
if (!this.format || !this.exportSettingsStore?.resetValues(this.format)) {
|
|
9421
|
+
return;
|
|
9422
|
+
}
|
|
9423
|
+
delete this.pendingValues[this.format];
|
|
9424
|
+
delete this.initialValues[this.format];
|
|
9425
|
+
const extension = this.formats.find((item) => item.name === this.format);
|
|
9426
|
+
this.buildSettingsForm(extension ? extension.settings : []);
|
|
9427
|
+
}
|
|
9428
|
+
save() {
|
|
9429
|
+
this.capturePendingValues();
|
|
9430
|
+
let saved = true;
|
|
9431
|
+
this.formats.forEach((extension) => {
|
|
9432
|
+
const values = this.pendingValues[extension.name];
|
|
9433
|
+
if (values && this.exportSettingsStore) {
|
|
9434
|
+
const initialValues = this.initialValues[extension.name] || {};
|
|
9435
|
+
const changedValues = {};
|
|
9436
|
+
Object.keys(values).forEach((name) => {
|
|
9437
|
+
if (values[name] !== initialValues[name]) {
|
|
9438
|
+
changedValues[name] = values[name];
|
|
9439
|
+
}
|
|
9440
|
+
});
|
|
9441
|
+
saved = this.exportSettingsStore.saveValues(
|
|
9442
|
+
extension.name,
|
|
9443
|
+
extension.settings || [],
|
|
9444
|
+
changedValues
|
|
9445
|
+
) && saved;
|
|
9446
|
+
if (saved) {
|
|
9447
|
+
this.initialValues[extension.name] = { ...values };
|
|
9448
|
+
}
|
|
9449
|
+
}
|
|
9450
|
+
});
|
|
9451
|
+
if (saved) {
|
|
9452
|
+
this.close();
|
|
9453
|
+
}
|
|
9454
|
+
}
|
|
9455
|
+
getDefaultValue(settingType) {
|
|
9456
|
+
switch (settingType) {
|
|
9457
|
+
case "boolean":
|
|
9458
|
+
return false;
|
|
9459
|
+
case "number":
|
|
9460
|
+
return null;
|
|
9461
|
+
default:
|
|
9462
|
+
return "";
|
|
9463
|
+
}
|
|
9464
|
+
}
|
|
9465
|
+
getSettingLabel(name) {
|
|
9466
|
+
return stringResources["exportSetting_" + name] || distExports.splitPascalCase(name);
|
|
9467
|
+
}
|
|
9468
|
+
destroySettingsForm() {
|
|
9469
|
+
if (this.settingsForm) {
|
|
9470
|
+
this.settingsForm.destroy();
|
|
9471
|
+
this.settingsForm = void 0;
|
|
9472
|
+
}
|
|
9473
|
+
this.currentValues = void 0;
|
|
9474
|
+
this.pagingSettingNames = [];
|
|
9475
|
+
if (this.$settingsContainer) {
|
|
9476
|
+
this.$settingsContainer.empty();
|
|
9477
|
+
}
|
|
9478
|
+
}
|
|
9479
|
+
storeDialogPosition() {
|
|
9480
|
+
if (this.phoneViewport) {
|
|
9481
|
+
return;
|
|
9482
|
+
}
|
|
9483
|
+
const kendoWindow = this.kendoExportDialog.element.parent(".k-window");
|
|
9484
|
+
this.windowLocation = kendoWindow.offset();
|
|
9485
|
+
}
|
|
9486
|
+
adjustDialogPosition() {
|
|
9487
|
+
if (this.phoneViewport) {
|
|
9488
|
+
return;
|
|
9489
|
+
}
|
|
9490
|
+
const windowWidth = $(window).innerWidth();
|
|
9491
|
+
const windowHeight = $(window).innerHeight();
|
|
9492
|
+
const width = this.kendoExportDialog.wrapper.outerWidth(true);
|
|
9493
|
+
const height = this.kendoExportDialog.wrapper.outerHeight(true);
|
|
9494
|
+
const padding = 10;
|
|
9495
|
+
if (!this.windowLocation) {
|
|
9496
|
+
this.kendoExportDialog.center();
|
|
9497
|
+
return;
|
|
9498
|
+
}
|
|
9499
|
+
let left = this.windowLocation.left;
|
|
9500
|
+
let top = this.windowLocation.top;
|
|
9501
|
+
const right = left + width;
|
|
9502
|
+
const bottom = top + height;
|
|
9503
|
+
if (right > windowWidth - padding) {
|
|
9504
|
+
left = Math.max(padding, windowWidth - width - padding);
|
|
9505
|
+
this.kendoExportDialog.setOptions({ position: { left } });
|
|
9506
|
+
}
|
|
9507
|
+
if (bottom > windowHeight - padding) {
|
|
9508
|
+
top = Math.max(padding, windowHeight - height - padding);
|
|
9509
|
+
this.kendoExportDialog.setOptions({ position: { top } });
|
|
9510
|
+
}
|
|
9511
|
+
}
|
|
9512
|
+
// #endregion
|
|
9513
|
+
}
|
|
9514
|
+
|
|
8751
9515
|
function getEventHandlerFromArguments(args) {
|
|
8752
9516
|
var arg0;
|
|
8753
9517
|
if (args && args.length) {
|
|
@@ -8824,6 +9588,7 @@ ${e3.text} (${e3.id})`;
|
|
|
8824
9588
|
GET_SEND_EMAIL_DIALOG_STATE: "trv.GET_SEND_EMAIL_DIALOG_STATE",
|
|
8825
9589
|
SET_SEARCH_DIALOG_VISIBLE: "trv.SET_SEARCH_DIALOG_VISIBLE",
|
|
8826
9590
|
SET_SEND_EMAIL_DIALOG_VISIBLE: "trv.SET_SEND_EMAIL_DIALOG_VISIBLE",
|
|
9591
|
+
SET_EXPORT_DIALOG_VISIBLE: "trv.SET_EXPORT_DIALOG_VISIBLE",
|
|
8827
9592
|
SET_AI_PROMPT_DIALOG_VISIBLE: "trv.SET_AI_PROMPT_DIALOG_VISIBLE"
|
|
8828
9593
|
};
|
|
8829
9594
|
on() {
|
|
@@ -8866,6 +9631,9 @@ ${e3.text} (${e3.id})`;
|
|
|
8866
9631
|
setSendEmailDialogVisible() {
|
|
8867
9632
|
return this.eventFactory(this.Events.SET_SEND_EMAIL_DIALOG_VISIBLE, arguments);
|
|
8868
9633
|
}
|
|
9634
|
+
setExportDialogVisible() {
|
|
9635
|
+
return this.eventFactory(this.Events.SET_EXPORT_DIALOG_VISIBLE, arguments);
|
|
9636
|
+
}
|
|
8869
9637
|
setAiPromptDialogVisible() {
|
|
8870
9638
|
return this.eventFactory(this.Events.SET_AI_PROMPT_DIALOG_VISIBLE, arguments);
|
|
8871
9639
|
}
|
|
@@ -8904,6 +9672,11 @@ ${e3.text} (${e3.id})`;
|
|
|
8904
9672
|
// #endregion
|
|
8905
9673
|
}
|
|
8906
9674
|
|
|
9675
|
+
const notificationWarningIcon = {
|
|
9676
|
+
name: "warning-circle",
|
|
9677
|
+
content: '<circle cx="256" cy="256" r="208" fill="none" stroke="currentColor" stroke-width="32" /><path d="M224 128h64v160h-64zm0 256v-64h64v64z" />',
|
|
9678
|
+
viewBox: "0 0 512 512"
|
|
9679
|
+
};
|
|
8907
9680
|
const TemplateCache = /* @__PURE__ */ (function() {
|
|
8908
9681
|
var cache = {};
|
|
8909
9682
|
return {
|
|
@@ -8919,7 +9692,19 @@ ${e3.text} (${e3.id})`;
|
|
|
8919
9692
|
var viewerTemplate = $("<div></div>").html(html);
|
|
8920
9693
|
Array.from(viewerTemplate.find("template")).forEach((element) => {
|
|
8921
9694
|
var $element = $(element);
|
|
8922
|
-
|
|
9695
|
+
var $content = $("<div></div>").html($element.html());
|
|
9696
|
+
$content.find("[data-svg-icon]").each((_, icon) => {
|
|
9697
|
+
var $icon = $(icon);
|
|
9698
|
+
var iconName = $icon.attr("data-svg-icon");
|
|
9699
|
+
var exportName = iconName.replace(/-([a-z])/g, (_2, letter) => letter.toUpperCase()) + "Icon";
|
|
9700
|
+
var svgIcon = iconName === "warning-circle" ? notificationWarningIcon : kendo.ui.svgIcons[exportName];
|
|
9701
|
+
if (!svgIcon) {
|
|
9702
|
+
throw new Error(`Kendo SVG icon not found: ${iconName}`);
|
|
9703
|
+
}
|
|
9704
|
+
kendo.ui.icon($icon, { icon: svgIcon, type: "svg" });
|
|
9705
|
+
$icon.removeAttr("data-svg-icon");
|
|
9706
|
+
});
|
|
9707
|
+
templates[$element.attr("id")] = trim($content.html(), "\n ");
|
|
8923
9708
|
});
|
|
8924
9709
|
Array.from(viewerTemplate.find("link")).forEach((element) => {
|
|
8925
9710
|
styleSheets.push(trim(element.outerHTML, "\n "));
|
|
@@ -9110,9 +9895,10 @@ ${e3.text} (${e3.id})`;
|
|
|
9110
9895
|
spin: this._onChange.bind(this)
|
|
9111
9896
|
});
|
|
9112
9897
|
this._numeric._text[0].dataset.role = "telerik_ReportViewer_PageNumberInput";
|
|
9898
|
+
this._numeric._text[0].setAttribute("aria-label", stringResources.ariaLabelPageNumberEditor);
|
|
9113
9899
|
this._numeric.element[0].dataset.role = "";
|
|
9900
|
+
this._numeric.element[0].setAttribute("aria-label", stringResources.ariaLabelPageNumberEditor);
|
|
9114
9901
|
this._numeric.wrapper[0].classList.add("trv-toolbar-numeric");
|
|
9115
|
-
this._numeric._text[0].setAttribute("aria-label", stringResources.ariaLabelPageNumberEditor);
|
|
9116
9902
|
this.options.controller.onAsync("reportLoadComplete", async (reportInfo) => {
|
|
9117
9903
|
this._numeric.max(reportInfo.pageCount);
|
|
9118
9904
|
this._numeric.min(Math.min(1, reportInfo.pageCount));
|
|
@@ -9277,6 +10063,7 @@ ${e3.text} (${e3.id})`;
|
|
|
9277
10063
|
_options;
|
|
9278
10064
|
/** @type {HTMLElement} */
|
|
9279
10065
|
_element;
|
|
10066
|
+
_exportDialogEnabled;
|
|
9280
10067
|
$element;
|
|
9281
10068
|
_kendoToolbar;
|
|
9282
10069
|
_neverOverflowToolBarButtons = ["goToPrevPage", "goToNextPage"];
|
|
@@ -9285,6 +10072,7 @@ ${e3.text} (${e3.id})`;
|
|
|
9285
10072
|
constructor(element, options, viewerOptions) {
|
|
9286
10073
|
this._element = element;
|
|
9287
10074
|
this._options = options;
|
|
10075
|
+
this._exportDialogEnabled = Boolean(viewerOptions.exportDialog.enabled);
|
|
9288
10076
|
this.$element = $(this._element);
|
|
9289
10077
|
if (this._kendoToolbar === void 0) {
|
|
9290
10078
|
this.initKendoToolbar();
|
|
@@ -9435,14 +10223,31 @@ ${e3.text} (${e3.id})`;
|
|
|
9435
10223
|
return;
|
|
9436
10224
|
}
|
|
9437
10225
|
const exportDropdownItems = [];
|
|
9438
|
-
extensions.forEach((extension) =>
|
|
9439
|
-
|
|
9440
|
-
|
|
9441
|
-
|
|
9442
|
-
|
|
9443
|
-
|
|
10226
|
+
extensions.forEach((extension) => {
|
|
10227
|
+
const iconClass = getRenderingExtensionIconClass(extension.name);
|
|
10228
|
+
const item = {
|
|
10229
|
+
id: extension.name,
|
|
10230
|
+
text: extension.localizedName,
|
|
10231
|
+
attributes: {
|
|
10232
|
+
[ToolBarConstants.DataCommandAttr]: "export",
|
|
10233
|
+
[ToolBarConstants.DataCommandParameterAttr]: extension.name
|
|
10234
|
+
}
|
|
10235
|
+
};
|
|
10236
|
+
if (iconClass) {
|
|
10237
|
+
item.spriteCssClass = `rendering-extension-icon ${iconClass}`;
|
|
9444
10238
|
}
|
|
9445
|
-
|
|
10239
|
+
exportDropdownItems.push(item);
|
|
10240
|
+
});
|
|
10241
|
+
if (this._exportDialogEnabled && distExports.hasExportSettings(extensions)) {
|
|
10242
|
+
exportDropdownItems.push({
|
|
10243
|
+
text: stringResources.exportOptionsLabel,
|
|
10244
|
+
spriteCssClass: `rendering-extension-icon ${getExportOptionsIconClass()}`,
|
|
10245
|
+
attributes: {
|
|
10246
|
+
class: "trv-export-options-item",
|
|
10247
|
+
[ToolBarConstants.DataCommandAttr]: "openExportDialog"
|
|
10248
|
+
}
|
|
10249
|
+
});
|
|
10250
|
+
}
|
|
9446
10251
|
const options = kendoExportDropDown.options;
|
|
9447
10252
|
options.items = exportDropdownItems;
|
|
9448
10253
|
kendoExportDropDown.setOptions(options);
|
|
@@ -10005,6 +10810,9 @@ ${e3.text} (${e3.id})`;
|
|
|
10005
10810
|
searchMetadataOnDemand: false,
|
|
10006
10811
|
initialPageAreaImageUrl: null,
|
|
10007
10812
|
keepClientAlive: true,
|
|
10813
|
+
exportDialog: {
|
|
10814
|
+
enabled: true
|
|
10815
|
+
},
|
|
10008
10816
|
webDesignerPreview: false,
|
|
10009
10817
|
serverPreview: false
|
|
10010
10818
|
};
|
|
@@ -10026,6 +10834,7 @@ ${e3.text} (${e3.id})`;
|
|
|
10026
10834
|
var persistanceKey = options.id || "#" + $placeholder.attr("id");
|
|
10027
10835
|
var accessibility;
|
|
10028
10836
|
var settings = {};
|
|
10837
|
+
var exportSettingsStore = {};
|
|
10029
10838
|
var notificationService = {};
|
|
10030
10839
|
var client = {};
|
|
10031
10840
|
var controllerOptions = {};
|
|
@@ -10039,8 +10848,10 @@ ${e3.text} (${e3.id})`;
|
|
|
10039
10848
|
if (!validateOptions(options)) {
|
|
10040
10849
|
return;
|
|
10041
10850
|
}
|
|
10042
|
-
var version = "20.2.26.
|
|
10043
|
-
|
|
10851
|
+
var version = "20.2.26.1007";
|
|
10852
|
+
var defaultOptions = getDefaultOptions(svcApiUrl, version);
|
|
10853
|
+
options = $.extend({}, defaultOptions, options);
|
|
10854
|
+
options.exportDialog = $.extend({}, defaultOptions.exportDialog, options.exportDialog);
|
|
10044
10855
|
settings = new ReportViewerSettings(
|
|
10045
10856
|
persistanceKey,
|
|
10046
10857
|
options.persistSession ? window.sessionStorage : new MemStorage(),
|
|
@@ -10058,6 +10869,7 @@ ${e3.text} (${e3.id})`;
|
|
|
10058
10869
|
serverPreview: options.serverPreview
|
|
10059
10870
|
}
|
|
10060
10871
|
);
|
|
10872
|
+
exportSettingsStore = new distExports.ExportSettingsStore();
|
|
10061
10873
|
notificationService = new NotificationService();
|
|
10062
10874
|
client = new distExports.ServiceClient(options);
|
|
10063
10875
|
controllerOptions = new distExports.ReportControllerOptions(
|
|
@@ -10085,7 +10897,9 @@ ${e3.text} (${e3.id})`;
|
|
|
10085
10897
|
commands = new CommandSet({
|
|
10086
10898
|
controller,
|
|
10087
10899
|
notificationService,
|
|
10088
|
-
history
|
|
10900
|
+
history,
|
|
10901
|
+
exportSettingsStore,
|
|
10902
|
+
exportDialog: options.exportDialog
|
|
10089
10903
|
});
|
|
10090
10904
|
new UIController({
|
|
10091
10905
|
controller,
|
|
@@ -10514,7 +11328,8 @@ ${e3.text} (${e3.id})`;
|
|
|
10514
11328
|
controller,
|
|
10515
11329
|
notificationService,
|
|
10516
11330
|
commands,
|
|
10517
|
-
templates
|
|
11331
|
+
templates,
|
|
11332
|
+
exportSettingsStore
|
|
10518
11333
|
},
|
|
10519
11334
|
options
|
|
10520
11335
|
);
|
|
@@ -10991,6 +11806,10 @@ ${e3.text} (${e3.id})`;
|
|
|
10991
11806
|
name: "telerik_ReportViewer_SendEmail",
|
|
10992
11807
|
constructor: SendEmail
|
|
10993
11808
|
},
|
|
11809
|
+
{
|
|
11810
|
+
name: "telerik_ReportViewer_ExportDialog",
|
|
11811
|
+
constructor: ExportDialog
|
|
11812
|
+
},
|
|
10994
11813
|
{
|
|
10995
11814
|
name: "telerik_ReportViewer_LinkButton",
|
|
10996
11815
|
constructor: LinkButton
|