File: /www/server/panel/BTPanel/static/js/index36.js
import{H as x,r as _,av as N,c as j,aC as L,o as I,a8 as K,j as b,k as v,e as l,v as u,q as f,p,P as W,F as J,B as U,s as z,R as y,at as G,as as Q,ar as X,ab as Y}from"./base-lib.js?v=1777008528";import{_ as Z}from"./index118.js?v=1777008528";import{k as D,eA as ee,e as S,_ as H,w as te,eB as ne,M as g,a0 as ae,c as oe,da as se,cO as re}from"./utils-lib.js?v=1777008528";import{o as le}from"./useMethods.js?v=1777008528";import{g as ie}from"./index3.js?v=1777008528";import{_ as ce}from"./index119.js?v=1777008528";const a=x({name:"",description:"暂无数据",isRefresh:!0}),s=x({loading:!1,list:[],total:0,tableHeight:"410px"}),me=_(!0);_([]);const w=_(""),ue=(e,t,r,m)=>{const i=e.data;t.value+="".concat(i),i.includes("bt_successful")&&(g.success("拉取成功"),r()),i.includes("bt_failed")&&(g.error("拉取失败"),r())},pe=async(e,t)=>{await S({title:"".concat(e.is_pull?"更新":"拉取","镜像"),area:50,component:()=>H(()=>import("./pull-image-details-dialog.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{name:e.name,refresh:t}})},Me=async(e,t)=>{let r={model_index:"btdocker",mod_name:"image",def_name:"pull_from_some_registry",ws_callback:111,name:"docker官方库",image:"".concat(e.name,":").concat(e.tag),registry_mirrors:w.value=="noSpeed"?"":w.value};await S({title:"拉取镜像",area:65,component:()=>H(()=>import("./pull-image-log-dialog.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{url:"/ws_model",params:r,onWSReceive:ue,onRefresh:()=>t()}})},de=async e=>{le({image:e.name})},_e=async(e,t)=>{const r={id:e.id,name:e.name,force:"0"};try{await te({type:"calc",title:"删除镜像【".concat(e.name,"】"),content:"您真的要删除镜像【".concat(e.name,"】吗?")}),D({request:ne({data:JSON.stringify(r)}),message:!0,success:t})}catch(m){}},k=e=>({data:s.list.slice((e.p-1)*e.limit,e.p*e.limit),total:s.total}),fe=async e=>{if(s.list.length!==0&&!a.isRefresh)return k(e);{a.isRefresh=!1;const t=await D({request:ee({data:JSON.stringify({name:a.name})}),data:Array,loading:N(s,"loading")});return t.length===0&&(a.description="没有搜索到".concat(a.name,"相关的镜像")),s.list=t,s.total=t.length,k(e)}},ge=e=>{if(a.name==="")return g.error("请输入需要搜索的镜像名");const t=e===0?"https://1ms.run/search?query=":"https://hub.docker.com/search?type=image&q=";window.open(t+a.name,"_blank","noopener,noreferrer")},he=e=>{a.description="暂无数据",a.name=a.name.replace(/\s+/g,"")},be=(e,t,r)=>{setTimeout(()=>{if(t)s.tableHeight="410px";else{me.value=!1;const m=e.value-270;s.tableHeight="".concat(m,"px"),m>800&&(r.value.limit=20)}},0)},ve=()=>{a.name="",a.description="暂无数据",s.list=[],s.total=0,s.loading=!1,s.tableHeight="410px",a.isRefresh=!0};let d=null;const C=_("开始拉取镜像...\n"),ye=(e,t)=>{d=ae({route:e.compData.url,onMessage:(r,m)=>{e.compData.onWSReceive(m,C,R,t)}})},we=e=>{let t={...e.compData.params};d==null||d.send(t)},R=e=>{d&&(d.socket.close(),d=null),e&&e()},Te=async(e,t)=>{await ye(e,t),we(e)},Ae=e=>{R(e||!1),C.value="开始拉取镜像...\n"},ke={class:"container-dialog p-[2.4rem]"},xe={class:"flex items-center relative"},De={class:"py-[1rem]"},Se=j({__name:"index",setup(e){const{mainHeight:t}=oe(),r=L("popupSetFooter",!1),m=_("1ms加速站搜索"),i=n=>{a.isRefresh=!0,n&&!isNaN(n)&&(h.value.p=n),T()},$=[{value:"1ms",text:"1ms加速站搜索"},{value:"dockerHub",text:"Docker Hub搜索"}],E=n=>{m.value=n.text,ge(n.text=="Docker Hub搜索"?1:0)},{BtTable:O,BtPage:M,refresh:T,param:h}=se({request:n=>fe(n),columns:[{label:"镜像名",prop:"name",width:200},{label:"Start数",prop:"star_count",width:70},{label:"来源",width:60,render:n=>n.is_official?"官方":"非官方"},{label:"描述/说明",prop:"description",showOverflowTooltip:!0},ie([{onClick:de,width:80,title:"创建容器"},{onClick:n=>{const o="https://1ms.run/r/"+(n.is_official?"library/":"");window.open("".concat(o+n.name),"_blank","noopener noreferrer")},title:"简介"},{title:"拉取",render:n=>l("span",{class:"cursor-pointer text-primary",onClick:()=>pe(n,i)},[n.is_pull?["更新",l(ce,null,null)]:"拉取"])},{onClick:n=>_e(n,i),isHide:n=>!n.is_pull,title:"删除"}])]});return I(()=>{be(t,r,h)}),K(()=>{ve()}),(n,o)=>{const A=re,V=G,B=Q,F=X,P=Z,q=Y;return b(),v("div",ke,[l(q,{ref:"searchFormRef",model:p(a),"label-position":"right",onSubmit:o[5]||(o[5]=y(()=>{},["prevent"]))},{default:u(()=>[f("div",xe,[l(A,{modelValue:p(a).name,"onUpdate:modelValue":o[0]||(o[0]=c=>p(a).name=c),class:"!w-[51rem]",onChangePassive:o[1]||(o[1]=c=>p(he)("name")),placeholder:"请输入需要搜索的镜像名",clearable:"",onClear:o[2]||(o[2]=c=>i(1)),onKeyup:o[3]||(o[3]=W(c=>i(1),["enter"]))},null,8,["modelValue"]),l(F,{onCommand:E,"split-button":"",class:"ml-8px",type:"primary"},{dropdown:u(()=>[l(B,null,{default:u(()=>[(b(),v(J,null,U($,c=>l(V,{key:c.value,command:c},{default:u(()=>[f("span",null,z(c.text),1)]),_:2},1032,["command"])),64))]),_:1})]),default:u(()=>[f("span",{onClick:o[4]||(o[4]=y(c=>i(1),["stop"]))},"搜索")]),_:1})]),f("div",De,[l(P,null,{content:u(()=>[l(p(O),{"max-height":p(s).tableHeight},null,8,["max-height"])]),"footer-right":u(()=>[l(p(M))]),_:1})])]),_:1},8,["model"])])}}}),Ve=Object.freeze(Object.defineProperty({__proto__:null,default:Se},Symbol.toStringTag,{value:"Module"}));export{Ve as a,Te as i,C as l,Me as p,d as s,Ae as u};
function __vite__mapDeps(indexes) {
if (!__vite__mapDeps.viteFileDeps) {
__vite__mapDeps.viteFileDeps = []
}
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}