first commit
This commit is contained in:
1
modules/pdfplayer/pdfplayer.css
Normal file
1
modules/pdfplayer/pdfplayer.css
Normal file
@@ -0,0 +1 @@
|
||||
.pdfDialogCloseButton{box-sizing:content-box;width:1.7em}.pdfDialogHeaderTitle{min-width:10em}.pdfDialogHeaderSpacer{-webkit-flex-grow:1;flex-grow:1}.pdfDialogContent{position:relative;overflow-y:hidden}.pdfContainer{position:relative;height:100%}.pdfContent{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;--doc-scale:1.0}.pdfPage{--page-scale:var(--doc-scale);height:calc(var(--base-height) * var(--page-scale) * 1px - .9px);overflow:hidden}.pdfPageCanvas{display:block}.pdfContent.gutters{gap:16px}.pdfLayoutSingle.gutters,.pdfLayoutDouble.gutters{padding:16px}.pdfLayoutDouble{-webkit-flex-direction:row;flex-direction:row}.pdfLayoutVertical{-webkit-flex-direction:column;flex-direction:column}.pdfLayoutSingle,.pdfLayoutDouble{position:relative}.pdfLayoutSingle>.pdfPage,.pdfLayoutDouble>.pdfPage{display:none}.pdfLayoutSingle>.pdfCurrentPage,.pdfLayoutDouble>.pdfCurrentPage,.pdfLayoutDouble>.pdfCurrentPage+.pdfPage{display:block}.pdfLayoutVertical>.pdfPage[data-page="0"]{display:none}.pdfOverlayPaginator{position:absolute;z-index:100;top:0;bottom:0;left:0;right:0}.pdfOverlayPaginatorFlexContainer{display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-align-items:stretch;align-items:stretch;height:100%}.pdfOverlayPaginator .previousTarget,.pdfOverlayPaginator .nextTarget{-webkit-flex-grow:1;flex-grow:1}.pdf-toc-title{overflow:hidden;text-overflow:ellipsis}.pdfControls{display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row}.pdf-mode{margin:0 .4em}.pdf-more{-webkit-margin-start:.4em;margin-inline-start:.4em}.pdf-page{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.pdf-page>.pdf-page-input{box-sizing:content-box;width:4ch;text-align:end;display:inline-block}.pdf-page>.slash{padding:0 .5ch}.pdf-page>.total{padding:0 1ch}
|
||||
1
modules/pdfplayer/pdfplayer.js
Normal file
1
modules/pdfplayer/pdfplayer.js
Normal file
File diff suppressed because one or more lines are too long
52
modules/pdfplayer/pdfplayer.template.html
Normal file
52
modules/pdfplayer/pdfplayer.template.html
Normal file
@@ -0,0 +1,52 @@
|
||||
<div class="formDialogHeader">
|
||||
<button class="pdfDialogCloseButton" type="button" is="emby-dialogclosebutton" closetype="done"></button>
|
||||
|
||||
<h3 class="pdfDialogHeaderTitle formDialogHeaderTitle withEllipsis fluidHeaderItem" data-fluid-priority="2"></h3>
|
||||
|
||||
<div class="pdfDialogHeaderSpacer"></div>
|
||||
|
||||
<div class="pdfControls">
|
||||
|
||||
<button type="button" class="pdf-zoom-out dialogHeaderButton fluidHeaderItem paper-icon-button-light md-icon" title="${ZoomOut}" aria-label="${ZoomOut}"></button>
|
||||
<button type="button" class="pdf-zoom-in dialogHeaderButton fluidHeaderItem paper-icon-button-light md-icon" title="${ZoomIn}" aria-label="${ZoomIn}"></button>
|
||||
<button type="button" class="pdf-zoom-none dialogHeaderButton fluidHeaderItem paper-icon-button-light md-icon" data-fluid-priority="-1" title="${ZoomNone}" aria-label="${ZoomNone}"></button>
|
||||
<button type="button" class="pdf-zoom-fit dialogHeaderButton fluidHeaderItem paper-icon-button-light md-icon" data-fluid-priority="3" title="${ZoomAutoFit}" aria-label="${ZoomAutoFit}"></button>
|
||||
<button type="button" class="pdf-mode dialogHeaderButton fluidHeaderItem paper-icon-button-light" data-fluid-priority="5" title="${LayoutPage}" aria-label="${LayoutPage}">
|
||||
<i class="md-icon"></i>
|
||||
</button>
|
||||
|
||||
<button type="button" class="pdf-previous autortl dialogHeaderButton md-icon paper-icon-button-light" title="${PreviousPage}" aria-label="${PreviousPage}"></button>
|
||||
|
||||
<div class="pdf-page">
|
||||
<input type="text" is="emby-input" class="pdf-page-input" maxlength="4" title="${CurrentPage}" aria-label="${CurrentPage}">
|
||||
<div class="slash">/</div>
|
||||
<div class="total" title="${TotalPages}" aria-label="${TotalPages}"></div>
|
||||
</div>
|
||||
|
||||
<button type="button" class="pdf-next autortl dialogHeaderButton md-icon paper-icon-button-light" title="${NextPage}" aria-label="${NextPage}"></button>
|
||||
|
||||
<button type="button" class="pdf-toc dialogHeaderButton fluidHeaderItem md-icon paper-icon-button-light" data-fluid-priority="-1" title="${TableOfContents}" aria-label="${TableOfContents}"></button>
|
||||
|
||||
<button type="button" class="pdf-more dialogHeaderButton fluidHeaderMore paper-icon-button-light md-icon" title="${More}" aria-label="${More}"></button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="formDialogContent pdfDialogContent">
|
||||
|
||||
<div class="pdfContainer emby-scroller dialog-scrollY scrollY overflowYScroll" is="emby-scroller" data-horizontal="false" data-forcescrollbar="true" data-focusscroll="true" data-forcenativescroll="true">
|
||||
<div class="pdfContent scrollSlider scrollSliderY"></div>
|
||||
</div>
|
||||
|
||||
<div class="pdfOverlayPaginator overflowYScroll">
|
||||
<div class="pdfOverlayPaginatorFlexContainer">
|
||||
<a class="previousTarget"></a>
|
||||
<a class="nextTarget"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pdfTocDrawer focuscontainer padded-bottom-page">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
1
modules/pdfplayer/plugin.js
Normal file
1
modules/pdfplayer/plugin.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=function(){this.name="PDF Viewer",this.type="mediaplayer",this.id="pdfplayer",this.priority=1;var self=this;self.pdfplayer=null,self.play=function(options,signal){return signal.aborted?((signal=signal.reason)||((signal=new Error("Aborted")).name="AbortError"),Promise.reject(signal)):null===self.pdfplayer?Emby.importModule(PATH_PLAYER).then(function(playermodule){return self.pdfplayer=new playermodule,self.pdfplayer.show(options.item)}):self.pdfplayer.show(options.item)},self.stop=function(options){return null!==self.pdfplayer&&self.pdfplayer.clear(),Promise.resolve()},self.destroy=function(options){self.stop()},self.isPlaying=function(mediaType){return(!mediaType||"Book"===mediaType)&&null!==self.pdfplayer&&null!==self.pdfplayer.currentPage},self.pause=function(){},self.unpause=function(){},self.paused=function(){return!1},self.getVolume=function(){return 100},self.setVolume=function(){},self.volumeUp=function(){},self.volumeDown=function(){},self.setMute=function(mute){},self.currentTime=function(){},self.duration=function(){},self.isMuted=function(){return!1},self.canPlayMediaType=function(mediaType){return"Book"===mediaType},self.canPlayItem=function(item,playOptions){return"pdf"===(null==(item=item.Container)?void 0:item.toLowerCase())}};var PATH_PLAYER="./modules/pdfplayer/pdfplayer.js"});
|
||||
Reference in New Issue
Block a user