UNPKG

miniflare

Version:

Fun, full-featured, fully-local simulator for Cloudflare Workers

1 lines 2.75 kB
import{a as e,i as t,n,r,t as i}from"./TableSelect-HrnHFgor.js";import{t as a}from"./Pencil.es-DwL8uC1Z.js";import{n as o}from"./dialog-oqh8l3l3zutpibxx-TbiRttKB.js";import{n as s,t as c}from"./Breadcrumbs-7fG3Aw2e.js";import{Gn as l,Un as u,Vn as d,Wn as f,at as p,n as m,qn as h,r as g,wt as _,zn as v}from"./index-BwGGYgiP.js";var y=h(f()),b=l();function x(){let l=m.useParams(),f=m.useLoaderData(),{namespaceId:h,objectId:x,objectName:S}=f,C=m.useSearch(),w=d(),T=u(),E=(0,y.useRef)(C.table),D=(0,y.useRef)(null),[O,k]=(0,y.useState)(C.table),[A,j]=(0,y.useState)(!1),[M,N]=(0,y.useState)(null),P=(0,y.useMemo)(()=>new g(h,x,S),[h,x,S]),F=(0,y.useMemo)(()=>({namespaceId:h,objectId:l.objectId,type:`do`}),[h,l.objectId]),I=(0,y.useCallback)(e=>{k(e),E.current!==e&&(E.current=e,w({replace:!0,search:t=>({...t,table:e}),to:`.`}))},[w]),L=(0,y.useCallback)(async()=>{j(!0);try{await Promise.all([T.invalidate(),D.current?.refreshSchema(),new Promise(e=>setTimeout(e,250))])}finally{j(!1)}},[T]),R=(0,y.useCallback)(async()=>{await L(),w({replace:!0,search:e=>({...e,table:void 0}),to:`.`})},[L,w]),z=(0,y.useCallback)(()=>{O&&N({schemaName:`main`,tableName:O})},[O]),B=(0,y.useCallback)(()=>{N(null)},[]),V=(0,y.useCallback)(()=>{M&&(D.current?.closeTableTabs(M.schemaName,M.tableName),R())},[M,R]),H=l.objectId.length>16?`${l.objectId.slice(0,8)}...${l.objectId.slice(-8)}`:l.objectId;return(0,b.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,b.jsxs)(c,{icon:p,items:[(0,b.jsx)(v,{className:`flex items-center gap-1.5`,params:{className:l.className},to:`/do/$className`,children:l.className},`class-name`),(0,b.jsxs)(`span`,{className:`flex items-center gap-1 font-mono text-xs [&_button]:opacity-100`,title:l.objectId,children:[H,(0,b.jsx)(s.Clipboard,{text:l.objectId})]},`object-id`),(0,b.jsx)(i,{selectedTable:C.table,studioRef:D,tables:f.tables},`table-selector`)],title:`Durable Objects`,children:[(0,b.jsx)(`div`,{className:`flex-1`}),(0,b.jsx)(_,{"aria-label":`Refresh tables`,className:`disabled:cursor-progress`,disabled:A,onClick:L,shape:`square`,children:(0,b.jsx)(e,{className:A?`animate-spin`:void 0,size:14})}),(0,b.jsx)(n,{currentTable:O,driver:P}),(0,b.jsx)(_,{"aria-label":`Edit table schema`,disabled:!O,icon:a,onClick:()=>{O&&D.current?.openEditTableTab(`main`,O)},children:`Edit Schema`}),(0,b.jsx)(_,{"aria-label":`Delete table`,disabled:!O,icon:o,onClick:z,variant:`secondary-destructive`,children:`Delete Table`})]}),M&&(0,b.jsx)(r,{closeModal:B,driver:P,isOpen:!0,onSuccess:V,schemaName:M.schemaName,tableName:M.tableName}),(0,b.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:(0,b.jsx)(t,{driver:P,initialTable:C.table,onTableChange:I,ref:D,resource:F},`${h}-${l.objectId}`)})]})}export{x as component};