UNPKG

ant-design-x-vue-next

Version:

Ant Design X for Vue — community continuation aligned with @ant-design/x

2 lines (1 loc) 3.43 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),p=require("ant-design-vue"),c=require("../chunks/module-chunk.js"),k=require("../_util/hooks/use-x-component-config.js"),B=require("../locale/useLocale.js");require("../x-provider/index.js");const I=require("./style/index.js"),X=require("../x-provider/hooks/use-x-provider-context.js"),A=t.defineComponent({name:"AXFolderFilePreview",__name:"FilePreview",props:{prefixCls:null,style:null,classNames:null,styles:null,selectedFile:{default:()=>[]},previewRender:{type:Function},fileContent:{default:""},loading:{type:Boolean,default:!1},previewTitle:{type:[Boolean,Function]},getFileNode:{type:Function},emptyRender:{type:Boolean}},setup(T){const e=T,s=t.useSlots(),[x]=B.default("Folder"),{getPrefixCls:h}=X.default(),v=t.computed(()=>h("folder",e.prefixCls)),P=k.default("folder"),[,$,E]=I.default(v),n=t.computed(()=>`${v.value}-preview`),q=(i="")=>{const r=i.split(".");return r[r.length-1]||""},S=i=>i.toLowerCase()||"txt",L=(i,r)=>t.createVNode("pre",{"data-language":r},[t.createVNode("code",null,[i.replace(/\n$/,"")])]);return()=>{var r,w,g;const i=()=>{var N,F,_,V,C,R;if(e.loading)return t.createVNode("div",{class:c.classnames(`${n.value}-loading-container`,(N=e.classNames)==null?void 0:N.previewRender)},[t.createVNode(p.Spin,null,null)]);if(!e.selectedFile||e.selectedFile.length===0){if(e.emptyRender===!1||e.emptyRender===null)return s.empty?t.createVNode("div",{class:c.classnames(`${n.value}-empty-container`,(F=e.classNames)==null?void 0:F.previewRender)},[s.empty()]):null;const b=s.empty?s.empty():typeof e.emptyRender=="function"?e.emptyRender():e.emptyRender||t.createVNode(p.Empty,{image:p.Empty.PRESENTED_IMAGE_SIMPLE,description:x.value.selectFile},null);return t.createVNode("div",{class:c.classnames(`${n.value}-empty-container`,(_=e.classNames)==null?void 0:_.previewRender)},[b])}const l=(V=e.getFileNode)==null?void 0:V.call(e,e.selectedFile),m=(l==null?void 0:l.title)||e.selectedFile[e.selectedFile.length-1],u=e.selectedFile,M=e.selectedFile[e.selectedFile.length-1],f=S(q(M)),o=e.fileContent||"";let a;e.previewTitle===!1||e.previewTitle===null?a=null:s.previewTitle?a=s.previewTitle({title:m,path:u,content:o}):e.previewTitle?a=typeof e.previewTitle=="function"?e.previewTitle({title:m,path:u,content:o}):e.previewTitle:a=t.createVNode("div",{class:`${n.value}-title`},[t.createVNode("span",{class:`${n.value}-filename`},[m]),t.createVNode("span",{class:`${n.value}-copy`},[t.createVNode(p.Typography.Text,{copyable:{text:o}},null)])]);const y=L(o,f);let d;return s.preview?d=s.preview({content:o,path:u,title:l==null?void 0:l.title,language:f,originNode:y}):e.previewRender?typeof e.previewRender=="function"?d=e.previewRender({content:o,path:u,title:l==null?void 0:l.title,language:f},{originNode:y}):d=e.previewRender:d=y,t.createVNode(t.Fragment,null,[a?t.createVNode("div",{class:c.classnames(`${n.value}-title-wrapper`,(C=e.classNames)==null?void 0:C.previewTitle)},[a]):null,t.createVNode("div",{class:c.classnames(`${n.value}-content`,(R=e.classNames)==null?void 0:R.previewRender)},[d])])};return t.createVNode("div",{class:c.classnames(`${v.value}-preview`,(r=e.classNames)==null?void 0:r.filePreview,$.value,E),style:{...(w=P.value.styles)==null?void 0:w.filePreview,...(g=e.styles)==null?void 0:g.filePreview,...e.style}},[i()])}}});exports.default=A;