@progress/telerik-common-report-viewer
Version:
Common code for Progress® Telerik® Report Viewer
9 lines • 74.8 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("dompurify")):"function"==typeof define&&define.amd?define(["exports","dompurify"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TelerikReportingCommonViewer={},e.DOMPurify)}(this,(function(e,t){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=i(t);function r(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))}class s{constructor(){this.BasePath="",this.ImmediatePrint=!1,this.ContentOnly=!1,this.UseSVG=!1,this.enableSearch=!1,this.enableAccessibility=!1,this.contentTabIndex=0}}class o{constructor(){this.from="",this.to="",this.cc="",this.subject="",this.format="",this.body=""}}class a{constructor(e,t){this.cancel=!1,this.element=e,this.action=t}}class l{constructor(e,t){this.id="",this.type="",this.id=e,this.type=t}}class h{constructor(e,t){this.isCancelled=!1,this.format="",this.deviceInfo=e,this.format=t}}class c{constructor(e,t,i){this.handled=!1,this.url=e,this.format=t,this.windowOpenTarget=i}}class d{constructor(e,t){this._responseText=e,this._error=t;try{this._responseJSON=JSON.parse(e)}catch(e){this._responseJSON=null}}get responseText(){return this._responseText}get responseJSON(){return this._responseJSON}get error(){return this._error}get exceptionMessage(){var e,t;return(null===(e=this.responseJSON)||void 0===e?void 0:e.exceptionMessage)||(null===(t=this.responseJSON)||void 0===t?void 0:t.ExceptionMessage)}}function u(e,t=!1,i=!1){let n={Accept:"application/json, text/javascript, */*; q=0.01"};return t&&(n["Content-Type"]=i?"application/x-www-form-urlencoded; charset=UTF-8":"application/json; charset=UTF-8"),e&&(n.authorization="Bearer "+e),n}function p(e){return r(this,void 0,void 0,(function*(){if(!e.ok){let t=yield e.text(),i=new d(t,e.statusText);return Promise.reject(i)}if(204==e.status)return Promise.resolve();return(e.headers.get("content-type")||"").includes("application/json")?e.json():e.text()}))}function g(e,t={},i="",n=!1){return fetch(e,{method:"POST",headers:u(i,!0,n),body:n?t:JSON.stringify(t)}).then(p)}function m(){}function f(){f.init.call(this)}function v(e){return void 0===e._maxListeners?f.defaultMaxListeners:e._maxListeners}function P(e,t,i,n){var r,s,o,a;if("function"!=typeof i)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,i.listener?i.listener:i),s=e._events),o=s[t]):(s=e._events=new m,e._eventsCount=0),o){if("function"==typeof o?o=s[t]=n?[i,o]:[o,i]:n?o.unshift(i):o.push(i),!o.warned&&(r=v(e))&&r>0&&o.length>r){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,a=l,"function"==typeof console.warn?console.warn(a):console.log(a)}}else o=s[t]=i,++e._eventsCount;return e}function y(e,t,i){var n=!1;function r(){e.removeListener(t,r),n||(n=!0,i.apply(e,arguments))}return r.listener=i,r}function I(e){var t=this._events;if(t){var i=t[e];if("function"==typeof i)return 1;if(i)return i.length}return 0}function C(e,t){for(var i=new Array(t);t--;)i[t]=e[t];return i}m.prototype=Object.create(null),f.EventEmitter=f,f.usingDomains=!1,f.prototype.domain=void 0,f.prototype._events=void 0,f.prototype._maxListeners=void 0,f.defaultMaxListeners=10,f.init=function(){this.domain=null,f.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new m,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},f.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},f.prototype.getMaxListeners=function(){return v(this)},f.prototype.emit=function(e){var t,i,n,r,s,o,a,l="error"===e;if(o=this._events)l=l&&null==o.error;else if(!l)return!1;if(a=this.domain,l){if(t=arguments[1],!a){if(t instanceof Error)throw t;var h=new Error('Uncaught, unspecified "error" event. ('+t+")");throw h.context=t,h}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=a,t.domainThrown=!1,a.emit("error",t),!1}if(!(i=o[e]))return!1;var c="function"==typeof i;switch(n=arguments.length){case 1:!function(e,t,i){if(t)e.call(i);else for(var n=e.length,r=C(e,n),s=0;s<n;++s)r[s].call(i)}(i,c,this);break;case 2:!function(e,t,i,n){if(t)e.call(i,n);else for(var r=e.length,s=C(e,r),o=0;o<r;++o)s[o].call(i,n)}(i,c,this,arguments[1]);break;case 3:!function(e,t,i,n,r){if(t)e.call(i,n,r);else for(var s=e.length,o=C(e,s),a=0;a<s;++a)o[a].call(i,n,r)}(i,c,this,arguments[1],arguments[2]);break;case 4:!function(e,t,i,n,r,s){if(t)e.call(i,n,r,s);else for(var o=e.length,a=C(e,o),l=0;l<o;++l)a[l].call(i,n,r,s)}(i,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(r=new Array(n-1),s=1;s<n;s++)r[s-1]=arguments[s];!function(e,t,i,n){if(t)e.apply(i,n);else for(var r=e.length,s=C(e,r),o=0;o<r;++o)s[o].apply(i,n)}(i,c,this,r)}return!0},f.prototype.addListener=function(e,t){return P(this,e,t,!1)},f.prototype.on=f.prototype.addListener,f.prototype.prependListener=function(e,t){return P(this,e,t,!0)},f.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,y(this,e,t)),this},f.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,y(this,e,t)),this},f.prototype.removeListener=function(e,t){var i,n,r,s,o;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(n=this._events))return this;if(!(i=n[e]))return this;if(i===t||i.listener&&i.listener===t)0==--this._eventsCount?this._events=new m:(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||t));else if("function"!=typeof i){for(r=-1,s=i.length;s-- >0;)if(i[s]===t||i[s].listener&&i[s].listener===t){o=i[s].listener,r=s;break}if(r<0)return this;if(1===i.length){if(i[0]=void 0,0==--this._eventsCount)return this._events=new m,this;delete n[e]}else!function(e,t){for(var i=t,n=i+1,r=e.length;n<r;i+=1,n+=1)e[i]=e[n];e.pop()}(i,r);n.removeListener&&this.emit("removeListener",e,o||t)}return this},f.prototype.off=function(e,t){return this.removeListener(e,t)},f.prototype.removeAllListeners=function(e){var t,i;if(!(i=this._events))return this;if(!i.removeListener)return 0===arguments.length?(this._events=new m,this._eventsCount=0):i[e]&&(0==--this._eventsCount?this._events=new m:delete i[e]),this;if(0===arguments.length){for(var n,r=Object.keys(i),s=0;s<r.length;++s)"removeListener"!==(n=r[s])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=new m,this._eventsCount=0,this}if("function"==typeof(t=i[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},f.prototype.listeners=function(e){var t,i=this._events;return i&&(t=i[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),i=0;i<t.length;++i)t[i]=e[i].listener||e[i];return t}
/*!
* await-event-emitter - v2.0.2 - 25/5/2023
* https://github.com/imcuttle/node-await-event-emitter/tree/master
*
* Copyright (c) imcuttle <imcuttle@163.com>
* Licensed under the MIT license.
* https://github.com/imcuttle/node-await-event-emitter/blob/master/License
*/(t):[]},f.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):I.call(e,t)},f.prototype.listenerCount=I,f.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};const S="function"==typeof Symbol?Symbol.for("--[[await-event-emitter]]--"):"--[[await-event-emitter]]--";function b(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new TypeError("type is not type of string or symbol!")}function w(e){if("function"!=typeof e)throw new TypeError("fn is not type of Function!")}function R(e){return{[S]:"always",fn:e}}function E(e){return{[S]:"once",fn:e}}class T{constructor(){this._events={}}addListener(e,t){return this.on(e,t)}on(e,t){return b(e),w(t),this._events[e]=this._events[e]||[],this._events[e].push(R(t)),this}prependListener(e,t){return this.prepend(e,t)}prepend(e,t){return b(e),w(t),this._events[e]=this._events[e]||[],this._events[e].unshift(R(t)),this}prependOnceListener(e,t){return this.prependOnce(e,t)}prependOnce(e,t){return b(e),w(t),this._events[e]=this._events[e]||[],this._events[e].unshift(E(t)),this}listeners(e){return(this._events[e]||[]).map((e=>e.fn))}once(e,t){return b(e),w(t),this._events[e]=this._events[e]||[],this._events[e].push(E(t)),this}removeAllListeners(){this._events={}}off(e,t){return this.removeListener(e,t)}removeListener(e,t){b(e);const i=this.listeners(e);if("function"==typeof t){let n=-1,r=!1;for(;(n=i.indexOf(t))>=0;)i.splice(n,1),this._events[e].splice(n,1),r=!0;return r}return delete this._events[e]}emit(e,...t){return r(this,void 0,void 0,(function*(){b(e);const i=this.listeners(e),n=[];if(i&&i.length){for(let r=0;r<i.length;r++){const s=i[r],o=s.apply(this,t);o instanceof Promise&&(yield o),this._events[e]&&this._events[e][r]&&"once"===this._events[e][r][S]&&n.push(s)}return n.forEach((t=>this.removeListener(e,t))),!0}return!1}))}emitSync(e,...t){b(e);const i=this.listeners(e),n=[];if(i&&i.length){for(let r=0;r<i.length;r++){const s=i[r];s.apply(this,t),this._events[e]&&this._events[e][r]&&"once"===this._events[e][r][S]&&n.push(s)}return n.forEach((t=>this.removeListener(e,t))),!0}return!1}}class A{constructor(){this.eventEmitter=new f,this.awaitEventEmitter=new T}on(e,t){return this.eventEmitter.on(e,t),this}emit(e,...t){this.eventEmitter.emit(e,...t)}onAsync(e,t){return this.awaitEventEmitter.on(e,t),this}emitAsync(e,...t){return r(this,void 0,void 0,(function*(){yield this.awaitEventEmitter.emit(e,...t)}))}}class M{hasPdfPlugin(){let e=["AcroPDF.PDF.1","PDF.PdfCtrl.6","PDF.PdfCtrl.5"];for(let t of e)try{let e=new ActiveXObject(t);if(e)return null!==e}catch(e){}return!1}}class L{hasPdfPlugin(){let e=/Firefox[/\s](\d+\.\d+)/.exec(navigator.userAgent);if(null!==e&&e.length>1){if(parseFloat(e[1])>=19)return!1}let t=navigator.mimeTypes["application/pdf"],i=null!==t?t.enabledPlugin:null;if(i){let e=i.description;return-1!==e.indexOf("Adobe")&&(-1===e.indexOf("Version")||parseFloat(e.split("Version")[1])>=6)}return!1}}class x{constructor(e){this.defaultPlugin=e}hasPdfPlugin(){for(let e of navigator.plugins)if(e.name===this.defaultPlugin||"Adobe Acrobat"===e.name)return!0;return!1}}class D{hasPdfPlugin(){return!1}}function N(){return window.navigator&&window.navigator.msSaveOrOpenBlob}class k{constructor(){this.hasPdfPlugin=!1,this.iframe=null,this.hasPdfPlugin=function(){if(window.navigator){let e=window.navigator.userAgent.toLowerCase();return e.indexOf("msie")>-1||e.indexOf("mozilla")>-1&&e.indexOf("trident")>-1?new M:e.indexOf("firefox")>-1?new L:e.indexOf("edg/")>-1?new x("Microsoft Edge PDF Plugin"):e.indexOf("chrome")>-1?new x("Chrome PDF Viewer"):e.indexOf("safari")>-1?new x("WebKit built-in PDF"):new D}return new D}().hasPdfPlugin(),this.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}destroy(){this.iframe=null}printDesktop(e){let t=null;if(this.iframe||(this.iframe=document.createElement("iframe"),this.iframe.style.display="none",this.iframe.onload=()=>{var e,i;try{null===(i=null===(e=this.iframe)||void 0===e?void 0:e.contentDocument)||void 0===i||i.execCommand("print",!0)}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}),function(e){let t=window.location,i=document.createElement("a");return i.setAttribute("href",e),""==i.host&&(i.href=i.href),t.hostname===i.hostname&&t.protocol===i.protocol&&t.port===i.port}(e)&&N())return this.iframe.src=e,void document.body.appendChild(this.iframe);let i=new XMLHttpRequest,n=this;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){if(200===this.status){let e=new Blob([this.response],{type:"application/pdf"});N()?window.navigator.msSaveOrOpenBlob(e):(t=(window.URL||window.webkitURL).createObjectURL(e),null!=n.iframe&&(n.iframe.src=t,document.body.appendChild(n.iframe)))}else console.log("Could not retrieve remote PDF document.")},i.send()}printMobile(e){window.open(e,"_self")}print(e){this.isMobile?this.printMobile(e):this.printDesktop(e)}getDirectPrintState(){return this.hasPdfPlugin}}function F(e){return 1e3*e}class O{constructor(e,t,i){if(this.pingMilliseconds=0,!e)throw"Error";this.serviceClient=e,this.clientID=t,this.initSessionTimeout(i)}initSessionTimeout(e){if(!isFinite(e))throw"sessionTimeoutSeconds must be finite";this.pingMilliseconds=e<=120?F(e)/2:F(e-60)}start(){this.pingMilliseconds<=0||(this.interval=setInterval((()=>{this.serviceClient.keepClientAlive(this.clientID)}),this.pingMilliseconds))}stop(){this.interval&&(clearInterval(this.interval),this.interval=null)}}var V,z,_,$,U;function H(e,t="",i=""){let n=document.createElement(e);return t&&(n.id=t),B(n,i),n}function B(e,t){if(""===t||!e)return;let i=t.trim().split(" ");i=i.filter((e=>""!==e.trim())),e.classList.add(...i)}function q(e,t){if(""===t||!e)return;let i=t.trim().split(" ");i=i.filter((e=>""!==e.trim())),e.classList.remove(...i)}function W(e,t){return e.classList.contains(t)}function j(e){return e.offsetParent}function G(e){return parseInt(e,10)||0}function J(e,t,i,n=0,r=0){let s=`${n=n||0} ${r=r||0}`;!function(e,t){e.style.setProperty("transform",t),e.style.setProperty("-moz-transform",t),e.style.setProperty("-ms-transform",t),e.style.setProperty("-webkit-transform",t),e.style.setProperty("-o-transform",t)}(e,`scale(${t=t||1}, ${i=i||1})`),function(e,t){e.style.setProperty("transform-origin",t),e.style.setProperty("-moz-transform-origin",t),e.style.setProperty("-ms-transform-origin",t),e.style.setProperty("-webkit-transform-origin",t),e.style.setProperty("-o-transform-origin",t)}(e,s)}function Z(e){let t=H("div");return t.textContent=e,t.innerHTML}function K(e){if(e&&e.length<6){let t=1,i=e.split("");for("#"!==i[0]&&(t=0);t<i.length;t++)i[t]=i[t]+i[t];e=i.join("")}let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16):null}function X(e){return!!e&&e.indexOf(",")>-1}function Q(e){if("transparent"===e.toLowerCase())return 0;if(!X(e))return 1;if(-1!==e.indexOf("#")){let t=K(e);if(null===t)return 1;e=t}let t=e.split(",").map((function(e){return e.trim()}));return 4===t.length?parseFloat((parseFloat(t[3].replace(/[()]/g,""))/255).toFixed(2)):1}function Y(e,t){let i=H("div");for(i.innerHTML=t;i.childNodes.length;)e.appendChild(i.childNodes[0])}function ee(e,t){let i=H("div");for(i.innerHTML=t;i.childNodes.length;)e.prepend(i.childNodes[i.childNodes.length-1])}function te(e,t){return null===e?null:e.querySelector(t)}function ie(e,t){var i;return e&&e.attributes&&(null===(i=e.attributes[t])||void 0===i?void 0:i.value)||""}function ne(e){let t=e.parentElement;return t?t.clientHeight!=t.scrollHeight?t:ne(t):null}function re(e,t=300){let i;return function(...n){clearTimeout(i),i=setTimeout((()=>e.apply(this,n)),t)}}function se(e,t){let i=null;return function(n,...r){i||(i=setTimeout((function(){e.apply(n,r),i=null}),t))}}function oe(e,t){return!!e.responseJSON&&e.responseJSON.exceptionType===t}function ae(e){return oe(e,"Telerik.Reporting.Services.Engine.InvalidClientException")}function le(e){return oe(e,"Telerik.Reporting.Services.Engine.InvalidParameterException")}function he(e){return!!e&&"internalservererror"===e.split(" ").join("").toLowerCase()}function ce(e,...t){return e.replace(/{(\d+)}/g,((e,i)=>t[i]||""))}function de(e,t){let i,n;if(ue(e))for(i=e.length,n=0;n<i&&!1!==t.call(e[n],n,e[n]);n++);else for(n in e)if(!1===t.call(e[n],n,e[n]))break;return e}function ue(e){if(Array.isArray(e))return!0;return"number"==typeof(!!e&&"length"in e&&e.length)}function pe(e){return/^(\-|\+)?([0-9]+)$/.test(e)?Number(e):NaN}function ge(e){return/^(\-|\+)?([0-9]+(\.[0-9]+)?)$/.test(e)?Number(e):NaN}function me(e){return e instanceof Date?e:(/Z|[\+\-]\d\d:?\d\d/i.test(e)||(e+="Z"),new Date(e))}e.PageMode=void 0,(V=e.PageMode||(e.PageMode={}))[V.ContinuousScroll=0]="ContinuousScroll",V[V.SinglePage=1]="SinglePage",e.PrintMode=void 0,(z=e.PrintMode||(e.PrintMode={}))[z.AutoSelect=0]="AutoSelect",z[z.ForcePDFPlugin=1]="ForcePDFPlugin",z[z.ForcePDFFile=2]="ForcePDFFile",e.ScaleMode=void 0,(_=e.ScaleMode||(e.ScaleMode={}))[_.FitPageWidth=0]="FitPageWidth",_[_.FitPage=1]="FitPage",_[_.Specific=2]="Specific",e.ServiceType=void 0,($=e.ServiceType||(e.ServiceType={}))[$.REST=0]="REST",$[$.ReportServer=1]="ReportServer",e.ViewMode=void 0,(U=e.ViewMode||(e.ViewMode={}))[U.Interactive=0]="Interactive",U[U.PrintPreview=1]="PrintPreview";class fe{constructor(e){this.handled=!1,this.deviceInfo=e}}class ve{constructor(e){this.handled=!1,this.url=e}}class Pe{constructor(e,t){this.handled=!1,this.deviceInfo=e,this.format=t}}class ye{constructor(e,t){this.handled=!1,this.deviceInfo=e,this.format=t}}class Ie extends o{constructor(e,t,i){super(),this.handled=!1,this.body=e.body,this.cc=e.cc,this.format=e.format,this.from=e.from,this.subject=e.subject,this.to=e.to,this.deviceInfo=t,this.url=i}}const Ce="System.Int64",Se="System.Double",be="System.String",we="System.DateTime",Re="System.Boolean";var Ee=function(){var e={};function t(e,t,i,n){var r=[].concat(t).map((function(t){return function(e,t,i){if(e.availableValues){var n=!1;if(de(e.availableValues,(function(e,r){return!(n=i(t,r.value))})),!n){if(e.allowNull&&!t)return t;throw"Please input a valid value."}}return t}(e,i(t),n)}));if(e.multivalue){if(null==t||0==t.length){if(e.allowNull)return t;throw"Please input a valid value."}return r}return r[0]}function i(e,t){return e.allowNull&&-1!=[null,"",void 0].indexOf(t)}return e[be]={validate:function(e,i){return t(e,i,(function(t){if(!t){if(e.allowNull)return null;if(e.allowBlank)return"";throw"Parameter value cannot be empty."}return t}),(function(e,t){return e==t}))}},e[Se]={validate:function(e,n){return t(e,n,(function(t){var n=ge(t);if(isNaN(n)){if(i(e,t))return null;throw"Parameter value cannot be empty."}return n}),(function(e,t){return ge(e)==ge(t)}))}},e[Ce]={validate:function(e,n){return t(e,n,(function(t){var n=pe(t);if(isNaN(n)){if(i(e,t))return null;throw"Parameter value cannot be empty."}return n}),(function(e,t){return pe(e)==ge(t)}))}},e[we]={validate:function(e,i){return t(e,i,(function(t){if(e.allowNull&&(null===t||""===t||void 0===t))return null;if(!isNaN(Date.parse(t)))return e.availableValues?t:me(t);throw"Please input a valid date."}),(function(e,t){return e=me(e),t=me(t),e.getTime()==t.getTime()}))}},e[Re]={validate:function(e,n){return t(e,n,(function(t){if(-1!=["true","false"].indexOf(String(t).toLowerCase()))return Boolean(t);if(i(e,t))return null;throw"Parameter value cannot be empty."}),(function(e,t){return Boolean(e)==Boolean(t)}))}},{validate:function(t,i){var n=e[t.type];if(!n)throw ce("Cannot validate parameter of type {type}.",t);return n.validate(t,i)}}}();function Te(e,t,i){try{const n=e.availableValues.find((e=>e.value===t));if(!n)throw new Error(`The available values of parameter ${i} do not contain Value property that equals ${t}`);return{valueMember:t,displayMember:n.name}}catch(e){return}}function Ae(e,t,i){const n=[];for(let r in t)n.push(Te(e,t[r],i));return n}class Me{constructor(e="",t={}){this.report=e,this.parameters=t}}class Le{constructor(e,t,i,n=null){this.element=e,this.text=t,this.title=i,this.eventArgs=n}}class xe extends A{constructor(e){super(),this.resizeObserver=null,this.element=e,this.initResizeObserver()}destroy(){this.destroyResizeObserver()}initResizeObserver(){this.debounceResize=re(this.onResize.bind(this),50),this.resizeObserver=new ResizeObserver(this.debounceResize),this.resizeObserver.observe(this.element)}destroyResizeObserver(){this.resizeObserver&&this.resizeObserver.unobserve(this.element),this.resizeObserver=this.debounceResize=null}onResize(e){e[0].target===this.element&&this.emit("resize")}}const De='<div class="trv-report-page trv-skeleton-page trv-skeleton-{0}" style="{1}" data-page="{0}"><div class="trv-skeleton-wrapper" style="{2}"></div></div>';class Ne{constructor(t,i,n){this.enabled=!1,this.viewMode=e.ViewMode.Interactive,this.scrollInProgress=!1,this.additionalTopOffset=130,this.onClickHandler=null,this.debounceScroll=null,this.throttleScroll=null,this.oldScrollTopPosition=0,this.lastLoadedPage=null,this.placeholder=t,this.pageContainer=t.querySelector(".trv-page-container"),this.pageWrapper=t.querySelector(".trv-page-wrapper"),this.contentArea=i,this.controller=n,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))}onPageLoaded(){this.currentPageNumber()>0&&!this.scrollInProgress&&setTimeout((()=>{this.loadMorePages()}),100)}onScaleChanged(){this.enabled&&setTimeout((()=>{this.loadMorePages(),this.keepCurrentPageInToView()}),100)}onInteractiveActionExecuting(e){const t=e.action.Type;!this.enabled||"sorting"!==t&&"toggleVisibility"!==t||this.disable()}getEnabled(){return this.enabled}enable(){this.enabled=!0,B(this.placeholder,"scrollable"),this.initEvents()}disable(){this.enabled&&(this.lastLoadedPage=null,this.pageWrapper.innerHTML="",this.enabled=!1,q(this.placeholder,"scrollable"),this.unbind())}renderPage(e){let t=this.controller.getViewMode(),i=this.findPageElement(e.pageNumber);this.enabled?(t===this.viewMode&&i?this.navigateToPage(e,i):this.updatePageArea(e),this.viewMode=this.controller.getViewMode()):(this.enable(),t===this.viewMode&&i?(this.render(e,!0),this.pageContainer.scrollTop=3,this.setCurrentPage(e.pageNumber)):this.updatePageArea(e),this.viewMode=this.controller.getViewMode(),this.loadMorePages())}navigateToElement(e,t){this.scrollInProgress=!0,this.isSkeletonScreen(null,t)?this.getAndRenderPage(t).then((()=>{this.scrollToPage(e,t)})):this.scrollToPage(e,t)}updatePageDimensionsReady(){this.enabled&&this.currentPageNumber()>0&&this.keepCurrentPageInToView()}setCurrentPage(e){e!==this.currentPageNumber()&&this.controller.setCurrentPageNumber(e),this.controller.getPageCount()>1&&(q(this.findElement(".k-state-default"),"k-state-default"),B(this.findPageElement(e),"k-state-default")),this.loadNextPreviousPage(e)}updatePageArea(e){var t;let i=0,n=e.pageNumber;this.scrollInProgress=!0,n>1&&this.generateSkeletonScreens(n),this.render(e,!1),this.setCurrentPage(e.pageNumber),i=n>1&&(null===(t=this.findPageElement(n))||void 0===t?void 0:t.offsetTop)||0,this.animateScroll(i,0,(()=>{this.scrollInProgress=!1}))}navigateToPage(e,t){this.scrollInProgress=!0;let i=t.offsetTop,n=e.pageNumber;this.isSkeletonScreen(t,n)?this.getAndRenderPage(n).then((()=>{this.scrollToPage(i,n)})):(this.updatePageContent(e,t),this.scrollToPage(i,n))}updatePageContent(e,t){this.contentArea.updatePageStyle(e);let i=this.contentArea.renderPageElement(e);t.after(i),t.remove(),this.contentArea.setScrollablePage(i,e),this.controller.applySearchColors()}currentPageNumber(){return this.controller.getCurrentPageNumber()}isSkeletonScreen(e,t){return!(!e&&!(e=this.findPageElement(t)))&&W(e,"trv-skeleton-"+t)}addSkeletonScreen(e,t){let i=e+(t?1:-1),n=this.findPageElement(i),r=ie(n,"style"),s=ie(null==n?void 0:n.querySelector("sheet"),"style"),o=ce(De,e,r,s);t?ee(this.pageWrapper,o):Y(this.pageWrapper,o)}generateSkeletonScreens(e){var t;let i="",n=this.findPageElement(1),r=ie(n,"style"),s=ie(null==n?void 0:n.querySelector("sheet"),"style"),o=null===(t=this.findLastElement(".trv-report-page"))||void 0===t?void 0:t.dataset.page,a=o?parseInt(o)+1:1;for(;a<e;a++)i+=ce(De,a,r,s);Y(this.pageWrapper,i)}loadMorePages(){var e;let t=this.controller.getPageCount(),i=this.pageContainer.offsetHeight>this.pageWrapper.offsetHeight;if(t>1)if(i){this.scrollInProgress=!0;let i=null===(e=this.findLastElement(".trv-report-page"))||void 0===e?void 0:e.dataset.page,n=i?parseInt(i)+1:1;n<=t&&this.getAndRenderPage(n).then((()=>{this.loadMorePages(),this.scrollInProgress=!1}))}else this.loadVisiblePages(),this.scrollInProgress=!1}loadVisiblePages(){this.placeholder.querySelectorAll(".trv-report-page").forEach((e=>{let t=e,i=parseInt(t.dataset.page||"");this.scrolledInToView(t)&&this.isSkeletonScreen(t,i)&&this.getAndRenderPage(i)}))}scrolledInToView(e){if(!e)return!1;let t=e.getBoundingClientRect(),i=e.closest(".trv-pages-pane");if(!i)return!1;let n=i.getBoundingClientRect(),r=n.top,s=n.bottom,o=t.top,a=t.bottom,l=this.additionalTopOffset+r;return o>0&&o<s||a<s&&a>l}render(e,t){let i=e.pageNumber,n=this.findPageElement(i);if(!t&&n&&!this.isSkeletonScreen(n,i))return;(null==this.lastLoadedPage||this.lastLoadedPage.pageNumber<e.pageNumber)&&(this.lastLoadedPage=e),this.contentArea.updatePageStyle(this.lastLoadedPage);let r=this.contentArea.renderPageElement(e);t&&(this.pageWrapper.innerHTML=""),this.pageWrapper.dataset.pageNumber=i.toString();let s=this.findElement(".trv-skeleton-"+i);s?(s.after(r),s.remove()):this.pageWrapper.append(r),this.contentArea.setScrollablePage(r,e),this.controller.applySearchColors()}loadNextPreviousPage(e){if(e<this.controller.getPageCount()){let t=e+1,i=this.findPageElement(t);i&&this.isSkeletonScreen(i,t)&&this.getAndRenderPage(t)}if(e>1){let t=e-1,i=this.findPageElement(t);i&&this.isSkeletonScreen(i,t)}}initEvents(){this.onClickHandler=this.clickPage.bind(this),this.debounceScroll=re((()=>{let e=this.placeholder.querySelectorAll(".trv-report-page"),t=Math.round(this.pageContainer.scrollTop+this.pageContainer.offsetHeight);!this.scrollInProgress&&e.length&&this.oldScrollTopPosition!==t&&this.advanceCurrentPage(Array.from(e))}),250),this.throttleScroll=se((()=>{let e=this.placeholder.querySelectorAll(".trv-report-page"),t=Math.round(this.pageContainer.scrollTop+this.pageContainer.offsetHeight);this.scrollInProgress||this.oldScrollTopPosition===t||(this.oldScrollTopPosition>t?this.scrollUp(Array.from(e)):this.scrollDown(Array.from(e),t)),this.oldScrollTopPosition=t}),250),this.pageContainer.addEventListener("click",this.onClickHandler),this.pageContainer.addEventListener("scroll",this.debounceScroll),this.pageContainer.addEventListener("scroll",this.throttleScroll)}unbind(){this.pageContainer.removeEventListener("click",this.onClickHandler),this.pageContainer.removeEventListener("scroll",this.debounceScroll),this.pageContainer.removeEventListener("scroll",this.throttleScroll)}clickPage(e){var t;let i=null===(t=e.target)||void 0===t?void 0:t.closest(".trv-report-page");if(!i)return;let n=this.currentPageNumber(),r=parseInt(i.dataset.page||"");n!==r&&(this.isSkeletonScreen(i,r)?this.getAndRenderPage(r).then((e=>{this.setCurrentPage(e.pageNumber)})):this.setCurrentPage(r))}advanceCurrentPage(e){let t=this.findNewCurrentPage(e);if(t){let e=parseInt(t.dataset.page||"-1"),i=this.currentPageNumber(),n=this.scrolledInToView(this.findPageElement(i));i===e||n||(this.isSkeletonScreen(t,e)?this.getAndRenderPage(e).then((e=>{this.setCurrentPage(e.pageNumber)})):this.setCurrentPage(e))}else console.log("Page not found - ",t)}findNewCurrentPage(e){let t=Math.floor(e.length/2),i=this.findPageInViewPort(t,e);return 1===e.length?e[0]:0===i?e[t]:i<0&&e.length>1?this.findNewCurrentPage(e.splice(t,Number.MAX_VALUE)):i>0&&e.length>1?this.findNewCurrentPage(e.splice(0,t)):null}findPageInViewPort(e,t){let i=t[e],n=i.getBoundingClientRect(),r=i.closest(".trv-pages-pane");if(!r)return-1;let s=r.getBoundingClientRect().top,o=n.top,a=n.bottom,l=this.additionalTopOffset+s;return o<=l&&l<a?0:a<l?-1:1}scrollDown(e,t){if(t>=this.pageContainer.scrollHeight-5){let t=parseInt(e[e.length-1].dataset.page||"")+1;this.currentPageNumber()<t&&t<=this.controller.getPageCount()&&(this.addSkeletonScreen(t,!1),this.getAndRenderPage(t))}else this.advanceCurrentPage(e),this.loadVisiblePages()}scrollUp(e){if(0===this.pageContainer.scrollTop){let t=parseInt(e[0].dataset.page||"")-1;this.currentPageNumber()>t&&t>=1&&(this.addSkeletonScreen(t,!0),this.getAndRenderPage(t).then((()=>{this.pageContainer.scrollTop=3})))}else this.advanceCurrentPage(e),this.loadVisiblePages()}keepCurrentPageInToView(){let e=this.findPageElement(this.currentPageNumber());if(!e)return;let t=e.offsetTop,i=e.offsetHeight,n=this.pageContainer.offsetHeight;if(this.scrollInProgress=!0,i<n){t-=(n-i)/2}this.animateScroll(t,0,(()=>{setTimeout((()=>{this.scrollInProgress=!1}),100)}))}getAndRenderPage(e){return this.controller.getPageData(e).then((e=>(this.render(e,!1),e)))}scrollToPage(e,t){this.animateScroll(e,500,(()=>{setTimeout((()=>{this.setCurrentPage(t),this.scrollInProgress=!1}))}))}animateScroll(e,t,i){this.pageContainer.scrollTop=e,i.call(this)}findPageElement(e){return this.findElement('[data-page="'+e+'"]')}findElement(e){var t;return null===(t=this.placeholder)||void 0===t?void 0:t.querySelector(e)}findLastElement(e){var t;let i=null===(t=this.placeholder)||void 0===t?void 0:t.querySelectorAll(e);return i&&i.length?i[i.length-1]:null}}class ke{constructor(){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}init(e){this.reset(e),this.attachToScrollEvent()}reset(e){this.placeholder=e,this.scrollableContainer=te(e,".trv-page-container"),this.itemsInitialState={},this.xFrozenAreasBounds={},this.yFrozenAreasBounds={},this.currentlyFrozenContainer={vertical:{},horizontal:{}}}setScaleFactor(e){this.scaleFactor=e}attachToScrollEvent(){var e;null===(e=this.scrollableContainer)||void 0===e||e.addEventListener("scroll",(()=>{if(this.scrollableContainer){let e=this.scrollableContainer.querySelectorAll("div[data-sticky-id]");if(e.length){const t=new Set(Array.from(e).map((e=>e.dataset.stickyId||"")));let i=this.scrollableContainer.scrollTop,n=this.scrollableContainer.scrollLeft;t.forEach((e=>{this.itemsInitialState[e]||this.saveFreezeItemsInitialState(e),this.updateFreezeItemsOnScroll(e,i,n)}))}}}))}saveFreezeItemsInitialState(e){var t,i,n;let r=null===(t=this.placeholder)||void 0===t?void 0:t.querySelectorAll("[data-sticky-direction][data-sticky-id='"+e+"']"),s=null===(i=this.placeholder)||void 0===i?void 0:i.querySelectorAll("[data-reporting-action][data-sticky-id='"+e+"']"),o=null,a=null,l=null,h=null;this.itemsInitialState[e]={},this.freezeBGColor[e]=(null===(n=te(this.placeholder,"[data-id='"+e+"']"))||void 0===n?void 0:n.dataset.stickyBgColor)||"",r.forEach((t=>{var i;let n=t.dataset.stickyDirection,r=(null===(i=t.dataset.id)||void 0===i?void 0:i.toString())||"",s=t.offsetLeft/this.scaleFactor,c=t.offsetLeft+t.offsetWidth*this.scaleFactor,d=t.offsetTop/this.scaleFactor,u=t.offsetTop+t.offsetHeight*this.scaleFactor,p=(e,t)=>null===e||t<e?t:e,g=(e,t)=>null===e||t>e?t:e;switch(n){case"Vertical":a=p(a,d),h=g(h,u);break;case"Horizontal":o=p(o,s),l=g(l,c)}this._saveFreezeItemInitialState(e,t,r)})),this.freezeMaxZIndex[e]=(null==s?void 0:s.length)?parseInt(getComputedStyle(s[0]).zIndex):this.zIndex,this.yFrozenAreasBounds[e]=(h||0)-(a||0),this.xFrozenAreasBounds[e]=(l||0)-(o||0)}_saveFreezeItemInitialState(e,t,i){const n=getComputedStyle(t);let r=this.hasSetBgColor(n.backgroundColor),s=n.zIndex;"auto"!==s&&(s=parseFloat(s));let o={top:t.offsetTop,left:t.offsetLeft,zIndex:s,hasBgColor:r};this.itemsInitialState[e][i]=o}updateFreezeItemsOnScroll(e,t,i){var n,r;let s=te(this.placeholder,"div[data-id='"+e+"']");if(!s)return;let o=null===(n=this.placeholder)||void 0===n?void 0:n.querySelectorAll("[data-sticky-direction*='Horizontal'][data-sticky-id='"+e+"']"),a=null===(r=this.placeholder)||void 0===r?void 0:r.querySelectorAll("[data-sticky-direction*='Vertical'][data-sticky-id='"+e+"']");if(this.isInScrollVisibleArea(s)){let n=s.closest(".trv-report-page"),r=getComputedStyle(n),l=parseFloat(r.marginLeft),h=parseFloat(r.paddingTop),c=parseFloat(r.paddingLeft),d=parseFloat(r.borderTopWidth),u=parseFloat(r.borderLeftWidth),p=o.length>0,g=a.length>0,m=s.offsetTop+((null==n?void 0:n.offsetTop)||0)+l+h+d,f=s.offsetLeft+((null==n?void 0:n.offsetLeft)||0)+c+u,v=t-m,P=i-f;g&&v>0?t<=s.offsetHeight*this.scaleFactor+m-this.yFrozenAreasBounds[e]&&(this.currentlyFrozenContainer.vertical[e]=!0,this.updateUIElementsPosition(a,"top",v/this.scaleFactor,e)):this.currentlyFrozenContainer.vertical[e]&&(delete this.currentlyFrozenContainer.vertical[e],this.updateUIElementsPosition(a,"top",-1,e)),p&&P>0?i<=s.offsetWidth*this.scaleFactor+f-this.xFrozenAreasBounds[e]&&(this.currentlyFrozenContainer.horizontal[e]=!0,this.updateUIElementsPosition(o,"left",P/this.scaleFactor,e)):this.currentlyFrozenContainer.horizontal[e]&&(delete this.currentlyFrozenContainer.horizontal[e],this.updateUIElementsPosition(o,"left",-1,e))}else(this.currentlyFrozenContainer.horizontal[e]||this.currentlyFrozenContainer.vertical[e])&&this.resetToDefaultPosition(e,o,a)}resetToDefaultPosition(e,t,i){this.updateUIElementsPosition(i,"top",-1,e),this.updateUIElementsPosition(t,"left",-1,e),delete this.currentlyFrozenContainer.horizontal[e],delete this.currentlyFrozenContainer.vertical[e]}updateUIElementsPosition(e,t,i,n){e.forEach((e=>{let r=(e.dataset.stickyDirection||"").indexOf(",")>0,s=e.dataset.id||"",o=this.itemsInitialState[n][s],a="top"==t?o.top:o.left,l=o.zIndex,h=o.hasBgColor,c=1,d=this.freezeMaxZIndex[n]?this.freezeMaxZIndex[n]:c;c=r?"auto"!==l?l:d+2:"auto"!==l?l+1:d;let u={zIndex:c};i>=0?a+=i:u.zIndex=l,h||this.applyBgColorOnScroll(e,r,h,i>=0,n),u[t]=a+"px",Object.assign(e.style,u)}))}applyBgColorOnScroll(e,t,i,n,r){"IMG"!==e.tagName&&(t&&this.isFrozen(r)&&!i?e.style.backgroundColor=this.freezeBGColor[r]:e.style.backgroundColor=n?this.freezeBGColor[r]:"initial")}hasSetBgColor(e){return Q(e)>0}isFrozen(e){return this.currentlyFrozenContainer.horizontal[e]||this.currentlyFrozenContainer.vertical[e]}isInScrollVisibleArea(e){if(!this.scrollableContainer)return!1;const t=e.getBoundingClientRect(),i=this.scrollableContainer.getBoundingClientRect();return this.isVisibleVertically(t,this.scrollableContainer,i)&&this.isVisibleHorizontally(t,this.scrollableContainer,i)}isVisibleVertically(e,t,i){let n=e.width;return e.left>t.scrollLeft-n&&e.left<t.scrollLeft+n+i.width}isVisibleHorizontally(e,t,i){let n=e.height;return e.top>t.scrollTop-n&&e.top<t.scrollTop+n+i.height}}const Fe=/{(\w+?)}/g,Oe="trv-initial-image-styles";function Ve(e,t){let i=Array.isArray(t);return e?e.replace(Fe,(function(e,n){return t[i?parseInt(n):n]})):""}const ze="trv-search-dialog-shaded-result",_e="trv-search-dialog-highlighted-result";e.BookmarkNode=class{constructor(){this.id="",this.text="",this.page=0,this.items=null}},e.ContentArea=class{constructor(e,t,i,n={}){this.actions=[],this.pendingElement=null,this.documentReady=!0,this.reportPageIsLoaded=!1,this.navigateToPageOnDocReady=0,this.navigateToElementOnDocReady=null,this.onClickHandler=null,this.onMouseEnterHandler=null,this.onMouseLeaveHandler=null,this.isNewReportSource=!1,this.uiFreezeCoordinator=null,this.initialPageAreaImageUrl="",this.showPageAreaImage=!1,this.placeholder=e.querySelector(".trv-pages-pane, .trv-pages-area"),this.pageContainer=e.querySelector(".trv-page-container"),this.pageWrapper=e.querySelector(".trv-page-wrapper"),this.parametersContainer=e.querySelector(".trv-parameters-area"),this.notification=e.querySelector(".trv-notification, .trv-error-pane"),this.scrollManager=new Ne(this.placeholder,this,t),this.resizeService=new xe(this.pageContainer),this.resizeService.on("resize",this.onResize.bind(this)),this.controller=t,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("printStarted",this.onPrintStarted.bind(this)).on("printDocumentReady",this.onPrintDocumentReady.bind(this)).on("exportStarted",this.onExportStarted.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)),this.messages=i,this.enableAccessibility=n.enableAccessibility||!1,this.initialPageAreaImageUrl=n.initialPageAreaImageUrl||""}destroy(){this.resizeService&&this.resizeService.destroy()}onResize(){this.shouldAutosizePage()&&this.updatePageDimensions()}onPageReady(t){this.controller.getPageMode()===e.PageMode.SinglePage?(this.scrollManager.getEnabled()&&this.scrollManager.disable(),this.setPageContent(t)):this.scrollManager.renderPage(t),this.navigateToElement(this.pendingElement,t.pageNumber),this.reportPageIsLoaded||(this.reportPageIsLoaded=!0),this.showPageAreaImage&&this.clearPageAreaImage(),this.controller.getViewMode()===e.ViewMode.Interactive&&null!==this.uiFreezeCoordinator&&this.uiFreezeCoordinator.init(this.placeholder),this.disablePagesArea(!1)}onServerActionStarted(){this.disablePagesArea(!0),this.disableParametersArea(!0),this.showNotification(this.messages.ReportViewer_LoadingReport)}onReportSourceChanged(){this.isNewReportSource=!0,this.navigateToPageOnDocReady=0,this.navigateToElementOnDocReady=null,this.documentReady=!1}onNoReport(){this.disablePagesArea(!1),this.disableParametersArea(!1),this.clearPage(),this.showNotification(this.messages.ReportViewer_NoReport)}onBeforeLoadReport(){this.documentReady=!1,this.navigateToPageOnDocReady||(this.navigateToPageOnDocReady=1),this.clearPendingTimeoutIds(),this.clear(),this.disablePagesArea(!0),this.disableParametersArea(!0),this.showNotification(this.messages.ReportViewer_LoadingReport)}onBeginLoadReport(){this.documentReady=!0,this.invalidateCurrentlyLoadedPage()}onReportLoadProgress(e){this.navigateWhenPageAvailable(this.navigateToPageOnDocReady,e.pageCount),this.showNotification(Ve(this.messages.ReportViewer_LoadingReportPagesInProgress,[e.pageCount]))}onReportLoadComplete(t){0===t.pageCount?(this.clearPage(),this.showNotification(this.messages.ReportViewer_NoPageToDisplay)):(this.navigateOnLoadComplete(this.navigateToPageOnDocReady,t.pageCount),this.showNotification(Ve(this.messages.ReportViewer_LoadedReportPagesComplete,[t.pageCount])),this.showNotificationTimeoutId=window.setTimeout(this.hideNotification.bind(this),2e3),this.disableParametersArea(!1),this.enableInteractivity()),t.containsFrozenContent&&null===this.uiFreezeCoordinator&&(this.uiFreezeCoordinator=new ke,this.controller.getViewMode()===e.ViewMode.Interactive&&this.uiFreezeCoordinator.init(this.placeholder))}onReportAutoRunOff(){this.disableParametersArea(!1),this.showNotification(this.messages.ReportViewer_AutoRunDisabled||"Please validate the report parameter values and press Preview to generate the report.")}onRenderingStopped(){this.clear(!0),this.disableParametersArea(!1),this.showError(this.messages.ReportViewer_RenderingCancelled)}onMissingOrInvalidParameters(){this.initialPageAreaImageUrl&&!this.reportPageIsLoaded&&(this.clearPage(),this.setPageAreaImage())}onError(e,t=!0){t&&(this.disablePagesArea(!1),this.disableParametersArea(!1),this.clearPage()),this.showError(e)}clearPendingTimeoutIds(){this.showNotificationTimeoutId&&window.clearTimeout(this.showNotificationTimeoutId)}invalidateCurrentlyLoadedPage(){let e=this.findPage(this.navigateToPageOnDocReady);e&&this.setPageNo(e,-1)}navigateWhenPageAvailable(e,t){e&&e<=t&&this.navigateToPage(e,this.navigateToElementOnDocReady)}navigateOnLoadComplete(e,t){e&&(e=Math.min(e,t),this.navigateToPage(e,this.navigateToElementOnDocReady))}clearPage(){this.clear(this.isNewReportSource),this.isNewReportSource=!1}shouldAutosizePage(){let t=this.controller.getScaleMode();return t===e.ScaleMode.FitPage||t===e.ScaleMode.FitPageWidth}onPrintStarted(){this.showNotification(this.messages.ReportViewer_PreparingPrint)}onPrintDocumentReady(){this.hideNotification()}onExportStarted(){this.showNotification(this.messages.ReportViewer_PreparingDownload)}onExportDocumentReady(){this.hideNotification()}updatePageDimensions(){let e=this.pageContainer.querySelectorAll(".trv-report-page");for(let t of Array.from(e)){let e=t,i=parseInt(e.dataset.page||"");this.setPageDimensions(e,i)}this.scrollManager.updatePageDimensionsReady()}clear(e=!1){this.disableInteractivity(),this.pendingElement=null,e&&(this.pageWrapper.innerHTML=""),this.hideNotification()}findPage(t){let i=this.pageContainer.querySelectorAll(".trv-report-page");if(this.controller.getPageMode()===e.PageMode.SinglePage)for(let e of Array.from(i)){let i=e;if(this.pageNo(i)===t)return i}else for(let e of Array.from(i)){let i=e;if(parseInt((null==i?void 0:i.dataset.page)||"-1")===t)return i}return null}navigateToPage(e,t){this.documentReady?this.navigateToPageCore(e,t):this.navigateToPageOnDocumentReady(e,t)}navigateToPageOnDocumentReady(e,t){this.navigateToPageOnDocReady=e,this.navigateToElementOnDocReady=t}navigateToPageCore(e,t){let i=this.findPage(e);i?(t&&this.navigateToElement(t,e),this.scrollManager.getEnabled()&&!t&&this.scrollManager.navigateToElement(i.offsetTop,e)):(this.pendingElement=t,this.beginLoadPage(e))}navigateToElement(e,t=0){var i;if(e){let n=this.pageContainer.querySelector(`[data-${e.type}-id='${e.id}']`);if(n){if(this.enableAccessibility){let e=this.findNextFocusableElement(n);e&&e.focus()}let e=0,i=0;for(;n&&n!==this.pageContainer;){if(W(n,"trv-page-wrapper")){let t=n.dataset.pageScale;if("string"==typeof t){let n=parseFloat(t);e*=n,i*=n}}e+=n.offsetTop,i+=n.offsetLeft,n=j(n)}this.scrollManager.getEnabled()&&t?this.scrollManager.navigateToElement(e,t):(this.pageContainer.scrollTop=e,this.pageContainer.scrollLeft=i)}else this.scrollManager.getEnabled()&&t&&this.scrollManager.navigateToElement((null===(i=this.placeholder)||void 0===i?void 0:i.querySelector('[data-page="'+t+'"]')).offsetTop,t)}}findNextFocusableElement(e){if(!e)return null;let t=e.tabIndex;return!isNaN(t)&&t>-1?e:this.findNextFocusableElement(e.nextElementSibling)}disablePagesArea(e){e?B(this.placeholder,"trv-loading"):q(this.placeholder,"trv-loading")}disableParametersArea(e){var t,i;e?null===(t=this.parametersContainer)||void 0===t||t.setAttribute("disabled",""):null===(i=this.parametersContainer)||void 0===i||i.removeAttribute("disabled")}showError(e=""){this.showNotification(e,"error")}showNotification(e="",t="info"){this.notification.dataset.type=t||"info";let i=this.notification.querySelector(".k-notification-content, .trv-error-message"),n=null==e?void 0:e.split(/\r?\n/);i.innerHTML=n&&n.length?`${n.join("<br>")}`:"Notification message not found.",B(this.notification,`k-notification-${t}`),q(this.notification,"k-hidden")}hideNotification(){let e=String(this.notification.dataset.type);delete this.notification.dataset.type,q(this.notification,`k-notification-${e}`),B(this.notification,"k-hidden")}pageNo(e){var t;return parseInt((null===(t=e.parentElement)||void 0===t?void 0:t.dataset.pageNumber)||"0")}setPageNo(e,t){e.parentElement&&(e.parentElement.dataset.pageNumber=t.toString())}beginLoadPage(e){this.disablePagesArea(!0),window.setTimeout(this.controller.getReportPage.bind(this.controller,e),1),this.navigateToPageOnDocReady=0}setPageDimensions(t,i=0){let n=this.controller.getScaleMode(),r=this.controller.getScale(),s=i?t:t.querySelector("div.trv-report-page");if(!s)return;let o=s.querySelector("div.sheet"),a=s.querySelector("div.trv-skeleton-wrapper");if(o=o||a,!o)return;let l=0,h=0,c=getComputedStyle(s),d=getComputedStyle(t),u=G(d.marginLeft)+G(c.borderLeftWidth)+G(c.paddingLeft),p=G(d.marginRight)+G(c.borderRightWidth)+G(c.paddingRight),g=G(d.marginTop)+G(c.borderTopWidth)+G(c.paddingTop),m=G(d.marginBottom)+G(c.borderBottomWidth)+G(c.paddingBottom);if(l=o.offsetWidth,h=o.offsetHeight,0===l){const e=getComputedStyle(o);l=parseInt(e.width),h=parseInt(e.height)}let f=h>l&&n===e.ScaleMode.FitPageWidth?20:0,v=(this.pageContainer.clientWidth-f-u-p)/l,P=(this.pageContainer.clientHeight-1-g-m)/h;n===e.ScaleMode.FitPageWidth?r=v:r&&n!==e.ScaleMode.FitPage||(r=Math.min(v,P)),null!==this.uiFreezeCoordinator&&this.uiFreezeCoordinator.setScaleFactor(r),t.dataset.pageScale=r.toString(),s.dataset.pageScale=r.toString(),a||J(o,r,r),s.style.height=r*h+"px",s.style.width=r*l+"px"}enableInteractivity(){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,!0),this.pageContainer.addEventListener("mouseleave",this.onMouseLeaveHandler,!0)}disableInteractivity(){this.pageContainer.removeEventListener("click",this.onClickHandler),this.pageContainer.removeEventListener("mouseenter",this.onMouseEnterHandler),this.pageContainer.removeEventListener("mouseleave",this.onMouseLeaveHandler)}onClick(e){let t=e.target.closest("[data-reporting-action]");t&&this.onInteractiveItemClick(t,e)}onMouseEnter(e){let t=e.target,i=t.dataset;i.reportingAction&&this.onInteractiveItemEnter(t),(i.tooltipTitle||i.tooltipText)&&this.onToolTipItemEnter(t,e)}onMouseLeave(e){let t=e.target,i=t.dataset;i.reportingAction&&this.onInteractiveItemLeave(t),(i.tooltipTitle||i.tooltipText)&&this.onToolTipItemLeave(t)}onInteractiveItemClick(e,t){var i;let n=(null===(i=e.dataset.reportingAction)||void 0===i?void 0:i.toString())||"",r=this.getAction(n);r&&(this.navigateToPageOnDocReady=this.getNavigateToPageOnDocReady(t,r.Type),this.controller.executeReportAction(new a(e,r))),t.stopPropagation()}onInteractiveItemEnter(e){var t;let i=(null===(t=e.dataset.reportingAction)||void 0===t?void 0:t.toString())||"",n=this.getAction(i);n&&this.controller.reportActionEnter(new a(e,n))}onInteractiveItemLeave(e){var t;let i=(null===(t=e.dataset.reportingAction)||void 0===t?void 0:t.toString())||"",n=this.getAction(i);n&&this.controller.reportActionLeave(new a(e,n))}onToolTipItemEnter(e,t){let i=e.dataset.tooltipTitle,n=e.dataset.tooltipText;(i||n)&&this.controller.reportTooltipOpening(new Le(e,n||"",i||"",t))}onToolTipItemLeave(e){this.controller.reportTooltipClosing(new Le(e,"","",null))}getNavigateToPageOnDocReady(e,t){var i;return!this.scrollManager.getEnabled()||"sorting"!==t&&"toggleVisibility"!==t?this.controller.getCurrentPageNumber():(null===(i=e.target.closest(".trv-report-page"))||void 0===i?void 0:i.dataset.page)||this.controller.getCurrentPageNumber()}getAction(e){if(this.actions){let t=this.actions.find((t=>t.Id===e));if(t)return t}return null}updatePageStyle(e){var t;let i="trv-"+this.controller.getClientId()+"-styles";null===(t=document.getElementById(i))||void 0===t||t.remove();let n=H("style",i);n.innerHTML=e.pageStyles,document.head.appendChild(n)}setPageContent(e){this.actions=e.pageActions,this.updatePageStyle(e);let t=this.renderPageElement(e);this.pageWrapper.dataset.pageNumber=e.pageNumber.toString(),this.pageWrapper.innerHTML="",this.pageWrapper.append(t),this.controller.setCurrentPageNumber(e.pageNumber),this.controller.applySearchColors(),this.applyPlaceholderViewModeClass(),this.setPageDimensions(this.pageWrapper),this.pageContainer.scrollTop=0,this.pageContainer.scrollLeft=0}setScrollablePage(e,t){this.actions&&this.actions.length?this.actions=this.actions.concat(t.pageActions):this.actions=t.pageActions,this.applyPlaceholderViewModeClass(),this.setPageDimensions(e,t.pageNumber)}renderPageElement(e){let t=H("div");t.innerHTML=e.pageContent;let i=t.querySelector("div.sheet");i.style.margin="0";let n=H("div","","trv-report-page");return n.dataset.page=e.pageNumber.toString(),n.append(i),n.append(H("div","","k-overlay trv-overlay trv-page-overlay")),n}applyPlaceholderViewModeClass(){this.controller.getViewMode()===e.ViewMode.Interactive?(q(this.placeholder,"printpreview"),B(this.placeholder,"interactive")):(q(this.placeholder,"interactive"),B(this.placeholder,"printpreview"))}setPageAreaImage(){this.clearPageAreaImage();let e=H("style",Oe);e.innerHTML=Ve('.trv-page-container {background: #ffffff url("{0}") no-repeat center 50px}',[this.initialPageAreaImageUrl]),document.head.appendChild(e),this.showPageAreaImage=!0}clearPageAreaImage(){var e;null===(e=document.getElementById(Oe))||void 0===e||e.remove()}},e.DeviceInfo=s,e.DocumentInfo=class{constructor(){this.documentReady=!1,this.documentMapAvailable=!1,this.containsFrozenContent=!1,this.pageCount=0,this.documentMapNodes=[],this.bookmarkNodes=[],this.renderingExtensions=[],this.autoRunEnabled=!0}},e.DocumentMapNode=class{constructor(){this.id="",this.isExpanded=!1,this.label="",this.text="",this.page=0,this.items=[]}},e.EmailInfo=o,e.ExportDocumentReadyEventArgs=c,e.ExportStartEventArgs=h,e.KeepClientAliveSentinel=O,e.PageAction=class{constructor(){this.Id="",this.ReportItemName="",this.Type="",this.Value={}}},e.PageActionEventArgs=a,e.PageInfo=class{constructor(){this.pageNumber=0,this.pageReady=!1,this.pageStyles="",this.pageContent="",this.pageActions=[]}},e.PageTarget