|
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64 User : ServerPC ( 0) PHP Version : 8.2.12 Disable Function : NONE Directory : C:/Users/ServerPC/AppData/Roaming/Emby-Server/system/dashboard-ui/modules/pdfplayer/ |
Upload File : |
define(["exports","./../dialoghelper/dialoghelper.js","./../common/globalize.js","./../emby-apiclient/connectionmanager.js","./../common/inputmanager.js","./../actionsheet/actionsheet.js","./../loading/loading.js","./../layoutmanager.js","./../fluidheader/fluidheader.js","./../dialogsidebar/indexsidebar.js","./../common/appsettings.js","./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js","./../emby-elements/emby-input/emby-input.js","./../emby-elements/emby-scroller/emby-scroller.js"],function(_exports,_dialoghelper,_globalize,_connectionmanager,_inputmanager,_actionsheet,_loading,_layoutmanager,_fluidheader,_indexsidebar,_appsettings,_embyDialogclosebutton,_embyInput,_embyScroller){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=function(){var self=this,savedMargins=(self.pdfjs=null,self.dlg=null,self.pdf=null,self.tocSidebar=null,self.title=null,self.toc=[],self.flatToc=[],_appsettings.default.get(APPSETTINGS_MARGINS));function updateLayout(){self.mode===MODE.VERTICAL?self.goToPage({page:self.currentPage,forceScroll:!0}):self.setScale({scale:SCALECALC.FIT,refresh:!0})}function getCurrentMostFrequentPageHeight(){var _buckets$reduce,page,buckets=[];for(page in self.knownHeights)!function(){var height=self.knownHeights[page],bucket=buckets.find(function(check){return check.height===height});bucket?bucket.hits+=1:buckets.push({height:height,hits:1})}();return null==(_buckets$reduce=buckets.reduce(function(currentBucket,bucket){return bucket.hits>currentBucket.hits?bucket:currentBucket},buckets[0]))?void 0:_buckets$reduce.height}function getGap(){var gap=getComputedStyle(self.dlg.querySelector(".pdfContent")).gap;return gap&&parseFloat(gap)||0}function getPageElement(num,useCanvas){var res;return!self.dlg||!self.pdf||num<0||num>self.pdf.numPages?null:(res=null,(res=useCanvas?self.dlg.querySelector('.pdfPage[data-page="'+num+'"] > .pdfPageCanvas'):res)||self.dlg.querySelector('.pdfPage[data-page="'+num+'"]'))}function unloadPage(num){num=getPageElement(num);num&&(num.innerHTML="")}function assignCurrentScale(newScale){self.currentScale=newScale,self.dlg.querySelector(".pdfContent").style.setProperty("--doc-scale",newScale)}function getScrollContainer(){return self.dlg.querySelector(".pdfContainer")}function scrollBy(delta){delta&&getScrollContainer().scrollBy(delta)}function loadedIntervalAround(page,visibleOnly){visibleOnly=visibleOnly?0:LOADED_PAGES_BUFFER;return{min:Math.max(page-visibleOnly,1),max:Math.min(page+VERTICAL_VISIBLE_LOADED_PAGES-1+visibleOnly,self.pdf.numPages)}}function updateLargePaginators(){var scrollContainer,visibleWidth,nextRatio,currentElement,nextElement;self.mode!==MODE.VERTICAL&&(nextRatio=.5,self.mode===MODE.PAGE&&(nextRatio=PAGE_LARGE_PAGINATOR_NEXT),scrollContainer=getScrollContainer(),visibleWidth=(currentElement=getPageElement(self.currentPage)).clientWidth,self.mode===MODE.DOUBLE&&self.currentPage<self.pdf.numPages&&(nextElement=getPageElement(self.currentPage+1),visibleWidth=currentElement.clientWidth+nextElement.clientWidth,nextRatio=nextElement.clientWidth/visibleWidth,self.gutters)&&(visibleWidth+=getGap()),nextElement=(100*((currentElement=(scrollContainer.clientWidth-visibleWidth)/scrollContainer.clientWidth)/2+nextRatio*(1-currentElement))).toFixed(2),self.dlg.querySelector(".pdfOverlayPaginator .nextTarget").style.width=nextElement+"%",self.dlg.querySelector(".pdfOverlayPaginator .previousTarget").style.width=100-nextElement+"%")}function isTocOpen(){var tocContainer=self.dlg.querySelector(".pdfTocDrawer");return self.tocSidebar&&tocContainer.classList.contains("sidebar")&&!tocContainer.classList.contains("hide")}function setupUIElements(dlg){var modebutton=dlg.querySelector(".pdf-mode"),pageinput=(modebutton.addEventListener("click",function(){_actionsheet.default.show({title:_globalize.default.translate("Layout"),items:function(){var mode,items=[];for(mode of Object.values(MODE))items.push({id:mode,Name:_globalize.default.translate(MODE_DISPLAY[mode].tag),icon:MODE_DISPLAY[mode].icon,selected:self.mode===mode});return items.push({id:"gutters",Name:_globalize.default.translate("Margins"),icon:"document_scanner",selected:self.gutters}),items}(),hasItemSelectionState:!0,fields:["Name"],positionTo:modebutton,positionY:"bottom",positionX:"right",transformOrigin:"right top",resolveOnClick:!0,hasItemIcon:!0}).then(function(mode){"gutters"===mode?self.setGutters(!self.gutters):self.setMode(mode)})}),dlg.querySelector(".pdf-page-input")),maxLength=String(self.pdf.numPages).length;pageinput.maxLength=maxLength,pageinput.style.width=maxLength+"ch";dlg.querySelector(".pdf-page > .total").textContent=self.pdf.numPages,pageinput.addEventListener("keydown",function(e){e.ctrlKey||e.metaKey||e.altKey||e.key.match(/[0-9]/)||["Backspace","Delete","ArrowLeft","ArrowRight","Enter","Home","End","Insert","Tab"].includes(e.key)||e.preventDefault()}),pageinput.addEventListener("focus",function(e){e.target.select()}),pageinput.addEventListener("change",function(e){self.goToPage({page:parseInt(e.target.value),forceScroll:!0})}),dlg.querySelector(".pdf-previous").addEventListener("click",function(){return self.previousPage(!1,!0)}),dlg.querySelector(".pdf-next").addEventListener("click",function(){return self.nextPage()});var maxLength=self.dlg.querySelector(".pdf-toc"),container=(self.toc.length?maxLength.addEventListener("click",self.showHideToc):maxLength.remove(),dlg.querySelector(".pdfOverlayPaginator .previousTarget").addEventListener("click",function(){self.previousPage(!0)}),dlg.querySelector(".pdfOverlayPaginator .nextTarget").addEventListener("click",function(){self.nextPage()}),dlg.querySelector(".pdfOverlayPaginator").addEventListener("wheel",function(e){e.preventDefault();var container=getScrollContainer(),deltaY=e.deltaY,e=new WheelEvent("wheel",e);container.dispatchEvent(e),e.defaultPrevented||container.scrollBy(deltaY)}),getScrollContainer());container.addEventListener("upgraded",function(){container.addScrollEventListener(function(){var page=function(){if(!self.dlg)return null;if(self.mode!==MODE.VERTICAL)return self.currentPage;var page,containerBounds=getScrollContainer().getBoundingClientRect(),loaded=loadedIntervalAround(self.currentPage),allPages=Array.from(self.dlg.querySelectorAll(".pdfPage")),partial=null,partialVisible=null;for(page of allPages.filter(function(page){return page.dataset.page>=loaded.min&&page.dataset.page<=loaded.max}).concat(allPages.filter(function(page){return page.dataset.page<loaded.min||page.dataset.page>loaded.max}))){var pageBounds=page.getBoundingClientRect(),topEdge=Math.max(containerBounds.top-1,pageBounds.top),topEdge=Math.min(containerBounds.bottom+1,pageBounds.bottom)-topEdge;if(!(topEdge<=0)){if(topEdge===pageBounds.height)return parseInt(page.dataset.page);if(partial)return topEdge<partialVisible?parseInt(partial.dataset.page):parseInt(page.dataset.page);partial=page,partialVisible=topEdge}}return partial?parseInt(partial.dataset.page):self.currentPage}();page!==self.currentPage&&self.goToPage(page)})}),dlg.querySelector(".pdf-zoom-in").addEventListener("click",function(){self.setScale({scale:self.currentScale*SCALE_BUTTON_STEP,refresh:!0})}),dlg.querySelector(".pdf-zoom-out").addEventListener("click",function(){self.setScale({scale:self.currentScale/SCALE_BUTTON_STEP,refresh:!0})}),dlg.querySelector(".pdf-zoom-none").addEventListener("click",function(){self.setScale({scale:1,refresh:!0})}),dlg.querySelector(".pdf-zoom-fit").addEventListener("click",function(){self.setScale({scale:SCALECALC.FIT,refresh:!0})})}function setupInputHandling(dlg){var scrollContainer=getScrollContainer();scrollContainer.addEventListener("wheel",function(e){var now=(new Date).getTime();if(self.mode!==MODE.VERTICAL){if(scrollContainer.getScrollHeight()>scrollContainer.clientHeight&&now-self.previousPageScrollTs<WHEEL_PAGINATION_DELAY)return void e.preventDefault();if(self.previousPageScroll===scrollContainer.getScrollPosition()){if(e.deltaY<0&&scrollContainer.getScrollPosition()<=0)return self.previousPageScrollTs=now,self.previousPage(!0);if(0<e.deltaY&&scrollContainer.getScrollPosition()>=scrollContainer.getScrollHeight()-scrollContainer.clientHeight)return self.previousPageScrollTs=now,self.nextPage()}}self.previousPageScroll=scrollContainer.getScrollPosition()}),_inputmanager.default.on(dlg,function(e){"back"===e.detail.command&&(isTocOpen()?self.showHideToc():_dialoghelper.default.close(dlg),e.stopPropagation(),e.preventDefault())},{capture:!0}),_inputmanager.default.on(dlg,function(e){var command,rtl,tocOpen,_e$detail$originalEve;document.activeElement.closest(".formDialogHeader")||(command=e.detail.command,_e$detail$originalEve=null==(_e$detail$originalEve=e.detail.originalEvent)?void 0:_e$detail$originalEve.ctrlKey,rtl=self.dlg&&"rtl"===getComputedStyle(self.dlg).direction,tocOpen=isTocOpen(),"red"===command||"up"===command&&_e$detail$originalEve?(self.setScale({scale:self.currentScale*SCALE_BUTTON_STEP,refresh:!0}),e.preventDefault()):"green"===command||"down"===command&&_e$detail$originalEve?(self.setScale({scale:self.currentScale/SCALE_BUTTON_STEP,refresh:!0}),e.preventDefault()):"yellow"===command||"home"===command&&!_e$detail$originalEve&&!_layoutmanager.default.tv?(self.setScale({scale:1,refresh:!0}),e.preventDefault()):"blue"===command||"end"===command&&!_e$detail$originalEve?(self.setScale({scale:SCALECALC.FIT,refresh:!0}),e.preventDefault()):((self.mode===MODE.VERTICAL||scrollContainer.getScrollHeight()>scrollContainer.clientHeight)&&("up"!==command||tocOpen||(scrollBy(-DEFAULT_SCROLL_PX),e.preventDefault()),"down"!==command||tocOpen||(scrollBy(DEFAULT_SCROLL_PX),e.preventDefault()),"home"===command&&_e$detail$originalEve&&getScrollContainer().scrollToBeginning(),"end"===command)&&_e$detail$originalEve&&(tocOpen=getScrollContainer()).scrollToPosition({position:tocOpen.getScrollHeight()-tocOpen.clientHeight}),(!rtl&&"left"===command||rtl&&"right"===command||"previous"===command||"pageup"===command)&&(self.previousPage(),e.preventDefault()),(!rtl&&"right"===command||rtl&&"left"===command||"next"===command||"pagedown"===command)&&(self.nextPage(),e.preventDefault()),self.toc.length&&("guide"===command||"unknown"===command&&"t"===(null==(_e$detail$originalEve=e.detail.originalEvent)?void 0:_e$detail$originalEve.key))&&(self.showHideToc(),e.preventDefault()),("togglefullscreen"===command||"unknown"===command&&"Insert"===(null==(tocOpen=e.detail.originalEvent)?void 0:tocOpen.key))&&(self.setGutters(!self.gutters),e.preventDefault()),("changezoom"===command||"unknown"===command&&"m"===(null==(rtl=e.detail.originalEvent)?void 0:rtl.key))&&(self.mode===MODE.PAGE?self.setMode(MODE.DOUBLE):self.mode===MODE.DOUBLE?self.setMode(MODE.VERTICAL):self.mode===MODE.VERTICAL&&self.setMode(MODE.PAGE),e.preventDefault()),"stop"===command&&(_dialoghelper.default.close(dlg),e.preventDefault())))})}function abortWithReason(signal){_loading.default.hide();signal=signal.reason;return signal||((signal=new Error("Aborted")).name="AbortError"),signal}function open(url,name){function convertToToc(outline){var item,result=[];for(item of outline)result.push({label:item.title,href:item.dest,subitems:item.items?convertToToc(item.items):void 0});return result}function extractItems(arr){for(var entry of arr){var subitems=entry.subitems,entry=babelHelpers.objectWithoutProperties(entry,_excluded);self.flatToc.push(entry),subitems&&extractItems(subitems)}}return self.pdfjs.getDocument(url).promise.then(function(pdf){return(self.pdf=pdf).getMetadata()}).then(function(metadata){return self.title=name||metadata.contentDispositionFilename,self.dlg.querySelector(".formDialogHeaderTitle").textContent=self.title,self.pdf.getOutline()}).then(function(outline){outline&&(self.toc=convertToToc(outline),self.flatToc=[],extractItems(self.toc));for(var samplePromises=[],i=1;i<=SAMPLE_PAGES_FOR_DEFAULT_HEIGHT&&i<=self.pdf.numPages;i++)!function(i){var samplePage=self.pdf.getPage(i);samplePage.then(function(page){self.knownHeights[i]=page.getViewport({scale:1}).height}),samplePromises.push(samplePage)}(i);return Promise.all(samplePromises).then(function(){function createPage(num,height){var pageElement=document.createElement("div");return pageElement.className="pdfPage",pageElement.dir="ltr",pageElement.dataset.page=num,pageElement.style.setProperty("--base-height",height),pageElement}var defaultHeightPx=getCurrentMostFrequentPageHeight(),pages=document.createDocumentFragment(),pageZero=createPage(0,defaultHeightPx);pageZero.innerHTML='<canvas class="pdfPageCanvas"></canvas>',pages.appendChild(pageZero);for(var _i3=1;_i3<=self.pdf.numPages;_i3++)pages.appendChild(createPage(_i3,self.knownHeights[_i3]||defaultHeightPx));self.dlg.querySelector(".pdfContent").appendChild(pages)})})}function initializeDocumentView(){return new Promise(function(resolve,reject){Promise.all([new Promise(function(resolve,reject){self.pdf.getOpenAction().then(function(pdfOpenAction){"object"==typeof(null==(pdfOpenAction=null==pdfOpenAction?void 0:pdfOpenAction.dest)?void 0:pdfOpenAction[0])?self.pdf.getPageIndex(pdfOpenAction[0]).then(function(firstPage){resolve({pdfOpenAction:pdfOpenAction,firstPage:firstPage+=1})}).catch(function(e){return reject(e)}):resolve({pdfOpenAction:pdfOpenAction,firstPage:1})}).catch(function(e){return reject(e)})}),self.pdf.getPageLayout()]).then(function(_ref){var _ref=babelHelpers.slicedToArray(_ref,2),pdfOpenParameters=_ref[0],_ref=_ref[1],pdfOpenAction=pdfOpenParameters.pdfOpenAction,pdfOpenParameters=pdfOpenParameters.firstPage,initialScale=SCALE_DEFAULT,openAction="";pdfOpenAction&&("XYZ"===(openAction="object"==typeof pdfOpenAction[1]?pdfOpenAction[1].name||"":openAction)&&(initialScale=pdfOpenAction[4]),"Fit"!==openAction&&"FitB"!==openAction||(initialScale=SCALECALC.FIT),"FitH"!==openAction&&"FitBH"!==openAction||(initialScale=SCALECALC.FITWIDTH),"FitV"!==openAction&&"FitBV"!==openAction||(initialScale=SCALECALC.FITHEIGHT),openAction.match(/^Fit/))&&(self.gutters=!openAction.match(/^FitB/)),"SinglePage"===_ref&&(self.mode=MODE.PAGE),"OneColumn"===_ref&&(self.mode=MODE.VERTICAL),("TwoPageLeft"===_ref||"TwoPageRight"===_ref)&&(self.mode=MODE.DOUBLE,pdfOpenAction=pdfOpenParameters%2,"TwoPageLeft"===_ref&&!pdfOpenAction||"TwoPageRight"===_ref&&pdfOpenAction)&&--pdfOpenParameters,self.mode===MODE.VERTICAL||openAction||(initialScale=SCALECALC.FIT),resolve({firstPage:pdfOpenParameters,initialScale:initialScale})}).catch(function(e){return reject(e)})})}self.mode=_appsettings.default.get(APPSETTINGS_LAYOUT)||MODE.VERTICAL,self.gutters=null===savedMargins||"true"===savedMargins,self.currentPage=null,self.currentScale=SCALE_DEFAULT,self.previousPageScroll=0,self.previousPageScrollTs=0,self.knownHeights={},self.renderInProgress=null,self.renderQueue=[],self.renderPending={},self.unloadPending=null,self.resizeObserver=null,self.applyResizeTimer=null,self.setMode=function(mode,noupdate){var modebutton;Object.values(MODE).indexOf(mode)<0||(self.mode=mode,(modebutton=self.dlg.querySelector(".pdf-mode")).setAttribute("title",_globalize.default.translate(MODE_DISPLAY[mode].tag)),modebutton.setAttribute("aria-label",_globalize.default.translate(MODE_DISPLAY[mode].tag)),modebutton.querySelector(".md-icon").textContent=MODE_DISPLAY[mode].icon,modebutton=self.dlg.querySelector(".pdfContent"),mode===MODE.PAGE?modebutton.classList.add("pdfLayoutSingle"):modebutton.classList.remove("pdfLayoutSingle"),mode===MODE.DOUBLE?modebutton.classList.add("pdfLayoutDouble"):(modebutton.classList.remove("pdfLayoutDouble"),0===self.currentPage&&self.goToPage(1)),mode===MODE.VERTICAL?(modebutton.classList.add("pdfLayoutVertical"),self.dlg.querySelector(".pdfOverlayPaginator").classList.add("hide")):(modebutton.classList.remove("pdfLayoutVertical"),self.dlg.querySelector(".pdfOverlayPaginator").classList.remove("hide")),noupdate)||(updateLayout(),_appsettings.default.set(APPSETTINGS_LAYOUT,mode))},self.setGutters=function(state,noupdate){self.gutters=!!state;state=self.dlg.querySelector(".pdfContent");self.gutters?state.classList.add("gutters"):state.classList.remove("gutters"),noupdate||(updateLayout(),_appsettings.default.set(APPSETTINGS_MARGINS,self.gutters?"true":"false"))},self.setScale=function(options){if(!self.dlg||!self.pdf)throw new Error("PDF not loaded yet.");"object"!=typeof options&&(options={scale:options});var widthRatio,isVertical,newScale=(options=Object.assign({scale:SCALE_DEFAULT,refresh:!1,upscale:!1},options)).scale,scrollContainer=getScrollContainer(),currentCanvas=getPageElement(self.currentPage,!0),pageDisplayHeight=self.knownHeights[self.currentPage],currentCanvas=currentCanvas.clientWidth*self.knownHeights[self.currentPage]/currentCanvas.clientHeight,nextCanvas=(self.mode===MODE.DOUBLE&&self.currentPage<self.pdf.numPages&&(nextCanvas=getPageElement(self.currentPage+1,!0),currentCanvas+=(self.gutters?getGap():0)+nextCanvas.clientWidth*self.knownHeights[self.currentPage+1]/nextCanvas.clientHeight,pageDisplayHeight=Math.max(pageDisplayHeight,self.knownHeights[self.currentPage+1])),!self.gutters||self.mode!==MODE.PAGE&&self.mode!==MODE.DOUBLE||(currentCanvas+=2*getGap(),pageDisplayHeight+=2*getGap()),scrollContainer.clientHeight/Math.ceil(pageDisplayHeight)),widthFactor=scrollContainer.clientWidth/Math.ceil(currentCanvas);if(Object.values(SCALECALC).find(function(m){return m===newScale})&&(newScale=(newScale=newScale===SCALECALC.FITHEIGHT?nextCanvas:newScale)===SCALECALC.FITWIDTH?widthFactor:newScale)===SCALECALC.FIT&&(newScale=Math.min(widthFactor,nextCanvas)),options.upscale&&(widthRatio=1/widthFactor,(isVertical=scrollContainer.clientWidth<scrollContainer.clientHeight)&&widthRatio<UPSCALE_VERTICAL_RATIO&&(newScale=scrollContainer.clientWidth*UPSCALE_VERTICAL_RATIO/currentCanvas),isVertical||pageDisplayHeight*(newScale=widthRatio<UPSCALE_HORIZONTAL_RATIO?scrollContainer.clientWidth*UPSCALE_HORIZONTAL_RATIO/currentCanvas:newScale)<scrollContainer.clientHeight&&(newScale=Math.min(widthFactor,nextCanvas))),(newScale=(newScale=currentCanvas*(newScale=SCALE_MAX<(newScale=newScale<SCALE_MIN?SCALE_MIN:newScale)?SCALE_MAX:newScale)>scrollContainer.clientWidth?scrollContainer.clientWidth/currentCanvas:newScale)<1&&(isVertical=function(){for(var loaded=loadedIntervalAround(self.currentPage,!0),height=(loaded.max-loaded.min+1<VERTICAL_VISIBLE_LOADED_PAGES&&1<loaded.min&&--loaded.min,0),page=loaded.min;page<=loaded.max;page++)height+=self.knownHeights[page];return height}())*newScale<scrollContainer.clientHeight?Math.min(scrollContainer.clientHeight/isVertical,1):newScale)!==self.currentScale)return assignCurrentScale(newScale),options.refresh?self.goToPage({page:self.currentPage,forceRedraw:!0,forceScroll:!0}):void 0},self.goToPage=function(options){if(!self.dlg||!self.pdf)return Promise.reject("PDF not loaded yet.");"object"!=typeof options&&(options={page:options}),options=Object.assign({page:1,forceScroll:!1,scrollToBottom:!1,forceRedraw:!1},options);var page=function(page){return self.mode!==MODE.DOUBLE&&page<1?page=1:self.mode===MODE.DOUBLE&&page<0?page=0:page>self.pdf.numPages&&(page=self.pdf.numPages),self.dlg.querySelector(".pdf-page-input").value=page}(options.page);if(!options.forceRedraw&&!options.forceScroll&&self.currentPage===page)return Promise.resolve();var previousWidth,exclude,intersection_min,previous=self.currentPage,unloadBeforeLoad=(self.currentPage=page,null!==previous&&previous!==page&&(previousWidth=getPageElement(previous).clientWidth,self.mode===MODE.DOUBLE)&&previous<self.pdf.numPages&&(previousWidth+=getPageElement(previous+1).clientWidth),Promise.resolve()),newInterval=loadedIntervalAround(page);if(null!==previous){var previousInterval=loadedIntervalAround(previous),pagesToUnload=options.forceRedraw?previousInterval:(previousInterval=previousInterval,exclude=newInterval,intersection_min=Math.max(previousInterval.min,exclude.min),(exclude=Math.min(previousInterval.max,exclude.max))<intersection_min?previousInterval:previousInterval.min<intersection_min?{min:previousInterval.min,max:intersection_min-1}:previousInterval.max>exclude?{min:exclude+1,max:previousInterval.max}:null);if(pagesToUnload){function _loop2(i){if(self.unloadPending===i)return 1;var num,queueIndex;self.renderPending[i]?self.renderInProgress===i?(self.unloadPending=i,self.renderPending[i].then(function(){self.unloadPending===i&&(unloadPage(i),self.unloadPending=null)}),options.forceRedraw&&(unloadBeforeLoad=self.renderPending[i])):(num=i,(queueIndex=self.renderQueue.findIndex(function(pending){return pending.options.num===num}))<0||self.renderQueue.splice(queueIndex,1),delete self.renderPending[i]):unloadPage(i)}for(var i=pagesToUnload.min;i<=pagesToUnload.max;i++)_loop2(i)}getPageElement(previous).classList.remove("pdfCurrentPage")}return unloadBeforeLoad.then(function(){function requestRenderOf(targetPage,next){self.renderPending[targetPage]?self.unloadPending===targetPage&&(self.unloadPending=null):(self.renderPending[targetPage]=function renderPage(options){if(!self.dlg||!self.pdf)return Promise.reject("PDF not loaded yet.");"object"!=typeof options&&(options={num:options});var pageElement=getPageElement((options=Object.assign({num:1,scale:SCALE_DEFAULT,next:!1,now:!1},options)).num),canvas=pageElement.querySelector(".pdfPageCanvas");return canvas?Promise.resolve():null===self.renderInProgress||options.now?(options.now||(self.renderInProgress=options.num),self.pdf.getPage(options.num).then(function(page){var viewport=page.getViewport({scale:options.scale}),context=(self.knownHeights[options.num]=page.getViewport({scale:1}).height,(canvas=document.createElement("canvas")).className="pdfPageCanvas",pageElement.appendChild(canvas),canvas.getContext("2d")),renderTask=(canvas.width=Math.floor(viewport.width),canvas.height=Math.floor(viewport.height),canvas.style.width=Math.floor(viewport.width)+"px",canvas.style.height=Math.floor(viewport.height)+"px",pageElement.style.setProperty("--base-height",self.knownHeights[options.num]),page.render({canvasContext:context,viewport:viewport}));return new Promise(function(resolve){renderTask.promise.then(function(){var next;options.now||(self.renderInProgress===options.num&&(self.renderInProgress=null),self.renderQueue.length&&renderPage((next=self.renderQueue.shift()).options).then(next.resolve).catch(next.reject)),resolve(viewport)})})})):new Promise(function(resolve,reject){resolve={options:options,resolve:resolve,reject:reject},options.next?self.renderQueue.unshift(resolve):self.renderQueue.push(resolve)})}({num:targetPage,scale:self.currentScale,next:next}),self.renderPending[targetPage].then(function(){self.currentPage===targetPage&&(getPageElement(targetPage).classList.add("pdfCurrentPage"),updateLargePaginators()),delete self.renderPending[targetPage]}))}0<page&&requestRenderOf(page,!0);for(var _i=page+1;_i<=newInterval.max;_i++)requestRenderOf(_i);for(var updateDummy,options,pageElement,canvas,_i2=page-1;_i2>=newInterval.min;_i2--)requestRenderOf(_i2);return 0<page?self.renderPending[page]:(options={num:0,scale:self.currentScale,template:1},(updateDummy=self.dlg&&self.pdf?("object"!=typeof options&&(options={num:options}),(options=Object.assign({num:1,scale:SCALE_DEFAULT,template:1},options)).num===options.template?Promise.reject("Can't update a dummy page based on itself."):(pageElement=getPageElement(options.num),canvas=pageElement.querySelector(".pdfPageCanvas"),self.pdf.getPage(options.template).then(function(page){var viewport=page.getViewport({scale:options.scale});self.knownHeights[options.num]=page.getViewport({scale:1}).height,canvas.width=Math.floor(viewport.width),canvas.height=Math.floor(viewport.height),canvas.style.width=Math.floor(viewport.width)+"px",canvas.style.height=Math.floor(viewport.height)+"px",pageElement.style.setProperty("--base-height",self.knownHeights[options.num])}))):Promise.reject("PDF not loaded yet.")).then(function(){getPageElement(0).classList.add("pdfCurrentPage"),updateLargePaginators()}),updateDummy)}).then(function(){var scrollContainer;options.forceScroll&&(scrollContainer=getScrollContainer(),self.mode===MODE.VERTICAL?scrollContainer.scrollToPosition({position:getPageElement(page).offsetTop+1}):options.scrollToBottom?scrollContainer.scrollToPosition({position:scrollContainer.getScrollHeight()-scrollContainer.clientHeight}):scrollContainer.scrollToBeginning(),self.previousPageScroll=scrollContainer.getScrollPosition()),null!==previous&&previous!==page&&function(page){var prepare,pageWidth=getPageElement(page).clientWidth;return self.mode===MODE.DOUBLE&&page<self.pdf.numPages?(prepare=self.renderPending[page+1]||Promise.resolve(),new Promise(function(resolve){prepare.then(function(){pageWidth+=getPageElement(page+1).clientWidth,resolve(pageWidth)})})):Promise.resolve(pageWidth)}(page).then(function(pageWidth){previousWidth!==pageWidth&&self.setScale({scale:self.currentScale,refresh:!0})})})},self.previousPage=function(fromBottom,snap){snap=self.mode===MODE.DOUBLE&&(1<self.currentPage||!snap)?2:1;self.currentPage-snap>=(self.mode===MODE.DOUBLE?0:1)&&self.goToPage({page:self.currentPage-snap,forceScroll:!0,scrollToBottom:fromBottom})},self.nextPage=function(){var delta=self.mode===MODE.DOUBLE?2:1;self.currentPage+delta<=self.pdf.numPages&&self.goToPage({page:self.currentPage+delta,forceScroll:!0})},self.showHideToc=function(){var tocContainer=self.dlg.querySelector(".pdfTocDrawer");self.tocSidebar&&tocContainer.classList.contains("sidebar")?self.tocSidebar.toggle():(self.tocSidebar=_indexsidebar.default.show({container:tocContainer,className:"pdfTocDrawer",header:'<h4><div class="pdf-toc-title"></div></h4>',reverse:!0,items:self.toc,callback:function(href){"object"==typeof(null==href?void 0:href[0])&&self.pdf.getPageIndex(href[0]).then(function(page){self.goToPage({page:page+=1,forceScroll:!0})})}}),self.tocSidebar.ready.then(function(tocContainer){tocContainer.querySelector(".pdf-toc-title").textContent=self.title;var container=self.dlg.querySelector(".pdfContainer");container.getAttribute("dir")&&tocContainer.firstElementChild.setAttribute("dir",container.getAttribute("dir"))}))},self.show=function(item,signal){if(_loading.default.show(),null!=signal&&signal.aborted)throw abortWithReason(signal);var modulePath,apiClient=_connectionmanager.default.getApiClient(item),workerPath="detached"in ArrayBuffer.prototype&&"transfer"in ArrayBuffer.prototype&&"transferToFixedLength"in ArrayBuffer.prototype&&"try"in Promise&&"withResolvers"in Promise&&"toReversed"in Uint8Array.prototype&&"toSorted"in Uint8Array.prototype&&"with"in Uint8Array.prototype&&"delete"in URLSearchParams.prototype&&"has"in URLSearchParams.prototype&&"size"in URLSearchParams.prototype&&"function"==typeof Iterator&&"object"==typeof Iterator.prototype&&"map"in Iterator.prototype&&"drop"in Iterator.prototype&&"every"in Iterator.prototype&&"some"in Iterator.prototype&&"difference"in Set.prototype&&"intersection"in Set.prototype&&"isDisjointFrom"in Set.prototype&&"isSubsetOf"in Set.prototype&&"isSupersetOf"in Set.prototype&&"symmetricDifference"in Set.prototype&&"union"in Set.prototype?(modulePath=PATH_LIB,PATH_WORKER):(modulePath=PATH_LIB_LEGACY,PATH_WORKER_LEGACY);return Emby.importModule(modulePath).then(function(pdfjs){if(pdfjs.GlobalWorkerOptions.workerSrc=workerPath,null!=signal&&signal.aborted)throw self.clear(),abortWithReason(signal);self.pdfjs=pdfjs}).then(function(){return require([PATH_TEMPLATE])}).then(function(responses){return responses=responses[0],(dlg=self.dlg=_dialoghelper.default.createDialog({removeOnClose:!0,autoFocus:!0,size:"fullscreen"})).classList.add("pdfPlayerDialog"),dlg.classList.add("formDialog"),dlg.innerHTML=_globalize.default.translateDocument(responses),assignCurrentScale(self.currentScale),dlg;var dlg}).then(function(){return open(apiClient.getItemOriginalFileUrl(item.Id),item.Name)}).then(function(){if(null!=signal&&signal.aborted)throw self.clear(),abortWithReason(signal);return initializeDocumentView()}).then(function(_ref3){var firstPage=_ref3.firstPage,initialScale=_ref3.initialScale;return self.goToPage(firstPage).then(function(){return Promise.resolve(initialScale)})}).then(function(initialScale){if(null!=signal&&signal.aborted)throw self.clear(),abortWithReason(signal);var dlg=self.dlg;setupUIElements(dlg),setupInputHandling(dlg),_fluidheader.default.fluidify({container:dlg.querySelector(".formDialogHeader"),defaultLTR:!0,item:item}),_dialoghelper.default.open(dlg),self.setMode(self.mode,!0),self.setGutters(self.gutters,!0),self.setScale({scale:initialScale,refresh:!0,upscale:!0}),self.resizeObserver=new ResizeObserver(function(entries){self.applyResizeTimer&&clearTimeout(self.applyResizeTimer),self.applyResizeTimer=setTimeout(function(){self.setScale({scale:self.currentScale,refresh:!0})},ADJUST_AFTER_RESIZE_DELAY)}),self.resizeObserver.observe(getScrollContainer())}).finally(function(){_loading.default.hide()})},self.clear=function(){self.resizeObserver&&(self.resizeObserver.unobserve(getScrollContainer()),self.resizeObserver=null),self.dlg=null,self.pdf=null,self.tocSidebar=null,self.title=null,self.toc=[],self.flatToc=[],self.currentPage=null,self.currentScale=SCALE_DEFAULT,self.knownHeights={},self.renderPending={},self.unloadPending=null,self.previousPageScroll=0,self.previousPageScrollTs=0,null!=self.applyResizeTimer&&(clearTimeout(self.applyResizeTimer),self.applyResizeTimer=null)}};var _excluded=["subitems"],PATH_TEMPLATE=(require(["formDialogStyle","css!modules/pdfplayer/pdfplayer.css"]),"text!./modules/pdfplayer/pdfplayer.template.html"),APPSETTINGS_LAYOUT="pdflayout",APPSETTINGS_MARGINS="pdfmargins",PATH_LIB="./thirdparty/pdfjs/pdf.js",PATH_WORKER="./thirdparty/pdfjs/pdf.worker.js",PATH_LIB_LEGACY="./thirdparty/pdfjs/pdf.legacy.js",PATH_WORKER_LEGACY="./thirdparty/pdfjs/pdf.worker.legacy.js",MODE={PAGE:"page",DOUBLE:"double",VERTICAL:"vertical"},MODE_DISPLAY=babelHelpers.defineProperty(babelHelpers.defineProperty(babelHelpers.defineProperty({},MODE.PAGE,{tag:"LayoutPage",icon:"article"}),MODE.DOUBLE,{tag:"LayoutDouble",icon:"two_pager"}),MODE.VERTICAL,{tag:"LayoutVertical",icon:"view_agenda"}),SCALE_MIN=.1,SCALE_MAX=10,SCALE_DEFAULT=1,SCALECALC={FIT:"fit",FITWIDTH:"fitwidth",FITHEIGHT:"fitheight"},UPSCALE_VERTICAL_RATIO=1,UPSCALE_HORIZONTAL_RATIO=.5,SCALE_BUTTON_STEP=1.1,PAGE_LARGE_PAGINATOR_NEXT=.75,LOADED_PAGES_BUFFER=3,VERTICAL_VISIBLE_LOADED_PAGES=5,SAMPLE_PAGES_FOR_DEFAULT_HEIGHT=5,ADJUST_AFTER_RESIZE_DELAY=250,WHEEL_PAGINATION_DELAY=100,DEFAULT_SCROLL_PX=100});