UNPKG

vue-files-preview

Version:

A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.

3 lines (2 loc) 2.28 kB
"use strict";const e=require("vue");require("../../../../node_modules/.pnpm/epubjs@0.3.93/node_modules/epubjs/src/book.js");require("../../../../node_modules/.pnpm/@xmldom_xmldom@0.7.13/node_modules/@xmldom/xmldom/lib/dom.js");require("../../../../node_modules/.pnpm/@xmldom_xmldom@0.7.13/node_modules/@xmldom/xmldom/lib/dom-parser.js");require("../../../../node_modules/.pnpm/epubjs@0.3.93/node_modules/epubjs/src/rendition.js");require("../../../../node_modules/.pnpm/epubjs@0.3.93/node_modules/epubjs/src/contents.js");require("../../../../node_modules/.pnpm/epubjs@0.3.93/node_modules/epubjs/src/layout.js");const y=require("../../../../node_modules/.pnpm/epubjs@0.3.93/node_modules/epubjs/src/epub.js"),g=require("../../utils/utils.js"),s=require("../../../../node_modules/.pnpm/@vueuse_core@11.1.0_vue@3.5.11_typescript@5.4.2_/node_modules/@vueuse/core/index.js"),m=e.defineComponent({__name:"index",props:{file:{default:()=>null},url:{default:()=>null},name:{},width:{default:()=>"100%"},height:{default:()=>"100%"}},setup(v){const u=v,c=e.ref(),o=e.ref(),n=e.ref(1),i=e.ref(),f=e.ref(!1),r=e.ref(),l=e.ref();function d(){u.file&&g.getFileRenderByFile(u.file).then(t=>{r.value=y(t),l.value=r.value.renderTo("epub-viewer",{width:"100%",height:"calc(100vh - 80x)",flow:"scrolled",allowScriptedContent:!0}),r.value.ready.then(()=>{c.value=r.value.navigation,o.value=r.value.locations,f.value=!0,i.value=o.value.length(),l.value.display()})})}e.watch(()=>u.file,()=>{d()},{immediate:!0});function p(){l.value&&(l.value.prev(),n.value--,n.value<1&&(n.value=1))}function w(){l.value&&(l.value.next(),n.value++,n.value>i.value&&(n.value=i.value))}function h(t){t.preventDefault()}function b(t){t.preventDefault()}return s.onKeyStroke("ArrowLeft",()=>{p()}),s.onKeyStroke("ArrowRight",()=>{w()}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:"epub-preview epub-box",style:e.normalizeStyle({width:t.width,height:t.height})},[e.createElementVNode("button",{class:"btn",style:{display:"none"},onKeydown:h}," 上一页 ",32),a[0]||(a[0]=e.createElementVNode("div",{id:"epub-viewer",class:"epub-viewer"},null,-1)),e.createElementVNode("button",{class:"btn",style:{display:"none"},onKeydown:b}," 下一页 ",32)],4))}});module.exports=m; //# sourceMappingURL=index.vue2.js.map