UNPKG

ll-package

Version:

2 lines (1 loc) 4.77 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("../../../../@babel/runtime/helpers/esm/objectSpread2.js"),o=require("vue"),te=require("../../../../@ant-design/icons-vue/es/icons/EyeOutlined.js"),ne=require("../../../../@ant-design/icons-vue/es/icons/DeleteOutlined.js"),le=require("../../../../@ant-design/icons-vue/es/icons/DownloadOutlined.js"),re=require("../../tooltip/index.js"),ie=require("../../progress/index.js"),se=require("../../config-provider/hooks/useConfigInject.js"),ae=require("../../_util/transition.js"),t=require("../../_util/type.js"),O=()=>({prefixCls:String,locale:t.objectType(void 0),file:t.objectType(),items:t.arrayType(),listType:t.stringType(),isImgUrl:t.functionType(),showRemoveIcon:t.booleanType(),showDownloadIcon:t.booleanType(),showPreviewIcon:t.booleanType(),removeIcon:t.functionType(),downloadIcon:t.functionType(),previewIcon:t.functionType(),iconRender:t.functionType(),actionIconRender:t.functionType(),itemRender:t.functionType(),onPreview:t.functionType(),onClose:t.functionType(),onDownload:t.functionType(),progress:t.objectType()}),ce=o.defineComponent({compatConfig:{MODE:3},name:"ListItem",inheritAttrs:!1,props:O(),setup(d,S){let{slots:s,attrs:x}=S;var v;const y=o.shallowRef(!1),I=o.shallowRef();o.onMounted(()=>{I.value=setTimeout(()=>{y.value=!0},300)}),o.onBeforeUnmount(()=>{clearTimeout(I.value)});const i=o.shallowRef((v=d.file)===null||v===void 0?void 0:v.status);o.watch(()=>{var r;return(r=d.file)===null||r===void 0?void 0:r.status},r=>{r!=="removed"&&(i.value=r)});const{rootPrefixCls:j}=se.default("upload",d),E=o.computed(()=>ae.getTransitionProps(`${j.value}-fade`));return()=>{var r,f;const{prefixCls:n,locale:p,listType:a,file:e,items:M,progress:F,iconRender:L=s.iconRender,actionIconRender:N=s.actionIconRender,itemRender:b=s.itemRender,isImgUrl:c,showPreviewIcon:A,showRemoveIcon:B,showDownloadIcon:J,previewIcon:T=s.previewIcon,removeIcon:h=s.removeIcon,downloadIcon:C=s.downloadIcon,onPreview:u,onDownload:P,onClose:V}=d,{class:R,style:z}=x,w=L({file:e});let g=o.createVNode("div",{class:`${n}-text-icon`},[w]);if(a==="picture"||a==="picture-card")if(i.value==="uploading"||!e.thumbUrl&&!e.url){const l={[`${n}-list-item-thumbnail`]:!0,[`${n}-list-item-file`]:i.value!=="uploading"};g=o.createVNode("div",{class:l},[w])}else{const l=c!=null&&c(e)?o.createVNode("img",{src:e.thumbUrl||e.url,alt:e.name,class:`${n}-list-item-image`,crossorigin:e.crossOrigin},null):w,ee={[`${n}-list-item-thumbnail`]:!0,[`${n}-list-item-file`]:c&&!c(e)};g=o.createVNode("a",{class:ee,onClick:oe=>u(e,oe),href:e.url||e.thumbUrl,target:"_blank",rel:"noopener noreferrer"},[l])}const G={[`${n}-list-item`]:!0,[`${n}-list-item-${i.value}`]:!0},H=typeof e.linkProps=="string"?JSON.parse(e.linkProps):e.linkProps,$=B?N({customIcon:h?h({file:e}):o.createVNode(ne.default,null,null),callback:()=>V(e),prefixCls:n,title:p.removeFile}):null,k=J&&i.value==="done"?N({customIcon:C?C({file:e}):o.createVNode(le.default,null,null),callback:()=>P(e),prefixCls:n,title:p.downloadFile}):null,q=a!=="picture-card"&&o.createVNode("span",{key:"download-delete",class:[`${n}-list-item-actions`,{picture:a==="picture"}]},[k,$]),D=`${n}-list-item-name`,K=e.url?[o.createVNode("a",m.default(m.default({key:"view",target:"_blank",rel:"noopener noreferrer",class:D,title:e.name},H),{},{href:e.url,onClick:l=>u(e,l)}),[e.name]),q]:[o.createVNode("span",{key:"view",class:D,onClick:l=>u(e,l),title:e.name},[e.name]),q],Q={pointerEvents:"none",opacity:.5},W=A?o.createVNode("a",{href:e.url||e.thumbUrl,target:"_blank",rel:"noopener noreferrer",style:e.url||e.thumbUrl?void 0:Q,onClick:l=>u(e,l),title:p.previewFile},[T?T({file:e}):o.createVNode(te.default,null,null)]):null,X=a==="picture-card"&&i.value!=="uploading"&&o.createVNode("span",{class:`${n}-list-item-actions`},[W,i.value==="done"&&k,$]),U=o.createVNode("div",{class:G},[g,K,X,y.value&&o.createVNode(o.Transition,E.value,{default:()=>[o.withDirectives(o.createVNode("div",{class:`${n}-list-item-progress`},["percent"in e?o.createVNode(ie.default,m.default(m.default({},F),{},{type:"line",percent:e.percent}),null):null]),[[o.vShow,i.value==="uploading"]])]})]),Y={[`${n}-list-item-container`]:!0,[`${R}`]:!!R},Z=e.response&&typeof e.response=="string"?e.response:((r=e.error)===null||r===void 0?void 0:r.statusText)||((f=e.error)===null||f===void 0?void 0:f.message)||p.uploadError,_=i.value==="error"?o.createVNode(re.default,{title:Z,getPopupContainer:l=>l.parentNode},{default:()=>[U]}):U;return o.createVNode("div",{class:Y,style:z},[b?b({originNode:_,file:e,fileList:M,actions:{download:P.bind(null,e),preview:u.bind(null,e),remove:V.bind(null,e)}}):_])}}});exports.default=ce;exports.listItemProps=O;