2025-08-21 20:35:10 +00:00
|
|
|
import"../chunks/DsnmJJEf.js";import{i as z}from"../chunks/zNh6Oe5P.js";import{p as J,f as C,c as x,d as K,j as y,n as f,u as g,r as b,t as M,v as R,B as ce,b as O,o as de,A as ue,l as w,a as me,h as pe,g as e,m as u,$ as fe,q as ge,k as T,s}from"../chunks/sWNKMed7.js";import{p as ve,i as A}from"../chunks/Ccl3fNd2.js";import{d as D,c as $,g as H}from"../chunks/D30EsFKH.js";import{D as he}from"../chunks/B6BdCO3z.js";import{P as _e}from"../chunks/BAf75JIA.js";import{w as ye}from"../chunks/BuuPrWMc.js";import{t as be}from"../chunks/BZUCTtPY.js";import{D as xe,G as Ce,a as Pe}from"../chunks/I29fo47B.js";import{e as ke}from"../chunks/BZiHL9L3.js";import{E as Ie}from"../chunks/DHJFrtJ4.js";import"../chunks/CWoVlqr_.js";import{S as W}from"../chunks/CE4EvFNL.js";var Se=C('<a class="text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 truncate block text-sm"> </a>'),we=C('<a class="text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 truncate block text-sm"> </a>'),Te=C('<span class="text-gray-400 dark:text-gray-500 text-sm">-</span>'),De=C('<div class="w-full min-w-0 text-sm font-medium"><!></div>');function $e(E,k){J(k,!1);let a=ve(k,"item",8);z();var m=De(),I=y(m);{var i=r=>{var p=Se(),h=y(p);b(p),M(n=>{$(p,"href",n),$(p,"title",`Pool: ${f(a()),g(()=>a().pool_id)??""}`),R(h,`Pool: ${f(a()),g(()=>a().pool_id)??""}`)},[()=>(f(D),f(a()),g(()=>D(`/pools/${a().pool_id}`)))]),x(r,p)},P=r=>{var p=ce(),h=O(p);{var n=l=>{var o=we(),c=y(o);b(o),M(S=>{$(o,"href",S),$(o,"title",`Scale Set: ${f(a()),g(()=>a().scale_set_id)??""}`),R(c,`Scale Set: ${f(a()),g(()=>a().scale_set_id)??""}`)},[()=>(f(D),f(a()),g(()=>D(`/scalesets/${a().scale_set_id}`)))]),x(l,o)},v=l=>{var o=Te();x(l,o)};A(h,l=>{f(a()),g(()=>a()?.scale_set_id)?l(n):l(v,!1)},!0)}x(r,p)};A(I,r=>{f(a()),g(()=>a()?.pool_id)?r(i):r(P,!1)})}b(m),x(E,m),K()}var Ae=C('<div class="bg-red-50 dark:bg-red-900/50 border border-red-200 dark:border-red-800 rounded-md p-4"><div class="flex"><div class="ml-3"><h3 class="text-sm font-medium text-red-800 dark:text-red-200">Error</h3> <div class="mt-2 text-sm text-red-700 dark:text-red-300"> </div></div></div></div>'),Ee=C('<div class="space-y-6"><!> <!> <!></div> <!>',1);function Oe(E,k){J(k,!1);const a=u(),m=u(),I=u();let i=u([]),P=u(!0),r=u(""),p="",h=null,n=u(1),v=u(25),l=u(""),o=u(!1),c=u(null);async function S(){try{s(P,!0),s(r,""),s(i,await H.listInstances())}catch(t){s(r,t instanceof Error?t.message:"Failed to load instances")}finally{s(P,!1)}}function F(t){s(c,t),s(o,!0)}async function Q(){if(e(c))try{await H.deleteInstance(e(c).name),be.success("Instance Deleted",`Instance ${e(c).name} has been deleted successfully.`)}catch(t){s(r,ke(t))}finally{s(o,!1),s(c,null)}}const U=[{key:"name",title:"Name",cellComponent:Ie,cellProps:{entityType:"instance",showId:!0}},{key:"pool_scale_set",title:"Pool/Scale Set",flexible:!0,cellComponent:$e},{key:"created",title:"Created",cellComponent:Ce,cellProps:{field:"created_at",type:"date"}},{key:"status",title:"Status",cellComponent:W,cellProps:{statusType:"instance",statusField:"status"}},{key:"runner_status",title:"Runner Status",cellComponent:W,cellProps:{statusType:"instance",statusField:"runner_status"}},{key:"actions",title:"Actions",align:"right",cellComponent:Pe,cellProps:{actions:[{type:"delete",title:"Delete",ariaLabel:"Delete instance",action:"delete"}]}}],V={entityType:"instance",primaryText:{field:"name",isClickable:!0,href:"/instances/{name}"},secondaryText:{field:"provider_id"},badges:[{type:"status",field:"status"},{type:"status",field:"runner_status"}],actions:[{type:"delete",handler:t=>F(t)}]};function X(t){s(l,t.detail.term),s(n,1)}function Y(t){s(n,t.detail.page)}function Z(t){s(v,t.detail.perPage),s(n,1)}async function ee(){try{await S()}catch(t){console.error("Retry failed:",t)}}function te(t){}function ae(t){F(t.detail.item)}function se(t){if(t.operation==="create"){const d=t.payload;s(i,[...e(i),d])}else if(t.operation==="update"){const d=t.payload;s(i,e(i).map(_=>_.name===d.name?d:_))}else if(t.operation==="delete"){const d=t.payload
|