2 lines
23 KiB
Python
2 lines
23 KiB
Python
import{U as te,C as Xe,c as Je,d as M,u as Ye,e as Qe,f as Ze,g as ye,t as ae,i as ge,b as he,E as et}from"./el-input-d8d578de.js";import{g as tt,e as se,c as be,d as _e,f as at,_ as st}from"./config-2fd6757f.js";import"./el-tag-e233a184.js";import{i as ot,E as lt,a as nt}from"./el-select-03a55695.js";import"./el-popper-47f2d217.js";import{b as V,ad as ke,G as le,l as ne,ae as re,s as B,k as Se,c as P,d as C,u as T,o as g,V as E,S as R,A as Ee,af as $e,f as e,J as we,e as b,r as U,Z as j,X as D,U as O,_ as N,n as Re,g as Ce,P as Ue,p as xe,t as rt,x as it,O as Y,i as De,ag as Fe,j as w,m as Q,ah as x,ai as ut,a as F,w as k,a8 as Le,a9 as Pe,Y as Be,W as $,B as S,L as I,aj as dt,ak as ct,al as pt,am as ft,an as mt,ao as vt,ap as yt,aq as gt,ar as Z,q as ie,as as ht,at as bt,au as _t,Q as kt,av as St,aw as ue,ax as de,a7 as oe,ay as Et,az as $t,aA as A,ac as Ve}from"./index-a3a8639a.js";import{b as wt}from"./_baseClone-7fba51a8.js";import"./_commonjsHelpers-de833af9.js";import"./vnode-cd4c0dc6.js";var Rt=1,Ct=4;function ce(l){return wt(l,Rt|Ct)}const Te=V({size:ke,disabled:Boolean,label:{type:[String,Number,Boolean],default:""}}),Ut=V({...Te,modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:""},border:Boolean}),Oe={[te]:l=>le(l)||ne(l)||re(l),[Xe]:l=>le(l)||ne(l)||re(l)},ze=Symbol("radioGroupKey"),Ie=(l,i)=>{const a=B(),t=Se(ze,void 0),p=P(()=>!!t),u=P({get(){return p.value?t.modelValue:l.modelValue},set(y){p.value?t.changeEvent(y):i&&i(te,y),a.value.checked=l.modelValue===l.label}}),c=Je(P(()=>t==null?void 0:t.size)),h=M(P(()=>t==null?void 0:t.disabled)),m=B(!1),d=P(()=>h.value||p.value&&u.value!==l.label?-1:0);return{radioRef:a,isGroup:p,radioGroup:t,focus:m,size:c,disabled:h,tabIndex:d,modelValue:u}},xt=["value","name","disabled"],Dt=C({name:"ElRadio"}),Ft=C({...Dt,props:Ut,emits:Oe,setup(l,{emit:i}){const a=l,t=T("radio"),{radioRef:p,radioGroup:u,focus:c,size:h,disabled:m,modelValue:d}=Ie(a,i);function y(){Re(()=>i("change",d.value))}return(r,s)=>{var n;return g(),E("label",{class:b([e(t).b(),e(t).is("disabled",e(m)),e(t).is("focus",e(c)),e(t).is("bordered",r.border),e(t).is("checked",e(d)===r.label),e(t).m(e(h))])},[R("span",{class:b([e(t).e("input"),e(t).is("disabled",e(m)),e(t).is("checked",e(d)===r.label)])},[Ee(R("input",{ref_key:"radioRef",ref:p,"onUpdate:modelValue":s[0]||(s[0]=o=>we(d)?d.value=o:null),class:b(e(t).e("original")),value:r.label,name:r.name||((n=e(u))==null?void 0:n.name),disabled:e(m),type:"radio",onFocus:s[1]||(s[1]=o=>c.value=!0),onBlur:s[2]||(s[2]=o=>c.value=!1),onChange:y},null,42,xt),[[$e,e(d)]]),R("span",{class:b(e(t).e("inner"))},null,2)],2),R("span",{class:b(e(t).e("label")),onKeydown:s[3]||(s[3]=O(()=>{},["stop"]))},[U(r.$slots,"default",{},()=>[j(D(r.label),1)])],34)],2)}}});var Lt=N(Ft,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio.vue"]]);const Pt=V({...Te,name:{type:String,default:""}}),Bt=["value","name","disabled"],Vt=C({name:"ElRadioButton"}),Tt=C({...Vt,props:Pt,setup(l){const i=l,a=T("radio"),{radioRef:t,focus:p,size:u,disabled:c,modelValue:h,radioGroup:m}=Ie(i),d=P(()=>({backgroundColor:(m==null?void 0:m.fill)||"",borderColor:(m==null?void 0:m.fill)||"",boxShadow:m!=null&&m.fill?`-1px 0 0 0 ${m.fill}`:"",color:(m==null?void 0:m.textColor)||""}));return(y,r)=>{var s;return g(),E("label",{class:b([e(a).b("button"),e(a).is("active",e(h)===y.label),e(a).is("disabled",e(c)),e(a).is("focus",e(p)),e(a).bm("button",e(u))])},[Ee(R("input",{ref_key:"radioRef",ref:t,"onUpdate:modelValue":r[0]||(r[0]=n=>we(h)?h.value=n:null),class:b(e(a).be("button","original-radio")),value:y.label,type:"radio",name:y.name||((s=e(m))==null?void 0:s.name),disabled:e(c),onFocus:r[1]||(r[1]=n=>p.value=!0),onBlur:r[2]||(r[2]=n=>p.value=!1)},null,42,Bt),[[$e,e(h)]]),R("span",{class:b(e(a).be("button","inner")),style:Ce(e(h)===y.label?e(d):{}),onKeydown:r[3]||(r[3]=O(()=>{},["stop"]))},[U(y.$slots,"default",{},()=>[j(D(y.label),1)])],38)],2)}}});var Ne=N(Tt,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-button.vue"]]);const Ot=V({id:{type:String,default:void 0},size:ke,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:""},fill:{type:String,default:""},label:{type:String,default:void 0},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0}}),zt=Oe,It=["id","aria-label","aria-labelledby"],Nt=C({name:"ElRadioGroup"}),At=C({...Nt,props:Ot,emits:zt,setup(l,{emit:i}){const a=l,t=T("radio"),p=Ye(),u=B(),{formItem:c}=Qe(),{inputId:h,isLabeledByFormItem:m}=Ze(a,{formItemContext:c}),d=r=>{i(te,r),Re(()=>i("change",r))};Ue(()=>{const r=u.value.querySelectorAll("[type=radio]"),s=r[0];!Array.from(r).some(n=>n.checked)&&s&&(s.tabIndex=0)});const y=P(()=>a.name||p.value);return xe(ze,rt({...it(a),changeEvent:d,name:y})),Y(()=>a.modelValue,()=>{a.validateEvent&&(c==null||c.validate("change").catch(r=>ye()))}),(r,s)=>(g(),E("div",{id:e(h),ref_key:"radioGroupRef",ref:u,class:b(e(t).b("group")),role:"radiogroup","aria-label":e(m)?void 0:r.label||"radio-group","aria-labelledby":e(m)?e(c).labelId:void 0},[U(r.$slots,"default")],10,It))}});var Ae=N(At,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);const jt=De(Lt,{RadioButton:Ne,RadioGroup:Ae}),Gt=Fe(Ae);Fe(Ne);const je=Symbol("uploadContextKey"),qt="ElUpload";class Mt extends Error{constructor(i,a,t,p){super(i),this.name="UploadAjaxError",this.status=a,this.method=t,this.url=p}}function pe(l,i,a){let t;return a.response?t=`${a.response.error||a.response}`:a.responseText?t=`${a.responseText}`:t=`fail to ${i.method} ${l} ${a.status}`,new Mt(t,a.status,i.method,l)}function Kt(l){const i=l.responseText||l.response;if(!i)return i;try{return JSON.parse(i)}catch{return i}}const Ht=l=>{typeof XMLHttpRequest>"u"&&ae(qt,"XMLHttpRequest is undefined");const i=new XMLHttpRequest,a=l.action;i.upload&&i.upload.addEventListener("progress",u=>{const c=u;c.percent=u.total>0?u.loaded/u.total*100:0,l.onProgress(c)});const t=new FormData;if(l.data)for(const[u,c]of Object.entries(l.data))Array.isArray(c)?t.append(u,...c):t.append(u,c);t.append(l.filename,l.file,l.file.name),i.addEventListener("error",()=>{l.onError(pe(a,l,i))}),i.addEventListener("load",()=>{if(i.status<200||i.status>=300)return l.onError(pe(a,l,i));l.onSuccess(Kt(i))}),i.open(l.method,a,!0),l.withCredentials&&"withCredentials"in i&&(i.withCredentials=!0);const p=l.headers||{};if(p instanceof Headers)p.forEach((u,c)=>i.setRequestHeader(c,u));else for(const[u,c]of Object.entries(p))ge(c)||i.setRequestHeader(u,String(c));return i.send(t),i},Ge=["text","picture","picture-card"];let Wt=1;const ee=()=>Date.now()+Wt++,qe=V({action:{type:String,default:"#"},headers:{type:w(Object)},method:{type:String,default:"post"},data:{type:Object,default:()=>Q({})},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},drag:{type:Boolean,default:!1},withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},type:{type:String,default:"select"},fileList:{type:w(Array),default:()=>Q([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:Ge,default:"text"},httpRequest:{type:w(Function),default:Ht},disabled:Boolean,limit:Number}),Xt=V({...qe,beforeUpload:{type:w(Function),default:x},beforeRemove:{type:w(Function)},onRemove:{type:w(Function),default:x},onChange:{type:w(Function),default:x},onPreview:{type:w(Function),default:x},onSuccess:{type:w(Function),default:x},onProgress:{type:w(Function),default:x},onError:{type:w(Function),default:x},onExceed:{type:w(Function),default:x}}),Jt=V({files:{type:w(Array),default:()=>Q([])},disabled:{type:Boolean,default:!1},handlePreview:{type:w(Function),default:x},listType:{type:String,values:Ge,default:"text"}}),Yt={remove:l=>!!l},Qt=["onKeydown"],Zt=["src"],ea=["onClick"],ta=["title"],aa=["onClick"],sa=["onClick"],oa=C({name:"ElUploadList"}),la=C({...oa,props:Jt,emits:Yt,setup(l,{emit:i}){const{t:a}=ut(),t=T("upload"),p=T("icon"),u=T("list"),c=M(),h=B(!1),m=d=>{i("remove",d)};return(d,y)=>(g(),F(yt,{tag:"ul",class:b([e(t).b("list"),e(t).bm("list",d.listType),e(t).is("disabled",e(c))]),name:e(u).b()},{default:k(()=>[(g(!0),E(Le,null,Pe(d.files,r=>(g(),E("li",{key:r.uid||r.name,class:b([e(t).be("list","item"),e(t).is(r.status),{focusing:h.value}]),tabindex:"0",onKeydown:Be(s=>!e(c)&&m(r),["delete"]),onFocus:y[0]||(y[0]=s=>h.value=!0),onBlur:y[1]||(y[1]=s=>h.value=!1),onClick:y[2]||(y[2]=s=>h.value=!1)},[U(d.$slots,"default",{file:r},()=>[d.listType==="picture"||r.status!=="uploading"&&d.listType==="picture-card"?(g(),E("img",{key:0,class:b(e(t).be("list","item-thumbnail")),src:r.url,alt:""},null,10,Zt)):$("v-if",!0),r.status==="uploading"||d.listType!=="picture-card"?(g(),E("div",{key:1,class:b(e(t).be("list","item-info"))},[R("a",{class:b(e(t).be("list","item-name")),onClick:O(s=>d.handlePreview(r),["prevent"])},[S(e(I),{class:b(e(p).m("document"))},{default:k(()=>[S(e(dt))]),_:1},8,["class"]),R("span",{class:b(e(t).be("list","item-file-name")),title:r.name},D(r.name),11,ta)],10,ea),r.status==="uploading"?(g(),F(e(tt),{key:0,type:d.listType==="picture-card"?"circle":"line","stroke-width":d.listType==="picture-card"?6:2,percentage:Number(r.percentage),style:Ce(d.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):$("v-if",!0)],2)):$("v-if",!0),R("label",{class:b(e(t).be("list","item-status-label"))},[d.listType==="text"?(g(),F(e(I),{key:0,class:b([e(p).m("upload-success"),e(p).m("circle-check")])},{default:k(()=>[S(e(ct))]),_:1},8,["class"])):["picture-card","picture"].includes(d.listType)?(g(),F(e(I),{key:1,class:b([e(p).m("upload-success"),e(p).m("check")])},{default:k(()=>[S(e(pt))]),_:1},8,["class"])):$("v-if",!0)],2),e(c)?$("v-if",!0):(g(),F(e(I),{key:2,class:b(e(p).m("close")),onClick:s=>m(r)},{default:k(()=>[S(e(ft))]),_:2},1032,["class","onClick"])),$(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),$(" This is a bug which needs to be fixed "),$(" TODO: Fix the incorrect navigation interaction "),e(c)?$("v-if",!0):(g(),E("i",{key:3,class:b(e(p).m("close-tip"))},D(e(a)("el.upload.deleteTip")),3)),d.listType==="picture-card"?(g(),E("span",{key:4,class:b(e(t).be("list","item-actions"))},[R("span",{class:b(e(t).be("list","item-preview")),onClick:s=>d.handlePreview(r)},[S(e(I),{class:b(e(p).m("zoom-in"))},{default:k(()=>[S(e(mt))]),_:1},8,["class"])],10,aa),e(c)?$("v-if",!0):(g(),E("span",{key:0,class:b(e(t).be("list","item-delete")),onClick:s=>m(r)},[S(e(I),{class:b(e(p).m("delete"))},{default:k(()=>[S(e(vt))]),_:1},8,["class"])],10,sa))],2)):$("v-if",!0)])],42,Qt))),128)),U(d.$slots,"append")]),_:3},8,["class","name"]))}});var fe=N(la,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-list.vue"]]);const na=V({disabled:{type:Boolean,default:!1}}),ra={file:l=>gt(l)},ia=["onDrop","onDragover"],Me="ElUploadDrag",ua=C({name:Me}),da=C({...ua,props:na,emits:ra,setup(l,{emit:i}){const a=Se(je);a||ae(Me,"usage: <el-upload><el-upload-dragger /></el-upload>");const t=T("upload"),p=B(!1),u=M(),c=m=>{if(u.value)return;p.value=!1,m.stopPropagation();const d=Array.from(m.dataTransfer.files),y=a.accept.value;if(!y){i("file",d);return}const r=d.filter(s=>{const{type:n,name:o}=s,f=o.includes(".")?`.${o.split(".").pop()}`:"",_=n.replace(/\/.*$/,"");return y.split(",").map(v=>v.trim()).filter(v=>v).some(v=>v.startsWith(".")?f===v:/\/\*$/.test(v)?_===v.replace(/\/\*$/,""):/^[^/]+\/[^/]+$/.test(v)?n===v:!1)});i("file",r)},h=()=>{u.value||(p.value=!0)};return(m,d)=>(g(),E("div",{class:b([e(t).b("dragger"),e(t).is("dragover",p.value)]),onDrop:O(c,["prevent"]),onDragover:O(h,["prevent"]),onDragleave:d[0]||(d[0]=O(y=>p.value=!1,["prevent"]))},[U(m.$slots,"default")],42,ia))}});var ca=N(da,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-dragger.vue"]]);const pa=V({...qe,beforeUpload:{type:w(Function),default:x},onRemove:{type:w(Function),default:x},onStart:{type:w(Function),default:x},onSuccess:{type:w(Function),default:x},onProgress:{type:w(Function),default:x},onError:{type:w(Function),default:x},onExceed:{type:w(Function),default:x}}),fa=["onKeydown"],ma=["name","multiple","accept"],va=C({name:"ElUploadContent",inheritAttrs:!1}),ya=C({...va,props:pa,setup(l,{expose:i}){const a=l,t=T("upload"),p=M(),u=Z({}),c=Z(),h=o=>{if(o.length===0)return;const{autoUpload:f,limit:_,fileList:v,multiple:z,onStart:L,onExceed:K}=a;if(_&&v.length+o.length>_){K(o,v);return}z||(o=o.slice(0,1));for(const H of o){const G=H;G.uid=ee(),L(G),f&&m(G)}},m=async o=>{if(c.value.value="",!a.beforeUpload)return d(o);let f,_={};try{const z=a.data,L=a.beforeUpload(o);_=ie(a.data)?ce(a.data):a.data,f=await L,ie(a.data)&&ot(z,_)&&(_=ce(a.data))}catch{f=!1}if(f===!1){a.onRemove(o);return}let v=o;f instanceof Blob&&(f instanceof File?v=f:v=new File([f],o.name,{type:o.type})),d(Object.assign(v,{uid:o.uid}),_)},d=(o,f)=>{const{headers:_,data:v,method:z,withCredentials:L,name:K,action:H,onProgress:G,onSuccess:Ke,onError:He,httpRequest:We}=a,{uid:W}=o,X={headers:_||{},withCredentials:L,file:o,data:f??v,method:z,filename:K,action:H,onProgress:q=>{G(q,o)},onSuccess:q=>{Ke(q,o),delete u.value[W]},onError:q=>{He(q,o),delete u.value[W]}},J=We(X);u.value[W]=J,J instanceof Promise&&J.then(X.onSuccess,X.onError)},y=o=>{const f=o.target.files;f&&h(Array.from(f))},r=()=>{p.value||(c.value.value="",c.value.click())},s=()=>{r()};return i({abort:o=>{ht(u.value).filter(o?([_])=>String(o.uid)===_:()=>!0).forEach(([_,v])=>{v instanceof XMLHttpRequest&&v.abort(),delete u.value[_]})},upload:m}),(o,f)=>(g(),E("div",{class:b([e(t).b(),e(t).m(o.listType),e(t).is("drag",o.drag)]),tabindex:"0",onClick:r,onKeydown:Be(O(s,["self"]),["enter","space"])},[o.drag?(g(),F(ca,{key:0,disabled:e(p),onFile:h},{default:k(()=>[U(o.$slots,"default")]),_:3},8,["disabled"])):U(o.$slots,"default",{key:1}),R("input",{ref_key:"inputRef",ref:c,class:b(e(t).e("input")),name:o.name,multiple:o.multiple,accept:o.accept,type:"file",onChange:y,onClick:f[0]||(f[0]=O(()=>{},["stop"]))},null,42,ma)],42,fa))}});var me=N(ya,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-content.vue"]]);const ve="ElUpload",ga=l=>{var i;(i=l.url)!=null&&i.startsWith("blob:")&&URL.revokeObjectURL(l.url)},ha=(l,i)=>{const a=bt(l,"fileList",void 0,{passive:!0}),t=s=>a.value.find(n=>n.uid===s.uid);function p(s){var n;(n=i.value)==null||n.abort(s)}function u(s=["ready","uploading","success","fail"]){a.value=a.value.filter(n=>!s.includes(n.status))}const c=(s,n)=>{const o=t(n);o&&(console.error(s),o.status="fail",a.value.splice(a.value.indexOf(o),1),l.onError(s,o,a.value),l.onChange(o,a.value))},h=(s,n)=>{const o=t(n);o&&(l.onProgress(s,o,a.value),o.status="uploading",o.percentage=Math.round(s.percent))},m=(s,n)=>{const o=t(n);o&&(o.status="success",o.response=s,l.onSuccess(s,o,a.value),l.onChange(o,a.value))},d=s=>{ge(s.uid)&&(s.uid=ee());const n={name:s.name,percentage:0,status:"ready",size:s.size,raw:s,uid:s.uid};if(l.listType==="picture-card"||l.listType==="picture")try{n.url=URL.createObjectURL(s)}catch(o){ye(ve,o.message),l.onError(o,n,a.value)}a.value=[...a.value,n],l.onChange(n,a.value)},y=async s=>{const n=s instanceof File?t(s):s;n||ae(ve,"file to be removed not found");const o=f=>{p(f);const _=a.value;_.splice(_.indexOf(f),1),l.onRemove(f,_),ga(f)};l.beforeRemove?await l.beforeRemove(n,a.value)!==!1&&o(n):o(n)};function r(){a.value.filter(({status:s})=>s==="ready").forEach(({raw:s})=>{var n;return s&&((n=i.value)==null?void 0:n.upload(s))})}return Y(()=>l.listType,s=>{s!=="picture-card"&&s!=="picture"||(a.value=a.value.map(n=>{const{raw:o,url:f}=n;if(!f&&o)try{n.url=URL.createObjectURL(o)}catch(_){l.onError(_,n,a.value)}return n}))}),Y(a,s=>{for(const n of s)n.uid||(n.uid=ee()),n.status||(n.status="success")},{immediate:!0,deep:!0}),{uploadFiles:a,abort:p,clearFiles:u,handleError:c,handleProgress:h,handleStart:d,handleSuccess:m,handleRemove:y,submit:r}},ba=C({name:"ElUpload"}),_a=C({...ba,props:Xt,setup(l,{expose:i}){const a=l,t=_t(),p=M(),u=Z(),{abort:c,submit:h,clearFiles:m,uploadFiles:d,handleStart:y,handleError:r,handleRemove:s,handleSuccess:n,handleProgress:o}=ha(a,u),f=P(()=>a.listType==="picture-card"),_=P(()=>({...a,fileList:d.value,onStart:y,onProgress:o,onSuccess:n,onError:r,onRemove:s}));return kt(()=>{d.value.forEach(({url:v})=>{v!=null&&v.startsWith("blob:")&&URL.revokeObjectURL(v)})}),xe(je,{accept:St(a,"accept")}),i({abort:c,submit:h,clearFiles:m,handleStart:y,handleRemove:s}),(v,z)=>(g(),E("div",null,[e(f)&&v.showFileList?(g(),F(fe,{key:0,disabled:e(p),"list-type":v.listType,files:e(d),"handle-preview":v.onPreview,onRemove:e(s)},ue({append:k(()=>[S(me,de({ref_key:"uploadRef",ref:u},e(_)),{default:k(()=>[e(t).trigger?U(v.$slots,"trigger",{key:0}):$("v-if",!0),!e(t).trigger&&e(t).default?U(v.$slots,"default",{key:1}):$("v-if",!0)]),_:3},16)]),_:2},[v.$slots.file?{name:"default",fn:k(({file:L})=>[U(v.$slots,"file",{file:L})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):$("v-if",!0),!e(f)||e(f)&&!v.showFileList?(g(),F(me,de({key:1,ref_key:"uploadRef",ref:u},e(_)),{default:k(()=>[e(t).trigger?U(v.$slots,"trigger",{key:0}):$("v-if",!0),!e(t).trigger&&e(t).default?U(v.$slots,"default",{key:1}):$("v-if",!0)]),_:3},16)):$("v-if",!0),v.$slots.trigger?U(v.$slots,"default",{key:2}):$("v-if",!0),U(v.$slots,"tip"),!e(f)&&v.showFileList?(g(),F(fe,{key:3,disabled:e(p),"list-type":v.listType,files:e(d),"handle-preview":v.onPreview,onRemove:e(s)},ue({_:2},[v.$slots.file?{name:"default",fn:k(({file:L})=>[U(v.$slots,"file",{file:L})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):$("v-if",!0)]))}});var ka=N(_a,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload.vue"]]);const Sa=De(ka);const Ea={class:"el-upload__text"},$a={class:"el-upload__text",style:{"font-size":"10px"}},wa=R("div",{class:"el-upload__tip"},null,-1),Ra=C({__name:"UploadFile",props:{shareData:{type:Object,default:()=>({expire_value:1,expire_style:"day"})}},setup(l){const i=l,{config:a}=se(),{t}=oe(),p=be(),u=_e(),c=B([]),h=B(null),m=r=>{u.addShareData({name:r.name,text:"",status:r.status,percentage:0,size:r.size,type:r.raw.type,uid:r.uid})},d=r=>{p.showFileBox=!0;const s=new FormData;if(a.openUpload===0||localStorage.getItem("adminPassword")===null){u.shareData.forEach(n=>{n.uid===r.file.uid&&(A.error(t("msg.uploadClose")),n.status="fail",n.code=t("msg.fileUploadFail"),u.save())});return}if(r.file.size>a.uploadSize){u.shareData.forEach(n=>{n.uid===r.file.uid&&(A.error(t("msg.fileOverSize")),n.status="fail",n.code=t("msg.fileOverSize"),u.save())});return}s.append("file",r.file),s.append("expire_value",i.shareData.expireValue),s.append("expire_style",i.shareData.expireStyle),Ve({url:"share/file/",method:"post",data:s,onUploadProgress:n=>{const o=Math.round(n.loaded*100/n.total)||0;u.shareData.forEach(f=>{f.uid===r.file.uid&&(f.percentage=o,u.save())})}}).then(n=>{const o=n.detail;u.shareData.forEach(f=>{f.uid===r.file.uid&&(f.status="success",f.text=o.text,f.code=o.code,A.success(t("msg.fileUploadSuccess")),u.save())})}).catch(()=>{u.shareData.forEach(n=>{n.uid===r.file.uid&&(n.status="fail",n.code=t("msg.fileUploadFail"),A.error(t("msg.fileUploadFail")),u.save())})})};function y(r){const s=r.clipboardData&&r.clipboardData.items;if(s&&s.length)for(let n=0;n<s.length;n++)if(s[n].kind==="string")s[n].type.match(/^text\/plain/)&&s[n].getAsString(function(o){console.log(o)});else{const o=s[n].getAsFile();if(o){const f=Date.now();o.uid=f,u.addShareData({name:o.name,text:"",status:"ready",percentage:0,size:o.size,type:o.type,uid:f}),d({file:o})}}}return Et(()=>{document.removeEventListener("paste",y)}),Ue(()=>{document.addEventListener("paste",y)}),(r,s)=>{const n=I,o=Sa;return g(),E("div",null,[S(o,{class:"upload-demo",drag:"",multiple:"","show-file-list":!1,ref_key:"uploadBox",ref:h,"file-list":c.value,"onUpdate:fileList":s[0]||(s[0]=f=>c.value=f),"on-change":m,"http-request":d},{tip:k(()=>[wa]),default:k(()=>[S(n,{class:"el-icon--upload"},{default:k(()=>[S(e($t))]),_:1}),R("div",Ea,[j(D(e(t)("send.prompt1")),1),R("em",null,D(e(t)("send.clickUpload")),1)]),R("div",$a,D(e(t)("send.prompt2")),1)]),_:1},8,["file-list"])])}}});const Ca={style:{position:"relative"}},Ua=C({__name:"UploadText",props:{shareData:{type:Object,default:()=>({expire_value:1,expire_style:"day"})}},setup(l){const i=l,a=B(""),{t}=oe(),{config:p}=se(),u=be(),c=_e(),h=()=>{if(a.value==="")A.warning(t("send.prompt3"));else if(p.openUpload===0&&localStorage.getItem("adminPassword")===null)A.error(t("msg.uploadClose"));else{const m=new FormData;m.append("text",a.value),m.append("expire_value",i.shareData.expireValue),m.append("expire_style",i.shareData.expireStyle),Ve({url:"share/text/",method:"post",data:m}).then(d=>{const y=d.detail;u.showFileBox=!0,c.addShareData({name:t("send.textShare"),text:y.text,code:y.code,status:"success",percentage:100,size:a.value.length,type:"text",uid:Date.now()})})}};return(m,d)=>{const y=he,r=et;return g(),E("div",Ca,[S(y,{placeholder:e(t)("send.prompt3"),modelValue:a.value,"onUpdate:modelValue":d[0]||(d[0]=s=>a.value=s),type:"textarea",rows:9,"input-style":{"border-radius":"20px",border:"1px dashed var(--el-border-color)","box-shadow":"none"}},null,8,["placeholder","modelValue","input-style"]),S(r,{onClick:h,style:{position:"absolute",right:"0",bottom:"0","border-radius":"20px 0 20px 0",margin:"1px",background:"rgba(255,255,255,0.2)"},size:"large"},{default:k(()=>[j(D(e(t)("send.share")),1)]),_:1})])}}}),xa={style:{display:"flex",margin:"1rem"}},Da={key:0},Fa={key:1},La={key:2},Pa={key:3},Ba={key:4},Va={style:{margin:"1rem"}},Ma=C({__name:"SendView",setup(l){const{config:i}=se(),{t:a}=oe(),t=B({expireValue:1,expireStyle:"day",targetType:"file"});return(p,u)=>{const c=nt,h=lt,m=he,d=jt,y=Gt,r=at;return g(),E("main",null,[S(r,{class:"card",style:{position:"relative"},"body-style":{padding:"0"}},{default:k(()=>[S(st,{style:{padding:"1rem"}}),R("div",xa,[R("div",null,[S(m,{modelValue:t.value.expireValue,"onUpdate:modelValue":u[1]||(u[1]=s=>t.value.expireValue=s),style:{width:"200px"},placeholder:e(a)("send.pleaseInputExpireValue")},{prepend:k(()=>[S(h,{modelValue:t.value.expireStyle,"onUpdate:modelValue":u[0]||(u[0]=s=>t.value.expireStyle=s),placeholder:e(a)("send.expireStyle"),style:{width:"75px"}},{default:k(()=>[(g(!0),E(Le,null,Pe(e(i).expireStyle,s=>(g(),F(c,{key:s,label:e(a)(`send.expireData.${s}`),value:s},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),append:k(()=>[t.value.expireStyle=="day"?(g(),E("span",Da,D(e(a)("send.expireValue.day")),1)):t.value.expireStyle=="hour"?(g(),E("span",Fa,D(e(a)("send.expireValue.hour")),1)):t.value.expireStyle=="minute"?(g(),E("span",La,D(e(a)("send.expireValue.minute")),1)):t.value.expireStyle=="forever"?(g(),E("span",Pa,"👌")):t.value.expireStyle=="count"?(g(),E("span",Ba,D(e(a)("send.expireValue.count")),1)):$("",!0)]),_:1},8,["modelValue","placeholder"])]),S(y,{modelValue:t.value.targetType,"onUpdate:modelValue":u[2]||(u[2]=s=>t.value.targetType=s),style:{"margin-left":"1rem"}},{default:k(()=>[S(d,{label:"file"},{default:k(()=>[j(D(e(a)("send.fileType.file")),1)]),_:1}),S(d,{label:"text"},{default:k(()=>[j(D(e(a)("send.fileType.text")),1)]),_:1})]),_:1},8,["modelValue"])]),R("div",Va,[t.value.targetType=="file"?(g(),F(Ra,{key:0,shareData:t.value},null,8,["shareData"])):t.value.targetType=="text"?(g(),F(Ua,{key:1,shareData:t.value},null,8,["shareData"])):$("",!0)])]),_:1})])}}});export{Ma as default};
|