@progress/telerik-common-report-viewer
Version:
Common code for Progress® Telerik® Report Viewer
9 lines • 79 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,r=i(t);function s(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 o{constructor(){this.BasePath="",this.ImmediatePrint=!1,this.ContentOnly=!1,this.UseSVG=!1,this.enableSearch=!1,this.enableAccessibility=!1,this.contentTabIndex=0}}class a{constructor(){this.from="",this.to="",this.cc="",this.subject="",this.format="",this.body=""}}class l{constructor(e,t){this.cancel=!1,this.element=e,this.action=t}}class h{constructor(e,t){this.id="",this.type="",this.id=e,this.type=t}}class c{constructor(e,t){this.isCancelled=!1,this.format="",this.deviceInfo=e,this.format=t}}class d{constructor(e,t){this.handled=!1,this.deviceInfo=e,this.format=t}}class u{constructor(e,t,i){this.handled=!1,this.url=e,this.format=t,this.windowOpenTarget=i}}class p{constructor(e){this.handled=!1,this.deviceInfo=e}}class g{constructor(e){this.handled=!1,this.url=e}}class m{constructor(e,t){this.page=e,this.reportDocumentId=t}}class f{constructor(e,t,i,n=null){this.element=e,this.text=t,this.title=i,this.eventArgs=n}}class v{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 P(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 C(e){return s(this,void 0,void 0,(function*(){if(!e.ok){let t=yield e.text(),i=new v(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 y(e,t={},i="",n=!1){return fetch(e,{method:"POST",headers:P(i,!0,n),body:n?t:JSON.stringify(t)}).then(C)}class S{authenticatePromise(){return Promise.resolve("")}}class I{constructor(e){this.connectionConfig=e}authenticatePromise(){var e,t;if(this.connectionConfig&&this.connectionConfig.tokenUrl&&(this.connectionConfig.username||this.connectionConfig.password)){let i=`grant_type=password&username=${encodeURIComponent((null===(e=this.connectionConfig)||void 0===e?void 0:e.username)||"")}&password=${encodeURIComponent((null===(t=this.connectionConfig)||void 0===t?void 0:t.password)||"")}`;return y(this.connectionConfig.tokenUrl,i,"",!0).then((e=>(e.expiresAt=Date.now()+1e3*e.expiresIn,e)))}return Promise.reject("Failed to connect to Report Server with user credentials. Are you missing the reportServer.url, reportServer.username or reportServer.password values?")}}class b{constructor(e){this.connectionConfig=e}authenticatePromise(e,t){return e?y(this.connectionConfig.refreshTokenUrl,{RefreshToken:t}).then((e=>(e.expiresAt=Date.now()+1e3*e.expiresIn,e))):this.connectionConfig&&this.connectionConfig.personalTokenUrl&&this.connectionConfig.getPersonalAccessToken?this.connectionConfig.getPersonalAccessToken().then((e=>y(this.connectionConfig.personalTokenUrl,e).then((e=>(e.expiresAt=Date.now()+1e3*e.expiresIn,e))))):Promise.reject("Failed to connect to Report Server with personal access token. Are you missing the reportServer.url or reportServer.getPersonalAccessToken values?")}}e.AuthType=void 0,(n=e.AuthType||(e.AuthType={}))[n.None=0]="None",n[n.Basic=1]="Basic",n[n.PersonalToken=2]="PersonalToken";class w{constructor(e){this.baseUrl=null==e?void 0:e.replace(/\/$/,"")}}class T extends w{constructor(t){super(t),this.authType=e.AuthType.None,this.serviceUrl=this.baseUrl}}class A extends w{constructor(t){super(t),this.authType=e.AuthType.None,this.serviceUrl=this.baseUrl+"/api/reports"}}class R extends A{constructor(t,i,n){super(t),this.authType=e.AuthType.Basic,this.username=i,this.password=n,this.tokenUrl=this.baseUrl+"/Token"}}class E extends A{constructor(t,i){super(t),this.authType=e.AuthType.PersonalToken,this.getPersonalAccessToken=i,this.personalTokenUrl=this.baseUrl+"/PersonalToken",this.refreshTokenUrl=this.baseUrl+"/refresh"}}function M(){}function x(){x.init.call(this)}function k(e){return void 0===e._maxListeners?x.defaultMaxListeners:e._maxListeners}function L(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=k(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 D(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 N(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 F(e,t){for(var i=new Array(t);t--;)i[t]=e[t];return i}M.prototype=Object.create(null),x.EventEmitter=x,x.usingDomains=!1,x.prototype.domain=void 0,x.prototype._events=void 0,x.prototype._maxListeners=void 0,x.defaultMaxListeners=10,x.init=function(){this.domain=null,x.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new M,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},x.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},x.prototype.getMaxListeners=function(){return k(this)},x.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=F(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=F(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=F(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=F(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=F(e,r),o=0;o<r;++o)s[o].apply(i,n)}(i,c,this,r)}return!0},x.prototype.addListener=function(e,t){return L(this,e,t,!1)},x.prototype.on=x.prototype.addListener,x.prototype.prependListener=function(e,t){return L(this,e,t,!0)},x.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,D(this,e,t)),this},x.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,D(this,e,t)),this},x.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},x.prototype.off=function(e,t){return this.removeListener(e,t)},x.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},x.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):[]},x.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):N.call(e,t)},x.prototype.listenerCount=N,x.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};const O="function"==typeof Symbol?Symbol.for("--[[await-event-emitter]]--"):"--[[await-event-emitter]]--";function V(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new TypeError("type is not type of string or symbol!")}function z(e){if("function"!=typeof e)throw new TypeError("fn is not type of Function!")}function _(e){return{[O]:"always",fn:e}}function U(e){return{[O]:"once",fn:e}}class ${constructor(){this._events={}}addListener(e,t){return this.on(e,t)}on(e,t){return V(e),z(t),this._events[e]=this._events[e]||[],this._events[e].push(_(t)),this}prependListener(e,t){return this.prepend(e,t)}prepend(e,t){return V(e),z(t),this._events[e]=this._events[e]||[],this._events[e].unshift(_(t)),this}prependOnceListener(e,t){return this.prependOnce(e,t)}prependOnce(e,t){return V(e),z(t),this._events[e]=this._events[e]||[],this._events[e].unshift(U(t)),this}listeners(e){return(this._events[e]||[]).map((e=>e.fn))}once(e,t){return V(e),z(t),this._events[e]=this._events[e]||[],this._events[e].push(U(t)),this}removeAllListeners(){this._events={}}off(e,t){return this.removeListener(e,t)}removeListener(e,t){V(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 s(this,void 0,void 0,(function*(){V(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][O]&&n.push(s)}return n.forEach((t=>this.removeListener(e,t))),!0}return!1}))}emitSync(e,...t){V(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][O]&&n.push(s)}return n.forEach((t=>this.removeListener(e,t))),!0}return!1}}class H{constructor(){this.eventEmitter=new x,this.awaitEventEmitter=new $}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 s(this,void 0,void 0,(function*(){yield this.awaitEventEmitter.emit(e,...t)}))}}class B{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 q{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 W{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 j{hasPdfPlugin(){return!1}}function J(){return window.navigator&&window.navigator.msSaveOrOpenBlob}class G{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 B:e.indexOf("firefox")>-1?new q:e.indexOf("edg/")>-1?new W("Microsoft Edge PDF Plugin"):e.indexOf("chrome")>-1?new W("Chrome PDF Viewer"):e.indexOf("safari")>-1?new W("WebKit built-in PDF"):new j}return new j}().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)&&J())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"});J()?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 Z(e){return 1e3*e}class K{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?Z(e)/2:Z(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 X,Y,Q,ee,te;function ie(e,t="",i=""){let n=document.createElement(e);return t&&(n.id=t),ne(n,i),n}function ne(e,t){if(""===t||!e)return;let i=t.trim().split(" ");i=i.filter((e=>""!==e.trim())),e.classList.add(...i)}function re(e,t){if(""===t||!e)return;let i=t.trim().split(" ");i=i.filter((e=>""!==e.trim())),e.classList.remove(...i)}function se(e,t){return e.classList.contains(t)}function oe(e){return e.offsetParent}function ae(e){return parseInt(e,10)||0}function le(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 he(e){let t=ie("div");return t.textContent=e,t.innerHTML}function ce(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 de(e){return!!e&&e.indexOf(",")>-1}function ue(e){if("transparent"===e.toLowerCase())return 0;if(!de(e))return 1;if(-1!==e.indexOf("#")){let t=ce(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 pe(e,t){let i=ie("div");for(i.innerHTML=t;i.childNodes.length;)e.appendChild(i.childNodes[0])}function ge(e,t){let i=ie("div");for(i.innerHTML=t;i.childNodes.length;)e.prepend(i.childNodes[i.childNodes.length-1])}function me(e,t){return e?e.querySelector(t):null}function fe(e,t){var i;return e&&e.attributes&&(null===(i=e.attributes[t])||void 0===i?void 0:i.value)||""}function ve(e){let t=e.parentElement;return t?t.clientHeight!=t.scrollHeight?t:ve(t):null}function Pe(e,t=300){let i;return function(...n){clearTimeout(i),i=setTimeout((()=>e.apply(this,n)),t)}}function Ce(e,t){let i=null;return function(n,...r){i||(i=setTimeout((function(){e.apply(n,r),i=null}),t))}}function ye(e,t){return!!e.responseJSON&&e.responseJSON.exceptionType===t}function Se(e){return ye(e,"Telerik.Reporting.Services.Engine.InvalidClientException")}function Ie(e){return ye(e,"Telerik.Reporting.Services.Engine.InvalidParameterException")}function be(e){return!!e&&"internalservererror"===e.split(" ").join("").toLowerCase()}function we(e,...t){return e.replace(/{(\d+)}/g,((e,i)=>t[i]||""))}function Te(e,t){let i,n;if(Ae(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 Ae(e){if(Array.isArray(e))return!0;return"number"==typeof(!!e&&"length"in e&&e.length)}function Re(e){return/^(\-|\+)?([0-9]+)$/.test(e)?Number(e):NaN}function Ee(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,(X=e.PageMode||(e.PageMode={}))[X.ContinuousScroll=0]="ContinuousScroll",X[X.SinglePage=1]="SinglePage",e.PrintMode=void 0,(Y=e.PrintMode||(e.PrintMode={}))[Y.AutoSelect=0]="AutoSelect",Y[Y.ForcePDFPlugin=1]="ForcePDFPlugin",Y[Y.ForcePDFFile=2]="ForcePDFFile",e.ScaleMode=void 0,(Q=e.ScaleMode||(e.ScaleMode={}))[Q.FitPageWidth=0]="FitPageWidth",Q[Q.FitPage=1]="FitPage",Q[Q.Specific=2]="Specific",e.ServiceType=void 0,(ee=e.ServiceType||(e.ServiceType={}))[ee.REST=0]="REST",ee[ee.ReportServer=1]="ReportServer",e.ViewMode=void 0,(te=e.ViewMode||(e.ViewMode={}))[te.Interactive=0]="Interactive",te[te.PrintPreview=1]="PrintPreview";class xe{constructor(e,t){this.handled=!1,this.deviceInfo=e,this.format=t}}class ke extends a{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 Le="System.Int64",De="System.Double",Ne="System.String",Fe="System.DateTime",Oe="System.Boolean";var Ve=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(Te(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[Ne]={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[De]={validate:function(e,n){return t(e,n,(function(t){var n=Ee(t);if(isNaN(n)){if(i(e,t))return null;throw"Parameter value cannot be empty."}return n}),(function(e,t){return Ee(e)==Ee(t)}))}},e[Le]={validate:function(e,n){return t(e,n,(function(t){var n=Re(t);if(isNaN(n)){if(i(e,t))return null;throw"Parameter value cannot be empty."}return n}),(function(e,t){return Re(e)==Ee(t)}))}},e[Fe]={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[Oe]={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 we("Cannot validate parameter of type {type}.",t);return n.validate(t,i)}}}();function ze(e,t,i){try{const n=e.availableValues.find((e=>e.value===t));if(!n){if(e.allowNull&&null===t)return{valueMember:null,displayMember:null};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 _e(e,t,i){const n=[];for(let r in t)n.push(ze(e,t[r],i));return n}class Ue{constructor(e="",t={}){this.report=e,this.parameters=t}}class $e extends H{constructor(e){super(),this.resizeObserver=null,this.element=e,this.initResizeObserver()}destroy(){this.destroyResizeObserver()}initResizeObserver(){this.debounceResize=Pe(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 He='<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 Be{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,ne(this.placeholder,"scrollable"),this.initEvents()}disable(){this.enabled&&(this.lastLoadedPage=null,this.pageWrapper.innerHTML="",this.enabled=!1,re(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&&(re(this.findElement(".k-state-default"),"k-state-default"),ne(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)))&&se(e,"trv-skeleton-"+t)}addSkeletonScreen(e,t){let i=e+(t?1:-1),n=this.findPageElement(i),r=fe(n,"style"),s=fe(null==n?void 0:n.querySelector("sheet"),"style"),o=we(He,e,r,s);t?ge(this.pageWrapper,o):pe(this.pageWrapper,o)}generateSkeletonScreens(e){var t;let i="",n=this.findPageElement(1),r=fe(n,"style"),s=fe(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+=we(He,a,r,s);pe(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=Pe((()=>{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=Ce((()=>{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 qe{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=me(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=me(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=me(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 ue(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 We=/{(\w+?)}/g,je="trv-initial-image-styles";function Je(e,t){let i=Array.isArray(t);return e?e.replace(We,(function(e,n){return t[i?parseInt(n):n]})):""}const Ge="trv-search-dialog-shaded-result",Ze="trv-search-dialog-highlighted-result";e.BasicAuth=I,e.BookmarkNode=class{constructor(){this.id="",this.text="",this.page=0,this.items=null}},e.ConnectionConfig=w,e.ConnectionConfigNoAuth=T,e.ConnectionConfigServerCredentials=R,e.ConnectionConfigServerNoAuth=A,e.ConnectionConfigServerToken=E,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 Be(this.placeholder,this,t),this.resizeService=new $e(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(Je(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(Je(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 qe,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(se(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=oe(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?ne(this.placeholder,"trv-loading"):re(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"){let i=this.notification.dataset.type;i&&re(this.notification,`k-notification-${i}`),this.notification.dataset.type=t;let n=this.notification.querySelector(".k-notification-content, .trv-error-message"),r=null==e?void 0:e.split(/\r?\n/);n.innerHTML=r&&r.length?`${r.join("<br>")}`:"Notification message not found.",ne(this.notification,`k-notification-${t}`),re(this.notification,"k-hidden")}hideNotification(){let e=String(this.notification.dataset.type);delete this.notification.dataset.type,re(this.notification,`k-notification-${e}`),ne(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=i?t:t.querySelector("div.trv-report-page");if(!n)return;let r,s=n.querySelector("div.sheet"),o=n.querySelector("div.trv-skeleton-wrapper");if(s=s||o,!s)return;if(n.dataset.box)r=JSON.parse(n.dataset.box);else{let e=getComputedStyle(n),i=getComputedStyle(t);r={padLeft:ae(i.marginLeft)+ae(e.borderLeftWidth)+ae(e.paddingLeft),padRight:ae(i.marginRight)+ae(e.borderRightWidth)+ae(e.paddingRight),padTop:ae(i.marginTop)+ae(e.borderTopWidth)+ae(e.paddingTop),padBottom:ae(i.marginBottom)+ae(e.borderBottomWidth)+ae(e.paddingBottom)},n.dataset.box=JSON.stringify(r)}let a=s.offsetWidth,l=s.offsetHeight;if(0===a){const e=getComputedStyle(s);a=parseInt(e.width),l=parseInt(e.height)}const h=this.controller.getScaleMode(),c=l>a&&h===e.ScaleMode.FitPageWidth?20:0,d=(this.pageContainer.clientWidth-c-r.padLeft-r.padRight)/a,u=(this.pageContainer.clientHeight-1-r.padTop-r.padBottom)/l;let p=this.controller.getScale();h===e.ScaleMode.FitPageWidth?p=d:p&&h!==e.ScaleMode.FitPage||(p=Math.min(d,u)),null!==this.uiFreezeCoordinator&&this.uiFreezeCoordinator.setScaleFactor(p),t.dataset.pageScale=p.toString(),n.dataset.pageScale=p.toString(),o||le(s,p,p),n.style.height=p*l+"px",n.style.width=p*a+"px",this.controller.setScale(p,!0)}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 l(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 l(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 l(e,n))}onToolTipItemEnter(e,t){let i=e.dataset.tooltipTitle,n=e.dataset.tooltipText;(i||n)&&this.controller.reportTooltipOpening(new f(e,n||"",i||"",t))}onToolTipItemLeave(e){this.controller.reportTooltipClosing(new f(e,"","",null))}getNavigateToPageOnDocReady(e,t){var i;return!th