UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 2.5 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),B=require("@aplus-frontend/antdv"),h=require("@ant-design/icons-vue");require("../config-provider/index.js");const w=require("./hooks/index.js"),u=require("./utils/getFileInfo.js"),O=require("./hooks/useStyle.js"),q=require("../config-provider/hooks/use-locale.js"),a=require("../config-provider/hooks/use-global-config.js"),z={key:0,class:"spin"},F={key:1,class:"icon"},S={class:"text"},I=e.defineComponent({name:"ApDownload",__name:"ap-download",props:{prefixCls:{},type:{default:"link"},htmlType:{},shape:{},size:{default:"middle"},loading:{type:[Boolean,Object]},disabled:{type:Boolean,default:!1},ghost:{type:Boolean},block:{type:Boolean},danger:{type:Boolean},icon:{},href:{},target:{},title:{},onClick:{},onMousedown:{},autoInsertSpace:{type:Boolean},iconPosition:{},color:{},variant:{},text:{},fileName:{},needName:{type:[Boolean,Object]},getOssAccess:{}},emits:["downloadCallback"],setup(d,{emit:p}){const f=p,l=e.ref(!1),{lang:m}=q.useLocale(),g=e.useSlots(),C=e.computed(()=>m.value==="zh-cn"?"zh_CN":"en_US"),y=a.useGlobalConfig("uiMode"),o=d,s=a.useGlobalConfig("apUpload"),i=a.useGlobalConfig("downloadCenterTriggerConfig"),c=e.computed(()=>o.disabled),b=e.computed(()=>o.color?o.color:y.value==="aplus"?"#0070FF":"#1890FF"),v=e.computed(()=>o.size),{getInnerWrapperClass:N}=O.useStyle(b,v,c),_=e.computed(()=>o.getOssAccess||s.value?.getOssAccess),k=async()=>{if(!o.disabled){l.value=!0;try{if(i.value?.trigger){let n=u.getFileInfo(o.needName??s?.value?.needName,o.fileName).map(r=>({objectName:r.path,fileName:r.fileName}));await i.value?.trigger(n)}else{const n=await(await w.useOssInit(_.value,e.unref(C))).downloadFile(u.getFileInfo(o.needName??s?.value?.needName,o.fileName));f("downloadCallback",n)}}catch(t){console.error(t)}finally{l.value=!1}}};return(t,n)=>(e.openBlock(),e.createBlock(e.unref(B.Button),e.mergeProps(o,{type:o.type,size:o.size,disabled:c.value,onClick:k}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(N))},[l.value?(e.openBlock(),e.createElementBlock("span",z,[e.createVNode(e.unref(h.LoadingOutlined),{spin:!0})])):e.createCommentVNode("",!0),e.unref(g).icon?(e.openBlock(),e.createElementBlock("span",F,[e.renderSlot(t.$slots,"icon")])):e.createCommentVNode("",!0),e.createElementVNode("span",S,e.toDisplayString(t.text),1)],2)]),_:3},16,["type","size","disabled"]))}});exports.default=I;