2 lines
8.5 KiB
JavaScript
2 lines
8.5 KiB
JavaScript
System.register(["./vue-core-legacy-Cn1vuJ3s.js?v=1773287522785","./index-legacy-DQdImDha.js?v=1773287522785","./useTableColumns-legacy-DP6ypvsQ.js?v=1773287522785","./index-legacy-MYSa3GaM.js?v=1773287522785","./naive-ui-legacy-BW82sq8q.js?v=1773287522785","./prismjs-legacy-BN0FEcG9.js?v=1773287522785","./index-legacy-hh1mlQOF.js?v=1773287522785","./copy-legacy-CoXPjkKf.js?v=1773287522785","./index-legacy-DgZ0-E4f.js?v=1773287522785","./index.vue_vue_type_script_setup_true_lang-legacy-B9P08_gB.js?v=1773287522785","./index-legacy-BFkuWVH1.js?v=1773287522785","./index.vue_vue_type_script_setup_true_lang-legacy-BBkGleHZ.js?v=1773287522785","./data-legacy-B9xdUIE5.js?v=1773287522785","./index.vue_vue_type_script_setup_true_lang-legacy-IFFYkvEY.js?v=1773287522785","./index.vue_vue_type_script_setup_true_lang-legacy-CvnE2rtV.js?v=1773287522785","./useTableData-legacy-3kc3lnk4.js?v=1773287522785","./FileIcon-legacy-CYrICTNK.js?v=1773287522785","./soft-legacy-CzxZ2w7j.js?v=1773287522785","./index.vue_vue_type_script_setup_true_lang-legacy-LjZ-8uGn.js?v=1773287522785","./useSocket-legacy-D9BDJ2id.js?v=1773287522785","./file-legacy-DhGqNjkT.js?v=1773287522785"],(function(e,t){"use strict";var a,l,n,i,s,o,r,p,d,c,u,f,m,g,h,x,_,y,v,b,w,C,j,z,k,F,U,M,S,$,D;return{setters:[e=>{a=e.k,l=e.R,n=e.c,i=e.r,s=e.a0,o=e.j,r=e.$,p=e.Z,d=e._,c=e.a9,u=e.aa,f=e.S,m=e.X,g=e.a8,h=e.aj,x=e.ak},e=>{_=e.C,y=e.l,v=e.m,b=e.p,w=e.c},e=>{C=e.u},e=>{j=e.u,z=e.a},e=>{k=e.u,F=e.ab,U=e.B,M=e.ar,S=e.a$,$=e.at,D=e.n},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],execute:function(){var t=document.createElement("style");t.textContent=".n-upload-dragger[data-v-1b421c9e]{height:360px;padding:10px}.n-upload-dragger[data-v-1b421c9e]:hover{--n-dragger-border-hover: 1px dashed #20a53a}.drag-text[data-v-1b421c9e]{margin-top:20px;font-size:16px}.drag-suffix[data-v-1b421c9e]{margin-top:12px;color:#777;font-size:14px}.n-data-table[data-v-1b421c9e]{--n-th-color-modal: transparent;--n-td-color-modal: transparent;--n-th-color-hover-modal: transparent;--n-td-color-hover-modal: transparent;--n-border-color-modal: transparent}\n/*$vite$:1*/",document.head.appendChild(t);const E={class:"p-16px"},B={class:"flex items-center mb-12px"},P={key:1,class:"flex-center flex-col h-300px"},T={class:"drag-text"},A={key:0,class:"drag-suffix"},Z=a({__name:"file-upload",props:{path:{default:""},node_id:{},size:{},uploadData:{default:()=>({multiple:!0})},uploadSuccess:{},showSuccessMsg:{type:Boolean,default:!0}},emits:["setConfirm"],setup(e,{expose:t,emit:a}){const w=e,Z=a,{path:I,node_id:L}=w,{t:N}=l(),O=k(),R=n((()=>({multiple:!0,...w.uploadData}))),W=i([]),X=i(new Map),q=n((()=>(R.value.accept||"").split(",").map((e=>`'${e}'`)).join(", "))),G=e=>{const{file:t}=e;return(t.file?.size??0)>1048576*(w.size??1/0)?(v.error(N("Component.UploadFile.index_7",[t.name,w.size])),!1):(R.value.multiple||(W.value=[]),!0)},H=i([{key:"name",title:N("Component.UploadFile.index_3"),ellipsis:!0},{key:"size",title:N("Component.UploadFile.index_4"),width:100,render:e=>_(e.file?.size)},{key:"status",title:N("Component.UploadFile.index_5"),width:140,render:e=>{if("pending"===e.status)return N("Component.UploadFile.index_8");if("finished"===e.status)return s("span",{class:"text-primary"},[N("Component.UploadFile.index_9")]);if("error"===e.status)return s("span",{class:"text-error"},[o("Upload Failed")]);const t=e.percentage?e.percentage.toFixed(1):0;return s(F,{type:"line",color:O.value.primaryColor,"indicator-placement":"outside",processing:!0,percentage:Number(t)},null)}},C({width:70,options:(e,t)=>[{label:N("Public.Btn.Del"),type:"error",show:"uploading"!==e.status,onClick:()=>W.value.splice(t,1)},{label:N("Public.Btn.Cancel"),type:"warning",show:"uploading"===e.status,onClick:()=>(e=>{const t=e.id||e.name,a=X.value.get(t);a&&(a.abort(),X.value.delete(t),e.status="error",e.percentage=0,v.info(`Upload Canceled: ${e.name}`))})(e)}]})]),J=async(e,t,a,l)=>{const n=10485760,i=Math.ceil(e.size/n);let s=0;for(let o=0;o<i;o++){if(l.signal.aborted)throw new Error("Upload Canceled");const i=s,r=Math.min(e.size,i+n),p=e.slice(i,r),d=r-i,c=new FormData;c.append("f_path",I),c.append("f_name",t),c.append("f_size",e.size.toString()),c.append("f_start",i.toString()),c.append("blob",p),c.append("node_id",L);try{const t=await z(c,(t=>{if(l.signal.aborted)return;const n=(s+(t.progress||0)*d)/e.size*100;a(Math.min(n,99))}));let i=r;if(t&&"number"==typeof t.message&&(i=t.message),s=Math.max(s,i),a(Math.min(s/e.size*100,99)),s>=e.size)break;o=Math.floor(s/n)-1}catch{let e=!1;for(let t=0;t<3;t++){if(l.signal.aborted)throw new Error("Upload Canceled");try{await new Promise((e=>setTimeout(e,1e3)));const t=await z(c);if(t&&"number"==typeof t.message){s=t.message,e=!0;break}}catch{e=!1}}if(!e)throw new Error(`Chunk ${o+1} upload failed`)}}return a(100),!0};return t({onConfirm:async()=>{const e=W.value.filter((e=>"pending"===e.status));if(!e.length)return v.error(N("Component.UploadFile.index_10")),!1;const t=e=>{const t=e.fullPath||e.name;return(w.path.endsWith("/")?w.path:w.path+"/")+t},a=e.map((e=>t(e))).join("\n"),{message:l}=await j({files:a,node_id:L});let n=e;if(Array.isArray(l)){const a=l.filter((e=>e.exists));if(a.length>0){const l=await new Promise((l=>{b({title:N("file.uploadModal.conflictTitle"),width:600,footer:!0,confirmText:N("file.uploadModal.conflictOverwrite"),cancelText:N("file.uploadModal.conflictSkip"),onConfirm:()=>l("overwrite"),onPublicClose:()=>l("skip"),onClose:()=>l("cancel"),content:()=>{const l=a.map((a=>{const l=e.find((e=>t(e)===a.filename));return{...a,localSize:l?.file?.size||0}}));return s("div",{class:"p-20px"},[s("div",{class:"flex items-center gap-10px mb-16px"},[s(y,{name:"base-warning",size:"30",class:"text-warning"},null),s("div",{class:"flex-1 w-0 text-14px"},[N("file.uploadModal.conflictMessage")])]),s($,{"max-height":300,data:l,columns:[{title:N("file.uploadModal.conflictFileName"),key:"filename",render:e=>s(D,null,{default:()=>[s("span",null,[e.filename.split("/").pop()])]})},{title:N("file.uploadModal.conflictFileDifference"),key:"difference",width:220,render:e=>s("div",{class:"flex items-center"},[s("span",{class:"color-primary"},[_(e.localSize)]),s("i",{class:"i-material-symbols:arrow-right-alt-rounded mx-5px text-18px"},null),s("span",{class:"color-gray"},[_(e.size)])])}]},null)])}})}));if("cancel"===l)return!1;if("skip"===l){const l=new Set(a.map((e=>e.filename)));n=e.filter((e=>!l.has(t(e)))),e.forEach((e=>{l.has(t(e))&&(e.status="finished",e.percentage=100)}))}}}if(!n.length)return v.info(N("All files are skipped")),!0;Z("setConfirm",{disabled:!0}),n.forEach((e=>e.status="uploading"));let i=!0,o=!1;for(const s of n){const e=s.file;if(!e)continue;const t=new AbortController,a=s.id||s.name;X.value.set(a,t);try{if(e.size>52428800){if(!(await J(e,s.name,(e=>s.percentage=e),t))||t.signal.aborted){s.status="error",o=!0;continue}}else{const a=new FormData;a.append("f_path",I),a.append("f_name",s.name),a.append("f_start","0"),a.append("f_size",e.size.toString()),a.append("blob",e),a.append("node_id",L),await z(a,(e=>{t.signal.aborted||(s.percentage=100*(e.progress||0))}))}if(t.signal.aborted){s.status="error",o=!0;continue}s.status="finished"}catch{s.status="error",v.error(`${s.name} upload failed}`),i=!1}finally{X.value.delete(a)}}i&&!o&&w.showSuccessMsg&&e.filter((e=>"finished"===e.status)).length&&v.success(N("Component.UploadFile.index_9")),Z("setConfirm",{disabled:!1});const r=e.filter((e=>"finished"===e.status));return r.length&&await(w.uploadSuccess?.(r)),i&&!o}}),(e,t)=>{const a=U,l=M,n=S;return r(),p("div",E,[d("div",B,[s(l,{ref:"upload",class:"w-auto","file-list":f(W),"onUpdate:fileList":t[0]||(t[0]=e=>m(W)?W.value=e:null),accept:f(R).accept,multiple:f(R).multiple,"default-upload":!1,"show-file-list":!1,onBeforeUpload:G},{default:c((()=>[s(a,{type:"primary"},{default:c((()=>[o(u(e.$t("Component.UploadFile.index_6")),1)])),_:1})])),_:1},8,["file-list","accept","multiple"])]),s(l,{ref:"upload",class:"w-auto","file-list":f(W),"onUpdate:fileList":t[2]||(t[2]=e=>m(W)?W.value=e:null),accept:f(R).accept,multiple:f(R).multiple,"default-upload":!1,"show-file-list":!1,onBeforeUpload:G},{default:c((()=>[s(n,null,{default:c((()=>[f(W).length>0?(r(),g(f($),{key:0,"max-height":300,bordered:!1,data:f(W),columns:f(H),onClick:t[1]||(t[1]=h((()=>{}),["stop"]))},null,8,["data","columns"])):(r(),p("div",P,[s(y,{name:"base-upload",size:"48",class:"text-#999"}),d("div",T,u(e.$t("Component.UploadFile.index_1")),1),f(R).accept?(r(),p("div",A,u(e.$t("Component.UploadFile.index_2",[f(q)])),1)):x("",!0)]))])),_:1})])),_:1},8,["file-list","accept","multiple"])])}}});e("default",w(Z,[["__scopeId","data-v-1b421c9e"]]))}}}));
|