| Current Path : /snap/lxd/38450/share/lxd-ui/assets/ |
| Current File : //snap/lxd/38450/share/lxd-ui/assets/EditNetworkForward-D9-YYH1m.js |
import{c as g,d as u,v as j,C as b,r as F,J as h,k as x,x as e,R as f,j as a,L as C}from"./index-BsQN_SZU.js";import{N as v,t as R,a as A}from"./NetworkForwardForm-D9GKhsgS.js";import{u as E,f as L}from"./network-forwards-CAuMAfcF.js";import{B as _}from"./BaseLayout-D3ZT4TU8.js";import{H as $}from"./HelpLink-BJF9zWZL.js";import{F as q}from"./FormFooterLayout-CcbL_-PB.js";import{u as S}from"./useNetworks-1j5RF-bH.js";import"./formFields-DzJouV_d.js";import"./ClusterMemberSelector-o7hg9ebZ.js";const V=()=>{const p=g(),m=u.useNotify(),k=u.useToastNotification(),w=j(),{network:t,project:r,forwardAddress:i,memberName:d}=b(),{data:y,error:c}=S(t??"",r??"");F.useEffect(()=>{c&&m.failure("Loading network failed",c)},[c]);const{data:n}=h({queryKey:[e.projects,r,e.networks,t,e.forwards,i,e.members,d],queryFn:async()=>L(t??"",i??"",r??"",d??"")}),o=x({initialValues:{listenAddress:i??"",defaultTargetAddress:n?.config.target_address??"",description:n?.description??"",ports:n?.ports.map(s=>({listenPort:s.listen_port,protocol:s.protocol,targetAddress:s.target_address,targetPort:s.target_port}))??[],location:n?.location},enableReinitialize:!0,validationSchema:v,onSubmit:s=>{const l=R(s);E(t??"",l,r??"").then(()=>{w.invalidateQueries({queryKey:[e.projects,r,e.networks,t,e.forwards]}),w.invalidateQueries({queryKey:[e.projects,r,e.networks,t,e.forwards,i,e.members,d]}),p(`${f}/ui/project/${encodeURIComponent(r??"")}/network/${encodeURIComponent(t??"")}/forwards`),k.success(`Network forward ${l.listen_address} updated.`)}).catch(N=>{o.setSubmitting(!1),m.failure("Network forward update failed",N)})}});return a.jsxs(_,{title:a.jsx($,{docPath:"/howto/network_forwards/",title:"Learn more about network forwards",children:"Edit a network forward"}),contentClassName:"edit-network",children:[a.jsx(A,{formik:o,isEdit:!0,network:y}),a.jsxs(q,{children:[a.jsx(C,{className:"p-button--base",to:`${f}/ui/project/${encodeURIComponent(r??"")}/network/${encodeURIComponent(t??"")}/forwards`,children:"Cancel"}),a.jsx(u.ActionButton,{appearance:"positive",loading:o.isSubmitting,disabled:!o.isValid||o.isSubmitting||!o.values.listenAddress,onClick:()=>{o.submitForm()},children:"Update"})]})]})};export{V as default};