| Current Path : /proc/thread-self/root/snap/lxd/current/share/lxd-ui/assets/ |
| Current File : //proc/thread-self/root/snap/lxd/current/share/lxd-ui/assets/CreateNetworkForward-MdH4VIAT.js |
import{c as g,d as c,t as x,I as y,K as A,J as b,r as S,k as L,R as k,j as t,L as $,aa as E,w as u}from"./index-BFGypnt-.js";import{N as R,t as I,a as O}from"./NetworkForwardForm-BYZKCf5K.js";import{c as Q}from"./network-forwards-Cv12zUSO.js";import{B as T}from"./BaseLayout-ft99KK4_.js";import{H as U}from"./HelpLink-l4aaXUp-.js";import{F as q}from"./FormFooterLayout-CMGxv4XX.js";import{u as B}from"./useNetworks-B1lu5MbM.js";import"./ScrollableForm-D-7nf2YI.js";import"./ClusterMemberSelector-Bokudnyt.js";import"./useClusterMembers-B29_ixY7.js";import"./cluster-members-CG6XHzn4.js";const X=()=>{const h=g(),l=c.useNotify(),m=c.useToastNotification(),v=x(),{network:a,project:r}=y(),{data:s,error:i}=B(a??"",r??""),{hasStorageAndNetworkOperations:N}=A(),C=b();S.useEffect(()=>{i&&l.failure("Loading networks failed",i)},[i]);const F=()=>E(s)?s?.config["ipv4.address"]!=="none"?"0.0.0.0":s?.config["ipv6.address"]!=="none"?"::":"":"",w=()=>{v.invalidateQueries({queryKey:[u.projects,r,u.networks,s,u.forwards]})},f=o=>{w(),m.success(`Network forward with listen address ${o} created.`)},p=(o,d)=>{w(),e.setSubmitting(!1),l.failure(`Creation of network forward with listen address ${d} failed`,o)},e=L({initialValues:{listenAddress:F(),ports:[]},validationSchema:R,onSubmit:o=>{const d=I(o);Q(a??"",d,r??"").then(n=>{h(`${k}/ui/project/${encodeURIComponent(r??"")}/network/${encodeURIComponent(a??"")}/forwards`),N&&n?.metadata.id?(m.info(t.jsxs(t.Fragment,{children:["Creation of network forward with listen address"," ",e.values.listenAddress," has started."]})),C.set(n.metadata.id,()=>{f(e.values.listenAddress)},j=>{p(new Error(j),e.values.listenAddress)})):f(e.values.listenAddress)}).catch(n=>{p(n,e.values.listenAddress)})}});return t.jsxs(T,{title:t.jsx(U,{docPath:"/howto/network_forwards/",title:"Learn more about network forwards",children:"Create a network forward"}),contentClassName:"create-network",children:[t.jsx(O,{formik:e,network:s}),t.jsxs(q,{children:[t.jsx($,{className:"p-button--base",to:`${k}/ui/project/${encodeURIComponent(r??"")}/network/${encodeURIComponent(a??"")}/forwards`,children:"Cancel"}),t.jsx(c.ActionButton,{appearance:"positive",loading:e.isSubmitting,disabled:!e.isValid||e.isSubmitting||!e.values.listenAddress,onClick:()=>{e.submitForm()},children:"Create"})]})]})};export{X as default};