Files
Nexus/web/app/assets/VFileInput-B15eM8mB.js
T
Nexus Agent f127f07ab2 feat(rdp): 3389 页独立管理 RDP 主机
rdp_hosts 表与专用 API,在 3389远程页添加/连接,不再依赖子机列表。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 20:58:46 +08:00

1 line
5.8 KiB
JavaScript

import{Er as e,Mr as t,Nr as n,Pn as r,Un as i,Yr as a,ar as o,br as s,ci as c,gr as l,hn as u,ii as d,kn as f,oi as p,pi as m,pn as h,qn as g,r as _,rr as v,vn as y,wn as b,y as x,yr as S}from"./index-_6O5JL4W.js";import{c as C,l as w,m as T,o as E,s as D,u as O}from"./VTextField-CD7WwKb1.js";function k(){function e(e){return[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean).length>0||[...e.dataTransfer?.files??[]].length>0}async function t(e){let t=[],n=[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean);if(n.length)for(let e of n){let n=await A(e,j(`.`,e));t.push(...n.map(e=>e.file))}else t.push(...e.dataTransfer?.files??[]);return t}return{handleDrop:t,hasFilesOrFolders:e}}function A(e,t=``){return new Promise((n,r)=>{e.isFile?e.file(e=>n([{file:e,path:t}]),r):e.isDirectory&&e.createReader().readEntries(async e=>{let r=[];for(let n of e)r.push(...await A(n,j(t,n)));n(r)})})}function j(e,t){return t.isDirectory?`${e}/${t.name}`:e}var M=f({filterByType:String},`file-accept`);function N(e){let t=S(()=>e.filterByType?P(e.filterByType):null);function n(e){if(t.value){let n=e.filter(t.value);return{accepted:n,rejected:e.filter(e=>!n.includes(e))}}return{accepted:e,rejected:[]}}return{filterAccepted:n}}function P(e){let t=e.split(`,`).map(e=>e.trim().toLowerCase()),n=t.filter(e=>e.startsWith(`.`)),r=t.filter(e=>e.endsWith(`/*`)),i=t.filter(e=>!n.includes(e)&&!r.includes(e));return e=>{let t=e.name.split(`.`).at(-1)?.toLowerCase()??``,a=e.type.split(`/`).at(0)?.toLowerCase()??``;return i.includes(e.type)||n.includes(`.${t}`)||r.includes(`${a}/*`)}}var F=f({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:`$vuetify.fileInput.counterSize`},counterString:{type:String,default:`$vuetify.fileInput.counter`},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:e=>typeof e==`boolean`||[1e3,1024].includes(Number(e))},truncateLength:{type:[Number,String],default:22},...v(O({prependIcon:`$file`}),[`direction`]),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>o(e).every(e=>typeof e==`object`&&!!e)},...M(),...D({clearable:!0})},`VFileInput`),I=b()({name:`VFileInput`,inheritAttrs:!1,props:F(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,rejected:e=>!0},setup(f,{attrs:v,emit:b,slots:D}){let{t:O}=h(),{filterAccepted:A}=N(f),j=u(f,`modelValue`,f.modelValue,e=>o(e),e=>!f.multiple&&Array.isArray(e)?e[0]:e),{isFocused:M,focus:P,blur:F}=T(f),I=S(()=>typeof f.showSize==`boolean`?void 0:f.showSize),L=S(()=>(j.value??[]).reduce((e,{size:t=0})=>e+t,0)),R=S(()=>g(L.value,I.value)),z=S(()=>(j.value??[]).map(e=>{let{name:t=``,size:n=0}=e,r=te(t);return f.showSize?`${r} (${g(n,I.value)})`:r})),B=S(()=>{let e=j.value?.length??0;return f.showSize?O(f.counterSizeString,e,R.value):O(f.counterString,e)}),V=d(),H=d(),U=d(),W=c(()=>M.value||f.active),G=S(()=>[`plain`,`underlined`].includes(f.variant)),K=p(!1),{handleDrop:q,hasFilesOrFolders:J}=k();function Y(){U.value!==document.activeElement&&U.value?.focus(),M.value||P()}function X(e){U.value?.click()}function Z(e){b(`mousedown:control`,e)}function Q(e){U.value?.click(),b(`click:control`,e)}function ee(e){e.stopPropagation(),Y(),n(()=>{j.value=[],r(f[`onClick:clear`],e)})}function te(e){if(e.length<Number(f.truncateLength))return e;let t=Math.floor((Number(f.truncateLength)-1)/2);return`${e.slice(0,t)}${e.slice(e.length-t)}`}function ne(e){e.preventDefault(),e.stopImmediatePropagation(),K.value=!0}function re(e){e.preventDefault(),K.value=!1}async function ie(e){e.preventDefault(),e.stopImmediatePropagation(),K.value=!1,!(!U.value||!J(e))&&$(await q(e))}function ae(e){!e.target||e.repack||(f.filterByType?$([...e.target.files]):j.value=[...e.target.files??[]])}function $(e){let t=new DataTransfer,{accepted:n,rejected:r}=A(e);r.length&&b(`rejected`,r);for(let e of n)t.items.add(e);U.value.files=t.files,j.value=[...t.files];let i=new Event(`change`,{bubbles:!0});i.repack=!0,U.value.dispatchEvent(i)}return a(j,e=>{(!Array.isArray(e)||!e.length)&&U.value&&(U.value.value=``)}),y(()=>{let n=!!(D.counter||f.counter),r=!!(n||D.details),[a,o]=i(v),{modelValue:c,...u}=w.filterProps(f),d={...E.filterProps(f),"onClick:clear":ee},p=v.webkitdirectory!==void 0&&v.webkitdirectory!==!1,h=v.accept?String(v.accept):void 0,g=p?void 0:f.filterByType??h;return e(w,t({ref:V,modelValue:f.multiple?j.value:j.value[0],class:[`v-file-input`,{"v-file-input--chips":!!f.chips,"v-file-input--dragging":K.value,"v-file-input--hide":f.hideInput,"v-input--plain-underlined":G.value},f.class],style:f.style,"onClick:prepend":X},a,u,{centerAffix:!G.value,focused:M.value,indentDetails:f.indentDetails??!G.value}),{...D,default:({id:n,isDisabled:r,isDirty:i,isReadonly:a,isValid:c,hasDetails:u})=>e(E,t({ref:H,prependIcon:f.prependIcon,onMousedown:Z,onClick:Q,"onClick:prependInner":f[`onClick:prependInner`],"onClick:appendInner":f[`onClick:appendInner`]},d,{id:n.value,active:W.value||i.value,dirty:i.value||f.dirty,disabled:r.value,focused:M.value,details:u.value,error:c.value===!1,onDragover:ne,onDrop:ie}),{...D,default:({props:{class:n,...i},controlRef:c})=>s(l,null,[s(`input`,t({ref:e=>U.value=c.value=e,type:`file`,accept:g,readonly:a.value,disabled:r.value,multiple:f.multiple,name:f.name,onClick:e=>{e.stopPropagation(),a.value&&e.preventDefault(),Y()},onChange:ae,onDragleave:re,onFocus:Y,onBlur:F},i,o),null),s(`div`,{class:m(n)},[!!j.value?.length&&!f.hideInput&&(D.selection?D.selection({fileNames:z.value,totalBytes:L.value,totalBytesReadable:R.value}):f.chips?z.value.map(t=>e(x,{key:t,size:`small`,text:t},null)):z.value.join(`, `))])])}),details:r?t=>s(l,null,[D.details?.(t),n&&s(l,null,[s(`span`,null,null),e(C,{active:!!j.value?.length,value:B.value,disabled:f.disabled},D.counter)])]):void 0})}),_({},V,H,U)}});export{I as t};