File: /www/server/panel/BTPanel/static/js/add-compose-template.js
import{L as V,X as q,k as h,eZ as J,e_ as M,f as N,e$ as j,dR as z,cZ as A}from"./utils-lib.js?v=1777008528";import{c as P,a7 as U,r as Z,g as G,aF as H,e as f,o as X,I as $,J as K,p as w,j as Q,k as Y}from"./base-lib.js?v=1777008528";import{F as k,b as _,e as y,f as b,g as F}from"./form-item.js?v=1777008528";import{w as R}from"./index3.js?v=1777008528";import{B as x}from"./index130.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index116.js?v=1777008528";import"./ace.js?v=1777008528";const ee={class:"flex flex-col lib-box p-2rem"},ae=P({__name:"add-compose-template",props:{compData:{default:()=>({})}},emits:["close","complate"],setup(C,{expose:S,emit:T}){const r=N(),B=U(),{refs:{isRefreshTemplateList:D}}=V(),n=C,i=T,m=Z(!1),W=async()=>{const e={name:"",remark:"",data:"",env:""};e.name=n.compData.row.name,e.remark=n.compData.row.remark;const a=await h({request:j({data:JSON.stringify({template_id:n.compData.row.id})}),loading:m});return a.status?(e.data=a.data.compose_data,e.env=a.data.env_data):r.error(a.msg),e},c={mode:"ace/mode/nginx",theme:B.value?"ace/theme/clouds_midnight":"ace/theme/chrome",wrap:!0,showInvisibles:!1,showFoldWidgets:!1,useSoftTabs:!0,tabSize:2,showPrintMargin:!1,readOnly:!1,fontSize:"12px"},{BtForm:E,submit:I}=q({data:async()=>{var e;return(e=n.compData.row)!=null&&e.id?W():{name:"",remark:"",data:"",env:"",path:"",envpath:""}},options:e=>G(()=>[k("创建模板","name",{attrs:{class:"!w-[35rem]",placeholder:"请输入模板名"},rules:[{required:!0,message:"请输入模板名",trigger:"blur"}]}),k("备注","remark",{attrs:{class:"!w-[35rem]",placeholder:"备注"}}),_([y(" ","path",{attrs:{class:"!w-[30rem]",placeholder:"请选择compose文件"}},()=>d(e,"compose")),b("本地上传",{attrs:{class:"!ml-[1rem]",onClick:()=>{u(e,"compose")}}})]),F("compose内容",()=>H(x,{id:"templateEditor",class:"max-h-[30rem] h-[30rem] !w-[43rem]",modelValue:e.value.data,"onUpdate:modelValue":a=>e.value.data=a,editorOption:c}),"data",{rules:[{required:!0,message:"请输入内容",trigger:"blur"}]}),_([y(" ","envpath",{attrs:{class:"!w-[30rem]",placeholder:"请选择.env文件"}},()=>d(e,"env")),b("本地上传",{attrs:{class:"!ml-[1rem]",onClick:()=>{u(e,"env")}}})]),F(".env内容",()=>f(x,{key:"editer2",class:"w-full h-[10rem]",modelValue:e.value.env,"onUpdate:modelValue":a=>e.value.env=a,editorOption:c},null),"data")]),submit:async(e,a,t)=>{var s;await a(),h({request:(s=n.compData.row)!=null&&s.id?J({data:JSON.stringify({id:n.compData.row.id,name:e.value.name,remark:e.value.remark,data:e.value.data,env:e.value.env})}):M({data:JSON.stringify({name:e.value.name,remark:e.value.remark,data:e.value.data,env:e.value.env})}),loading:"提交中...",message:!0,success:o=>{o.status&&(i("complate",o),D.value=!0,i("close"))}})}}),d=(e,a)=>{R({type:"file",change:t=>{if(t){if(a=="compose"&&(e.value.path=t),a=="env"&&(e.value.envpath=t),!t.endsWith(".yml")&&!t.endsWith(".yaml")&&a=="compose"){r.error("请选择compose文件");return}if(!t.endsWith(".env")&&a=="env"){r.error("请选择.env文件");return}O(t,e,a)}}})},O=async(e,a,t)=>{try{const{data:s}=await z({path:e});typeof s=="object"&&(t=="compose"&&(a.value.data=s.data||""),t=="env"&&(a.value.env=s.data||""))}catch(s){}},u=(e,a)=>{const t=document.createElement("input");t.type="file",t.style.display="none",a==="compose"&&(t.accept=".yml,.yaml"),t.addEventListener("change",s=>{var p;const o=(p=s.target.files)==null?void 0:p[0];if(!o)return;if(a==="compose"&&!o.name.endsWith(".yml")&&!o.name.endsWith(".yaml")){r.error("请选择compose文件");return}if(a==="env"&&!o.name.endsWith("env")){r.error("请选择env文件");return}const l=new FileReader;l.onload=L=>{var g;const v=(g=L.target)==null?void 0:g.result;a==="compose"?(e.value.path=o.name,e.value.data=v):a==="env"&&(e.value.envpath=o.name,e.value.env=v)},l.onerror=()=>{r.error("读取文件内容失败")},l.readAsText(o)}),document.body.appendChild(t),t.click(),setTimeout(()=>{document.body.removeChild(t)},0)};return X(async()=>{}),S({onConfirm:I}),(e,a)=>{const t=$("bt-loading");return K((Q(),Y("div",ee,[f(w(E))])),[[t,w(m)],[t,"正在获取模板消息,请稍候...","title"]])}}}),de=A(ae,[["__scopeId","data-v-d7a80191"]]);export{de as default};