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) • 1.39 kB
JavaScript
;const r=require("vue"),f=require("../../../../node_modules/vue-codemirror/dist/vue-codemirror.esm.js"),p=require("../../../../node_modules/@codemirror/lang-javascript/dist/index.js"),v=require("../../../../node_modules/@codemirror/lang-json/dist/index.js"),h=require("../../../../node_modules/@codemirror/lang-html/dist/index.js"),x=require("../../../../node_modules/@codemirror/lang-xml/dist/index.js"),q=require("../../../../node_modules/@codemirror/theme-one-dark/dist/index.js"),u=require("../../utils/utils.js"),w={class:"code-preview"},_=r.defineComponent({__name:"index",props:{file:{default:()=>null},url:{default:()=>null},name:{}},emits:["rendered","error"],setup(l,{emit:s}){const o=l,i=s,n=r.ref(),c=[p.javascript(),v.json(),h.html(),x.xml(),q.oneDark],d=r.shallowRef();function a(t){d.value=t.view,i("rendered")}return r.watch(()=>o.file,t=>{t&&u.getFileRenderByFile(t).then(e=>{n.value=e}).catch(e=>{i("error",e)})},{immediate:!0}),r.watch(()=>o.url,t=>{t&&!o.file&&u.getFileRenderByUrl(t).then(e=>{n.value=e}).catch(e=>{i("error",e)})},{immediate:!0}),(t,e)=>(r.openBlock(),r.createElementBlock("div",w,[r.createVNode(r.unref(f.Codemirror),{modelValue:n.value,"onUpdate:modelValue":e[0]||(e[0]=m=>n.value=m),autofocus:!0,"indent-with-tab":!0,"tab-size":2,extensions:c,onReady:a},null,8,["modelValue"])]))}});module.exports=_;
//# sourceMappingURL=index.vue2.js.map