This removes some deprecated code. Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
import"../chunks/DsnmJJEf.js";import{i as Je}from"../chunks/zNh6Oe5P.js";import{p as Pe,o as je,A as qe,l as ze,a as Ve,f as w,h as We,b as U,t as k,c as p,d as Ke,u as i,n as m,v as o,g as t,m as _,j as a,k as d,s as l,$ as Qe,r,y as vt,B as zt,q as $}from"../chunks/sWNKMed7.js";import{i as g,s as Xe,a as Ye}from"../chunks/Ccl3fNd2.js";import{d as B,c as Vt,g as R,s as Ze}from"../chunks/t8NOL8UT.js";import{p as ta}from"../chunks/-DWf2IZZ.js";import{g as Wt}from"../chunks/CaJ57PEy.js";import{U as ea}from"../chunks/D-gZnIAg.js";import{D as Kt}from"../chunks/Dxyf9P7U.js";import{D as aa,I as ra}from"../chunks/CMejw1Yi.js";import{w as Qt}from"../chunks/BuuPrWMc.js";import{t as F}from"../chunks/BZUCTtPY.js";import{e as Xt}from"../chunks/BZiHL9L3.js";import{e as S,i as C,j as Yt,b as G,g as Zt}from"../chunks/Cbkm53HO.js";var sa=w('<div class="p-6 text-center"><div class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"></div> <p class="mt-2 text-sm text-gray-500 dark:text-gray-400">Loading scale set...</p></div>'),da=w('<div class="rounded-md bg-red-50 dark:bg-red-900 p-4"><p class="text-sm font-medium text-red-800 dark:text-red-200"> </p></div>'),ia=w('<div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">GitHub Runner Group</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div>'),na=w('<div class="bg-white dark:bg-gray-800 shadow rounded-lg"><div class="px-4 py-5 sm:p-6"><h2 class="text-lg font-medium text-gray-900 dark:text-white mb-4">Extra Specifications</h2> <pre class="bg-gray-100 dark:bg-gray-700 p-4 rounded-md overflow-x-auto text-sm text-gray-900 dark:text-white font-mono"> </pre></div></div>'),la=w('<!> <div class="grid grid-cols-1 lg:grid-cols-2 gap-6"><div class="bg-white dark:bg-gray-800 shadow rounded-lg"><div class="px-4 py-5 sm:p-6"><h2 class="text-lg font-medium text-gray-900 dark:text-white mb-4">Basic Information</h2> <dl class="space-y-4"><div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Scale Set ID</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Name</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white font-medium"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Provider</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Image</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"><code class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs"> </code></dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Flavor</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Status</dt> <dd class="mt-1"><span> </span></dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Entity</dt> <dd class="mt-1"><div class="flex items-center space-x-2"><span class="inline-flex px-2 py-1 text-xs font-medium rounded-full bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200"> </span> <a class="text-sm text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300"> </a></div></dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Created At</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Updated At</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div></dl></div></div> <div class="bg-white dark:bg-gray-800 shadow rounded-lg"><div class="px-4 py-5 sm:p-6"><h2 class="text-lg font-medium text-gray-900 dark:text-white mb-4">Configuration</h2> <dl class="space-y-4"><div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Max Runners</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Min Idle Runners</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Bootstrap Timeout</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Runner Prefix</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">OS Type / Architecture</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <!></dl></div></div></div> <!> <!>',1),oa=w('<div class="space-y-6"><nav class="flex" aria-label="Breadcrumb"><ol class="inline-flex items-center space-x-1 md:space-x-3"><li class="inline-flex items-center"><a class="inline-flex items-center text-sm font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white"><svg class="w-3 h-3 mr-2.5" fill="currentColor" viewBox="0 0 20 20"><path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"></path></svg> Scale Sets</a></li> <li><div class="flex items-center"><svg class="w-3 h-3 text-gray-400 mx-1" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"></path></svg> <span class="ml-1 text-sm font-medium text-gray-500 md:ml-2 dark:text-gray-400"> </span></div></li></ol></nav> <!></div> <!> <!> <!>',1);function wa(te,ee){Pe(ee,!1);const[ae,re]=Xe(),mt=()=>Ye(ta,"$page",ae),I=_();let e=_(null),L=_(!0),D=_(""),E=_(!1),M=_(!1),A=_(!1),u=_(null),N=null;async function ut(){if(!(!t(I)||isNaN(t(I))))try{l(L,!0),l(D,""),l(e,await R.getScaleSet(t(I)))}catch(s){l(D,s instanceof Error?s.message:"Failed to load scale set")}finally{l(L,!1)}}async function se(s){if(t(e))try{await R.updateScaleSet(t(e).id,s),await ut(),F.success("Scale Set Updated",`Scale Set ${t(e).name} has been updated successfully.`),l(E,!1)}catch(n){throw n}}async function de(){if(t(e)){try{await R.deleteScaleSet(t(e).id),Wt(B("/scalesets"))}catch(s){const n=Xt(s);F.error("Delete Failed",n)}l(M,!1)}}async function ie(){if(t(u)){try{await R.deleteInstance(t(u).name),F.success("Instance Deleted",`Instance ${t(u).name} has been deleted successfully.`)}catch(s){const n=Xt(s);F.error("Delete Failed",n)}l(A,!1),l(u,null)}}function ne(s){l(u,s),l(A,!0)}function le(s){if(!s)return"{}";try{if(typeof s=="string"){const n=JSON.parse(s);return JSON.stringify(n,null,2)}return JSON.stringify(s,null,2)}catch{return s.toString()}}function oe(s){if(s.operation==="update"){const n=s.payload;t(e)&&n.id===t(e).id&&l(e,n)}else if(s.operation==="delete"){const n=s.payload.id||s.payload;t(e)&&t(e).id===n&&Wt(B("/scalesets"))}}function ce(s){if(!t(e)||!t(e).instances)return;const n=s.payload;if(n.scale_set_id===t(e).id){if(s.operation==="create")vt(e,t(e).instances=[...t(e).instances,n]);else if(s.operation==="update")vt(e,t(e).instances=t(e).instances.map(y=>y.id===n.id?n:y));else if(s.operation==="delete"){const y=n.id||n;vt(e,t(e).instances=t(e).instances.filter(P=>P.id!==y))}l(e,t(e))}}je(()=>{ut();const s=Qt.subscribeToEntity("scaleset",["update","delete"],oe),n=Qt.subscribeToEntity("instance",["create","update","delete"],ce);N=()=>{s(),n()}}),qe(()=>{N&&(N(),N=null)}),ze(()=>mt(),()=>{l(I,parseInt(mt().params.id||"0"))}),Ve(),Je();var xt=oa();We(s=>{k(()=>Qe.title=`${t(e),i(()=>t(e)?`${t(e).name} - Scale Set Details`:"Scale Set Details")??""} - GARM`)});var O=U(xt),H=a(O),gt=a(H),J=a(gt),ve=a(J);r(J);var ft=d(J,2),pt=a(ft),_t=d(a(pt),2),me=a(_t,!0);r(_t),r(pt),r(ft),r(gt),r(H);var ue=d(H,2);{var xe=s=>{var n=sa();p(s,n)},ge=s=>{var n=zt(),y=U(n);{var P=h=>{var b=da(),T=a(b),j=a(T,!0);r(T),r(b),k(()=>o(j,t(D))),p(h,b)},he=h=>{var b=zt(),T=U(b);{var j=q=>{var bt=la(),kt=U(bt);{let c=$(()=>(t(e),i(()=>t(e).name||"Scale Set"))),v=$(()=>(m(S),t(e),i(()=>S(t(e))))),x=$(()=>(m(C),t(e),i(()=>C(t(e))))),f=$(()=>(m(Zt),i(()=>Zt("github"))));aa(kt,{get title(){return t(c)},get subtitle(){return`Scale set for ${t(v)??""} (${t(x)??""}) • GitHub Runner Scale Set`},get forgeIcon(){return t(f)},onEdit:()=>l(E,!0),onDelete:()=>l(M,!0)})}var z=d(kt,2),V=a(z),St=a(V),wt=d(a(St),2),W=a(wt),$t=d(a(W),2),be=a($t,!0);r($t),r(W);var K=d(W,2),It=d(a(K),2),ke=a(It,!0);r(It),r(K);var Q=d(K,2),Dt=d(a(Q),2),Se=a(Dt,!0);r(Dt),r(Q);var X=d(Q,2),Et=d(a(X),2),Mt=a(Et),we=a(Mt,!0);r(Mt),r(Et),r(X);var Y=d(X,2),At=d(a(Y),2),$e=a(At,!0);r(At),r(Y);var Z=d(Y,2),Nt=d(a(Z),2),tt=a(Nt),Ie=a(tt,!0);r(tt),r(Nt),r(Z);var et=d(Z,2),Tt=d(a(et),2),Ut=a(Tt),at=a(Ut),De=a(at,!0);r(at);var rt=d(at,2),Ee=a(rt,!0);r(rt),r(Ut),r(Tt),r(et);var st=d(et,2),Bt=d(a(st),2),Me=a(Bt,!0);r(Bt),r(st);var Rt=d(st,2),Ft=d(a(Rt),2),Ae=a(Ft,!0);r(Ft),r(Rt),r(wt),r(St),r(V);var Ct=d(V,2),Gt=a(Ct),Lt=d(a(Gt),2),dt=a(Lt),Ot=d(a(dt),2),Ne=a(Ot,!0);r(Ot),r(dt);var it=d(dt,2),Ht=d(a(it),2),Te=a(Ht,!0);r(Ht),r(it);var nt=d(it,2),Jt=d(a(nt),2),Ue=a(Jt);r(Jt),r(nt);var lt=d(nt,2),Pt=d(a(lt),2),Be=a(Pt,!0);r(Pt),r(lt);var ot=d(lt,2),jt=d(a(ot),2),Re=a(jt);r(jt),r(ot);var Fe=d(ot,2);{var Ce=c=>{var v=ia(),x=d(a(v),2),f=a(x,!0);r(x),r(v),k(()=>o(f,(t(e),i(()=>t(e)["github-runner-group"])))),p(c,v)};g(Fe,c=>{t(e),i(()=>t(e)["github-runner-group"])&&c(Ce)})}r(Lt),r(Gt),r(Ct),r(z);var qt=d(z,2);{var Ge=c=>{var v=na(),x=a(v),f=d(a(x),2),ct=a(f,!0);r(f),r(x),r(v),k(He=>o(ct,He),[()=>(t(e),i(()=>le(t(e).extra_specs)))]),p(c,v)};g(qt,c=>{t(e),i(()=>t(e).extra_specs)&&c(Ge)})}var Le=d(qt,2);{var Oe=c=>{ra(c,{get instances(){return t(e),i(()=>t(e).instances)},entityType:"scaleset",onDeleteInstance:ne})};g(Le,c=>{t(e),i(()=>t(e).instances)&&c(Oe)})}k((c,v,x,f,ct)=>{o(be,(t(e),i(()=>t(e).id))),o(ke,(t(e),i(()=>t(e).name))),o(Se,(t(e),i(()=>t(e).provider_name))),o(we,(t(e),i(()=>t(e).image))),o($e,(t(e),i(()=>t(e).flavor))),Ze(tt,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),o(Ie,(t(e),i(()=>t(e).enabled?"Enabled":"Disabled"))),o(De,c),Vt(rt,"href",v),o(Ee,x),o(Me,f),o(Ae,ct),o(Ne,(t(e),i(()=>t(e).max_runners))),o(Te,(t(e),i(()=>t(e).min_idle_runners))),o(Ue,`${t(e),i(()=>t(e).runner_bootstrap_timeout)??""} minutes`),o(Be,(t(e),i(()=>t(e).runner_prefix||"garm"))),o(Re,`${t(e),i(()=>t(e).os_type)??""} / ${t(e),i(()=>t(e).os_arch)??""}`)},[()=>(m(C),t(e),i(()=>C(t(e)))),()=>(m(Yt),t(e),i(()=>Yt(t(e)))),()=>(m(S),t(e),i(()=>S(t(e)))),()=>(m(G),t(e),i(()=>G(t(e).created_at||""))),()=>(m(G),t(e),i(()=>G(t(e).updated_at||"")))]),p(q,bt)};g(T,q=>{t(e)&&q(j)},!0)}p(h,b)};g(y,h=>{t(D)?h(P):h(he,!1)},!0)}p(s,n)};g(ue,s=>{t(L)?s(xe):s(ge,!1)})}r(O);var yt=d(O,2);{var fe=s=>{ea(s,{get scaleSet(){return t(e)},$$events:{close:()=>l(E,!1),submit:n=>se(n.detail)}})};g(yt,s=>{t(E)&&t(e)&&s(fe)})}var ht=d(yt,2);{var pe=s=>{{let n=$(()=>(t(e),m(S),i(()=>`Scale Set ${t(e).name} (${S(t(e))})`)));Kt(s,{title:"Delete Scale Set",message:"Are you sure you want to delete this scale set? This action cannot be undone and will remove all associated runners.",get itemName(){return t(n)},$$events:{close:()=>l(M,!1),confirm:de}})}};g(ht,s=>{t(M)&&t(e)&&s(pe)})}var _e=d(ht,2);{var ye=s=>{Kt(s,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(u),i(()=>t(u).name)},$$events:{close:()=>{l(A,!1),l(u,null)},confirm:ie}})};g(_e,s=>{t(A)&&t(u)&&s(ye)})}k(s=>{Vt(ve,"href",s),o(me,(t(e),i(()=>t(e)?t(e).name:"Loading...")))},[()=>(m(B),i(()=>B("/scalesets")))]),p(te,xt),Ke(),re()}export{wa as component};
|