vue-files-preview-inno
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.06 kB
JavaScript
;const e=require("vue"),l=require("../../utils/utils.js"),c={class:"unknown-preview"},d={class:"unknown-preview-icon-wrapper"},f={key:0,class:"unknown-preview-badge"},p=["title"],m=e.defineComponent({__name:"index",props:{file:{default:()=>null},url:{default:()=>null},name:{}},emits:["error"],setup(s,{emit:a}){const t=s,u=a,o=e.computed(()=>{if(t.file){const n=l.getFileType(t.file,t.name);return n?`.${n}`:""}if(t.url){const n=l.getFileTypeFromUrl(t.url);return n?`.${n}`:""}return""}),i=e.computed(()=>t.file&&"name"in t.file&&t.file.name?t.file.name:t.name?t.name:t.url?l.getFileNameFromUrl(t.url):"");return e.onMounted(()=>{u("error",new Error(`Unsupported file type: ${o.value}`))}),(n,r)=>(e.openBlock(),e.createElementBlock("div",c,[e.createElementVNode("div",d,[r[0]||(r[0]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.createElementVNode("polyline",{points:"14 2 14 8 20 8"})],-1)),o.value?(e.openBlock(),e.createElementBlock("span",f,e.toDisplayString(o.value),1)):e.createCommentVNode("",!0)]),i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"unknown-preview-name",title:i.value},e.toDisplayString(i.value),9,p)):e.createCommentVNode("",!0),r[1]||(r[1]=e.createStaticVNode('<div class="unknown-preview-tip" data-v-f16901ff><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-f16901ff><circle cx="12" cy="12" r="10" data-v-f16901ff></circle><line x1="12" y1="8" x2="12" y2="12" data-v-f16901ff></line><line x1="12" y1="16" x2="12.01" y2="16" data-v-f16901ff></line></svg><span data-v-f16901ff>This file type is not supported for preview</span></div>',1))]))}});module.exports=m;
//# sourceMappingURL=index.vue2.js.map