Files
Nexus/web/app/assets/VFileInput-V-GLMkLj.js
T
Nexus Deploy 4ba45abf38 feat(servers): 凭据轮询登录与连接失败列表
- 密码/SSH密钥预设增加用户名;快速添加(IP)轮询全部预设尝试 SSH 登录
- 成功入 servers 列表;失败写入 pending_servers 并支持重试/删除
- 新增 credential_poller、try_ssh_login 与 add-by-ip/pending API
2026-06-06 20:08:48 +08:00

1 line
17 KiB
JavaScript

import{$n as e,$t as t,Ar as n,Bn as r,C as i,Fn as a,Gt as o,Hn as s,Nr as c,On as l,Qn as u,Qt as d,R as f,Rn as p,Rr as m,S as h,St as g,Vn as _,Wt as v,Xn as y,Zt as b,_t as x,ar as S,cn as C,cr as w,ct as T,d as E,dn as D,et as O,f as k,fn as A,g as j,gr as M,hn as N,in as P,jn as F,jr as I,jt as L,ln as R,lr as z,lt as B,nn as V,nt as H,o as ee,p as te,pn as ne,qn as re,rn as ie,rt as U,s as W,st as G,ur as K,v as q,wn as ae,wr as J,x as Y,xr as oe,xt as se,yn as X,z as ce,zn as le,zr as Z}from"./index-o0-2k-vI.js";import{n as ue,r as de,t as fe}from"./VChip-B_7LyIUT.js";var Q=Symbol.for(`vuetify:v-tabs`),pe=A({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:`horizontal`},...p(ce({selectedClass:`v-tab--selected`,variant:`text`}),[`active`,`block`,`flat`,`location`,`position`,`symbol`])},`VTab`),me=C()({name:`VTab`,props:pe(),setup(t,{slots:r,attrs:i}){let{textColorClasses:a,textColorStyles:o}=g(()=>t.sliderColor),{backgroundColorClasses:s,backgroundColorStyles:c}=se(()=>t.sliderColor),l=n(),d=n(),p=u(()=>t.direction===`horizontal`),h=u(()=>l.value?.group?.isSelected.value??!1);function _(e,t){return{opacity:[0,1]}}function v(e,n){return t.direction===`vertical`?{transform:[`scaleY(0)`,`scaleY(1)`]}:{transform:[`scaleX(0)`,`scaleX(1)`]}}function b(e,t){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=p.value?`x`:`y`,a=p.value?`X`:`Y`,o=p.value?`right`:`bottom`,s=p.value?`width`:`height`,c=n[i]>r[i]?n[o]-r[o]:n[i]-r[i],l=Math.sign(c)>0?p.value?`right`:`bottom`:Math.sign(c)<0?p.value?`left`:`top`:`center`,u=(Math.abs(c)+(Math.sign(c)<0?n[s]:r[s]))/Math.max(n[s],r[s])||0,d=n[s]/r[s]||0,f=1.5;return{transform:[`translate${a}(${c}px) scale${a}(${d})`,`translate${a}(${c/f}px) scale${a}(${(u-1)/f+1})`,`none`],transformOrigin:[,,,].fill(l)}}function x({value:e}){if(e){let e=l.value?.$el.parentElement?.querySelector(`.v-tab--selected .v-tab__slider`),n=d.value;if(!e||!n)return;let r=getComputedStyle(e).backgroundColor,i={fade:_,grow:v,shift:b}[t.sliderTransition??`shift`]??b,a=Number(t.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[t.sliderTransition??`shift`]??225);ne(n,{backgroundColor:[r,r],...i(n,e)},{duration:a,easing:P})}}return V(()=>{let n=f.filterProps(t);return S(f,z({symbol:Q,ref:l,class:[`v-tab`,t.class,h.value&&t.inset?s.value:[]],style:[t.style,h.value&&t.inset?c.value:[],{backgroundColor:h.value&&t.inset?`transparent !important`:void 0}],tabindex:h.value?0:-1,role:`tab`,"aria-selected":String(h.value),active:!1},n,i,{block:t.fixed,maxWidth:t.fixed?300:void 0,"onGroup:selected":x}),{...r,default:()=>e(y,null,[r.default?.()??t.text,!t.hideSlider&&e(`div`,{ref:d,class:m([`v-tab__slider`,t.inset?s.value:a.value]),style:Z([o.value,t.inset?c.value:a.value])},null)])})}),q({},l)}}),he=e=>{let{touchstartX:t,touchendX:n,touchstartY:r,touchendY:i}=e,a=.5;e.offsetX=n-t,e.offsetY=i-r,Math.abs(e.offsetY)<a*Math.abs(e.offsetX)&&(e.left&&n<t-16&&e.left(e),e.right&&n>t+16&&e.right(e)),Math.abs(e.offsetX)<a*Math.abs(e.offsetY)&&(e.up&&i<r-16&&e.up(e),e.down&&i>r+16&&e.down(e))};function ge(e,t){let n=e.changedTouches[0];t.touchstartX=n.clientX,t.touchstartY=n.clientY,t.start?.({originalEvent:e,...t})}function _e(e,t){let n=e.changedTouches[0];t.touchendX=n.clientX,t.touchendY=n.clientY,t.end?.({originalEvent:e,...t}),he(t)}function ve(e,t){let n=e.changedTouches[0];t.touchmoveX=n.clientX,t.touchmoveY=n.clientY,t.move?.({originalEvent:e,...t})}function ye(e={}){let t={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:e=>ge(e,t),touchend:e=>_e(e,t),touchmove:e=>ve(e,t)}}function be(e,t){let n=t.value,r=n?.parent?e.parentElement:e,i=n?.options??{passive:!0},o=t.instance?.$.uid;if(!r||o===void 0)return;let s=ye(t.value);r._touchHandlers=r._touchHandlers??Object.create(null),r._touchHandlers[o]=s,a(s).forEach(e=>{r.addEventListener(e,s[e],i)})}function xe(e,t){let n=t.value?.parent?e.parentElement:e,r=t.instance?.$.uid;if(!n?._touchHandlers||r===void 0)return;let i=n._touchHandlers[r];a(i).forEach(e=>{n.removeEventListener(e,i[e])}),delete n._touchHandlers[r]}var $={mounted:be,unmounted:xe},Se=Symbol.for(`vuetify:v-window`),Ce=Symbol.for(`vuetify:v-window-group`),we=A({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:`$next`},prevIcon:{type:[Boolean,String,Function,Object],default:`$prev`},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e==`boolean`||e===`hover`},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:`horizontal`},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:`v-window-item--active`},mandatory:{type:[Boolean,String],default:`force`},crossfade:Boolean,transitionDuration:Number,...D(),...L(),...v()},`VWindow`),Te=C()({name:`VWindow`,directives:{vTouch:$},props:we(),emits:{"update:modelValue":e=>!0},setup(t,{slots:r}){let{themeClasses:i}=o(t),{isRtl:a}=d(),{t:l}=b(),p=H(t,Ce),h=n(),g=u(()=>a.value?!t.reverse:t.reverse),v=I(!1),y=u(()=>t.crossfade?`v-window-crossfade-transition`:`v-window-${t.direction===`vertical`?`y`:`x`}${(g.value?!v.value:v.value)?`-reverse`:``}-transition`),x=I(0),C=n(void 0),w=u(()=>p.items.value.findIndex(e=>p.selected.value.includes(e.id)));oe(w,(e,t)=>{let n,r={left:0,top:0};_&&t>=0&&(n=ie(h.value),r.left=n?.scrollLeft,r.top=n?.scrollTop);let i=p.items.value.length,a=i-1;i<=2?v.value=e<t:e===a&&t===0?v.value=!1:e===0&&t===a?v.value=!0:v.value=e<t,K(()=>{!_||!n||(n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`}),requestAnimationFrame(()=>{n&&n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`})}))})},{flush:`sync`}),M(Se,{transition:y,isReversed:v,transitionCount:x,transitionHeight:C,rootRef:h});let T=c(()=>t.continuous||w.value!==0),E=c(()=>t.continuous||w.value!==p.items.value.length-1);function D(){T.value&&p.prev()}function O(){E.value&&p.next()}let k=u(()=>{let n=[],i={icon:a.value?t.nextIcon:t.prevIcon,class:`v-window__${g.value?`right`:`left`}`,onClick:p.prev,"aria-label":l(`$vuetify.carousel.prev`)};n.push(T.value?r.prev?r.prev({props:i}):S(f,i,null):e(`div`,null,null));let o={icon:a.value?t.prevIcon:t.nextIcon,class:`v-window__${g.value?`left`:`right`}`,onClick:p.next,"aria-label":l(`$vuetify.carousel.next`)};return n.push(E.value?r.next?r.next({props:o}):S(f,o,null):e(`div`,null,null)),n}),A=u(()=>t.touch===!1?t.touch:{left:()=>{g.value?D():O()},right:()=>{g.value?O():D()},start:({originalEvent:e})=>{e.stopPropagation()},...t.touch===!0?{}:t.touch});function j(e){(t.direction===`horizontal`&&e.key===`ArrowLeft`||t.direction===`vertical`&&e.key===`ArrowUp`)&&(e.preventDefault(),D(),K(()=>{T.value?N(0):N(1)})),(t.direction===`horizontal`&&e.key===`ArrowRight`||t.direction===`vertical`&&e.key===`ArrowDown`)&&(e.preventDefault(),O(),K(()=>{E.value?N(1):N(0)}))}function N(e){let t=k.value[e];t&&(Array.isArray(t)?t[0]:t).el?.focus()}return V(()=>J(S(t.tag,{ref:h,class:m([`v-window`,{"v-window--show-arrows-on-hover":t.showArrows===`hover`,"v-window--vertical-arrows":!!t.verticalArrows,"v-window--crossfade":!!t.crossfade},i.value,t.class]),style:Z([t.style,{"--v-window-transition-duration":s()?null:X(t.transitionDuration,`ms`)}])},{default:()=>[e(`div`,{class:`v-window__container`,style:{height:C.value}},[r.default?.({group:p}),t.showArrows!==!1&&e(`div`,{class:m([`v-window__controls`,{"v-window__controls--left":t.verticalArrows===`left`||t.verticalArrows===!0},{"v-window__controls--right":t.verticalArrows===`right`}]),onKeydown:j},[k.value])]),r.additional?.({group:p})]}),[[$,A.value]])),{group:p}}}),Ee=A({...p(we(),[`continuous`,`nextIcon`,`prevIcon`,`showArrows`,`touch`,`mandatory`])},`VTabsWindow`),De=C()({name:`VTabsWindow`,props:Ee(),emits:{"update:modelValue":e=>!0},setup(e,{slots:n}){let r=w(Q,null),i=t(e,`modelValue`),a=u({get(){return i.value!=null||!r?i.value:r.items.value.find(e=>r.selected.value.includes(e.id))?.value},set(e){i.value=e}});return V(()=>S(Te,z({_as:`VTabsWindow`},Te.filterProps(e),{modelValue:a.value,"onUpdate:modelValue":e=>a.value=e,class:[`v-tabs-window`,e.class],style:e.style,mandatory:!1,touch:!1}),n)),{}}}),Oe=A({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...D(),...O(),...h()},`VWindowItem`),ke=C()({name:`VWindowItem`,directives:{vTouch:$},props:Oe(),emits:{"group:selected":e=>!0},setup(t,{slots:n}){let r=w(Se),a=U(t,Ce),{isBooted:o}=B();if(!r||!a)throw Error(`[Vuetify] VWindowItem must be used inside VWindow`);let s=I(!1),c=u(()=>o.value&&(r.isReversed.value?t.reverseTransition!==!1:t.transition!==!1));function l(){!s.value||!r||(s.value=!1,r.transitionCount.value>0&&(--r.transitionCount.value,r.transitionCount.value===0&&(r.transitionHeight.value=void 0)))}function d(){s.value||!r||(s.value=!0,r.transitionCount.value===0&&(r.transitionHeight.value=X(r.rootRef.value?.clientHeight)),r.transitionCount.value+=1)}function f(){l()}function p(e){s.value&&K(()=>{!c.value||!s.value||!r||(r.transitionHeight.value=X(e.clientHeight))})}let h=u(()=>{let e=r.isReversed.value?t.reverseTransition:t.transition;return c.value?{name:typeof e==`string`?e:r.transition.value,onBeforeEnter:d,onAfterEnter:l,onEnterCancelled:f,onBeforeLeave:d,onAfterLeave:l,onLeaveCancelled:f,onEnter:p}:!1}),{hasContent:g}=i(t,a.isSelected);return V(()=>S(x,{transition:h.value,disabled:!o.value},{default:()=>[J(e(`div`,{class:m([`v-window-item`,a.selectedClass.value,t.class]),style:Z(t.style)},[g.value&&n.default?.()]),[[re,a.isSelected.value]])]})),{groupItem:a}}}),Ae=A({...Oe()},`VTabsWindowItem`),je=C()({name:`VTabsWindowItem`,props:Ae(),setup(e,{slots:t}){return V(()=>S(ke,z({_as:`VTabsWindowItem`},ke.filterProps(e),{class:[`v-tabs-window-item`,e.class],style:e.style}),t)),{}}});function Me(e){return e?e.map(e=>F(e)?e:{text:e,value:e}):[]}var Ne=A({alignTabs:{type:String,default:`start`},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...le(pe(),[`spaced`,`sliderTransition`,`sliderTransitionDuration`]),...de({mandatory:`force`,selectedClass:`v-tab-item--selected`}),...G(),...L()},`VTabs`),Pe=C()({name:`VTabs`,props:Ne(),emits:{"update:modelValue":e=>!0},setup(n,{attrs:r,slots:i}){let a=t(n,`modelValue`),o=u(()=>Me(n.items)),{densityClasses:s}=T(n),{backgroundColorClasses:l,backgroundColorStyles:d}=se(()=>n.bgColor),{scopeId:f}=Y();return R({VTab:{color:c(n,`color`),direction:c(n,`direction`),stacked:c(n,`stacked`),fixed:c(n,`fixedTabs`),inset:c(n,`inset`),sliderColor:c(n,`sliderColor`),sliderTransition:c(n,`sliderTransition`),sliderTransitionDuration:c(n,`sliderTransitionDuration`),hideSlider:c(n,`hideSlider`)}}),V(()=>{let t=ue.filterProps(n),c=!!(i.window||n.items.length>0);return e(y,null,[S(ue,z(t,{modelValue:a.value,"onUpdate:modelValue":e=>a.value=e,class:[`v-tabs`,`v-tabs--${n.direction}`,`v-tabs--align-tabs-${n.alignTabs}`,{"v-tabs--fixed-tabs":n.fixedTabs,"v-tabs--grow":n.grow,"v-tabs--inset":n.inset,"v-tabs--stacked":n.stacked},s.value,l.value,n.class],style:[{"--v-tabs-height":X(n.height),"--v-tabs-inset-padding":n.inset?X(n.insetPadding):void 0,"--v-tabs-inset-radius":n.inset?X(n.insetRadius):void 0},d.value,n.style],role:`tablist`,symbol:Q},f,r),{default:i.default??(()=>o.value.map(e=>i.tab?.({item:e})??S(me,z(e,{key:e.text,value:e.value,spaced:n.spaced}),{default:i[`tab.${e.value}`]?()=>i[`tab.${e.value}`]?.({item:e}):void 0}))),prev:i.prev,next:i.next}),c&&S(De,z({modelValue:a.value,"onUpdate:modelValue":e=>a.value=e,key:`tabs-window`},f),{default:()=>[o.value.map(e=>i.item?.({item:e})??S(je,{value:e.value},{default:()=>i[`item.${e.value}`]?.({item:e})})),i.window?.()]})])}),{}}});function Fe(){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 Ie(e,Le(`.`,e));t.push(...n.map(e=>e.file))}else t.push(...e.dataTransfer?.files??[]);return t}return{handleDrop:t,hasFilesOrFolders:e}}function Ie(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 Ie(n,Le(t,n)));n(r)})})}function Le(e,t){return t.isDirectory?`${e}/${t.name}`:e}var Re=A({filterByType:String},`file-accept`);function ze(e){let t=u(()=>e.filterByType?Be(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 Be(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 Ve=A({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},...p(W({prependIcon:`$file`}),[`direction`]),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>r(e).every(e=>typeof e==`object`&&!!e)},...Re(),...k({clearable:!0})},`VFileInput`),He=C()({name:`VFileInput`,inheritAttrs:!1,props:Ve(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,rejected:e=>!0},setup(i,{attrs:a,emit:o,slots:s}){let{t:d}=b(),{filterAccepted:f}=ze(i),p=t(i,`modelValue`,i.modelValue,e=>r(e),e=>!i.multiple&&Array.isArray(e)?e[0]:e),{isFocused:h,focus:g,blur:_}=te(i),v=u(()=>typeof i.showSize==`boolean`?void 0:i.showSize),x=u(()=>(p.value??[]).reduce((e,{size:t=0})=>e+t,0)),C=u(()=>l(x.value,v.value)),w=u(()=>(p.value??[]).map(e=>{let{name:t=``,size:n=0}=e,r=ie(t);return i.showSize?`${r} (${l(n,v.value)})`:r})),T=u(()=>{let e=p.value?.length??0;return i.showSize?d(i.counterSizeString,e,C.value):d(i.counterString,e)}),D=n(),O=n(),k=n(),A=c(()=>h.value||i.active),M=u(()=>[`plain`,`underlined`].includes(i.variant)),P=I(!1),{handleDrop:F,hasFilesOrFolders:L}=Fe();function R(){k.value!==document.activeElement&&k.value?.focus(),h.value||g()}function B(e){k.value?.click()}function H(e){o(`mousedown:control`,e)}function ne(e){k.value?.click(),o(`click:control`,e)}function re(e){e.stopPropagation(),R(),K(()=>{p.value=[],N(i[`onClick:clear`],e)})}function ie(e){if(e.length<Number(i.truncateLength))return e;let t=Math.floor((Number(i.truncateLength)-1)/2);return`${e.slice(0,t)}${e.slice(e.length-t)}`}function U(e){e.preventDefault(),e.stopImmediatePropagation(),P.value=!0}function W(e){e.preventDefault(),P.value=!1}async function G(e){e.preventDefault(),e.stopImmediatePropagation(),P.value=!1,!(!k.value||!L(e))&&Y(await F(e))}function J(e){!e.target||e.repack||(i.filterByType?Y([...e.target.files]):p.value=[...e.target.files??[]])}function Y(e){let t=new DataTransfer,{accepted:n,rejected:r}=f(e);r.length&&o(`rejected`,r);for(let e of n)t.items.add(e);k.value.files=t.files,p.value=[...t.files];let i=new Event(`change`,{bubbles:!0});i.repack=!0,k.value.dispatchEvent(i)}return oe(p,e=>{(!Array.isArray(e)||!e.length)&&k.value&&(k.value.value=``)}),V(()=>{let t=!!(s.counter||i.counter),n=!!(t||s.details),[r,o]=ae(a),{modelValue:c,...l}=ee.filterProps(i),u={...E.filterProps(i),"onClick:clear":re},d=a.webkitdirectory!==void 0&&a.webkitdirectory!==!1,f=a.accept?String(a.accept):void 0,g=d?void 0:i.filterByType??f;return S(ee,z({ref:D,modelValue:i.multiple?p.value:p.value[0],class:[`v-file-input`,{"v-file-input--chips":!!i.chips,"v-file-input--dragging":P.value,"v-file-input--hide":i.hideInput,"v-input--plain-underlined":M.value},i.class],style:i.style,"onClick:prepend":B},r,l,{centerAffix:!M.value,focused:h.value,indentDetails:i.indentDetails??!M.value}),{...s,default:({id:t,isDisabled:n,isDirty:r,isReadonly:a,isValid:c,hasDetails:l})=>S(E,z({ref:O,prependIcon:i.prependIcon,onMousedown:H,onClick:ne,"onClick:prependInner":i[`onClick:prependInner`],"onClick:appendInner":i[`onClick:appendInner`]},u,{id:t.value,active:A.value||r.value,dirty:r.value||i.dirty,disabled:n.value,focused:h.value,details:l.value,error:c.value===!1,onDragover:U,onDrop:G}),{...s,default:({props:{class:t,...r},controlRef:c})=>e(y,null,[e(`input`,z({ref:e=>k.value=c.value=e,type:`file`,accept:g,readonly:a.value,disabled:n.value,multiple:i.multiple,name:i.name,onClick:e=>{e.stopPropagation(),a.value&&e.preventDefault(),R()},onChange:J,onDragleave:W,onFocus:R,onBlur:_},r,o),null),e(`div`,{class:m(t)},[!!p.value?.length&&!i.hideInput&&(s.selection?s.selection({fileNames:w.value,totalBytes:x.value,totalBytesReadable:C.value}):i.chips?w.value.map(e=>S(fe,{key:e,size:`small`,text:e},null)):w.value.join(`, `))])])}),details:n?n=>e(y,null,[s.details?.(n),t&&e(y,null,[e(`span`,null,null),S(j,{active:!!p.value?.length,value:T.value,disabled:i.disabled},s.counter)])]):void 0})}),q({},D,O,k)}});export{me as a,De as i,Pe as n,je as r,He as t};