mongoku 2.7.2-compat → 2.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/build/client/_app/immutable/chunks/{7pJPnwjh.js → BzDxl-xY.js} +2 -2
  2. package/build/client/_app/immutable/chunks/BzDxl-xY.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/BzDxl-xY.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{CvSzAfZh.js → C4KNUyMJ.js} +1 -1
  5. package/build/client/_app/immutable/chunks/C4KNUyMJ.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/C4KNUyMJ.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{DaB19yDO.js → DFGVB86g.js} +1 -1
  8. package/build/client/_app/immutable/chunks/DFGVB86g.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/DFGVB86g.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{rsaImgdg.js → DJ979gqK.js} +1 -1
  11. package/build/client/_app/immutable/chunks/DJ979gqK.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/DJ979gqK.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{BwQP80RK.js → Dv6E2xv5.js} +1 -1
  14. package/build/client/_app/immutable/chunks/Dv6E2xv5.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/Dv6E2xv5.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{D5qcP0Bh.js → Lr-7lzyW.js} +1 -1
  17. package/build/client/_app/immutable/chunks/Lr-7lzyW.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/Lr-7lzyW.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{DxElUGai.js → ZsFEdbVh.js} +1 -1
  20. package/build/client/_app/immutable/chunks/ZsFEdbVh.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/ZsFEdbVh.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/{app.C4Qz5hKm.js → app.CbeXEXwj.js} +2 -2
  23. package/build/client/_app/immutable/entry/app.CbeXEXwj.js.br +0 -0
  24. package/build/client/_app/immutable/entry/app.CbeXEXwj.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/start.B2QE_PNG.js +1 -0
  26. package/build/client/_app/immutable/entry/start.B2QE_PNG.js.br +0 -0
  27. package/build/client/_app/immutable/entry/start.B2QE_PNG.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{0.DslN_3Dr.js → 0.zEd7eXYr.js} +1 -1
  29. package/build/client/_app/immutable/nodes/0.zEd7eXYr.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/0.zEd7eXYr.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{1.C6sLpnA0.js → 1.BWwHWtSC.js} +1 -1
  32. package/build/client/_app/immutable/nodes/1.BWwHWtSC.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/1.BWwHWtSC.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{10.Do2PZ6yl.js → 10.GZrKT64A.js} +1 -1
  35. package/build/client/_app/immutable/nodes/10.GZrKT64A.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/10.GZrKT64A.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{11.B6Uruolu.js → 11.BM5zOOG5.js} +1 -1
  38. package/build/client/_app/immutable/nodes/11.BM5zOOG5.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/11.BM5zOOG5.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{12.DzUQ-JI0.js → 12.DijleEEI.js} +1 -1
  41. package/build/client/_app/immutable/nodes/12.DijleEEI.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/12.DijleEEI.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{13.CQPsnLci.js → 13.DMrrd0M2.js} +1 -1
  44. package/build/client/_app/immutable/nodes/13.DMrrd0M2.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/13.DMrrd0M2.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{14.B8wH6tOz.js → 14.BQgWzzYn.js} +1 -1
  47. package/build/client/_app/immutable/nodes/14.BQgWzzYn.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/{14.B8wH6tOz.js.gz → 14.BQgWzzYn.js.gz} +0 -0
  49. package/build/client/_app/immutable/nodes/{7.OIfqp_L1.js → 7.DtAVmCku.js} +1 -1
  50. package/build/client/_app/immutable/nodes/7.DtAVmCku.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/7.DtAVmCku.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{8.W9f2mp02.js → 8.D0grRuj8.js} +1 -1
  53. package/build/client/_app/immutable/nodes/8.D0grRuj8.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/8.D0grRuj8.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/{9.B-woyEGE.js → 9._KEpqNmu.js} +1 -1
  56. package/build/client/_app/immutable/nodes/9._KEpqNmu.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/9._KEpqNmu.js.gz +0 -0
  58. package/build/client/_app/version.json +1 -1
  59. package/build/client/_app/version.json.br +0 -0
  60. package/build/client/_app/version.json.gz +0 -0
  61. package/build/server/chunks/{0-CCyS02BL.js → 0-B4_GybFX.js} +2 -2
  62. package/build/server/chunks/{0-CCyS02BL.js.map → 0-B4_GybFX.js.map} +1 -1
  63. package/build/server/chunks/{1-DQpmReHs.js → 1-CBliTycp.js} +2 -2
  64. package/build/server/chunks/{1-DQpmReHs.js.map → 1-CBliTycp.js.map} +1 -1
  65. package/build/server/chunks/{10-BCHVePpT.js → 10-DK-L3H19.js} +2 -2
  66. package/build/server/chunks/{10-BCHVePpT.js.map → 10-DK-L3H19.js.map} +1 -1
  67. package/build/server/chunks/{11-D9rFFPfw.js → 11-D4I1cu7b.js} +2 -2
  68. package/build/server/chunks/{11-D9rFFPfw.js.map → 11-D4I1cu7b.js.map} +1 -1
  69. package/build/server/chunks/{12-tafbqk1l.js → 12-URI5MmUx.js} +2 -2
  70. package/build/server/chunks/{12-tafbqk1l.js.map → 12-URI5MmUx.js.map} +1 -1
  71. package/build/server/chunks/{13-Cr-arrJD.js → 13-D9RDShiT.js} +2 -2
  72. package/build/server/chunks/{13-Cr-arrJD.js.map → 13-D9RDShiT.js.map} +1 -1
  73. package/build/server/chunks/{14-oOCUD08Z.js → 14-KiJwv7-9.js} +2 -2
  74. package/build/server/chunks/{14-oOCUD08Z.js.map → 14-KiJwv7-9.js.map} +1 -1
  75. package/build/server/chunks/{7-BLt570Kg.js → 7-CZgTCmLR.js} +2 -2
  76. package/build/server/chunks/{7-BLt570Kg.js.map → 7-CZgTCmLR.js.map} +1 -1
  77. package/build/server/chunks/{8-CTjsje4X.js → 8-nACIipIn.js} +2 -2
  78. package/build/server/chunks/{8-CTjsje4X.js.map → 8-nACIipIn.js.map} +1 -1
  79. package/build/server/chunks/{9-BPkrwXLK.js → 9-BRPnUMf5.js} +2 -2
  80. package/build/server/chunks/{9-BPkrwXLK.js.map → 9-BRPnUMf5.js.map} +1 -1
  81. package/build/server/index.js +1 -1
  82. package/build/server/index.js.map +1 -1
  83. package/build/server/manifest.js +11 -11
  84. package/build/server/manifest.js.map +1 -1
  85. package/package.json +1 -1
  86. package/build/client/_app/immutable/chunks/7pJPnwjh.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/7pJPnwjh.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/BwQP80RK.js.br +0 -0
  89. package/build/client/_app/immutable/chunks/BwQP80RK.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/CvSzAfZh.js.br +0 -0
  91. package/build/client/_app/immutable/chunks/CvSzAfZh.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/D5qcP0Bh.js.br +0 -0
  93. package/build/client/_app/immutable/chunks/D5qcP0Bh.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/DaB19yDO.js.br +0 -0
  95. package/build/client/_app/immutable/chunks/DaB19yDO.js.gz +0 -0
  96. package/build/client/_app/immutable/chunks/DxElUGai.js.br +0 -0
  97. package/build/client/_app/immutable/chunks/DxElUGai.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/rsaImgdg.js.br +0 -0
  99. package/build/client/_app/immutable/chunks/rsaImgdg.js.gz +0 -0
  100. package/build/client/_app/immutable/entry/app.C4Qz5hKm.js.br +0 -0
  101. package/build/client/_app/immutable/entry/app.C4Qz5hKm.js.gz +0 -0
  102. package/build/client/_app/immutable/entry/start.ChgJ5qiF.js +0 -1
  103. package/build/client/_app/immutable/entry/start.ChgJ5qiF.js.br +0 -0
  104. package/build/client/_app/immutable/entry/start.ChgJ5qiF.js.gz +0 -0
  105. package/build/client/_app/immutable/nodes/0.DslN_3Dr.js.br +0 -0
  106. package/build/client/_app/immutable/nodes/0.DslN_3Dr.js.gz +0 -0
  107. package/build/client/_app/immutable/nodes/1.C6sLpnA0.js.br +0 -0
  108. package/build/client/_app/immutable/nodes/1.C6sLpnA0.js.gz +0 -0
  109. package/build/client/_app/immutable/nodes/10.Do2PZ6yl.js.br +0 -0
  110. package/build/client/_app/immutable/nodes/10.Do2PZ6yl.js.gz +0 -0
  111. package/build/client/_app/immutable/nodes/11.B6Uruolu.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/11.B6Uruolu.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/12.DzUQ-JI0.js.br +0 -0
  114. package/build/client/_app/immutable/nodes/12.DzUQ-JI0.js.gz +0 -0
  115. package/build/client/_app/immutable/nodes/13.CQPsnLci.js.br +0 -0
  116. package/build/client/_app/immutable/nodes/13.CQPsnLci.js.gz +0 -0
  117. package/build/client/_app/immutable/nodes/14.B8wH6tOz.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/7.OIfqp_L1.js.br +0 -0
  119. package/build/client/_app/immutable/nodes/7.OIfqp_L1.js.gz +0 -0
  120. package/build/client/_app/immutable/nodes/8.W9f2mp02.js.br +0 -0
  121. package/build/client/_app/immutable/nodes/8.W9f2mp02.js.gz +0 -0
  122. package/build/client/_app/immutable/nodes/9.B-woyEGE.js.br +0 -0
  123. package/build/client/_app/immutable/nodes/9.B-woyEGE.js.gz +0 -0
@@ -1,2 +1,2 @@
1
- import{f as i,a as e,c as A,t as F}from"../chunks/ULh2o3ji.js";import{p as ba,f as k,a as ha,t as D,g as a,b as K,s as _,d as g,c as n,r as l,n as Q,u as ea}from"../chunks/C6nv_pni.js";import{d as ga,a as W,s as N}from"../chunks/DaNl6Y92.js";import{a as X,b as ra,f as Y}from"../chunks/DczwA5Ds.js";import{i as S}from"../chunks/CX0xC2bt.js";import{n as oa,e as ya}from"../chunks/DskkUG-R.js";import{r as xa,s as za}from"../chunks/DaB19yDO.js";import{P as ka,a as Da}from"../chunks/DxElUGai.js";import{i as Sa}from"../chunks/7pJPnwjh.js";import{M as Ca}from"../chunks/Dbu5gl04.js";import{T as sa}from"../chunks/CETiZ6GF.js";var Ia=i('<span title="Failed to load">❌</span>'),wa=i('<span style="color: var(--text-secondary);">...</span>'),Pa=i('<span title="Failed to load">❌</span>'),Ma=i('<span style="color: var(--text-secondary);">...</span>'),Ta=i('<span title="Failed to load">❌</span>'),Fa=i('<span style="color: var(--text-secondary);">...</span>'),Na=i('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),ja=i('<tr class="group"><td><a> </a></td><td><!></td><td><!></td><td><!></td><td style="width: 100px"><div class="flex justify-end"><!></div></td></tr>'),Aa=i('<tr><td colspan="5"><div class="text-center">No collections...</div></td></tr>'),Oa=i('<table class="table"><thead><tr><th>Name</th><th>Documents</th><th>Indexes</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),Ra=i('<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm"><!></button>',1),Ua=i(`<p>Are you sure you want to drop the collection <strong> </strong>? This action cannot be
1
+ import{f as i,a as e,c as A,t as F}from"../chunks/ULh2o3ji.js";import{p as ba,f as k,a as ha,t as D,g as a,b as K,s as _,d as g,c as n,r as l,n as Q,u as ea}from"../chunks/C6nv_pni.js";import{d as ga,a as W,s as N}from"../chunks/DaNl6Y92.js";import{a as X,b as ra,f as Y}from"../chunks/DczwA5Ds.js";import{i as S}from"../chunks/CX0xC2bt.js";import{n as oa,e as ya}from"../chunks/DskkUG-R.js";import{r as xa,s as za}from"../chunks/DFGVB86g.js";import{P as ka,a as Da}from"../chunks/ZsFEdbVh.js";import{i as Sa}from"../chunks/BzDxl-xY.js";import{M as Ca}from"../chunks/Dbu5gl04.js";import{T as sa}from"../chunks/CETiZ6GF.js";var Ia=i('<span title="Failed to load">❌</span>'),wa=i('<span style="color: var(--text-secondary);">...</span>'),Pa=i('<span title="Failed to load">❌</span>'),Ma=i('<span style="color: var(--text-secondary);">...</span>'),Ta=i('<span title="Failed to load">❌</span>'),Fa=i('<span style="color: var(--text-secondary);">...</span>'),Na=i('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),ja=i('<tr class="group"><td><a> </a></td><td><!></td><td><!></td><td><!></td><td style="width: 100px"><div class="flex justify-end"><!></div></td></tr>'),Aa=i('<tr><td colspan="5"><div class="text-center">No collections...</div></td></tr>'),Oa=i('<table class="table"><thead><tr><th>Name</th><th>Documents</th><th>Indexes</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),Ra=i('<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm"><!></button>',1),Ua=i(`<p>Are you sure you want to drop the collection <strong> </strong>? This action cannot be
2
2
  undone.</p>`),Ba=i("<!> <!>",1);function Ya(na,c){ba(c,!0);let O=K(!1),y=K(null),b=K(!1);function la(x){g(y,x,!0),g(O,!0)}function R(){g(O,!1),g(y,null),g(b,!1)}async function ia(){if(!(!a(y)||a(b))){g(b,!0);try{await Da({server:c.data.server,database:c.data.database,collection:a(y).name}),oa.notifySuccess(`Collection "${a(y).name}" dropped successfully`),R(),await Sa()}catch(x){oa.notifyError(x,"Failed to drop collection"),g(b,!1)}}}var Z=Ba(),$=k(Z);ka($,{get title(){return`${c.data.database??""} collections`},children:(x,j)=>{var h=Oa(),u=_(n(h)),f=n(u);{var C=m=>{var v=A(),I=k(v);ya(I,17,()=>c.data.collections,B=>B.name,(B,z)=>{var E=ja(),H=n(E),J=n(H),va=n(J,!0);l(J),l(H);var L=_(H),ca=n(L);X(ca,()=>a(z).details,o=>{var t=wa();e(o,t)},(o,t)=>{var p=A(),w=k(p);{var P=r=>{var d=F();D(s=>N(d,s),[()=>ra(a(t).count)]),e(r,d)},M=r=>{var d=Ia();e(r,d)};S(w,r=>{a(t)?r(P):r(M,!1)})}e(o,p)}),l(L);var V=_(L),ua=n(V);X(ua,()=>a(z).details,o=>{var t=Ma();e(o,t)},(o,t)=>{var p=A(),w=k(p);{var P=r=>{{let d=ea(()=>a(t).indexes.map(s=>({definition:s.key?JSON.stringify(s.key,null,1):s.name,size:Y(s.size)})));sa(r,{columns:[{header:"Index",key:"definition",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return a(d)},children:(s,_a)=>{Q();var T=F();D(G=>N(T,G),[()=>ra(a(t).nIndexes)]),e(s,T)},$$slots:{default:!0}})}},M=r=>{var d=Pa();e(r,d)};S(w,r=>{a(t)?r(P):r(M,!1)})}e(o,p)}),l(V);var q=_(V),fa=n(q);X(fa,()=>a(z).details,o=>{var t=Fa();e(o,t)},(o,t)=>{var p=A(),w=k(p);{var P=r=>{{let d=ea(()=>[{label:"Average obj. size",value:a(t).avgObjSize},{label:"Data size",value:a(t).dataSize},{label:"Storage size",value:a(t).storageSize},{label:"Index size",value:a(t).totalIndexSize}].map(s=>({...s,value:typeof s.value=="number"?Y(s.value):s.value})));sa(r,{hideHeader:!0,columns:[{header:"Label",key:"label",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return a(d)},children:(s,_a)=>{Q();var T=F();D(G=>N(T,G),[()=>Y(a(t).size)]),e(s,T)},$$slots:{default:!0}})}},M=r=>{var d=Ta();e(r,d)};S(w,r=>{a(t)?r(P):r(M,!1)})}e(o,p)}),l(q);var aa=_(q),ta=n(aa),ma=n(ta);{var pa=o=>{var t=Na();W("click",t,()=>la(a(z))),e(o,t)};S(ma,o=>{c.data.readOnly||o(pa)})}l(ta),l(aa),l(E),D(o=>{za(J,"href",o),N(va,a(z).name)},[()=>xa(`/servers/${encodeURIComponent(c.data.server)}/databases/${encodeURIComponent(c.data.database)}/collections/${encodeURIComponent(a(z).name)}/documents`)]),e(B,E)}),e(m,v)},U=m=>{var v=Aa();e(m,v)};S(f,m=>{c.data.collections&&c.data.collections.length>0?m(C):m(U,!1)})}l(u),l(h),e(x,h)},$$slots:{default:!0}});var da=_($,2);Ca(da,{get show(){return a(O)},onclose:R,title:"Drop Collection",footer:j=>{var h=Ra(),u=k(h),f=_(u,2),C=n(f);{var U=v=>{var I=F("Dropping...");e(v,I)},m=v=>{var I=F("Drop Collection");e(v,I)};S(C,v=>{a(b)?v(U):v(m,!1)})}l(f),D(()=>{u.disabled=a(b),f.disabled=a(b)}),W("click",u,R),W("click",f,ia),e(j,h)},children:(j,h)=>{var u=Ua(),f=_(n(u)),C=n(f,!0);l(f),Q(),l(u),D(()=>N(C,a(y)?.name)),e(j,u)},$$slots:{footer:!0,default:!0}}),e(na,Z),ha()}ga(["click"]);export{Ya as component};
@@ -1,4 +1,4 @@
1
- import{f as k,a as g,b as ut,t as wt,c as Pt}from"../chunks/ULh2o3ji.js";import{b as C,ad as ct,g as e,p as Nt,a as Dt,f as te,c as i,s as a,u as A,r as l,t as D,a2 as ze,G as Me,i as Be,d as v,n as tt,b8 as Xt,ax as xt,a3 as yt,e as dt}from"../chunks/C6nv_pni.js";import{d as jt,a as E,s as O,e as Mt}from"../chunks/DaNl6Y92.js";import{b as oe,a as Rt}from"../chunks/DczwA5Ds.js";import{i as S,p as Ee}from"../chunks/CX0xC2bt.js";import{s as We,c as vt,e as Bt,n as G}from"../chunks/DskkUG-R.js";import{a as Oe,p as $t}from"../chunks/B59nRjE7.js";import{a as fe,b as ht,r as It,s as Pe}from"../chunks/DaB19yDO.js";import{b as be}from"../chunks/gjWX2x82.js";import{o as Yt,P as mt,p as ft,q as Tt,s as Zt,t as er,i as tr,v as rr,u as or,b as ar}from"../chunks/DxElUGai.js";import{g as nr,e as St}from"../chunks/7pJPnwjh.js";import{J as sr,j as _t}from"../chunks/BwQP80RK.js";import{s as Et}from"../chunks/DZxZehvI.js";import{M as lr}from"../chunks/Dbu5gl04.js";import{p as bt,s as gt,P as ir}from"../chunks/D5qcP0Bh.js";import{b as et}from"../chunks/DwvJoC1a.js";import{p as At}from"../chunks/rsaImgdg.js";const cr=Symbol();class Ot extends URLSearchParams{#e=C(0);#o=ur();#t=!1;#r(){if(!this.#o||this.#t)return;this.#t=!0;const c=this.toString();this.#o.search=c&&`?${c}`,this.#t=!1}[cr](c){if(!this.#t){this.#t=!0;for(const y of[...super.keys()])super.delete(y);for(const[y,r]of c)super.append(y,r);ct(this.#e),this.#t=!1}}append(c,y){super.append(c,y),this.#r(),ct(this.#e)}delete(c,y){var r=super.has(c,y);super.delete(c,y),r&&(this.#r(),ct(this.#e))}get(c){return e(this.#e),super.get(c)}getAll(c){return e(this.#e),super.getAll(c)}has(c,y){return e(this.#e),super.has(c,y)}keys(){return e(this.#e),super.keys()}set(c,y){var r=super.getAll(c).join("");super.set(c,y),r!==super.getAll(c).join("")&&(this.#r(),ct(this.#e))}sort(){super.sort(),this.#r(),ct(this.#e)}toString(){return e(this.#e),super.toString()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return e(this.#e),super.size}}let dr=null;function ur(){return dr}const vr=async q=>({...q.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),qo=Object.freeze(Object.defineProperty({__proto__:null,load:vr},Symbol.toStringTag,{value:"Module"}));var pr=k('<button class="btn btn-default btn-sm">Close</button>'),mr=k('<p class="text-xs mt-2" style="color: var(--error);">⚠️ This query is using a collection scan (COLLSCAN). Consider adding an index for better performance.</p>'),fr=k('<div class="efficiency-bar mb-6"><div class="flex justify-between items-center mb-2"><span class="text-sm font-semibold" style="color: var(--text);">Efficiency</span> <span class="text-sm font-mono" style="color: var(--text-secondary);"> </span></div> <div class="h-2 rounded-full bg-[var(--color-3)] overflow-hidden"><div></div></div> <!></div>'),br=k('<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mb-6"><div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Execution Time</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Documents Returned</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Documents Examined</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Keys Examined</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Index Used</span> <span> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Query Stage</span> <span class="metric-value svelte-10vh4gh"> </span></div></div> <!>',1),gr=k('<!> <details class="mt-4"><summary class="cursor-pointer text-sm font-semibold mb-3" style="color: var(--link);">View full explain output</summary> <div class="p-4 rounded-xl bg-[var(--color-3)] font-mono text-sm overflow-auto max-h-[400px] border border-[var(--border-color)]"><!></div></details>',1);function xr(q,c){Nt(c,!0);function y(h){if(!h)return null;if(h.indexName||h.stage==="IXSCAN"&&h.indexName)return String(h.indexName);if(h.inputStage){const f=y(h.inputStage);if(f)return f}if(Array.isArray(h.inputStages))for(const f of h.inputStages){const j=y(f);if(j)return j}if(h.queryPlan){const f=y(h.queryPlan);if(f)return f}return null}function r(h){if(!h)return!1;if(h.stage==="COLLSCAN"||h.inputStage&&r(h.inputStage))return!0;if(Array.isArray(h.inputStages)){for(const f of h.inputStages)if(r(f))return!0}return!!(h.queryPlan&&r(h.queryPlan))}const t=A(()=>{if(!c.data||typeof c.data!="object")return null;const h=c.data,f=h.executionStats,Q=h.queryPlanner?.winningPlan,ae=y(Q),Ne=r(Q);let _;ae?_=ae:Ne?_="COLLSCAN":_="N/A";const X=Q?.stage??"N/A";return{executionTimeMs:f?.executionTimeMillis??"N/A",docsExamined:f?.totalDocsExamined??"N/A",keysExamined:f?.totalKeysExamined??"N/A",nReturned:f?.nReturned??"N/A",indexUsed:_,stage:X}}),d=A(()=>{if(!e(t))return null;const h=Number(e(t).keysExamined),f=Number(e(t).nReturned);return h>0?(f/h*100).toFixed(1):"0.0"}),ce=A(()=>{if(!e(t))return"";const h=Number(e(t).keysExamined),f=Number(e(t).docsExamined),j=Number(e(t).nReturned);return h>0?`${j} / ${h} keys to docs`:`${h} keys / ${f} docs`}),F=A(()=>e(t)?!(e(t).indexUsed==="COLLSCAN"||e(t).indexUsed==="N/A"):null);lr(q,{get show(){return c.show},get onclose(){return c.onclose},title:"Execution Stats",wide:!0,footer:f=>{var j=pr();E("click",j,function(...Q){c.onclose?.apply(this,Q)}),g(f,j)},children:(f,j)=>{var Q=gr(),ae=te(Q);{var Ne=K=>{var ge=br(),ke=te(ge),ne=i(ke),xe=a(i(ne),2),ye=i(xe);l(xe),l(ne);var de=a(ne,2),De=a(i(de),2),he=i(De,!0);l(De),l(de);var Re=a(de,2),Fe=a(i(Re),2),je=i(Fe,!0);l(Fe),l(Re);var Ie=a(Re,2),$e=a(i(Ie),2),se=i($e,!0);l($e),l(Ie);var we=a(Ie,2),Le=a(i(we),2);let Se;var Qe=i(Le,!0);l(Le),l(we);var Ge=a(we,2),He=a(i(Ge),2),rt=i(He,!0);l(He),l(Ge),l(ke);var ot=a(ke,2);{var Ke=qe=>{var Ce=fr(),ue=i(Ce),Te=a(i(ue),2),Ve=i(Te);l(Te),l(ue);var n=a(ue,2),u=i(n);let m;l(n);var w=a(n,2);{var M=B=>{var N=mr();g(B,N)};S(w,B=>{e(F)===!1&&B(M)})}l(Ce),D((B,N)=>{O(Ve,`${e(ce)??""} (${e(d)??""}%)`),m=We(u,1,"h-full rounded-full transition-all duration-300",null,m,B),Et(u,`width: ${N??""}%`)},[()=>({"bg-green-500":e(F)&&Number(e(d))>=70,"bg-yellow-500":e(F)&&Number(e(d))>=30&&Number(e(d))<70,"bg-red-500":!e(F)||Number(e(d))<30}),()=>e(F)?Math.min(Number(e(d)),100):100]),g(qe,Ce)};S(ot,qe=>{e(d)!==null&&qe(Ke)})}D((qe,Ce,ue)=>{O(ye,`${e(t).executionTimeMs??""}ms`),O(he,qe),O(je,Ce),O(se,ue),Se=We(Le,1,"metric-value svelte-10vh4gh",null,Se,{warning:e(t).indexUsed==="COLLSCAN",good:e(t).indexUsed!=="COLLSCAN"}),O(Qe,e(t).indexUsed),O(rt,e(t).stage)},[()=>typeof e(t).nReturned=="number"?e(t).nReturned.toLocaleString():e(t).nReturned,()=>typeof e(t).docsExamined=="number"?e(t).docsExamined.toLocaleString():e(t).docsExamined,()=>typeof e(t).keysExamined=="number"?e(t).keysExamined.toLocaleString():e(t).keysExamined]),g(K,ge)};S(ae,K=>{e(t)&&K(Ne)})}var _=a(ae,2),X=a(i(_),2),Je=i(X);sr(Je,{get value(){return c.data},collapsed:!1}),l(X),l(_),g(f,Q)},$$slots:{footer:!0,default:!0}}),Dt()}jt(["click"]);function Ft(q,c){const y=t=>{q&&!q.contains(t.target)&&c()},r=setTimeout(()=>{document.addEventListener("click",y,!0)},0);return{destroy(){clearTimeout(r),document.removeEventListener("click",y,!0)}}}var yr=ut('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg>');function Qt(q,c){let y=Ee(c,"class",3,"w-4 h-4");var r=yr();D(()=>We(r,0,vt(y()))),g(q,r)}var hr=ut('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path></svg>');function _r(q,c){let y=Ee(c,"class",3,"w-4 h-4");var r=hr();D(()=>We(r,0,vt(y()))),g(q,r)}var kr=k('<textarea placeholder="[]" name="query" rows="5" class="w-full px-3 py-2 bg-transparent outline-none font-mono text-[13px] resize-y svelte-1o0c7a1" style="color: var(--text);"></textarea>'),wr=k('<input type="text" name="field" placeholder="field name" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/>'),Sr=k('<textarea name="query" rows="5" class="w-full px-3 py-2 bg-transparent outline-none font-mono text-[13px] resize-y svelte-1o0c7a1" style="color: var(--text);"></textarea>'),qr=k('<input type="text" name="query" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/>'),Cr=k('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition cursor-pointer text-[13px] font-medium flex items-center gap-1" style="color: var(--text-secondary);" title="Filter by document creation time"><span>📊</span> <!></button>'),Er=k('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer" style="color: var(--text);"><!></button>'),Nr=k('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer text-[13px] font-medium" style="color: var(--link);"> </button>'),Dr=k('<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50 sm:col-span-2"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Filter (optional)</div> <input type="text" name="query" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>'),jr=k('<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Sort</div> <input type="text" name="sort" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Project</div> <input type="text" name="project" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>',1),Ir=k('<div class="grid gap-2 sm:grid-cols-2"><!> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Skip</div> <input type="number" name="skip" min="0" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Limit</div> <input type="number" name="limit" min="1" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div></div>'),Lr=k('<div class="fixed z-[1000] rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] shadow-lg overflow-hidden"><button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Query</button> <button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Distinct</button> <button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Aggregation</button></div>'),Ur=k('<span class="inline-block w-3 h-3 border-2 border-[var(--border-color)] border-t-[var(--link)] rounded-full animate-spin"></span>'),Pr=k('<button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer flex justify-between items-center" style="color: var(--text);"><span> </span> <span class="font-medium tabular-nums" style="color: var(--text-secondary);"><!></span></button>'),Mr=k('<div class="fixed z-[1000] rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] shadow-lg overflow-hidden"></div>'),Rr=k('<div class="rounded-2xl border border-[var(--border-color)] bg-[var(--light-background)]/70 shadow-sm p-3 sm:p-4"><form class="flex flex-col gap-3" method="GET" action="?"><div class="flex items-stretch gap-2"><div class="flex-1 flex items-stretch rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><button type="button" class="h-full px-3 flex items-center gap-1 text-[13px] border-r border-[var(--border-color)] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text-secondary);"><span class="capitalize"> </span> <!></button> <!></div> <input type="hidden" name="mode"/> <input type="hidden" name="v"/> <div class="flex items-center gap-2"><!> <button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[15px] font-semibold leading-none transition cursor-pointer" style="color: var(--text);" title="Toggle optional fields"> </button> <!> <!> <button type="submit" class="h-9 px-4 py-0 rounded-xl btn btn-success text-lg font-semibold transition">Go</button></div></div> <!></form></div> <!> <!>',1);function $r(q,c){Nt(c,!0);const y=2e4;let r=Ee(c,"params",15),t=Ee(c,"editMode",15,!1),d=Ee(c,"readonly",11,!1),ce=Ee(c,"explainLoading",3,!1),F=C(ze(r().sort!=="{}"||r().project!=="{}"||r().skip!==0||r().limit!==20)),h=C(ze(Math.random())),f=C(void 0),j=C(!1),Q=C(void 0),ae=C(ze({left:"0px",top:"0px",minWidth:"140px"})),Ne=A(()=>r().query?.includes(`
1
+ import{f as k,a as g,b as ut,t as wt,c as Pt}from"../chunks/ULh2o3ji.js";import{b as C,ad as ct,g as e,p as Nt,a as Dt,f as te,c as i,s as a,u as A,r as l,t as D,a2 as ze,G as Me,i as Be,d as v,n as tt,b8 as Xt,ax as xt,a3 as yt,e as dt}from"../chunks/C6nv_pni.js";import{d as jt,a as E,s as O,e as Mt}from"../chunks/DaNl6Y92.js";import{b as oe,a as Rt}from"../chunks/DczwA5Ds.js";import{i as S,p as Ee}from"../chunks/CX0xC2bt.js";import{s as We,c as vt,e as Bt,n as G}from"../chunks/DskkUG-R.js";import{a as Oe,p as $t}from"../chunks/B59nRjE7.js";import{a as fe,b as ht,r as It,s as Pe}from"../chunks/DFGVB86g.js";import{b as be}from"../chunks/gjWX2x82.js";import{o as Yt,P as mt,p as ft,q as Tt,s as Zt,t as er,i as tr,v as rr,u as or,b as ar}from"../chunks/ZsFEdbVh.js";import{g as nr,e as St}from"../chunks/BzDxl-xY.js";import{J as sr,j as _t}from"../chunks/Dv6E2xv5.js";import{s as Et}from"../chunks/DZxZehvI.js";import{M as lr}from"../chunks/Dbu5gl04.js";import{p as bt,s as gt,P as ir}from"../chunks/Lr-7lzyW.js";import{b as et}from"../chunks/DwvJoC1a.js";import{p as At}from"../chunks/DJ979gqK.js";const cr=Symbol();class Ot extends URLSearchParams{#e=C(0);#o=ur();#t=!1;#r(){if(!this.#o||this.#t)return;this.#t=!0;const c=this.toString();this.#o.search=c&&`?${c}`,this.#t=!1}[cr](c){if(!this.#t){this.#t=!0;for(const y of[...super.keys()])super.delete(y);for(const[y,r]of c)super.append(y,r);ct(this.#e),this.#t=!1}}append(c,y){super.append(c,y),this.#r(),ct(this.#e)}delete(c,y){var r=super.has(c,y);super.delete(c,y),r&&(this.#r(),ct(this.#e))}get(c){return e(this.#e),super.get(c)}getAll(c){return e(this.#e),super.getAll(c)}has(c,y){return e(this.#e),super.has(c,y)}keys(){return e(this.#e),super.keys()}set(c,y){var r=super.getAll(c).join("");super.set(c,y),r!==super.getAll(c).join("")&&(this.#r(),ct(this.#e))}sort(){super.sort(),this.#r(),ct(this.#e)}toString(){return e(this.#e),super.toString()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return e(this.#e),super.size}}let dr=null;function ur(){return dr}const vr=async q=>({...q.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),qo=Object.freeze(Object.defineProperty({__proto__:null,load:vr},Symbol.toStringTag,{value:"Module"}));var pr=k('<button class="btn btn-default btn-sm">Close</button>'),mr=k('<p class="text-xs mt-2" style="color: var(--error);">⚠️ This query is using a collection scan (COLLSCAN). Consider adding an index for better performance.</p>'),fr=k('<div class="efficiency-bar mb-6"><div class="flex justify-between items-center mb-2"><span class="text-sm font-semibold" style="color: var(--text);">Efficiency</span> <span class="text-sm font-mono" style="color: var(--text-secondary);"> </span></div> <div class="h-2 rounded-full bg-[var(--color-3)] overflow-hidden"><div></div></div> <!></div>'),br=k('<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mb-6"><div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Execution Time</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Documents Returned</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Documents Examined</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Keys Examined</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Index Used</span> <span> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Query Stage</span> <span class="metric-value svelte-10vh4gh"> </span></div></div> <!>',1),gr=k('<!> <details class="mt-4"><summary class="cursor-pointer text-sm font-semibold mb-3" style="color: var(--link);">View full explain output</summary> <div class="p-4 rounded-xl bg-[var(--color-3)] font-mono text-sm overflow-auto max-h-[400px] border border-[var(--border-color)]"><!></div></details>',1);function xr(q,c){Nt(c,!0);function y(h){if(!h)return null;if(h.indexName||h.stage==="IXSCAN"&&h.indexName)return String(h.indexName);if(h.inputStage){const f=y(h.inputStage);if(f)return f}if(Array.isArray(h.inputStages))for(const f of h.inputStages){const j=y(f);if(j)return j}if(h.queryPlan){const f=y(h.queryPlan);if(f)return f}return null}function r(h){if(!h)return!1;if(h.stage==="COLLSCAN"||h.inputStage&&r(h.inputStage))return!0;if(Array.isArray(h.inputStages)){for(const f of h.inputStages)if(r(f))return!0}return!!(h.queryPlan&&r(h.queryPlan))}const t=A(()=>{if(!c.data||typeof c.data!="object")return null;const h=c.data,f=h.executionStats,Q=h.queryPlanner?.winningPlan,ae=y(Q),Ne=r(Q);let _;ae?_=ae:Ne?_="COLLSCAN":_="N/A";const X=Q?.stage??"N/A";return{executionTimeMs:f?.executionTimeMillis??"N/A",docsExamined:f?.totalDocsExamined??"N/A",keysExamined:f?.totalKeysExamined??"N/A",nReturned:f?.nReturned??"N/A",indexUsed:_,stage:X}}),d=A(()=>{if(!e(t))return null;const h=Number(e(t).keysExamined),f=Number(e(t).nReturned);return h>0?(f/h*100).toFixed(1):"0.0"}),ce=A(()=>{if(!e(t))return"";const h=Number(e(t).keysExamined),f=Number(e(t).docsExamined),j=Number(e(t).nReturned);return h>0?`${j} / ${h} keys to docs`:`${h} keys / ${f} docs`}),F=A(()=>e(t)?!(e(t).indexUsed==="COLLSCAN"||e(t).indexUsed==="N/A"):null);lr(q,{get show(){return c.show},get onclose(){return c.onclose},title:"Execution Stats",wide:!0,footer:f=>{var j=pr();E("click",j,function(...Q){c.onclose?.apply(this,Q)}),g(f,j)},children:(f,j)=>{var Q=gr(),ae=te(Q);{var Ne=K=>{var ge=br(),ke=te(ge),ne=i(ke),xe=a(i(ne),2),ye=i(xe);l(xe),l(ne);var de=a(ne,2),De=a(i(de),2),he=i(De,!0);l(De),l(de);var Re=a(de,2),Fe=a(i(Re),2),je=i(Fe,!0);l(Fe),l(Re);var Ie=a(Re,2),$e=a(i(Ie),2),se=i($e,!0);l($e),l(Ie);var we=a(Ie,2),Le=a(i(we),2);let Se;var Qe=i(Le,!0);l(Le),l(we);var Ge=a(we,2),He=a(i(Ge),2),rt=i(He,!0);l(He),l(Ge),l(ke);var ot=a(ke,2);{var Ke=qe=>{var Ce=fr(),ue=i(Ce),Te=a(i(ue),2),Ve=i(Te);l(Te),l(ue);var n=a(ue,2),u=i(n);let m;l(n);var w=a(n,2);{var M=B=>{var N=mr();g(B,N)};S(w,B=>{e(F)===!1&&B(M)})}l(Ce),D((B,N)=>{O(Ve,`${e(ce)??""} (${e(d)??""}%)`),m=We(u,1,"h-full rounded-full transition-all duration-300",null,m,B),Et(u,`width: ${N??""}%`)},[()=>({"bg-green-500":e(F)&&Number(e(d))>=70,"bg-yellow-500":e(F)&&Number(e(d))>=30&&Number(e(d))<70,"bg-red-500":!e(F)||Number(e(d))<30}),()=>e(F)?Math.min(Number(e(d)),100):100]),g(qe,Ce)};S(ot,qe=>{e(d)!==null&&qe(Ke)})}D((qe,Ce,ue)=>{O(ye,`${e(t).executionTimeMs??""}ms`),O(he,qe),O(je,Ce),O(se,ue),Se=We(Le,1,"metric-value svelte-10vh4gh",null,Se,{warning:e(t).indexUsed==="COLLSCAN",good:e(t).indexUsed!=="COLLSCAN"}),O(Qe,e(t).indexUsed),O(rt,e(t).stage)},[()=>typeof e(t).nReturned=="number"?e(t).nReturned.toLocaleString():e(t).nReturned,()=>typeof e(t).docsExamined=="number"?e(t).docsExamined.toLocaleString():e(t).docsExamined,()=>typeof e(t).keysExamined=="number"?e(t).keysExamined.toLocaleString():e(t).keysExamined]),g(K,ge)};S(ae,K=>{e(t)&&K(Ne)})}var _=a(ae,2),X=a(i(_),2),Je=i(X);sr(Je,{get value(){return c.data},collapsed:!1}),l(X),l(_),g(f,Q)},$$slots:{footer:!0,default:!0}}),Dt()}jt(["click"]);function Ft(q,c){const y=t=>{q&&!q.contains(t.target)&&c()},r=setTimeout(()=>{document.addEventListener("click",y,!0)},0);return{destroy(){clearTimeout(r),document.removeEventListener("click",y,!0)}}}var yr=ut('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg>');function Qt(q,c){let y=Ee(c,"class",3,"w-4 h-4");var r=yr();D(()=>We(r,0,vt(y()))),g(q,r)}var hr=ut('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path></svg>');function _r(q,c){let y=Ee(c,"class",3,"w-4 h-4");var r=hr();D(()=>We(r,0,vt(y()))),g(q,r)}var kr=k('<textarea placeholder="[]" name="query" rows="5" class="w-full px-3 py-2 bg-transparent outline-none font-mono text-[13px] resize-y svelte-1o0c7a1" style="color: var(--text);"></textarea>'),wr=k('<input type="text" name="field" placeholder="field name" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/>'),Sr=k('<textarea name="query" rows="5" class="w-full px-3 py-2 bg-transparent outline-none font-mono text-[13px] resize-y svelte-1o0c7a1" style="color: var(--text);"></textarea>'),qr=k('<input type="text" name="query" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/>'),Cr=k('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition cursor-pointer text-[13px] font-medium flex items-center gap-1" style="color: var(--text-secondary);" title="Filter by document creation time"><span>📊</span> <!></button>'),Er=k('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer" style="color: var(--text);"><!></button>'),Nr=k('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer text-[13px] font-medium" style="color: var(--link);"> </button>'),Dr=k('<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50 sm:col-span-2"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Filter (optional)</div> <input type="text" name="query" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>'),jr=k('<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Sort</div> <input type="text" name="sort" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Project</div> <input type="text" name="project" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>',1),Ir=k('<div class="grid gap-2 sm:grid-cols-2"><!> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Skip</div> <input type="number" name="skip" min="0" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Limit</div> <input type="number" name="limit" min="1" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div></div>'),Lr=k('<div class="fixed z-[1000] rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] shadow-lg overflow-hidden"><button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Query</button> <button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Distinct</button> <button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Aggregation</button></div>'),Ur=k('<span class="inline-block w-3 h-3 border-2 border-[var(--border-color)] border-t-[var(--link)] rounded-full animate-spin"></span>'),Pr=k('<button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer flex justify-between items-center" style="color: var(--text);"><span> </span> <span class="font-medium tabular-nums" style="color: var(--text-secondary);"><!></span></button>'),Mr=k('<div class="fixed z-[1000] rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] shadow-lg overflow-hidden"></div>'),Rr=k('<div class="rounded-2xl border border-[var(--border-color)] bg-[var(--light-background)]/70 shadow-sm p-3 sm:p-4"><form class="flex flex-col gap-3" method="GET" action="?"><div class="flex items-stretch gap-2"><div class="flex-1 flex items-stretch rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><button type="button" class="h-full px-3 flex items-center gap-1 text-[13px] border-r border-[var(--border-color)] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text-secondary);"><span class="capitalize"> </span> <!></button> <!></div> <input type="hidden" name="mode"/> <input type="hidden" name="v"/> <div class="flex items-center gap-2"><!> <button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[15px] font-semibold leading-none transition cursor-pointer" style="color: var(--text);" title="Toggle optional fields"> </button> <!> <!> <button type="submit" class="h-9 px-4 py-0 rounded-xl btn btn-success text-lg font-semibold transition">Go</button></div></div> <!></form></div> <!> <!>',1);function $r(q,c){Nt(c,!0);const y=2e4;let r=Ee(c,"params",15),t=Ee(c,"editMode",15,!1),d=Ee(c,"readonly",11,!1),ce=Ee(c,"explainLoading",3,!1),F=C(ze(r().sort!=="{}"||r().project!=="{}"||r().skip!==0||r().limit!==20)),h=C(ze(Math.random())),f=C(void 0),j=C(!1),Q=C(void 0),ae=C(ze({left:"0px",top:"0px",minWidth:"140px"})),Ne=A(()=>r().query?.includes(`
2
2
  `)??!1);function _(s){if(s.key==="Enter"&&s.shiftKey){s.preventDefault();const p=s.target.selectionStart??0,x=r().query.slice(0,p),b=r().query.slice(p);r(r().query=x+`
3
3
  `+b,!0),Be().then(()=>{Be().then(()=>{e(f)?.setSelectionRange(p+1,p+1)})})}}function X(s){const o=s.clipboardData?.getData("text");if(o&&o.includes(`
4
4
  `)){s.preventDefault();const p=s.target,x=p.selectionStart??0,b=p.selectionEnd??x,L=r().query.slice(0,x),P=r().query.slice(b);r(r().query=L+o+P,!0);const W=x+o.length;Be().then(()=>{Be().then(()=>{e(f)?.setSelectionRange(W,W)})})}}Me(()=>{e(j)&&e(Q)&&Be().then(()=>{if(!e(Q))return;const s=e(Q).getBoundingClientRect();v(ae,{left:`${s.left}px`,top:`${s.bottom+5}px`,minWidth:`${s.width}px`},!0)})}),Me(()=>{(r().mode==="aggregation"||r().mode==="distinct")&&t()&&t(!1)}),Me(()=>{e(f)&&(e(f).setSelectionRange(1,1),e(f).focus())});async function Je(s){s.preventDefault(),Xt(h);const o=new FormData(e(ge)),p=[...o.entries()].map(b=>encodeURIComponent(b[0])+"="+encodeURIComponent(b[1])).join("&");if((At.url.pathname+"?"+p).length>y&&c.onsearch){c.onsearch(r());return}await nr(It(At.url.pathname+"?"+[...o.entries()].map(b=>encodeURIComponent(b[0])+"="+encodeURIComponent(b[1])).join("&")),{keepFocus:!0})}function K(s){if(r(r().mode=s,!0),v(j,!1),s==="aggregation"&&!r().query?.trimStart().startsWith("[")){const o=r().query?.trim();r(o&&o!=="{}"&&o!==""?r().query=`[{ $match: ${o} }]`:r().query="[]",!0)}else s==="query"&&r().query?.trimStart().startsWith("[")?r(r().query="{}",!0):s==="distinct"&&(r(r().field=void 0,!0),!r().query||r().query.trim()===""?r(r().query="{}",!0):r().query.trim()!=="{}"&&v(F,!0))}let ge=C(void 0);const ke=[{label:"Last 24 hours",days:1},{label:"Last 7 days",days:7},{label:"Last 30 days",days:30},{label:"Last 90 days",days:90},{label:"Last 180 days",days:180}];let ne=C(!1),xe=C(void 0),ye=C(ze({left:"0px",top:"0px",minWidth:"200px"})),de=C(!1),De=C(void 0),he=C(ze(ke.map(s=>({...s,count:null,error:null,loading:!1}))));Me(()=>{e(ne)&&e(xe)&&Be().then(()=>{if(!e(xe))return;const s=e(xe).getBoundingClientRect();v(ye,{left:`${s.right-200}px`,top:`${s.bottom+5}px`,minWidth:"200px"},!0)})});async function Re(){if(!c.server||!c.database||!c.collection||e(de))return;v(de,!0),v(he,ke.map(o=>({...o,count:null,error:null,loading:!0})),!0);const s=r().mode==="query"?r().query:void 0;v(De,s,!0);for(let o=0;o<ke.length;o++){const p=ke[o];try{const x=await Yt({server:c.server,database:c.database,collection:c.collection,days:p.days,query:s});e(he)[o]={...p,count:x.count,error:x.error,loading:!1}}catch(x){e(he)[o]={...p,count:null,error:x instanceof Error?x.message:String(x),loading:!1}}}v(de,!1)}function Fe(){if(v(ne,!e(ne)),!e(ne))return;const s=r().mode==="query"?r().query:void 0;(e(he).every(p=>p.count===null&&!p.error&&!p.loading)||e(De)!==s)&&Re()}function je(s){const o=Date.now(),p=s*24*60*60*1e3,b=Math.floor((o-p)/1e3).toString(16).padStart(8,"0")+"0000000000000000",L={$gte:{$type:"ObjectId",$value:b}};let P=`{_id: {$gte: ObjectId("${b}")}}`;try{const W=bt(r().query);if(W&&typeof W=="object"&&!Array.isArray(W)){const ve={...W,_id:L};P=gt(ve)}}catch{}r(r().query=P,!0),r(r().mode="query",!0),v(ne,!1),Be().then(()=>{e(ge)?.requestSubmit()})}var Ie=Rr(),$e=te(Ie),se=i($e),we=i(se),Le=i(we),Se=i(Le),Qe=i(Se),Ge=i(Qe,!0);l(Qe);var He=a(Qe,2);Qt(He,{class:"w-3 h-3"}),l(Se),et(Se,s=>v(Q,s),()=>e(Q));var rt=a(Se,2);{var ot=s=>{var o=kr();xt(o),et(o,p=>v(f,p),()=>e(f)),yt(()=>be(o,()=>r().query,p=>r(r().query=p,!0))),Oe(o,(p,x)=>_t?.(p,x),()=>({onsubmit:()=>e(ge)?.requestSubmit()})),g(s,o)},Ke=s=>{var o=wr();fe(o),be(o,()=>r().field,p=>r(r().field=p,!0)),g(s,o)},qe=s=>{var o=Sr();xt(o),Pe(o,"placeholder","{}"),et(o,p=>v(f,p),()=>e(f)),yt(()=>be(o,()=>r().query,p=>r(r().query=p,!0))),Oe(o,(p,x)=>_t?.(p,x),()=>({onsubmit:()=>e(ge)?.requestSubmit()})),g(s,o)},Ce=s=>{var o=qr();fe(o),Pe(o,"placeholder","{}"),et(o,p=>v(f,p),()=>e(f)),E("keydown",o,_),Mt("paste",o,X),be(o,()=>r().query,p=>r(r().query=p,!0)),g(s,o)};S(rt,s=>{r().mode==="aggregation"?s(ot):r().mode==="distinct"?s(Ke,1):e(Ne)?s(qe,2):s(Ce,!1)})}l(Le);var ue=a(Le,2);fe(ue);var Te=a(ue,2);fe(Te);var Ve=a(Te,2),n=i(Ve);{var u=s=>{var o=Cr(),p=a(i(o),2);Qt(p,{class:"w-3 h-3"}),l(o),et(o,x=>v(xe,x),()=>e(xe)),E("click",o,Fe),g(s,o)};S(n,s=>{c.server&&c.database&&c.collection&&s(u)})}var m=a(n,2),w=i(m,!0);l(m);var M=a(m,2);{var B=s=>{var o=Er(),p=i(o);_r(p,{class:"w-4 h-4"}),l(o),D(()=>{Pe(o,"title",r().mode!=="query"?"Update not available in this mode":"Update multiple documents"),o.disabled=r().mode!=="query"}),E("click",o,()=>{t(!t())}),g(s,o)};S(M,s=>{d()||s(B)})}var N=a(M,2);{var I=s=>{var o=Nr(),p=i(o,!0);l(o),D(()=>{Pe(o,"title",r().mode==="distinct"?"Explain not available for distinct queries":"Show query execution plan"),o.disabled=r().mode==="distinct"||ce(),O(p,ce()?"...":"Explain")}),E("click",o,function(...x){c.onexplain?.apply(this,x)}),g(s,o)};S(N,s=>{c.onexplain&&s(I)})}tt(2),l(Ve),l(we);var H=a(we,2);{var le=s=>{var o=Ir(),p=i(o);{var x=V=>{var pe=Dr(),ee=a(i(pe),2);fe(ee),Pe(ee,"placeholder","{}"),l(pe),be(ee,()=>r().query,_e=>r(r().query=_e,!0)),g(V,pe)},b=V=>{var pe=jr(),ee=te(pe),_e=a(i(ee),2);fe(_e),Pe(_e,"placeholder","{}"),l(ee);var U=a(ee,2),R=a(i(U),2);fe(R),Pe(R,"placeholder","{}"),l(U),be(_e,()=>r().sort,re=>r(r().sort=re,!0)),be(R,()=>r().project,re=>r(r().project=re,!0)),g(V,pe)};S(p,V=>{r().mode==="distinct"?V(x):V(b,!1)})}var L=a(p,2),P=a(i(L),2);fe(P),l(L);var W=a(L,2),ve=a(i(W),2);fe(ve),l(W),l(o),be(P,()=>r().skip,V=>r(r().skip=V,!0)),be(ve,()=>r().limit,V=>r(r().limit=V,!0)),g(s,o)};S(H,s=>{e(F)&&s(le)})}l(se),et(se,s=>v(ge,s),()=>e(ge)),l($e);var Y=a($e,2);{var ie=s=>{var o=Lr();let p;var x=i(o),b=a(x,2),L=a(b,2);l(o),Oe(o,P=>$t?.(P)),Oe(o,(P,W)=>Ft?.(P,W),()=>()=>v(j,!1)),D(()=>p=Et(o,"",p,{left:e(ae).left,top:e(ae).top,"min-width":e(ae).minWidth})),E("click",x,()=>K("query")),E("click",b,()=>K("distinct")),E("click",L,()=>K("aggregation")),g(s,o)};S(Y,s=>{e(j)&&s(ie)})}var Z=a(Y,2);{var z=s=>{var o=Mr();let p;Bt(o,21,()=>e(he),x=>x.label,(x,b)=>{var L=Pr(),P=i(L),W=i(P,!0);l(P);var ve=a(P,2),V=i(ve);{var pe=R=>{var re=Ur();g(R,re)},ee=R=>{var re=wt("⚠️");g(R,re)},_e=R=>{var re=wt();D(at=>O(re,at),[()=>oe(e(b).count)]),g(R,re)},U=R=>{var re=wt("—");g(R,re)};S(V,R=>{e(b).loading?R(pe):e(b).error?R(ee,1):e(b).count!==null?R(_e,2):R(U,!1)})}l(ve),l(L),D(()=>{L.disabled=e(b).loading,O(W,e(b).label)}),E("click",L,()=>je(e(b).days)),g(x,L)}),l(o),Oe(o,x=>$t?.(x)),Oe(o,(x,b)=>Ft?.(x,b),()=>()=>v(ne,!1)),D(()=>p=Et(o,"",p,{left:e(ye).left,top:e(ye).top,"min-width":e(ye).minWidth})),g(s,o)};S(Z,s=>{e(ne)&&s(z)})}D(()=>{O(Ge,r().mode),ht(ue,r().mode),ht(Te,e(h)),O(w,e(F)?"−":"+")}),Mt("submit",se,Je),E("click",Se,()=>v(j,!e(j))),E("click",m,()=>{v(F,!e(F))}),g(q,Ie),Dt()}jt(["click","keydown"]);var Tr=ut('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>');function Ar(q,c){let y=Ee(c,"class",3,"w-4 h-4");var r=Tr();D(()=>We(r,0,vt(y()))),g(q,r)}var Or=ut('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12h14"></path></svg>');function Fr(q,c){let y=Ee(c,"class",3,"w-4 h-4");var r=Or();D(()=>We(r,0,vt(y()))),g(q,r)}var Qr=ut('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18"></path><path d="M7 12h10"></path><path d="M10 18h4"></path><path d="m7 16 3 3 3-3"></path></svg>');function Br(q,c){let y=Ee(c,"class",3,"w-4 h-4");var r=Qr();D(()=>We(r,0,vt(y()))),g(q,r)}const qt=(q,c=dt,y=dt)=>{var r=zr();D(t=>Pe(r,"href",t),[()=>It(c())]),E("click",r,function(...t){y()?.apply(this,t)}),g(q,r)},Ct=(q,c=dt,y=dt)=>{var r=Wr();D(t=>Pe(r,"href",t),[()=>It(c())]),E("click",r,function(...t){y()?.apply(this,t)}),g(q,r)};var zr=k('<a class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition no-underline -my-2" style="color: var(--text);">Previous</a>'),Wr=k('<a class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition no-underline" style="color: var(--text);">Next</a>'),Jr=k('<button class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition" style="color: var(--text); cursor: pointer;" title="Reverse sort order"><!></button>'),Gr=k('<button class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition" style="color: var(--text); cursor: pointer;" title="Copy distinct values"><!></button>'),Hr=k('<button class="btn btn-success"><!> Insert Document</button>'),Kr=k('<div class="space-y-3"><label for="insert-document" class="block text-sm font-semibold mb-2" style="color: var(--text);">Document JSON:</label> <textarea id="insert-document" placeholder="Document JSON" rows="6" class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm focus:outline-none focus:ring-2" style="color: var(--text); --tw-ring-color: var(--link);"></textarea> <div class="flex gap-3"><button class="btn btn-success hover:bg-[var(--button-success-l)]"> </button> <button class="btn btn-default">Cancel</button></div></div>'),Vr=k('<div class="flex gap-3"><button class="btn btn-default"> </button></div>'),Xr=k(`<div class="text-sm rounded-xl bg-yellow-500/10 p-4 border border-yellow-500/30" style="color: var(--text-secondary);"><p class="font-semibold text-yellow-600 mb-2">⚠️ Query Changed</p> <p style="color: var(--text);">The filter has changed since you last checked the count. Please check the document count again before
@@ -1 +1 @@
1
- import{c as J,a as u,f}from"../chunks/ULh2o3ji.js";import{p as L,f as M,a as T,g as o,b as I,u as v,c as g,r as y,s as _,t as z,d as s}from"../chunks/C6nv_pni.js";import{d as A,s as B,a as k}from"../chunks/DaNl6Y92.js";import{i as D}from"../chunks/CX0xC2bt.js";import{i as G,b as H,u as K}from"../chunks/DxElUGai.js";import{g as N}from"../chunks/7pJPnwjh.js";import{b as Q}from"../chunks/CvSzAfZh.js";import{P as w}from"../chunks/D5qcP0Bh.js";import{n as c}from"../chunks/DskkUG-R.js";var V=f('<div class="loading svelte-khslrq">Loading...</div>'),W=f('<div class="insert-container svelte-khslrq"><h3 class="svelte-khslrq"> </h3> <!> <button class="btn btn-default mt-4">Cancel</button></div>'),X=f('<button class="btn btn-success">Insert Document</button>'),Y=f('<div class="not-found-container svelte-khslrq"><div class="text-center svelte-khslrq">Document not found</div> <!></div>');function dt(q,t){L(t,!0);let l=I(!1),d=v(()=>t.data.document),b=I(!1);async function C(e){const a=e?._id?.$value??e?._id,n=o(d)?._id?.$value??o(d)?._id;if(a!==n){c.notifyError("ObjectId changed. This is not supported, update canceled.");return}if(n){s(l,!0);try{const r=await K({server:t.data.server,database:t.data.database,collection:t.data.collection,document:n,value:e,partial:!1});r.ok&&(c.notifySuccess("Document updated successfully"),s(d,r.update))}catch(r){c.notifyError(r,"Failed to update document")}finally{s(l,!1)}}}async function E(){const e=o(d)?._id?.$value??o(d)?._id;if(e)try{await H({server:t.data.server,database:t.data.database,collection:t.data.collection,document:e}),c.notifySuccess("Document removed successfully"),N(`${Q}/servers/${encodeURIComponent(t.data.server)}/databases/${encodeURIComponent(t.data.database)}/collections/${encodeURIComponent(t.data.collection)}?query=${encodeURIComponent("{}")}&sort=&project=&skip=0&limit=20`)}catch(a){c.notifyError(a,"Failed to remove document")}}async function O(e){s(l,!0);try{(await G({server:t.data.server,database:t.data.database,collection:t.data.collection,document:t.data.documentId,value:e})).ok&&(c.notifySuccess("Document inserted successfully"),window.location.reload())}catch(a){c.notifyError(a,"Failed to insert document")}finally{s(l,!1)}}function x(){s(b,!0)}var h=J(),R=M(h);{var S=e=>{var a=V();u(e,a)},U=e=>{{let a=v(()=>t.data.readOnly?void 0:C),n=v(()=>t.data.readOnly?void 0:E);w(e,{get json(){return o(d)},get onedit(){return o(a)},get onremove(){return o(n)},get server(){return t.data.server},get database(){return t.data.database},get collection(){return t.data.collection},get mappings(){return t.data.mappings}})}},j=e=>{var a=W(),n=g(a),r=g(n);y(n);var i=_(n,2);{let P=v(()=>({_id:{$type:"ObjectId",$value:t.data.documentId}}));w(i,{get json(){return o(P)},onedit:O,get server(){return t.data.server},get database(){return t.data.database},get collection(){return t.data.collection},get mappings(){return t.data.mappings},startInEditMode:!0})}var m=_(i,2);y(a),z(()=>B(r,`Insert Document with ID: ${t.data.documentId??""}`)),k("click",m,()=>s(b,!1)),u(e,a)},F=e=>{var a=Y(),n=_(g(a),2);{var r=i=>{var m=X();k("click",m,x),u(i,m)};D(n,i=>{t.data.readOnly||i(r)})}y(a),u(e,a)};D(R,e=>{o(l)?e(S):o(d)?e(U,1):o(b)?e(j,2):e(F,!1)})}u(q,h),T()}A(["click"]);export{dt as component};
1
+ import{c as J,a as u,f}from"../chunks/ULh2o3ji.js";import{p as L,f as M,a as T,g as o,b as I,u as v,c as g,r as y,s as _,t as z,d as s}from"../chunks/C6nv_pni.js";import{d as A,s as B,a as k}from"../chunks/DaNl6Y92.js";import{i as D}from"../chunks/CX0xC2bt.js";import{i as G,b as H,u as K}from"../chunks/ZsFEdbVh.js";import{g as N}from"../chunks/BzDxl-xY.js";import{b as Q}from"../chunks/C4KNUyMJ.js";import{P as w}from"../chunks/Lr-7lzyW.js";import{n as c}from"../chunks/DskkUG-R.js";var V=f('<div class="loading svelte-khslrq">Loading...</div>'),W=f('<div class="insert-container svelte-khslrq"><h3 class="svelte-khslrq"> </h3> <!> <button class="btn btn-default mt-4">Cancel</button></div>'),X=f('<button class="btn btn-success">Insert Document</button>'),Y=f('<div class="not-found-container svelte-khslrq"><div class="text-center svelte-khslrq">Document not found</div> <!></div>');function dt(q,t){L(t,!0);let l=I(!1),d=v(()=>t.data.document),b=I(!1);async function C(e){const a=e?._id?.$value??e?._id,n=o(d)?._id?.$value??o(d)?._id;if(a!==n){c.notifyError("ObjectId changed. This is not supported, update canceled.");return}if(n){s(l,!0);try{const r=await K({server:t.data.server,database:t.data.database,collection:t.data.collection,document:n,value:e,partial:!1});r.ok&&(c.notifySuccess("Document updated successfully"),s(d,r.update))}catch(r){c.notifyError(r,"Failed to update document")}finally{s(l,!1)}}}async function E(){const e=o(d)?._id?.$value??o(d)?._id;if(e)try{await H({server:t.data.server,database:t.data.database,collection:t.data.collection,document:e}),c.notifySuccess("Document removed successfully"),N(`${Q}/servers/${encodeURIComponent(t.data.server)}/databases/${encodeURIComponent(t.data.database)}/collections/${encodeURIComponent(t.data.collection)}?query=${encodeURIComponent("{}")}&sort=&project=&skip=0&limit=20`)}catch(a){c.notifyError(a,"Failed to remove document")}}async function O(e){s(l,!0);try{(await G({server:t.data.server,database:t.data.database,collection:t.data.collection,document:t.data.documentId,value:e})).ok&&(c.notifySuccess("Document inserted successfully"),window.location.reload())}catch(a){c.notifyError(a,"Failed to insert document")}finally{s(l,!1)}}function x(){s(b,!0)}var h=J(),R=M(h);{var S=e=>{var a=V();u(e,a)},U=e=>{{let a=v(()=>t.data.readOnly?void 0:C),n=v(()=>t.data.readOnly?void 0:E);w(e,{get json(){return o(d)},get onedit(){return o(a)},get onremove(){return o(n)},get server(){return t.data.server},get database(){return t.data.database},get collection(){return t.data.collection},get mappings(){return t.data.mappings}})}},j=e=>{var a=W(),n=g(a),r=g(n);y(n);var i=_(n,2);{let P=v(()=>({_id:{$type:"ObjectId",$value:t.data.documentId}}));w(i,{get json(){return o(P)},onedit:O,get server(){return t.data.server},get database(){return t.data.database},get collection(){return t.data.collection},get mappings(){return t.data.mappings},startInEditMode:!0})}var m=_(i,2);y(a),z(()=>B(r,`Insert Document with ID: ${t.data.documentId??""}`)),k("click",m,()=>s(b,!1)),u(e,a)},F=e=>{var a=Y(),n=_(g(a),2);{var r=i=>{var m=X();k("click",m,x),u(i,m)};D(n,i=>{t.data.readOnly||i(r)})}y(a),u(e,a)};D(R,e=>{o(l)?e(S):o(d)?e(U,1):o(b)?e(j,2):e(F,!1)})}u(q,h),T()}A(["click"]);export{dt as component};
@@ -1 +1 @@
1
- import{f as v,a as i,c as kt,t as Tt}from"../chunks/ULh2o3ji.js";import{p as Jt,a2 as ae,s as d,c as a,r as t,a as Kt,g as e,u as P,t as E,b as w,G as $e,d as l,f as te,a3 as $t,n as Ne,ax as At,ba as Oa}from"../chunks/C6nv_pni.js";import{d as Vt,s as j,a as V}from"../chunks/DaNl6Y92.js";import{a as Ma,f as Ia}from"../chunks/DczwA5Ds.js";import{p as lt,i as k}from"../chunks/CX0xC2bt.js";import{e as it,n as F,s as Bt,i as Rt}from"../chunks/DskkUG-R.js";import{a as qt}from"../chunks/B59nRjE7.js";import{a as me,s as ge}from"../chunks/DaB19yDO.js";import{a as Be,b as ot}from"../chunks/gjWX2x82.js";import{g as Ea,h as Ca,j as Fa,k as Da,l as Ua,P as Ae,m as La,n as Ta}from"../chunks/DxElUGai.js";import{d as $a,e as Aa,f as Ba}from"../chunks/7pJPnwjh.js";import{p as je}from"../chunks/rsaImgdg.js";import{j as Wt,J as Ra}from"../chunks/BwQP80RK.js";import{M as zt}from"../chunks/Dbu5gl04.js";const qa=async n=>({...n.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),er=Object.freeze(Object.defineProperty({__proto__:null,load:qa},Symbol.toStringTag,{value:"Module"}));function Wa(n,o){if(n.length<o.length&&o.endsWith(n))return n;if(o.length<n.length&&n.endsWith(o))return o;let c="",s=n.length-1,b=o.length-1;for(;s>=0&&b>=0&&n[s]===o[b];)c=n.slice(s),s--,b--;return c}function za(n,o){if(!n||o.length===0)return null;let c=null,s=0;for(const b of o){const C=Wa(n,b);C.length>s?(s=C.length,c=b):C.length===s&&(c=null)}return c}var Ha=v('<div class="loading-message svelte-14baj27">Loading nodes...</div>'),Ja=v('<div class="no-nodes-message svelte-14baj27">No nodes found. Click "Fetch Usage" to load nodes.</div>'),Ka=v('<span class="primary-badge svelte-14baj27">PRIMARY</span>'),Va=v('<label class="checkbox-label svelte-14baj27"><input type="checkbox" class="svelte-14baj27"/> <span class="node-name svelte-14baj27"> <!></span></label>'),Ga=v('<div class="selector-options svelte-14baj27"></div>'),Ya=v('<div class="replica-set-selector svelte-14baj27"><div class="selector-header svelte-14baj27"><span class="selector-title svelte-14baj27">Replica Set Nodes</span> <span class="selector-subtitle svelte-14baj27">Select specific nodes to fetch index stats from</span></div> <!></div>');function Qa(n,o){Jt(o,!0);let c=lt(o,"availableNodes",27,()=>ae([])),s=lt(o,"selectedNodes",31,()=>ae([])),b=lt(o,"loading",3,!1),C=lt(o,"primaryNode",3,null),R=P(()=>Object.fromEntries(c().map(O=>[O,s().includes(O)])));const Pe=P(()=>!C()||c().length===0?null:za(C(),c()));function se(){s(Object.keys(e(R)).filter(O=>e(R)[O]))}var D=Ya(),$=d(a(D),2);{var _e=O=>{var J=Ha();i(O,J)},Re=O=>{var J=Ja();i(O,J)},G=O=>{var J=Ga();it(J,20,c,re=>re,(re,q)=>{var K=Va(),le=a(K);me(le);var ve=d(le,2),Oe=a(ve),dt=d(Oe);{var qe=A=>{var ct=Ka();i(A,ct)};k(dt,A=>{q===e(Pe)&&A(qe)})}t(ve),t(K),E(()=>{ge(ve,"title",q),j(Oe,`${q??""} `)}),V("change",le,se),Be(le,()=>e(R)[q],A=>e(R)[q]=A),i(re,K)}),t(J),i(O,J)};k($,O=>{b()?O(_e):c().length===0?O(Re,1):O(G,!1)})}t(D),i(n,D),Kt()}Vt(["change"]);function nt(n,o=3){if(n===0)return"0";const c=Math.abs(n),s=n<0?"-":"";if(c>=1e9){const b=c/1e9;return`${s}${b.toPrecision(o)}B`}else if(c>=1e6){const b=c/1e6;return`${s}${b.toPrecision(o)}M`}else if(c>=1e3){const b=c/1e3;return`${s}${b.toPrecision(o)}k`}else return`${s}${c.toPrecision(Math.min(o,Math.ceil(Math.log10(c+1))))}`}function Xa(n){if(!n)return"";const c=new Date().getTime()-n.getTime(),s=Math.floor(c/1e3),b=Math.floor(s/60),C=Math.floor(b/60);return C>0?`${C}h ${b%60}m ago`:b>0?`${b}m ${s%60}s ago`:`${s}s ago`}function Gt(n){if(n.length===0||n.length===1)return"";let o=n[0];for(let c=1;c<n.length;c++)for(;n[c].indexOf(o)!==0;)if(o=o.substring(0,o.length-1),o==="")return"";return o}function Za(n){if(n.length===0||n.length===1)return"";const o=n.map(s=>s.split("").reverse().join(""));return Gt(o).split("").reverse().join("")}function es(n,o,c){if(!o&&!c)return n;let s=n;if(o&&s.startsWith(o)&&(s=s.slice(o.length)),c&&s.endsWith(c)&&(s=s.slice(0,-c.length)),s.length===0)return n;const b=o.length>0,C=c.length>0;return b&&C?`…${s}…`:b?`…${s}`:C?`${s}…`:s}function ts(n){if(n.length<=1)return Object.fromEntries(n.map(s=>[s,s]));const o=Gt(n),c=Za(n);return Object.fromEntries(n.map(s=>[s,es(s,o,c)]))}function as(n,o){return Object.fromEntries(Object.entries(n).filter(([c])=>!o.includes(c)))}function Ht(n){let o=0;for(const c of n)o+=c;return o}var ss=v('<div class="p-4 svelte-l3ef1w"><p class="error svelte-l3ef1w"> </p></div>'),rs=v('<button class="btn btn-success btn-sm flex items-center svelte-l3ef1w" type="button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4 inline mr-1 svelte-l3ef1w"><path d="M12 5v14M5 12h14" class="svelte-l3ef1w"></path></svg> Create Index</button>'),ls=v('<div class="text-center p-4 svelte-l3ef1w" style="color: var(--text-darker)">No indexes found</div>'),os=v('<label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Aggregate usage</span></label>'),ns=v('<div class="mb-4 svelte-l3ef1w"><!> <div class="mt-3 flex gap-3 items-center flex-wrap svelte-l3ef1w"><button><!></button> <!></div></div>'),is=v('<th style="width: 150px" class="svelte-l3ef1w">Actions</th>'),ds=v('<span class="index-key svelte-l3ef1w"> </span>'),cs=v('<div class="flex flex-wrap gap-2 svelte-l3ef1w"></div>'),vs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),fs=v('<span class="badge badge-building svelte-l3ef1w">building</span>'),us=v('<span class="badge badge-hidden svelte-l3ef1w">hidden</span>'),ps=v('<span class="badge badge-unique svelte-l3ef1w">unique</span>'),bs=v('<span class="badge badge-sparse svelte-l3ef1w">sparse</span>'),ms=v('<span class="badge badge-partial svelte-l3ef1w">partial</span>'),gs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),_s=v('<span class="text-sm whitespace-nowrap svelte-l3ef1w"> </span>'),hs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),xs=v('<span class="increment-badge svelte-l3ef1w"> </span>'),ws=v('<div class="svelte-l3ef1w"> <!> <span class="text-xs svelte-l3ef1w" style="color: var(--text-darker)"> </span></div>'),ys=v('<span class="increment-badge svelte-l3ef1w"> </span>'),ks=v('<div class="separate-stat svelte-l3ef1w"><span class="stat-host svelte-l3ef1w"> </span> <span class="stat-value svelte-l3ef1w"> <!></span></div>'),Ss=v('<div class="svelte-l3ef1w"> </div>'),Ns=v('<div class="text-sm mt-1 svelte-l3ef1w"><!></div>'),js=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),Ps=v('<div class="flex gap-2 hidden group-hover:flex -my-2 svelte-l3ef1w"><button class="btn btn-outline-light btn-sm svelte-l3ef1w"> </button> <button class="btn btn-outline-danger btn-sm svelte-l3ef1w">Drop</button></div>'),Os=v('<td class="svelte-l3ef1w"><!></td>'),Ms=v('<tr><td class="name-cell svelte-l3ef1w"><span class="font-mono text-sm index-name svelte-l3ef1w"> </span></td><td class="svelte-l3ef1w"><!></td><td class="svelte-l3ef1w"><div class="flex flex-wrap gap-2 svelte-l3ef1w"><!> <!> <!> <!> <!> <!></div></td><td class="svelte-l3ef1w"><!></td><td class="svelte-l3ef1w"><!></td><td class="svelte-l3ef1w"><details class="cursor-pointer svelte-l3ef1w"><summary class="details-link svelte-l3ef1w">View full</summary> <div class="details-content svelte-l3ef1w"><!></div></details></td><!></tr>'),Is=v('<div class="table-wrapper svelte-l3ef1w"><table class="table svelte-l3ef1w"><thead class="svelte-l3ef1w"><tr class="svelte-l3ef1w"><th class="name-column svelte-l3ef1w">Name</th><th class="svelte-l3ef1w">Keys</th><th class="svelte-l3ef1w">Properties</th><th class="shrink-column svelte-l3ef1w">Size</th><th class="shrink-column svelte-l3ef1w">Usage</th><th style="min-width: 300px" class="svelte-l3ef1w">Details</th><!></tr></thead><tbody class="svelte-l3ef1w"></tbody></table></div>'),Es=v("<!> <!>",1),Cs=v('<div class="mb-4 flex gap-3 svelte-l3ef1w"><!> <button class="btn btn-primary btn-sm svelte-l3ef1w"> </button></div> <!>',1),Fs=v('<div class="p-4 svelte-l3ef1w"><p class="error svelte-l3ef1w"> </p></div>'),Ds=v('<div class="loading svelte-l3ef1w">Loading indexes...</div>'),Us=v('<button class="btn btn-default btn-sm svelte-l3ef1w">Cancel</button> <button class="btn btn-danger btn-sm svelte-l3ef1w">Drop Index</button>',1),Ls=v('<p class="svelte-l3ef1w">Are you sure you want to drop the index <strong class="svelte-l3ef1w"> </strong>?</p> <p class="text-sm mt-2 svelte-l3ef1w" style="color: var(--text-darker)">This action cannot be undone. The index will need to be recreated if needed again.</p>',1),Ts=v('<button class="btn btn-default btn-sm svelte-l3ef1w">Cancel</button> <button class="btn btn-success btn-sm svelte-l3ef1w"> </button>',1),$s=v('<div class="space-y-4 svelte-l3ef1w"><div class="svelte-l3ef1w"><label for="index-keys" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">Index Keys (JSON) <span style="color: var(--error);" class="svelte-l3ef1w">*</span></label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Define the fields to index. Use 1 for ascending, -1 for descending. Example: <code class="svelte-l3ef1w"></code></p> <textarea id="index-keys" rows="3" class="w-full p-3 rounded border border-[var(--border-color)] bg-[var(--color-1)] font-mono text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"></textarea></div> <div class="svelte-l3ef1w"><label for="index-name" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">Index Name (Optional)</label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Leave empty to auto-generate based on fields</p> <input id="index-name" type="text" placeholder="e.g., user_email_idx" class="w-full p-2 rounded border border-[var(--border-color)] bg-[var(--color-1)] text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"/></div> <div class="grid grid-cols-2 gap-3 svelte-l3ef1w"><label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Unique</span></label> <label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Sparse</span></label> <label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Background</span></label></div> <div class="svelte-l3ef1w"><label for="index-partial" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">Partial Filter Expression (Optional)</label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Only index documents that match this filter. Example: <code class="svelte-l3ef1w"></code></p> <textarea id="index-partial" rows="2" class="w-full p-3 rounded border border-[var(--border-color)] bg-[var(--color-1)] font-mono text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"></textarea></div> <div class="svelte-l3ef1w"><label for="index-ttl" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">TTL - Expire After Seconds (Optional)</label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Automatically delete documents after specified seconds (for TTL indexes)</p> <input id="index-ttl" type="number" placeholder="e.g., 3600" min="0" class="w-full p-2 rounded border border-[var(--border-color)] bg-[var(--color-1)] text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"/></div></div>'),As=v("<!> <!> <!>",1);function tr(n,o){Jt(o,!0);const c=P(()=>o.data.readOnly);let s=w(null),b=w(ae(new Set)),C=w(!1),R=w(null),Pe=w(!1),se=w(!1),D=w(ae([])),$=w(ae([])),_e=w(!1),Re=w(null),G=w(ae({})),O=w(ae({})),J=w(null),re=w(!1),q=w(!1),K=w(!1),le=w(!1),ve=w(ae([])),Oe=w(ae(new Date));const dt=P(()=>{const f=[...new Set(Object.values(e(G)).map(p=>p.host))];return ts(f)}),qe=P(()=>e($).length!==e(ve).length||!e($).every(f=>e(ve).includes(f))),A=P(()=>Object.keys(e(O)).length>0&&!e(qe)),ct=P(()=>(e(Oe),Xa(e(J))));$e(()=>{const f=setInterval(()=>{l(Oe,new Date,!0)},1e3);return()=>clearInterval(f)});let We=w('{ "fieldName": 1 }'),ze=w(""),He=w(!1),Je=w(!1),Ke=w(""),Ve=w(void 0),Ge=w(!1);$e(()=>{o.data.indexes.then(f=>{e(s)||l(s,f,!0)})});const Yt=P(()=>e(s)||o.data.indexes);async function Qt(f,p){const{server:_,database:u,collection:g}=je.params;if(!(!_||!u||!g)){e(b).add(f),l(b,e(b),!0);try{const x={server:_,database:u,collection:g,index:f};if(p?await La(x):await Ta(x),e(s)&&e(s).data){const M=e(s).data.map(S=>S.name===f?{...S,hidden:!p}:S);l(s,{...e(s),data:M},!0)}F.notifySuccess(`Index ${p?"unhidden":"hidden"} successfully`)}catch(x){F.notifyError(x,`Failed to ${p?"unhide":"hide"} index`)}finally{e(b).delete(f),l(b,e(b),!0)}}}function Xt(){l(We,'{ "fieldName": 1 }'),l(ze,""),l(He,!1),l(Je,!1),l(Ke,""),l(Ve,void 0),l(Ge,!1),l(Pe,!0)}function vt(){l(Pe,!1)}async function Zt(){const{server:f,database:p,collection:_}=je.params;if(!(!f||!p||!_)){l(q,!0);try{await Ua({server:f,database:p,collection:_,keys:e(We),name:e(ze)||void 0,unique:e(He)||void 0,sparse:e(Je)||void 0,partialFilterExpression:e(Ke)||void 0,expireAfterSeconds:e(Ve),background:e(Ge)||void 0}),F.notifySuccess("Index created successfully"),vt(),await Ba("app:indexes")}catch(u){F.notifyError(u,"Failed to create index")}finally{l(q,!1)}}}function ea(f){l(R,f,!0),l(C,!0)}function ft(){l(C,!1),l(R,null)}async function ta(){if(!e(R))return;const{server:f,database:p,collection:_}=je.params;if(!f||!p||!_)return;e(b).add(e(R)),l(b,e(b),!0);const u=e(R);try{if(await Da({server:f,database:p,collection:_,index:u}),e(s)&&e(s).data){const g=e(s).data.filter(x=>x.name!==u);l(s,{...e(s),data:g},!0)}F.notifySuccess(`Index "${u}" dropped successfully`),ft()}catch(g){F.notifyError(g,"Failed to drop index")}finally{e(b).delete(u),l(b,e(b),!0)}}async function St(){const{server:f,database:p,collection:_}=je.params;if(!(!f||!p||!_)){l(_e,!0);try{const u=await Ea({server:f});if(u.error)F.notifyError(u.error,"Failed to load nodes"),l(D,[],!0);else if(l(D,u.data,!0),e(D).length>0){F.notifySuccess(`Found ${e(D).length} node(s)`);const g=await Ca({server:f,database:p,collection:_});!g.error&&g.data&&l(Re,g.data,!0)}}catch(u){F.notifyError(u,"Failed to load nodes"),l(D,[],!0)}finally{l(_e,!1)}}}async function Nt(f=!0){const{server:p,database:_,collection:u}=je.params;if(!p||!_||!u)return;if(e($).length===0){F.notifyError("No nodes selected","Please select at least one node");return}l(re,!0);const g=e(qe)||!e(A);try{const x=await Fa({server:p,database:_,collection:u,nodes:e($)});x.error&&F.notifyError(x.error,"Failed to fetch stats from some nodes"),l(G,x.data,!0),l(ve,[...e($)],!0),g&&(l(O,{...e(G)},!0),l(J,new Date,!0));const M=Object.keys(e(G)).length;if(M===0)F.notifyError("No stats found","No index stats found for selected nodes");else{const S=g?`Fetched stats from ${M} index/host combination(s)`:`Updated stats from ${M} index/host combination(s)`;F.notifySuccess(S)}if(f){const S=new URL(window.location.href);S.searchParams.set("nodes",e($).join(",")),e(K)&&S.searchParams.set("aggregate","true"),Aa(S.toString(),{})}}catch(x){F.notifyError(x,"Failed to fetch multi-node usage")}finally{l(re,!1)}}$e(()=>{e(se)&&e(D).length===0&&!e(_e)&&St()}),$e(()=>{if(!e(le)){const f=new URL(je.url),p=f.searchParams.get("nodes"),_=f.searchParams.get("aggregate");if(p){const u=p.split(",").filter(g=>g.length>0);u.length>0&&(l(se,!0),l($,u,!0),e(D).length===0&&St().then(()=>{u.length>0&&Nt(!1)}))}_!==null&&l(K,_==="true"),l(le,!0)}}),$e(()=>{if(e(le)&&Object.keys(e(G)).length>0){const f=new URL(window.location.href);e(K)?f.searchParams.set("aggregate","true"):f.searchParams.delete("aggregate"),$a(f.toString(),{})}});var jt=As(),Pt=te(jt);Ma(Pt,()=>e(Yt),f=>{Ae(f,{title:"Indexes",children:(p,_)=>{var u=Ds();i(p,u)},$$slots:{default:!0}})},(f,p)=>{var _=kt(),u=te(_);{var g=M=>{Ae(M,{title:"Indexes",children:(S,oe)=>{var Y=ss(),ne=a(Y),Q=a(ne,!0);t(ne),t(Y),E(()=>j(Q,e(p).error)),i(S,Y)},$$slots:{default:!0}})},x=M=>{var S=Cs(),oe=te(S),Y=a(oe);{var ne=U=>{var W=rs();V("click",W,Xt),i(U,W)};k(Y,U=>{e(c)||U(ne)})}var Q=d(Y,2),Ye=a(Q);t(Q),t(oe);var Me=d(oe,2);{var Qe=U=>{Ae(U,{title:"Indexes",children:(W,fe)=>{var Ie=ls();i(W,Ie)},$$slots:{default:!0}})},Xe=U=>{var W=Es(),fe=te(W);{var Ie=ie=>{var ue=ns(),y=a(ue);Qa(y,{get loading(){return e(_e)},get primaryNode(){return e(Re)},get availableNodes(){return e(D)},set availableNodes(N){l(D,N,!0)},get selectedNodes(){return e($)},set selectedNodes(N){l($,N,!0)}});var Ee=d(y,2),z=a(Ee);let Ce;var ut=a(z);{var pt=N=>{var B=Tt();E(()=>j(B,e(A)?"Checking Δ...":"Fetching...")),i(N,B)},Ze=N=>{var B=Tt();E(()=>j(B,e(A)?"Δ Usage":"Fetch Usage")),i(N,B)};k(ut,N=>{e(re)?N(pt):N(Ze,!1)})}t(z);var X=d(z,2);{var h=N=>{var B=os(),xe=a(B);me(xe),Ne(2),t(B),Be(xe,()=>e(K),De=>l(K,De)),i(N,B)},Fe=P(()=>Object.keys(e(G)).length>0);k(X,N=>{e(Fe)&&N(h)})}t(Ee),t(ue),E(()=>{Ce=Bt(z,1,"btn btn-sm svelte-l3ef1w",null,Ce,{"btn-primary":!e(A),"btn-outline-primary":e(A)}),z.disabled=e(re)||e($).length===0,ge(z,"title",e(A)?`Baseline from ${e(ct)}`:"Fetch index usage statistics")}),V("click",z,()=>Nt()),i(ie,ue)};k(fe,ie=>{e(se)&&ie(Ie)})}var he=d(fe,2);Ae(he,{title:"Indexes",children:(ie,ue)=>{var y=Is(),Ee=a(y),z=a(Ee),Ce=a(z),ut=d(a(Ce),6);{var pt=X=>{var h=is();i(X,h)};k(ut,X=>{e(c)||X(pt)})}t(Ce),t(z);var Ze=d(z);it(Ze,21,()=>e(p).data,X=>X.name,(X,h)=>{const Fe=P(()=>e(b).has(e(h).name));var N=Ms();let B;var xe=a(N),De=a(xe),sa=a(De,!0);t(De),t(xe);var bt=d(xe),ra=a(bt);{var la=r=>{var m=cs();it(m,21,()=>Object.entries(e(h).key),Rt,(de,Z)=>{var ce=P(()=>Oa(e(Z),2));let pe=()=>e(ce)[0],H=()=>e(ce)[1];var I=ds(),L=a(I);t(I),E(()=>j(L,`${pe()??""}: ${(H()===1?"↑":H()===-1?"↓":H())??""}`)),i(de,I)}),t(m),i(r,m)},oa=r=>{var m=vs();i(r,m)};k(ra,r=>{e(h).key?r(la):r(oa,!1)})}t(bt);var mt=d(bt),Mt=a(mt),It=a(Mt);{var na=r=>{var m=fs();i(r,m)};k(It,r=>{e(h).stats?.building&&r(na)})}var Et=d(It,2);{var ia=r=>{var m=us();i(r,m)};k(Et,r=>{e(h).hidden&&r(ia)})}var Ct=d(Et,2);{var da=r=>{var m=ps();i(r,m)};k(Ct,r=>{e(h).unique&&r(da)})}var Ft=d(Ct,2);{var ca=r=>{var m=bs();i(r,m)};k(Ft,r=>{e(h).sparse&&r(ca)})}var Dt=d(Ft,2);{var va=r=>{var m=ms();i(r,m)};k(Dt,r=>{e(h).partialFilterExpression&&r(va)})}var fa=d(Dt,2);{var ua=r=>{var m=gs();i(r,m)};k(fa,r=>{!e(h).stats?.building&&!e(h).hidden&&!e(h).unique&&!e(h).sparse&&!e(h).partialFilterExpression&&r(ua)})}t(Mt),t(mt);var gt=d(mt),pa=a(gt);{var ba=r=>{var m=_s(),de=a(m,!0);t(m),E(Z=>j(de,Z),[()=>Ia(e(h).size)]),i(r,m)},ma=r=>{var m=hs();i(r,m)};k(pa,r=>{e(h).size?r(ba):r(ma,!1)})}t(gt);var _t=d(gt),ga=a(_t);{var _a=r=>{const m=P(()=>Object.entries(e(G)).filter(([I])=>I.startsWith(`${e(h).name}::`)).map(([I,L])=>({key:I,stats:L}))),de=P(()=>Object.fromEntries(Object.entries(e(O)).filter(([I])=>I.startsWith(`${e(h).name}::`))));var Z=Ns(),ce=a(Z);{var pe=I=>{var L=kt(),xt=te(L);{var wt=we=>{const ye=P(()=>Ht(e(m).map(T=>T.stats.ops))),et=P(()=>Ht(Object.values(e(de)).map(T=>T.ops))),Ue=P(()=>e(et)>0?e(ye)-e(et):0);var be=ws(),tt=a(be),ee=d(tt);{var at=T=>{var Le=xs(),st=a(Le);t(Le),E(rt=>j(st,`+${rt??""}`),[()=>nt(e(Ue))]),i(T,Le)};k(ee,T=>{e(Ue)>0&&T(at)})}var ke=d(ee,2),Se=a(ke);t(ke),t(be),E(T=>{ge(be,"title",`Aggregated across ${e(m).length??""} node(s)`),j(tt,`${T??""} `),j(Se,`(${e(m).length??""} node${e(m).length>1?"s":""})`)},[()=>e(Ue)>0?nt(e(ye)):e(ye).toLocaleString()]),i(we,be)},ka=we=>{var ye=kt(),et=te(ye);it(et,17,()=>e(m),Rt,(Ue,be)=>{let tt=()=>e(be).key,ee=()=>e(be).stats;const at=P(()=>e(de)[tt()]?.ops||0),ke=P(()=>e(at)>0?ee().ops-e(at):0);var Se=ks(),T=a(Se),Le=a(T);t(T);var st=d(T,2),rt=a(st),Sa=d(rt);{var Na=Te=>{var yt=ys(),ja=a(yt);t(yt),E(Pa=>j(ja,`+${Pa??""}`),[()=>nt(e(ke))]),i(Te,yt)};k(Sa,Te=>{e(ke)>0&&Te(Na)})}t(st),t(Se),E(Te=>{ge(Se,"title",ee().host),j(Le,`${(e(dt)[ee().host]||ee().host)??""}:`),j(rt,`${Te??""} `)},[()=>e(ke)>0?nt(ee().ops):ee().ops.toLocaleString()]),i(Ue,Se)}),i(we,ye)};k(xt,we=>{e(K)?we(wt):we(ka,!1)})}i(I,L)},H=I=>{var L=Ss(),xt=a(L,!0);t(L),E(wt=>j(xt,wt),[()=>e(h).stats.ops.toLocaleString()]),i(I,L)};k(ce,I=>{e(m).length>0?I(pe):I(H,!1)})}t(Z),i(r,Z)},ha=r=>{var m=js();i(r,m)};k(ga,r=>{e(h).stats?r(_a):r(ha,!1)})}t(_t);var ht=d(_t),Ut=a(ht),Lt=d(a(Ut),2),xa=a(Lt);{let r=P(()=>as(e(h),["stats"]));Ra(xa,{get value(){return e(r)},collapsed:!1})}t(Lt),t(Ut),t(ht);var wa=d(ht);{var ya=r=>{var m=Os(),de=a(m);{var Z=ce=>{var pe=Ps(),H=a(pe),I=a(H,!0);t(H);var L=d(H,2);t(pe),E(()=>{H.disabled=e(Fe),j(I,e(h).hidden?"Unhide":"Hide"),L.disabled=e(Fe)}),V("click",H,()=>Qt(e(h).name,e(h).hidden)),V("click",L,()=>ea(e(h).name)),i(ce,pe)};k(de,ce=>{e(h).name!=="_id_"&&ce(Z)})}t(m),i(r,m)};k(wa,r=>{e(c)||r(ya)})}t(N),E(()=>{B=Bt(N,1,"group svelte-l3ef1w",null,B,{"opacity-50":e(Fe)}),ge(De,"title",e(h).name),j(sa,e(h).name)}),i(X,N)}),t(Ze),t(Ee),t(y),i(ie,y)},$$slots:{default:!0}}),i(U,W)};k(Me,U=>{e(p).data.length===0?U(Qe):U(Xe,!1)})}E(()=>j(Ye,`${e(se)?"Hide":"Show"} Multi-Node Usage`)),V("click",Q,()=>l(se,!e(se))),i(M,S)};k(u,M=>{e(p).error?M(g):M(x,!1)})}i(f,_)},(f,p)=>{Ae(f,{title:"Indexes",children:(_,u)=>{var g=Fs(),x=a(g),M=a(x);t(x),t(g),E(()=>j(M,`Error loading indexes: ${e(p)??""}`)),i(_,g)},$$slots:{default:!0}})});var Ot=d(Pt,2);zt(Ot,{get show(){return e(C)},onclose:ft,footer:p=>{var _=Us(),u=te(_),g=d(u,2);V("click",u,ft),V("click",g,ta),i(p,_)},children:(p,_)=>{var u=Ls(),g=te(u),x=d(a(g)),M=a(x,!0);t(x),Ne(),t(g),Ne(2),E(()=>j(M,e(R))),i(p,u)},$$slots:{footer:!0,default:!0}});var aa=d(Ot,2);zt(aa,{get show(){return e(Pe)},onclose:vt,title:"Create Index",footer:p=>{var _=Ts(),u=te(_),g=d(u,2),x=a(g,!0);t(g),E(()=>{u.disabled=e(q),g.disabled=e(q),j(x,e(q)?"Creating...":"Create Index")}),V("click",u,vt),V("click",g,Zt),i(p,_)},children:(p,_)=>{var u=$s(),g=a(u),x=d(a(g),2),M=d(a(x));M.textContent='{ "fieldName": 1 }',t(x);var S=d(x,2);At(S),ge(S,"placeholder",'{"fieldName": 1}'),$t(()=>ot(S,()=>e(We),y=>l(We,y))),qt(S,y=>Wt?.(y)),t(g);var oe=d(g,2),Y=d(a(oe),4);me(Y),t(oe);var ne=d(oe,2),Q=a(ne),Ye=a(Q);me(Ye),Ne(2),t(Q);var Me=d(Q,2),Qe=a(Me);me(Qe),Ne(2),t(Me);var Xe=d(Me,2),U=a(Xe);me(U),Ne(2),t(Xe),t(ne);var W=d(ne,2),fe=d(a(W),2),Ie=d(a(fe));Ie.textContent='{ "status": "active" }',t(fe);var he=d(fe,2);At(he),ge(he,"placeholder",'{"status": "active"}'),$t(()=>ot(he,()=>e(Ke),y=>l(Ke,y))),qt(he,y=>Wt?.(y)),t(W);var ie=d(W,2),ue=d(a(ie),4);me(ue),t(ie),t(u),ot(Y,()=>e(ze),y=>l(ze,y)),Be(Ye,()=>e(He),y=>l(He,y)),Be(Qe,()=>e(Je),y=>l(Je,y)),Be(U,()=>e(Ge),y=>l(Ge,y)),ot(ue,()=>e(Ve),y=>l(Ve,y)),i(p,u)},$$slots:{footer:!0,default:!0}}),i(n,jt),Kt()}Vt(["click"]);export{tr as component,er as universal};
1
+ import{f as v,a as i,c as kt,t as Tt}from"../chunks/ULh2o3ji.js";import{p as Jt,a2 as ae,s as d,c as a,r as t,a as Kt,g as e,u as P,t as E,b as w,G as $e,d as l,f as te,a3 as $t,n as Ne,ax as At,ba as Oa}from"../chunks/C6nv_pni.js";import{d as Vt,s as j,a as V}from"../chunks/DaNl6Y92.js";import{a as Ma,f as Ia}from"../chunks/DczwA5Ds.js";import{p as lt,i as k}from"../chunks/CX0xC2bt.js";import{e as it,n as F,s as Bt,i as Rt}from"../chunks/DskkUG-R.js";import{a as qt}from"../chunks/B59nRjE7.js";import{a as me,s as ge}from"../chunks/DFGVB86g.js";import{a as Be,b as ot}from"../chunks/gjWX2x82.js";import{g as Ea,h as Ca,j as Fa,k as Da,l as Ua,P as Ae,m as La,n as Ta}from"../chunks/ZsFEdbVh.js";import{d as $a,e as Aa,f as Ba}from"../chunks/BzDxl-xY.js";import{p as je}from"../chunks/DJ979gqK.js";import{j as Wt,J as Ra}from"../chunks/Dv6E2xv5.js";import{M as zt}from"../chunks/Dbu5gl04.js";const qa=async n=>({...n.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),er=Object.freeze(Object.defineProperty({__proto__:null,load:qa},Symbol.toStringTag,{value:"Module"}));function Wa(n,o){if(n.length<o.length&&o.endsWith(n))return n;if(o.length<n.length&&n.endsWith(o))return o;let c="",s=n.length-1,b=o.length-1;for(;s>=0&&b>=0&&n[s]===o[b];)c=n.slice(s),s--,b--;return c}function za(n,o){if(!n||o.length===0)return null;let c=null,s=0;for(const b of o){const C=Wa(n,b);C.length>s?(s=C.length,c=b):C.length===s&&(c=null)}return c}var Ha=v('<div class="loading-message svelte-14baj27">Loading nodes...</div>'),Ja=v('<div class="no-nodes-message svelte-14baj27">No nodes found. Click "Fetch Usage" to load nodes.</div>'),Ka=v('<span class="primary-badge svelte-14baj27">PRIMARY</span>'),Va=v('<label class="checkbox-label svelte-14baj27"><input type="checkbox" class="svelte-14baj27"/> <span class="node-name svelte-14baj27"> <!></span></label>'),Ga=v('<div class="selector-options svelte-14baj27"></div>'),Ya=v('<div class="replica-set-selector svelte-14baj27"><div class="selector-header svelte-14baj27"><span class="selector-title svelte-14baj27">Replica Set Nodes</span> <span class="selector-subtitle svelte-14baj27">Select specific nodes to fetch index stats from</span></div> <!></div>');function Qa(n,o){Jt(o,!0);let c=lt(o,"availableNodes",27,()=>ae([])),s=lt(o,"selectedNodes",31,()=>ae([])),b=lt(o,"loading",3,!1),C=lt(o,"primaryNode",3,null),R=P(()=>Object.fromEntries(c().map(O=>[O,s().includes(O)])));const Pe=P(()=>!C()||c().length===0?null:za(C(),c()));function se(){s(Object.keys(e(R)).filter(O=>e(R)[O]))}var D=Ya(),$=d(a(D),2);{var _e=O=>{var J=Ha();i(O,J)},Re=O=>{var J=Ja();i(O,J)},G=O=>{var J=Ga();it(J,20,c,re=>re,(re,q)=>{var K=Va(),le=a(K);me(le);var ve=d(le,2),Oe=a(ve),dt=d(Oe);{var qe=A=>{var ct=Ka();i(A,ct)};k(dt,A=>{q===e(Pe)&&A(qe)})}t(ve),t(K),E(()=>{ge(ve,"title",q),j(Oe,`${q??""} `)}),V("change",le,se),Be(le,()=>e(R)[q],A=>e(R)[q]=A),i(re,K)}),t(J),i(O,J)};k($,O=>{b()?O(_e):c().length===0?O(Re,1):O(G,!1)})}t(D),i(n,D),Kt()}Vt(["change"]);function nt(n,o=3){if(n===0)return"0";const c=Math.abs(n),s=n<0?"-":"";if(c>=1e9){const b=c/1e9;return`${s}${b.toPrecision(o)}B`}else if(c>=1e6){const b=c/1e6;return`${s}${b.toPrecision(o)}M`}else if(c>=1e3){const b=c/1e3;return`${s}${b.toPrecision(o)}k`}else return`${s}${c.toPrecision(Math.min(o,Math.ceil(Math.log10(c+1))))}`}function Xa(n){if(!n)return"";const c=new Date().getTime()-n.getTime(),s=Math.floor(c/1e3),b=Math.floor(s/60),C=Math.floor(b/60);return C>0?`${C}h ${b%60}m ago`:b>0?`${b}m ${s%60}s ago`:`${s}s ago`}function Gt(n){if(n.length===0||n.length===1)return"";let o=n[0];for(let c=1;c<n.length;c++)for(;n[c].indexOf(o)!==0;)if(o=o.substring(0,o.length-1),o==="")return"";return o}function Za(n){if(n.length===0||n.length===1)return"";const o=n.map(s=>s.split("").reverse().join(""));return Gt(o).split("").reverse().join("")}function es(n,o,c){if(!o&&!c)return n;let s=n;if(o&&s.startsWith(o)&&(s=s.slice(o.length)),c&&s.endsWith(c)&&(s=s.slice(0,-c.length)),s.length===0)return n;const b=o.length>0,C=c.length>0;return b&&C?`…${s}…`:b?`…${s}`:C?`${s}…`:s}function ts(n){if(n.length<=1)return Object.fromEntries(n.map(s=>[s,s]));const o=Gt(n),c=Za(n);return Object.fromEntries(n.map(s=>[s,es(s,o,c)]))}function as(n,o){return Object.fromEntries(Object.entries(n).filter(([c])=>!o.includes(c)))}function Ht(n){let o=0;for(const c of n)o+=c;return o}var ss=v('<div class="p-4 svelte-l3ef1w"><p class="error svelte-l3ef1w"> </p></div>'),rs=v('<button class="btn btn-success btn-sm flex items-center svelte-l3ef1w" type="button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4 inline mr-1 svelte-l3ef1w"><path d="M12 5v14M5 12h14" class="svelte-l3ef1w"></path></svg> Create Index</button>'),ls=v('<div class="text-center p-4 svelte-l3ef1w" style="color: var(--text-darker)">No indexes found</div>'),os=v('<label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Aggregate usage</span></label>'),ns=v('<div class="mb-4 svelte-l3ef1w"><!> <div class="mt-3 flex gap-3 items-center flex-wrap svelte-l3ef1w"><button><!></button> <!></div></div>'),is=v('<th style="width: 150px" class="svelte-l3ef1w">Actions</th>'),ds=v('<span class="index-key svelte-l3ef1w"> </span>'),cs=v('<div class="flex flex-wrap gap-2 svelte-l3ef1w"></div>'),vs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),fs=v('<span class="badge badge-building svelte-l3ef1w">building</span>'),us=v('<span class="badge badge-hidden svelte-l3ef1w">hidden</span>'),ps=v('<span class="badge badge-unique svelte-l3ef1w">unique</span>'),bs=v('<span class="badge badge-sparse svelte-l3ef1w">sparse</span>'),ms=v('<span class="badge badge-partial svelte-l3ef1w">partial</span>'),gs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),_s=v('<span class="text-sm whitespace-nowrap svelte-l3ef1w"> </span>'),hs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),xs=v('<span class="increment-badge svelte-l3ef1w"> </span>'),ws=v('<div class="svelte-l3ef1w"> <!> <span class="text-xs svelte-l3ef1w" style="color: var(--text-darker)"> </span></div>'),ys=v('<span class="increment-badge svelte-l3ef1w"> </span>'),ks=v('<div class="separate-stat svelte-l3ef1w"><span class="stat-host svelte-l3ef1w"> </span> <span class="stat-value svelte-l3ef1w"> <!></span></div>'),Ss=v('<div class="svelte-l3ef1w"> </div>'),Ns=v('<div class="text-sm mt-1 svelte-l3ef1w"><!></div>'),js=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),Ps=v('<div class="flex gap-2 hidden group-hover:flex -my-2 svelte-l3ef1w"><button class="btn btn-outline-light btn-sm svelte-l3ef1w"> </button> <button class="btn btn-outline-danger btn-sm svelte-l3ef1w">Drop</button></div>'),Os=v('<td class="svelte-l3ef1w"><!></td>'),Ms=v('<tr><td class="name-cell svelte-l3ef1w"><span class="font-mono text-sm index-name svelte-l3ef1w"> </span></td><td class="svelte-l3ef1w"><!></td><td class="svelte-l3ef1w"><div class="flex flex-wrap gap-2 svelte-l3ef1w"><!> <!> <!> <!> <!> <!></div></td><td class="svelte-l3ef1w"><!></td><td class="svelte-l3ef1w"><!></td><td class="svelte-l3ef1w"><details class="cursor-pointer svelte-l3ef1w"><summary class="details-link svelte-l3ef1w">View full</summary> <div class="details-content svelte-l3ef1w"><!></div></details></td><!></tr>'),Is=v('<div class="table-wrapper svelte-l3ef1w"><table class="table svelte-l3ef1w"><thead class="svelte-l3ef1w"><tr class="svelte-l3ef1w"><th class="name-column svelte-l3ef1w">Name</th><th class="svelte-l3ef1w">Keys</th><th class="svelte-l3ef1w">Properties</th><th class="shrink-column svelte-l3ef1w">Size</th><th class="shrink-column svelte-l3ef1w">Usage</th><th style="min-width: 300px" class="svelte-l3ef1w">Details</th><!></tr></thead><tbody class="svelte-l3ef1w"></tbody></table></div>'),Es=v("<!> <!>",1),Cs=v('<div class="mb-4 flex gap-3 svelte-l3ef1w"><!> <button class="btn btn-primary btn-sm svelte-l3ef1w"> </button></div> <!>',1),Fs=v('<div class="p-4 svelte-l3ef1w"><p class="error svelte-l3ef1w"> </p></div>'),Ds=v('<div class="loading svelte-l3ef1w">Loading indexes...</div>'),Us=v('<button class="btn btn-default btn-sm svelte-l3ef1w">Cancel</button> <button class="btn btn-danger btn-sm svelte-l3ef1w">Drop Index</button>',1),Ls=v('<p class="svelte-l3ef1w">Are you sure you want to drop the index <strong class="svelte-l3ef1w"> </strong>?</p> <p class="text-sm mt-2 svelte-l3ef1w" style="color: var(--text-darker)">This action cannot be undone. The index will need to be recreated if needed again.</p>',1),Ts=v('<button class="btn btn-default btn-sm svelte-l3ef1w">Cancel</button> <button class="btn btn-success btn-sm svelte-l3ef1w"> </button>',1),$s=v('<div class="space-y-4 svelte-l3ef1w"><div class="svelte-l3ef1w"><label for="index-keys" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">Index Keys (JSON) <span style="color: var(--error);" class="svelte-l3ef1w">*</span></label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Define the fields to index. Use 1 for ascending, -1 for descending. Example: <code class="svelte-l3ef1w"></code></p> <textarea id="index-keys" rows="3" class="w-full p-3 rounded border border-[var(--border-color)] bg-[var(--color-1)] font-mono text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"></textarea></div> <div class="svelte-l3ef1w"><label for="index-name" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">Index Name (Optional)</label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Leave empty to auto-generate based on fields</p> <input id="index-name" type="text" placeholder="e.g., user_email_idx" class="w-full p-2 rounded border border-[var(--border-color)] bg-[var(--color-1)] text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"/></div> <div class="grid grid-cols-2 gap-3 svelte-l3ef1w"><label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Unique</span></label> <label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Sparse</span></label> <label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Background</span></label></div> <div class="svelte-l3ef1w"><label for="index-partial" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">Partial Filter Expression (Optional)</label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Only index documents that match this filter. Example: <code class="svelte-l3ef1w"></code></p> <textarea id="index-partial" rows="2" class="w-full p-3 rounded border border-[var(--border-color)] bg-[var(--color-1)] font-mono text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"></textarea></div> <div class="svelte-l3ef1w"><label for="index-ttl" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">TTL - Expire After Seconds (Optional)</label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Automatically delete documents after specified seconds (for TTL indexes)</p> <input id="index-ttl" type="number" placeholder="e.g., 3600" min="0" class="w-full p-2 rounded border border-[var(--border-color)] bg-[var(--color-1)] text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"/></div></div>'),As=v("<!> <!> <!>",1);function tr(n,o){Jt(o,!0);const c=P(()=>o.data.readOnly);let s=w(null),b=w(ae(new Set)),C=w(!1),R=w(null),Pe=w(!1),se=w(!1),D=w(ae([])),$=w(ae([])),_e=w(!1),Re=w(null),G=w(ae({})),O=w(ae({})),J=w(null),re=w(!1),q=w(!1),K=w(!1),le=w(!1),ve=w(ae([])),Oe=w(ae(new Date));const dt=P(()=>{const f=[...new Set(Object.values(e(G)).map(p=>p.host))];return ts(f)}),qe=P(()=>e($).length!==e(ve).length||!e($).every(f=>e(ve).includes(f))),A=P(()=>Object.keys(e(O)).length>0&&!e(qe)),ct=P(()=>(e(Oe),Xa(e(J))));$e(()=>{const f=setInterval(()=>{l(Oe,new Date,!0)},1e3);return()=>clearInterval(f)});let We=w('{ "fieldName": 1 }'),ze=w(""),He=w(!1),Je=w(!1),Ke=w(""),Ve=w(void 0),Ge=w(!1);$e(()=>{o.data.indexes.then(f=>{e(s)||l(s,f,!0)})});const Yt=P(()=>e(s)||o.data.indexes);async function Qt(f,p){const{server:_,database:u,collection:g}=je.params;if(!(!_||!u||!g)){e(b).add(f),l(b,e(b),!0);try{const x={server:_,database:u,collection:g,index:f};if(p?await La(x):await Ta(x),e(s)&&e(s).data){const M=e(s).data.map(S=>S.name===f?{...S,hidden:!p}:S);l(s,{...e(s),data:M},!0)}F.notifySuccess(`Index ${p?"unhidden":"hidden"} successfully`)}catch(x){F.notifyError(x,`Failed to ${p?"unhide":"hide"} index`)}finally{e(b).delete(f),l(b,e(b),!0)}}}function Xt(){l(We,'{ "fieldName": 1 }'),l(ze,""),l(He,!1),l(Je,!1),l(Ke,""),l(Ve,void 0),l(Ge,!1),l(Pe,!0)}function vt(){l(Pe,!1)}async function Zt(){const{server:f,database:p,collection:_}=je.params;if(!(!f||!p||!_)){l(q,!0);try{await Ua({server:f,database:p,collection:_,keys:e(We),name:e(ze)||void 0,unique:e(He)||void 0,sparse:e(Je)||void 0,partialFilterExpression:e(Ke)||void 0,expireAfterSeconds:e(Ve),background:e(Ge)||void 0}),F.notifySuccess("Index created successfully"),vt(),await Ba("app:indexes")}catch(u){F.notifyError(u,"Failed to create index")}finally{l(q,!1)}}}function ea(f){l(R,f,!0),l(C,!0)}function ft(){l(C,!1),l(R,null)}async function ta(){if(!e(R))return;const{server:f,database:p,collection:_}=je.params;if(!f||!p||!_)return;e(b).add(e(R)),l(b,e(b),!0);const u=e(R);try{if(await Da({server:f,database:p,collection:_,index:u}),e(s)&&e(s).data){const g=e(s).data.filter(x=>x.name!==u);l(s,{...e(s),data:g},!0)}F.notifySuccess(`Index "${u}" dropped successfully`),ft()}catch(g){F.notifyError(g,"Failed to drop index")}finally{e(b).delete(u),l(b,e(b),!0)}}async function St(){const{server:f,database:p,collection:_}=je.params;if(!(!f||!p||!_)){l(_e,!0);try{const u=await Ea({server:f});if(u.error)F.notifyError(u.error,"Failed to load nodes"),l(D,[],!0);else if(l(D,u.data,!0),e(D).length>0){F.notifySuccess(`Found ${e(D).length} node(s)`);const g=await Ca({server:f,database:p,collection:_});!g.error&&g.data&&l(Re,g.data,!0)}}catch(u){F.notifyError(u,"Failed to load nodes"),l(D,[],!0)}finally{l(_e,!1)}}}async function Nt(f=!0){const{server:p,database:_,collection:u}=je.params;if(!p||!_||!u)return;if(e($).length===0){F.notifyError("No nodes selected","Please select at least one node");return}l(re,!0);const g=e(qe)||!e(A);try{const x=await Fa({server:p,database:_,collection:u,nodes:e($)});x.error&&F.notifyError(x.error,"Failed to fetch stats from some nodes"),l(G,x.data,!0),l(ve,[...e($)],!0),g&&(l(O,{...e(G)},!0),l(J,new Date,!0));const M=Object.keys(e(G)).length;if(M===0)F.notifyError("No stats found","No index stats found for selected nodes");else{const S=g?`Fetched stats from ${M} index/host combination(s)`:`Updated stats from ${M} index/host combination(s)`;F.notifySuccess(S)}if(f){const S=new URL(window.location.href);S.searchParams.set("nodes",e($).join(",")),e(K)&&S.searchParams.set("aggregate","true"),Aa(S.toString(),{})}}catch(x){F.notifyError(x,"Failed to fetch multi-node usage")}finally{l(re,!1)}}$e(()=>{e(se)&&e(D).length===0&&!e(_e)&&St()}),$e(()=>{if(!e(le)){const f=new URL(je.url),p=f.searchParams.get("nodes"),_=f.searchParams.get("aggregate");if(p){const u=p.split(",").filter(g=>g.length>0);u.length>0&&(l(se,!0),l($,u,!0),e(D).length===0&&St().then(()=>{u.length>0&&Nt(!1)}))}_!==null&&l(K,_==="true"),l(le,!0)}}),$e(()=>{if(e(le)&&Object.keys(e(G)).length>0){const f=new URL(window.location.href);e(K)?f.searchParams.set("aggregate","true"):f.searchParams.delete("aggregate"),$a(f.toString(),{})}});var jt=As(),Pt=te(jt);Ma(Pt,()=>e(Yt),f=>{Ae(f,{title:"Indexes",children:(p,_)=>{var u=Ds();i(p,u)},$$slots:{default:!0}})},(f,p)=>{var _=kt(),u=te(_);{var g=M=>{Ae(M,{title:"Indexes",children:(S,oe)=>{var Y=ss(),ne=a(Y),Q=a(ne,!0);t(ne),t(Y),E(()=>j(Q,e(p).error)),i(S,Y)},$$slots:{default:!0}})},x=M=>{var S=Cs(),oe=te(S),Y=a(oe);{var ne=U=>{var W=rs();V("click",W,Xt),i(U,W)};k(Y,U=>{e(c)||U(ne)})}var Q=d(Y,2),Ye=a(Q);t(Q),t(oe);var Me=d(oe,2);{var Qe=U=>{Ae(U,{title:"Indexes",children:(W,fe)=>{var Ie=ls();i(W,Ie)},$$slots:{default:!0}})},Xe=U=>{var W=Es(),fe=te(W);{var Ie=ie=>{var ue=ns(),y=a(ue);Qa(y,{get loading(){return e(_e)},get primaryNode(){return e(Re)},get availableNodes(){return e(D)},set availableNodes(N){l(D,N,!0)},get selectedNodes(){return e($)},set selectedNodes(N){l($,N,!0)}});var Ee=d(y,2),z=a(Ee);let Ce;var ut=a(z);{var pt=N=>{var B=Tt();E(()=>j(B,e(A)?"Checking Δ...":"Fetching...")),i(N,B)},Ze=N=>{var B=Tt();E(()=>j(B,e(A)?"Δ Usage":"Fetch Usage")),i(N,B)};k(ut,N=>{e(re)?N(pt):N(Ze,!1)})}t(z);var X=d(z,2);{var h=N=>{var B=os(),xe=a(B);me(xe),Ne(2),t(B),Be(xe,()=>e(K),De=>l(K,De)),i(N,B)},Fe=P(()=>Object.keys(e(G)).length>0);k(X,N=>{e(Fe)&&N(h)})}t(Ee),t(ue),E(()=>{Ce=Bt(z,1,"btn btn-sm svelte-l3ef1w",null,Ce,{"btn-primary":!e(A),"btn-outline-primary":e(A)}),z.disabled=e(re)||e($).length===0,ge(z,"title",e(A)?`Baseline from ${e(ct)}`:"Fetch index usage statistics")}),V("click",z,()=>Nt()),i(ie,ue)};k(fe,ie=>{e(se)&&ie(Ie)})}var he=d(fe,2);Ae(he,{title:"Indexes",children:(ie,ue)=>{var y=Is(),Ee=a(y),z=a(Ee),Ce=a(z),ut=d(a(Ce),6);{var pt=X=>{var h=is();i(X,h)};k(ut,X=>{e(c)||X(pt)})}t(Ce),t(z);var Ze=d(z);it(Ze,21,()=>e(p).data,X=>X.name,(X,h)=>{const Fe=P(()=>e(b).has(e(h).name));var N=Ms();let B;var xe=a(N),De=a(xe),sa=a(De,!0);t(De),t(xe);var bt=d(xe),ra=a(bt);{var la=r=>{var m=cs();it(m,21,()=>Object.entries(e(h).key),Rt,(de,Z)=>{var ce=P(()=>Oa(e(Z),2));let pe=()=>e(ce)[0],H=()=>e(ce)[1];var I=ds(),L=a(I);t(I),E(()=>j(L,`${pe()??""}: ${(H()===1?"↑":H()===-1?"↓":H())??""}`)),i(de,I)}),t(m),i(r,m)},oa=r=>{var m=vs();i(r,m)};k(ra,r=>{e(h).key?r(la):r(oa,!1)})}t(bt);var mt=d(bt),Mt=a(mt),It=a(Mt);{var na=r=>{var m=fs();i(r,m)};k(It,r=>{e(h).stats?.building&&r(na)})}var Et=d(It,2);{var ia=r=>{var m=us();i(r,m)};k(Et,r=>{e(h).hidden&&r(ia)})}var Ct=d(Et,2);{var da=r=>{var m=ps();i(r,m)};k(Ct,r=>{e(h).unique&&r(da)})}var Ft=d(Ct,2);{var ca=r=>{var m=bs();i(r,m)};k(Ft,r=>{e(h).sparse&&r(ca)})}var Dt=d(Ft,2);{var va=r=>{var m=ms();i(r,m)};k(Dt,r=>{e(h).partialFilterExpression&&r(va)})}var fa=d(Dt,2);{var ua=r=>{var m=gs();i(r,m)};k(fa,r=>{!e(h).stats?.building&&!e(h).hidden&&!e(h).unique&&!e(h).sparse&&!e(h).partialFilterExpression&&r(ua)})}t(Mt),t(mt);var gt=d(mt),pa=a(gt);{var ba=r=>{var m=_s(),de=a(m,!0);t(m),E(Z=>j(de,Z),[()=>Ia(e(h).size)]),i(r,m)},ma=r=>{var m=hs();i(r,m)};k(pa,r=>{e(h).size?r(ba):r(ma,!1)})}t(gt);var _t=d(gt),ga=a(_t);{var _a=r=>{const m=P(()=>Object.entries(e(G)).filter(([I])=>I.startsWith(`${e(h).name}::`)).map(([I,L])=>({key:I,stats:L}))),de=P(()=>Object.fromEntries(Object.entries(e(O)).filter(([I])=>I.startsWith(`${e(h).name}::`))));var Z=Ns(),ce=a(Z);{var pe=I=>{var L=kt(),xt=te(L);{var wt=we=>{const ye=P(()=>Ht(e(m).map(T=>T.stats.ops))),et=P(()=>Ht(Object.values(e(de)).map(T=>T.ops))),Ue=P(()=>e(et)>0?e(ye)-e(et):0);var be=ws(),tt=a(be),ee=d(tt);{var at=T=>{var Le=xs(),st=a(Le);t(Le),E(rt=>j(st,`+${rt??""}`),[()=>nt(e(Ue))]),i(T,Le)};k(ee,T=>{e(Ue)>0&&T(at)})}var ke=d(ee,2),Se=a(ke);t(ke),t(be),E(T=>{ge(be,"title",`Aggregated across ${e(m).length??""} node(s)`),j(tt,`${T??""} `),j(Se,`(${e(m).length??""} node${e(m).length>1?"s":""})`)},[()=>e(Ue)>0?nt(e(ye)):e(ye).toLocaleString()]),i(we,be)},ka=we=>{var ye=kt(),et=te(ye);it(et,17,()=>e(m),Rt,(Ue,be)=>{let tt=()=>e(be).key,ee=()=>e(be).stats;const at=P(()=>e(de)[tt()]?.ops||0),ke=P(()=>e(at)>0?ee().ops-e(at):0);var Se=ks(),T=a(Se),Le=a(T);t(T);var st=d(T,2),rt=a(st),Sa=d(rt);{var Na=Te=>{var yt=ys(),ja=a(yt);t(yt),E(Pa=>j(ja,`+${Pa??""}`),[()=>nt(e(ke))]),i(Te,yt)};k(Sa,Te=>{e(ke)>0&&Te(Na)})}t(st),t(Se),E(Te=>{ge(Se,"title",ee().host),j(Le,`${(e(dt)[ee().host]||ee().host)??""}:`),j(rt,`${Te??""} `)},[()=>e(ke)>0?nt(ee().ops):ee().ops.toLocaleString()]),i(Ue,Se)}),i(we,ye)};k(xt,we=>{e(K)?we(wt):we(ka,!1)})}i(I,L)},H=I=>{var L=Ss(),xt=a(L,!0);t(L),E(wt=>j(xt,wt),[()=>e(h).stats.ops.toLocaleString()]),i(I,L)};k(ce,I=>{e(m).length>0?I(pe):I(H,!1)})}t(Z),i(r,Z)},ha=r=>{var m=js();i(r,m)};k(ga,r=>{e(h).stats?r(_a):r(ha,!1)})}t(_t);var ht=d(_t),Ut=a(ht),Lt=d(a(Ut),2),xa=a(Lt);{let r=P(()=>as(e(h),["stats"]));Ra(xa,{get value(){return e(r)},collapsed:!1})}t(Lt),t(Ut),t(ht);var wa=d(ht);{var ya=r=>{var m=Os(),de=a(m);{var Z=ce=>{var pe=Ps(),H=a(pe),I=a(H,!0);t(H);var L=d(H,2);t(pe),E(()=>{H.disabled=e(Fe),j(I,e(h).hidden?"Unhide":"Hide"),L.disabled=e(Fe)}),V("click",H,()=>Qt(e(h).name,e(h).hidden)),V("click",L,()=>ea(e(h).name)),i(ce,pe)};k(de,ce=>{e(h).name!=="_id_"&&ce(Z)})}t(m),i(r,m)};k(wa,r=>{e(c)||r(ya)})}t(N),E(()=>{B=Bt(N,1,"group svelte-l3ef1w",null,B,{"opacity-50":e(Fe)}),ge(De,"title",e(h).name),j(sa,e(h).name)}),i(X,N)}),t(Ze),t(Ee),t(y),i(ie,y)},$$slots:{default:!0}}),i(U,W)};k(Me,U=>{e(p).data.length===0?U(Qe):U(Xe,!1)})}E(()=>j(Ye,`${e(se)?"Hide":"Show"} Multi-Node Usage`)),V("click",Q,()=>l(se,!e(se))),i(M,S)};k(u,M=>{e(p).error?M(g):M(x,!1)})}i(f,_)},(f,p)=>{Ae(f,{title:"Indexes",children:(_,u)=>{var g=Fs(),x=a(g),M=a(x);t(x),t(g),E(()=>j(M,`Error loading indexes: ${e(p)??""}`)),i(_,g)},$$slots:{default:!0}})});var Ot=d(Pt,2);zt(Ot,{get show(){return e(C)},onclose:ft,footer:p=>{var _=Us(),u=te(_),g=d(u,2);V("click",u,ft),V("click",g,ta),i(p,_)},children:(p,_)=>{var u=Ls(),g=te(u),x=d(a(g)),M=a(x,!0);t(x),Ne(),t(g),Ne(2),E(()=>j(M,e(R))),i(p,u)},$$slots:{footer:!0,default:!0}});var aa=d(Ot,2);zt(aa,{get show(){return e(Pe)},onclose:vt,title:"Create Index",footer:p=>{var _=Ts(),u=te(_),g=d(u,2),x=a(g,!0);t(g),E(()=>{u.disabled=e(q),g.disabled=e(q),j(x,e(q)?"Creating...":"Create Index")}),V("click",u,vt),V("click",g,Zt),i(p,_)},children:(p,_)=>{var u=$s(),g=a(u),x=d(a(g),2),M=d(a(x));M.textContent='{ "fieldName": 1 }',t(x);var S=d(x,2);At(S),ge(S,"placeholder",'{"fieldName": 1}'),$t(()=>ot(S,()=>e(We),y=>l(We,y))),qt(S,y=>Wt?.(y)),t(g);var oe=d(g,2),Y=d(a(oe),4);me(Y),t(oe);var ne=d(oe,2),Q=a(ne),Ye=a(Q);me(Ye),Ne(2),t(Q);var Me=d(Q,2),Qe=a(Me);me(Qe),Ne(2),t(Me);var Xe=d(Me,2),U=a(Xe);me(U),Ne(2),t(Xe),t(ne);var W=d(ne,2),fe=d(a(W),2),Ie=d(a(fe));Ie.textContent='{ "status": "active" }',t(fe);var he=d(fe,2);At(he),ge(he,"placeholder",'{"status": "active"}'),$t(()=>ot(he,()=>e(Ke),y=>l(Ke,y))),qt(he,y=>Wt?.(y)),t(W);var ie=d(W,2),ue=d(a(ie),4);me(ue),t(ie),t(u),ot(Y,()=>e(ze),y=>l(ze,y)),Be(Ye,()=>e(He),y=>l(He,y)),Be(Qe,()=>e(Je),y=>l(Je,y)),Be(U,()=>e(Ge),y=>l(Ge,y)),ot(ue,()=>e(Ve),y=>l(Ve,y)),i(p,u)},$$slots:{footer:!0,default:!0}}),i(n,jt),Kt()}Vt(["click"]);export{tr as component,er as universal};
@@ -1,4 +1,4 @@
1
- import{f as c,a as d}from"../chunks/ULh2o3ji.js";import{ae as et,af as tt,ag as at,ah as ot,l as rt,h as Fe,a3 as lt,o as it,p as nt,a2 as st,f as be,a as dt,t as L,c as o,s as r,d as n,b as W,r as t,n as Oe,g as a,u as xe}from"../chunks/C6nv_pni.js";import{d as ct,s as ke,a as u}from"../chunks/DaNl6Y92.js";import{i as O}from"../chunks/CX0xC2bt.js";import{e as we,i as ze,n as J}from"../chunks/DskkUG-R.js";import{r as vt,s as ut,a as re}from"../chunks/DaB19yDO.js";import{b as le}from"../chunks/gjWX2x82.js";import{P as bt,u as pt}from"../chunks/DxElUGai.js";function je(i,e,K=!1){if(i.multiple){if(e==null)return;if(!tt(e))return at();for(var m of i.options)m.selected=e.includes(pe(m));return}for(m of i.options){var k=pe(m);if(ot(k,e)){m.selected=!0;return}}(!K||e!==void 0)&&(i.selectedIndex=-1)}function Ge(i){var e=new MutationObserver(()=>{je(i,i.__value)});e.observe(i,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),et(()=>{e.disconnect()})}function Ee(i,e,K=e){var m=new WeakSet,k=!0;rt(i,"change",f=>{var I=f?"[selected]":":checked",w;if(i.multiple)w=[].map.call(i.querySelectorAll(I),pe);else{var E=i.querySelector(I)??i.querySelector("option:not([disabled])");w=E&&pe(E)}K(w),Fe!==null&&m.add(Fe)}),lt(()=>{var f=e();if(i===document.activeElement){var I=it??Fe;if(m.has(I))return}if(je(i,f,k),k&&f===void 0){var w=i.querySelector(":checked");w!==null&&(f=pe(w),K(f))}i.__value=f,k=!1}),Ge(i)}function pe(i){return"__value"in i?i.__value:i.value}const mt=async i=>({...i.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Qt=Object.freeze(Object.defineProperty({__proto__:null,load:mt},Symbol.toStringTag,{value:"Module"}));var ft=c('<button class="btn btn-success btn-sm -my-2">Save</button>'),gt=c('<button class="btn btn-outline-light btn-sm -my-2 hover:bg-[var(--color-3)]">🤖 AI Helper</button> <!>',1),_t=c('<button class="btn btn-outline-danger btn-sm mt-6 hover:bg-[rgba(255,59,48,0.1)]">Remove Mapping</button>'),ht=c("<option> </option>"),yt=c('<div class="flex-1"><label class="block text-xs mb-1">Target Collection <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"><option>Select collection...</option><!></select></label></div> <div class="flex-1"><label class="block text-xs mb-1">Target Field <input type="text" placeholder="_id" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div>',1),xt=c('<div class="flex-[2]"><label class="block text-xs mb-1">URL Template (use &#123;value&#125; for interpolation) <input type="text" placeholder="https://example.com/{value}" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div>'),kt=c('<button class="btn btn-outline-danger btn-sm mt-5 hover:bg-[rgba(255,59,48,0.1)]">×</button>'),wt=c('<div class="flex items-start gap-2 pl-4 border-l-2 border-[var(--color-3)]"><div class="flex-1"><label class="block text-xs mb-1">Type <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"><option>Document</option><option>URL</option></select></label></div> <!> <!></div>'),Tt=c('<div class="flex gap-2 mt-2 ml-4"><button class="btn btn-outline-light btn-sm hover:bg-[var(--color-3)]">+ Add Document Target</button> <button class="btn btn-outline-light btn-sm hover:bg-[var(--color-3)]">+ Add URL Target</button></div>'),It=c('<div class="border border-[var(--border-color)] rounded p-4"><div class="flex items-start gap-4 mb-3"><div class="flex-1"><label class="block text-sm font-medium mb-1">Field Path <input type="text" placeholder="e.g., authorId or comments.authorId" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div> <!></div> <div class="space-y-2"></div> <!></div>'),Mt=c('<div class="space-y-4"></div>'),Ct=c('<div class="text-center py-8" style="color: var(--text-secondary);">No mappings defined yet.</div>'),Pt=c('<button class="btn btn-success">+ Add New Mapping</button>'),At=c("<option> </option>"),Ft=c('<label class="block text-sm font-medium mb-1">Target Collection <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"><option>Select collection...</option><!></select></label> <label class="block text-sm font-medium mb-1">Target Field <input type="text" placeholder="_id" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label>',1),Ot=c(`<label class="block text-sm font-medium mb-1">URL Template <input type="text" placeholder="https://hf.co/datasets/{value}" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label> <p class="text-xs" style="color: var(--text-secondary);">Use <code class="px-1 bg-[var(--color-2)] rounded">&#123;value&#125;</code> as a placeholder for the field
1
+ import{f as c,a as d}from"../chunks/ULh2o3ji.js";import{ae as et,af as tt,ag as at,ah as ot,l as rt,h as Fe,a3 as lt,o as it,p as nt,a2 as st,f as be,a as dt,t as L,c as o,s as r,d as n,b as W,r as t,n as Oe,g as a,u as xe}from"../chunks/C6nv_pni.js";import{d as ct,s as ke,a as u}from"../chunks/DaNl6Y92.js";import{i as O}from"../chunks/CX0xC2bt.js";import{e as we,i as ze,n as J}from"../chunks/DskkUG-R.js";import{r as vt,s as ut,a as re}from"../chunks/DFGVB86g.js";import{b as le}from"../chunks/gjWX2x82.js";import{P as bt,u as pt}from"../chunks/ZsFEdbVh.js";function je(i,e,K=!1){if(i.multiple){if(e==null)return;if(!tt(e))return at();for(var m of i.options)m.selected=e.includes(pe(m));return}for(m of i.options){var k=pe(m);if(ot(k,e)){m.selected=!0;return}}(!K||e!==void 0)&&(i.selectedIndex=-1)}function Ge(i){var e=new MutationObserver(()=>{je(i,i.__value)});e.observe(i,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),et(()=>{e.disconnect()})}function Ee(i,e,K=e){var m=new WeakSet,k=!0;rt(i,"change",f=>{var I=f?"[selected]":":checked",w;if(i.multiple)w=[].map.call(i.querySelectorAll(I),pe);else{var E=i.querySelector(I)??i.querySelector("option:not([disabled])");w=E&&pe(E)}K(w),Fe!==null&&m.add(Fe)}),lt(()=>{var f=e();if(i===document.activeElement){var I=it??Fe;if(m.has(I))return}if(je(i,f,k),k&&f===void 0){var w=i.querySelector(":checked");w!==null&&(f=pe(w),K(f))}i.__value=f,k=!1}),Ge(i)}function pe(i){return"__value"in i?i.__value:i.value}const mt=async i=>({...i.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Qt=Object.freeze(Object.defineProperty({__proto__:null,load:mt},Symbol.toStringTag,{value:"Module"}));var ft=c('<button class="btn btn-success btn-sm -my-2">Save</button>'),gt=c('<button class="btn btn-outline-light btn-sm -my-2 hover:bg-[var(--color-3)]">🤖 AI Helper</button> <!>',1),_t=c('<button class="btn btn-outline-danger btn-sm mt-6 hover:bg-[rgba(255,59,48,0.1)]">Remove Mapping</button>'),ht=c("<option> </option>"),yt=c('<div class="flex-1"><label class="block text-xs mb-1">Target Collection <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"><option>Select collection...</option><!></select></label></div> <div class="flex-1"><label class="block text-xs mb-1">Target Field <input type="text" placeholder="_id" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div>',1),xt=c('<div class="flex-[2]"><label class="block text-xs mb-1">URL Template (use &#123;value&#125; for interpolation) <input type="text" placeholder="https://example.com/{value}" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div>'),kt=c('<button class="btn btn-outline-danger btn-sm mt-5 hover:bg-[rgba(255,59,48,0.1)]">×</button>'),wt=c('<div class="flex items-start gap-2 pl-4 border-l-2 border-[var(--color-3)]"><div class="flex-1"><label class="block text-xs mb-1">Type <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"><option>Document</option><option>URL</option></select></label></div> <!> <!></div>'),Tt=c('<div class="flex gap-2 mt-2 ml-4"><button class="btn btn-outline-light btn-sm hover:bg-[var(--color-3)]">+ Add Document Target</button> <button class="btn btn-outline-light btn-sm hover:bg-[var(--color-3)]">+ Add URL Target</button></div>'),It=c('<div class="border border-[var(--border-color)] rounded p-4"><div class="flex items-start gap-4 mb-3"><div class="flex-1"><label class="block text-sm font-medium mb-1">Field Path <input type="text" placeholder="e.g., authorId or comments.authorId" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div> <!></div> <div class="space-y-2"></div> <!></div>'),Mt=c('<div class="space-y-4"></div>'),Ct=c('<div class="text-center py-8" style="color: var(--text-secondary);">No mappings defined yet.</div>'),Pt=c('<button class="btn btn-success">+ Add New Mapping</button>'),At=c("<option> </option>"),Ft=c('<label class="block text-sm font-medium mb-1">Target Collection <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"><option>Select collection...</option><!></select></label> <label class="block text-sm font-medium mb-1">Target Field <input type="text" placeholder="_id" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label>',1),Ot=c(`<label class="block text-sm font-medium mb-1">URL Template <input type="text" placeholder="https://hf.co/datasets/{value}" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label> <p class="text-xs" style="color: var(--text-secondary);">Use <code class="px-1 bg-[var(--color-2)] rounded">&#123;value&#125;</code> as a placeholder for the field
2
2
  value. Example: if the field is "abc/glue", and template is "https://hf.co/datasets/&#123;value&#125;",
3
3
  the result will be "https://hf.co/datasets/abc/glue"</p>`,1),Et=c('<div class="border border-[var(--border-color)] rounded p-4 bg-[var(--light-background)]"><h3 class="text-lg font-medium mb-3">New Mapping</h3> <div class="space-y-3"><label class="block text-sm font-medium mb-1">Field Path <input type="text" placeholder="e.g., authorId or comments.authorId" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label> <label class="block text-sm font-medium mb-1">Mapping Type <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"><option>Document</option><option>URL</option></select></label> <!> <div class="flex gap-2"><button class="btn btn-success">Add</button> <button class="btn btn-default hover:bg-[var(--color-3)]">Cancel</button></div></div></div>'),jt=c('<div class="mt-4"><!></div>'),Dt=c(`<div class="p-4"><div class="mb-4"><p class="mb-3">Define relationships between collections or external URLs to enable hover tooltips, navigation on foreign key
4
4
  fields, and clickable external links. This will be stored in the <code class="px-1 bg-[var(--light-background)] rounded">mongoku.mappings</code> collection as a document with <a class="text-blue-500"> </a>.</p> <details class="mb-2" style="color: var(--text-secondary);"><summary class="cursor-pointer font-medium mb-2">Examples</summary> <div class="mt-2 space-y-3"><div><div class="font-medium mb-1">Document Mapping Example:</div> <div class="mb-1">Document in collection <code class="px-1 bg-[var(--light-background)] rounded">posts</code>:</div> <code class="block px-2 py-1 bg-[var(--light-background)] rounded text-xs mb-2">&#123; _id: "post1", title: "Hello", authorId: "user123", comments: [&#123;authorId: "user456", text:
@@ -1 +1 @@
1
- import{f as r,a as i}from"../chunks/ULh2o3ji.js";import{i as n}from"../chunks/Dv9wDVNU.js";import{p as l,t as m,a as p,s as f,c,r as d}from"../chunks/C6nv_pni.js";import{r as u,s as b}from"../chunks/DaB19yDO.js";var v=r(`<div class="flex flex-col items-center justify-center py-24 gap-4"><h1 class="text-xl font-semibold">You've been logged out</h1> <p class="text-sm text-[var(--text-muted)]">Your session has been ended.</p> <a class="btn btn-default btn-sm mt-2">Log back in</a></div>`);function y(e,s){l(s,!1),n();var t=v(),a=f(c(t),4);d(t),m(o=>b(a,"href",o),[()=>u("/auth/login")]),i(e,t),p()}export{y as component};
1
+ import{f as r,a as i}from"../chunks/ULh2o3ji.js";import{i as n}from"../chunks/Dv9wDVNU.js";import{p as l,t as m,a as p,s as f,c,r as d}from"../chunks/C6nv_pni.js";import{r as u,s as b}from"../chunks/DFGVB86g.js";var v=r(`<div class="flex flex-col items-center justify-center py-24 gap-4"><h1 class="text-xl font-semibold">You've been logged out</h1> <p class="text-sm text-[var(--text-muted)]">Your session has been ended.</p> <a class="btn btn-default btn-sm mt-2">Log back in</a></div>`);function y(e,s){l(s,!1),n();var t=v(),a=f(c(t),4);d(t),m(o=>b(a,"href",o),[()=>u("/auth/login")]),i(e,t),p()}export{y as component};
@@ -1,2 +1,2 @@
1
- import{f as _,a,c as K,t as ie}from"../chunks/ULh2o3ji.js";import{b as P,ac as de,V as ze,g as e,d as u,ad as ee,p as Re,f as C,a as Ce,$ as Ee,s as g,c as s,r as o,t as S,n as le,u as De}from"../chunks/C6nv_pni.js";import{d as Pe,e as Te,s as E,a as D}from"../chunks/DaNl6Y92.js";import{a as G,s as H,f as ve}from"../chunks/DczwA5Ds.js";import{i as N}from"../chunks/CX0xC2bt.js";import{e as Ae,n as O}from"../chunks/DskkUG-R.js";import{a as Fe,s as ce,r as Me}from"../chunks/DaB19yDO.js";import{b as Ne}from"../chunks/gjWX2x82.js";import{P as $e,c as je,r as Oe,e as Ye}from"../chunks/DxElUGai.js";import{i as te}from"../chunks/7pJPnwjh.js";import{T as qe}from"../chunks/CETiZ6GF.js";var Be=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],Ie=["difference","intersection","symmetricDifference","union"],ue=!1;class J extends Set{#r=new Map;#e=P(0);#t=P(0);#a=de||-1;constructor(t){if(super(),t){for(var n of t)super.add(n);this.#t.v=super.size}ue||this.#o()}#s(t){return de===this.#a?P(t):ze(t)}#o(){ue=!0;var t=J.prototype,n=Set.prototype;for(const i of Be)t[i]=function(...v){return e(this.#e),n[i].apply(this,v)};for(const i of Ie)t[i]=function(...v){e(this.#e);var Y=n[i].apply(this,v);return new J(Y)}}has(t){var n=super.has(t),i=this.#r,v=i.get(t);if(v===void 0){if(!n)return e(this.#e),!1;v=this.#s(!0),i.set(t,v)}return e(v),n}add(t){return super.has(t)||(super.add(t),u(this.#t,super.size),ee(this.#e)),this}delete(t){var n=super.delete(t),i=this.#r,v=i.get(t);return v!==void 0&&(i.delete(t),u(v,!1)),n&&(u(this.#t,super.size),ee(this.#e)),n}clear(){if(super.size!==0){super.clear();var t=this.#r;for(var n of t.values())u(n,!1);t.clear(),u(this.#t,0),ee(this.#e)}}keys(){return this.values()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return e(this.#t)}}var Ke=_('<input type="text" placeholder="mongodb://user:password@hostname:port?directConnection=true" class="form-input svelte-gqreh7"/> <button class="btn btn-outline-success btn-sm">Add</button>',1),Ue=_('<button class="btn btn-default btn-sm"> </button> <!>',1),Ve=_('<span class="error"><span class="badge badge-danger">Error</span> </span>'),Ge=_("<a> </a>"),He=_("<span> </span>"),Je=_('<span style="color: var(--text-secondary);">...</span>'),Le=_('<span style="color: var(--text-secondary);">...</span>'),Qe=_('<button class="btn btn-default btn-sm -my-2 hidden group-hover:inline"> </button>'),We=_('<tr class="group"><td><!></td><td><!></td><td><!></td><td style="width: 250px"><div class="flex gap-2 justify-end"><!> <button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Remove from list</button></div></td></tr>'),Xe=_('<tr><td colspan="4"><div class="text-center">No servers...</div></td></tr>'),Ze=_('<table class="table"><thead><tr><th>Name</th><th>Databases</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),et=_(`<div class="modal-overlay"><div class="modal"><div class="modal-body"><p>Are you sure you want to remove <strong> </strong>? This will only remove it from this
1
+ import{f as _,a,c as K,t as ie}from"../chunks/ULh2o3ji.js";import{b as P,ac as de,V as ze,g as e,d as u,ad as ee,p as Re,f as C,a as Ce,$ as Ee,s as g,c as s,r as o,t as S,n as le,u as De}from"../chunks/C6nv_pni.js";import{d as Pe,e as Te,s as E,a as D}from"../chunks/DaNl6Y92.js";import{a as G,s as H,f as ve}from"../chunks/DczwA5Ds.js";import{i as N}from"../chunks/CX0xC2bt.js";import{e as Ae,n as O}from"../chunks/DskkUG-R.js";import{a as Fe,s as ce,r as Me}from"../chunks/DFGVB86g.js";import{b as Ne}from"../chunks/gjWX2x82.js";import{P as $e,c as je,r as Oe,e as Ye}from"../chunks/ZsFEdbVh.js";import{i as te}from"../chunks/BzDxl-xY.js";import{T as qe}from"../chunks/CETiZ6GF.js";var Be=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],Ie=["difference","intersection","symmetricDifference","union"],ue=!1;class J extends Set{#r=new Map;#e=P(0);#t=P(0);#a=de||-1;constructor(t){if(super(),t){for(var n of t)super.add(n);this.#t.v=super.size}ue||this.#o()}#s(t){return de===this.#a?P(t):ze(t)}#o(){ue=!0;var t=J.prototype,n=Set.prototype;for(const i of Be)t[i]=function(...v){return e(this.#e),n[i].apply(this,v)};for(const i of Ie)t[i]=function(...v){e(this.#e);var Y=n[i].apply(this,v);return new J(Y)}}has(t){var n=super.has(t),i=this.#r,v=i.get(t);if(v===void 0){if(!n)return e(this.#e),!1;v=this.#s(!0),i.set(t,v)}return e(v),n}add(t){return super.has(t)||(super.add(t),u(this.#t,super.size),ee(this.#e)),this}delete(t){var n=super.delete(t),i=this.#r,v=i.get(t);return v!==void 0&&(i.delete(t),u(v,!1)),n&&(u(this.#t,super.size),ee(this.#e)),n}clear(){if(super.size!==0){super.clear();var t=this.#r;for(var n of t.values())u(n,!1);t.clear(),u(this.#t,0),ee(this.#e)}}keys(){return this.values()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return e(this.#t)}}var Ke=_('<input type="text" placeholder="mongodb://user:password@hostname:port?directConnection=true" class="form-input svelte-gqreh7"/> <button class="btn btn-outline-success btn-sm">Add</button>',1),Ue=_('<button class="btn btn-default btn-sm"> </button> <!>',1),Ve=_('<span class="error"><span class="badge badge-danger">Error</span> </span>'),Ge=_("<a> </a>"),He=_("<span> </span>"),Je=_('<span style="color: var(--text-secondary);">...</span>'),Le=_('<span style="color: var(--text-secondary);">...</span>'),Qe=_('<button class="btn btn-default btn-sm -my-2 hidden group-hover:inline"> </button>'),We=_('<tr class="group"><td><!></td><td><!></td><td><!></td><td style="width: 250px"><div class="flex gap-2 justify-end"><!> <button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Remove from list</button></div></td></tr>'),Xe=_('<tr><td colspan="4"><div class="text-center">No servers...</div></td></tr>'),Ze=_('<table class="table"><thead><tr><th>Name</th><th>Databases</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),et=_(`<div class="modal-overlay"><div class="modal"><div class="modal-body"><p>Are you sure you want to remove <strong> </strong>? This will only remove it from this
2
2
  list. You can add it back.</p></div> <div class="modal-footer"><button class="btn btn-default btn-sm">No</button> <button class="btn btn-outline-danger btn-sm">Yes</button></div></div></div>`),tt=_("<!> <!>",1);function ft(fe,t){Re(t,!0);let n=P(!1),i=P(""),v=P(!1),Y=P(!1),q=P(null);const U=new J;async function me(){if(e(i)){u(v,!0);try{await je({url:e(i)}),u(i,""),u(n,!1),O.notifySuccess("Server added successfully"),await te()}catch(c){O.notifyError(c,"Failed to add server")}finally{u(v,!1)}}}function pe(c){u(q,c,!0),u(Y,!0)}function V(){u(Y,!1),u(q,null)}async function _e(){if(e(q))try{await Ye(e(q).name),O.notifySuccess("Server removed successfully"),V(),await te()}catch(c){O.notifyError(c,"Failed to remove server")}}function he(c){c.key==="Escape"&&V()}async function be(c){U.add(c._id);try{await Oe(c._id),O.notifySuccess("Connection restored successfully"),await te()}catch(k){O.notifyError(k,"Failed to retry connection")}finally{U.delete(c._id)}}var re=tt();Te("keydown",Ee,he);var ae=C(re);$e(ae,{title:"Servers",actions:k=>{var T=Ue(),h=C(T),A=s(h,!0);o(h);var $=g(h,2);{var B=z=>{var b=Ke(),w=C(b);Fe(w);var j=g(w,2);S(()=>{w.disabled=e(v),j.disabled=!e(i).length||e(v)}),Ne(w,()=>e(i),I=>u(i,I)),D("click",j,me),a(z,b)};N($,z=>{e(n)&&z(B)})}S(()=>E(A,e(n)?"Cancel":"Add Server")),D("click",h,()=>u(n,!e(n))),a(k,T)},children:(k,T)=>{var h=Ze(),A=g(s(h)),$=s(A);{var B=b=>{var w=K(),j=C(w);Ae(j,17,()=>t.data.servers,I=>I._id,(I,y)=>{var L=We(),Q=s(L),we=s(Q);G(we,()=>e(y).details,f=>{var r=He(),m=s(r,!0);o(r),S(x=>E(m,x),[()=>H(e(y).name)]),a(f,r)},(f,r)=>{var m=K(),x=C(m);{var F=l=>{var d=Ve(),M=s(d),R=g(M);o(d),S(Z=>{ce(M,"title",e(r).error.message),E(R,` ${Z??""}`)},[()=>H(e(y).name)]),a(l,d)},p=l=>{var d=Ge(),M=s(d,!0);o(d),S((R,Z)=>{ce(d,"href",R),E(M,Z)},[()=>Me(`/servers/${encodeURIComponent(H(e(y).name))}/databases`),()=>H(e(y).name)]),a(l,d)};N(x,l=>{"error"in e(r)&&e(r).error?l(F):l(p,!1)})}a(f,m)}),o(Q);var W=g(Q),ke=s(W);G(ke,()=>e(y).details,f=>{var r=Je();a(f,r)},(f,r)=>{var m=K(),x=C(m);{var F=p=>{{let l=De(()=>e(r).databases.map(d=>({name:d.name,collections:d.collections,size:ve(d.size)})));qe(p,{columns:[{header:"Database",key:"name"},{header:"Collections",key:"collections"},{header:"Size",key:"size"}],get rows(){return e(l)},children:(d,M)=>{le();var R=ie();S(()=>E(R,e(r).databases.length)),a(d,R)},$$slots:{default:!0}})}};N(x,p=>{"databases"in e(r)&&e(r).databases&&p(F)})}a(f,m)}),o(W);var X=g(W),xe=s(X);G(xe,()=>e(y).details,f=>{var r=Le();a(f,r)},(f,r)=>{var m=K(),x=C(m);{var F=p=>{var l=ie();S(d=>E(l,d),[()=>ve(e(r).size)]),a(p,l)};N(x,p=>{"size"in e(r)&&e(r).size!==void 0&&p(F)})}a(f,m)}),o(X);var se=g(X),oe=s(se),ne=s(oe);G(ne,()=>e(y).details,null,(f,r)=>{var m=K(),x=C(m);{var F=p=>{var l=Qe(),d=s(l,!0);o(l),S((M,R)=>{l.disabled=M,E(d,R)},[()=>U.has(e(y)._id),()=>U.has(e(y)._id)?"Retrying...":"Retry"]),D("click",l,()=>be(e(y))),a(p,l)};N(x,p=>{"error"in e(r)&&e(r).error&&p(F)})}a(f,m)});var Se=g(ne,2);o(oe),o(se),o(L),D("click",Se,()=>pe(e(y))),a(I,L)}),a(b,w)},z=b=>{var w=Xe();a(b,w)};N($,b=>{t.data.servers&&t.data.servers.length>0?b(B):b(z,!1)})}o(A),o(h),a(k,h)},$$slots:{actions:!0,default:!0}});var ye=g(ae,2);{var ge=c=>{var k=et(),T=s(k),h=s(T),A=s(h),$=g(s(A)),B=s($,!0);o($),le(),o(A),o(h);var z=g(h,2),b=s(z),w=g(b,2);o(z),o(T),o(k),S(()=>E(B,e(q)?.name)),D("click",k,V),D("click",T,j=>j.stopPropagation()),D("click",b,V),D("click",w,_e),a(c,k)};N(ye,c=>{e(Y)&&c(ge)})}a(fe,re),Ce()}Pe(["click"]);export{ft as component};
@@ -1 +1 @@
1
- import{f as h,a as r,c as lt,t as S}from"../chunks/ULh2o3ji.js";import{p as it,f as U,a as dt,s as p,c as o,r as s,n as B,t as y,g as t,b as F,d as b,u as K}from"../chunks/C6nv_pni.js";import{d as vt,s as k,a as H}from"../chunks/DaNl6Y92.js";import{a as ct,f as V}from"../chunks/DczwA5Ds.js";import{i as M}from"../chunks/CX0xC2bt.js";import{e as ut,n as L}from"../chunks/DskkUG-R.js";import{r as mt,s as ft}from"../chunks/DaB19yDO.js";import{P as pt,d as bt}from"../chunks/DxElUGai.js";import{i as ht}from"../chunks/7pJPnwjh.js";import{M as _t}from"../chunks/Dbu5gl04.js";import{T as Q}from"../chunks/CETiZ6GF.js";var gt=h('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),yt=h('<tr class="group"><td><a> </a></td><td><!></td><td><!></td><td style="width: 100px"><div class="flex justify-end"><!></div></td></tr>'),zt=h('<tr><td colspan="4"><div class="text-center">No databases...</div></td></tr>'),xt=h('<table class="table"><thead><tr><th>Name</th><th>Collections</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),Dt=h('<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm"><!></button>',1),St=h("<p>Are you sure you want to drop the database <strong> </strong>? This action cannot be undone.</p>"),kt=h("<!> <!>",1);function Et(W,v){it(v,!0);let P=F(!1),_=F(null),m=F(!1);function X(g){b(_,g,!0),b(P,!0)}function T(){b(P,!1),b(_,null),b(m,!1)}async function Z(){if(!(!t(_)||t(m))){b(m,!0);try{await bt({server:v.data.server,database:t(_).name}),L.notifySuccess(`Database "${t(_).name}" dropped successfully`),T(),await ht()}catch(g){L.notifyError(g,"Failed to drop database"),b(m,!1)}}}var Y=kt(),q=U(Y);pt(q,{get title(){return`Databases on ${v.data.server??""}`},children:(g,C)=>{var f=xt(),l=p(o(f)),i=o(l);{var z=c=>{var n=lt(),x=U(n);ut(x,17,()=>v.data.databases,I=>I.name,(I,e)=>{var j=yt(),A=o(j),N=o(A),et=o(N,!0);s(N),s(A);var O=p(A),at=o(O);ct(at,()=>t(e).collections,a=>{var d=S();y(()=>k(d,t(e).nCollections)),r(a,d)},(a,d)=>{{let u=K(()=>t(d).map(D=>({name:D.name,size:V(D.size)})));Q(a,{columns:[{header:"Collection",key:"name",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return t(u)},children:(D,R)=>{B();var w=S();y(()=>k(w,t(e).nCollections)),r(D,w)},$$slots:{default:!0}})}}),s(O);var E=p(O),rt=o(E);{var ot=a=>{{let d=K(()=>[{metric:"Total Size",value:t(e).size},{metric:"Data Size",value:t(e).dataSize},{metric:"Storage Size",value:t(e).storageSize},{metric:"Index Size",value:t(e).totalIndexSize},{metric:"Avg Object Size",value:t(e).avgObjSize},{metric:"Empty",value:t(e).empty?"Yes":"No"}].map(u=>({...u,value:typeof u.value=="number"?V(u.value):u.value})));Q(a,{hideHeader:!0,columns:[{header:"Metric",key:"metric",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return t(d)},children:(u,D)=>{B();var R=S();y(w=>k(R,w),[()=>V(t(e).size)]),r(u,R)},$$slots:{default:!0}})}};M(rt,a=>{t(e).size!==void 0&&a(ot)})}s(E);var G=p(E),J=o(G),st=o(J);{var nt=a=>{var d=gt();H("click",d,()=>X(t(e))),r(a,d)};M(st,a=>{v.data.readOnly||a(nt)})}s(J),s(G),s(j),y(a=>{ft(N,"href",a),k(et,t(e).name)},[()=>mt(`/servers/${encodeURIComponent(v.data.server)}/databases/${encodeURIComponent(t(e).name)}/collections`)]),r(I,j)}),r(c,n)},$=c=>{var n=zt();r(c,n)};M(i,c=>{v.data.databases&&v.data.databases.length>0?c(z):c($,!1)})}s(l),s(f),r(g,f)},$$slots:{default:!0}});var tt=p(q,2);_t(tt,{get show(){return t(P)},onclose:T,title:"Drop Database",footer:C=>{var f=Dt(),l=U(f),i=p(l,2),z=o(i);{var $=n=>{var x=S("Dropping...");r(n,x)},c=n=>{var x=S("Drop Database");r(n,x)};M(z,n=>{t(m)?n($):n(c,!1)})}s(i),y(()=>{l.disabled=t(m),i.disabled=t(m)}),H("click",l,T),H("click",i,Z),r(C,f)},children:(C,f)=>{var l=St(),i=p(o(l)),z=o(i,!0);s(i),B(),s(l),y(()=>k(z,t(_)?.name)),r(C,l)},$$slots:{footer:!0,default:!0}}),r(W,Y),dt()}vt(["click"]);export{Et as component};
1
+ import{f as h,a as r,c as lt,t as S}from"../chunks/ULh2o3ji.js";import{p as it,f as U,a as dt,s as p,c as o,r as s,n as B,t as y,g as t,b as F,d as b,u as K}from"../chunks/C6nv_pni.js";import{d as vt,s as k,a as H}from"../chunks/DaNl6Y92.js";import{a as ct,f as V}from"../chunks/DczwA5Ds.js";import{i as M}from"../chunks/CX0xC2bt.js";import{e as ut,n as L}from"../chunks/DskkUG-R.js";import{r as mt,s as ft}from"../chunks/DFGVB86g.js";import{P as pt,d as bt}from"../chunks/ZsFEdbVh.js";import{i as ht}from"../chunks/BzDxl-xY.js";import{M as _t}from"../chunks/Dbu5gl04.js";import{T as Q}from"../chunks/CETiZ6GF.js";var gt=h('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),yt=h('<tr class="group"><td><a> </a></td><td><!></td><td><!></td><td style="width: 100px"><div class="flex justify-end"><!></div></td></tr>'),zt=h('<tr><td colspan="4"><div class="text-center">No databases...</div></td></tr>'),xt=h('<table class="table"><thead><tr><th>Name</th><th>Collections</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),Dt=h('<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm"><!></button>',1),St=h("<p>Are you sure you want to drop the database <strong> </strong>? This action cannot be undone.</p>"),kt=h("<!> <!>",1);function Et(W,v){it(v,!0);let P=F(!1),_=F(null),m=F(!1);function X(g){b(_,g,!0),b(P,!0)}function T(){b(P,!1),b(_,null),b(m,!1)}async function Z(){if(!(!t(_)||t(m))){b(m,!0);try{await bt({server:v.data.server,database:t(_).name}),L.notifySuccess(`Database "${t(_).name}" dropped successfully`),T(),await ht()}catch(g){L.notifyError(g,"Failed to drop database"),b(m,!1)}}}var Y=kt(),q=U(Y);pt(q,{get title(){return`Databases on ${v.data.server??""}`},children:(g,C)=>{var f=xt(),l=p(o(f)),i=o(l);{var z=c=>{var n=lt(),x=U(n);ut(x,17,()=>v.data.databases,I=>I.name,(I,e)=>{var j=yt(),A=o(j),N=o(A),et=o(N,!0);s(N),s(A);var O=p(A),at=o(O);ct(at,()=>t(e).collections,a=>{var d=S();y(()=>k(d,t(e).nCollections)),r(a,d)},(a,d)=>{{let u=K(()=>t(d).map(D=>({name:D.name,size:V(D.size)})));Q(a,{columns:[{header:"Collection",key:"name",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return t(u)},children:(D,R)=>{B();var w=S();y(()=>k(w,t(e).nCollections)),r(D,w)},$$slots:{default:!0}})}}),s(O);var E=p(O),rt=o(E);{var ot=a=>{{let d=K(()=>[{metric:"Total Size",value:t(e).size},{metric:"Data Size",value:t(e).dataSize},{metric:"Storage Size",value:t(e).storageSize},{metric:"Index Size",value:t(e).totalIndexSize},{metric:"Avg Object Size",value:t(e).avgObjSize},{metric:"Empty",value:t(e).empty?"Yes":"No"}].map(u=>({...u,value:typeof u.value=="number"?V(u.value):u.value})));Q(a,{hideHeader:!0,columns:[{header:"Metric",key:"metric",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return t(d)},children:(u,D)=>{B();var R=S();y(w=>k(R,w),[()=>V(t(e).size)]),r(u,R)},$$slots:{default:!0}})}};M(rt,a=>{t(e).size!==void 0&&a(ot)})}s(E);var G=p(E),J=o(G),st=o(J);{var nt=a=>{var d=gt();H("click",d,()=>X(t(e))),r(a,d)};M(st,a=>{v.data.readOnly||a(nt)})}s(J),s(G),s(j),y(a=>{ft(N,"href",a),k(et,t(e).name)},[()=>mt(`/servers/${encodeURIComponent(v.data.server)}/databases/${encodeURIComponent(t(e).name)}/collections`)]),r(I,j)}),r(c,n)},$=c=>{var n=zt();r(c,n)};M(i,c=>{v.data.databases&&v.data.databases.length>0?c(z):c($,!1)})}s(l),s(f),r(g,f)},$$slots:{default:!0}});var tt=p(q,2);_t(tt,{get show(){return t(P)},onclose:T,title:"Drop Database",footer:C=>{var f=Dt(),l=U(f),i=p(l,2),z=o(i);{var $=n=>{var x=S("Dropping...");r(n,x)},c=n=>{var x=S("Drop Database");r(n,x)};M(z,n=>{t(m)?n($):n(c,!1)})}s(i),y(()=>{l.disabled=t(m),i.disabled=t(m)}),H("click",l,T),H("click",i,Z),r(C,f)},children:(C,f)=>{var l=St(),i=p(o(l)),z=o(i,!0);s(i),B(),s(l),y(()=>k(z,t(_)?.name)),r(C,l)},$$slots:{footer:!0,default:!0}}),r(W,Y),dt()}vt(["click"]);export{Et as component};
@@ -1 +1 @@
1
- {"version":"1774204646511"}
1
+ {"version":"1774204579049"}
Binary file
Binary file
@@ -23,9 +23,9 @@ const index = 0;
23
23
  let component_cache;
24
24
  const component = async () => component_cache ??= (await import('./_layout.svelte-BFxKanne.js')).default;
25
25
  const server_id = "src/routes/+layout.server.ts";
26
- const imports = ["_app/immutable/nodes/0.DslN_3Dr.js","_app/immutable/chunks/ULh2o3ji.js","_app/immutable/chunks/C6nv_pni.js","_app/immutable/chunks/DaNl6Y92.js","_app/immutable/chunks/DjlV9yev.js","_app/immutable/chunks/DJHYr09v.js","_app/immutable/chunks/CX0xC2bt.js","_app/immutable/chunks/B59nRjE7.js","_app/immutable/chunks/DaB19yDO.js","_app/immutable/chunks/CvSzAfZh.js","_app/immutable/chunks/y5L2Na-S.js","_app/immutable/chunks/Dv9wDVNU.js","_app/immutable/chunks/DskkUG-R.js","_app/immutable/chunks/rsaImgdg.js","_app/immutable/chunks/7pJPnwjh.js"];
26
+ const imports = ["_app/immutable/nodes/0.zEd7eXYr.js","_app/immutable/chunks/ULh2o3ji.js","_app/immutable/chunks/C6nv_pni.js","_app/immutable/chunks/DaNl6Y92.js","_app/immutable/chunks/DjlV9yev.js","_app/immutable/chunks/DJHYr09v.js","_app/immutable/chunks/CX0xC2bt.js","_app/immutable/chunks/B59nRjE7.js","_app/immutable/chunks/DFGVB86g.js","_app/immutable/chunks/C4KNUyMJ.js","_app/immutable/chunks/y5L2Na-S.js","_app/immutable/chunks/Dv9wDVNU.js","_app/immutable/chunks/DskkUG-R.js","_app/immutable/chunks/DJ979gqK.js","_app/immutable/chunks/BzDxl-xY.js"];
27
27
  const stylesheets = ["_app/immutable/assets/0.CdYhspVa.css"];
28
28
  const fonts = [];
29
29
 
30
30
  export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
31
- //# sourceMappingURL=0-CCyS02BL.js.map
31
+ //# sourceMappingURL=0-B4_GybFX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0-CCyS02BL.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["import { b as private_env } from \"../../chunks/shared-server.js\";\nimport { g as getOAuthConfig } from \"../../chunks/oauth.js\";\nconst load = async (event) => {\n return {\n readOnly: private_env.MONGOKU_READ_ONLY_MODE === \"true\",\n serverOrigin: event.url.origin,\n oauthEnabled: !!await getOAuthConfig(),\n user: event.locals.user\n };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/_layout.server.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/0.DslN_3Dr.js\",\"_app/immutable/chunks/ULh2o3ji.js\",\"_app/immutable/chunks/C6nv_pni.js\",\"_app/immutable/chunks/DaNl6Y92.js\",\"_app/immutable/chunks/DjlV9yev.js\",\"_app/immutable/chunks/DJHYr09v.js\",\"_app/immutable/chunks/CX0xC2bt.js\",\"_app/immutable/chunks/B59nRjE7.js\",\"_app/immutable/chunks/DaB19yDO.js\",\"_app/immutable/chunks/CvSzAfZh.js\",\"_app/immutable/chunks/y5L2Na-S.js\",\"_app/immutable/chunks/Dv9wDVNU.js\",\"_app/immutable/chunks/DskkUG-R.js\",\"_app/immutable/chunks/rsaImgdg.js\",\"_app/immutable/chunks/7pJPnwjh.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.CdYhspVa.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;AAEA,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK;AAC9B,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,WAAW,CAAC,sBAAsB,KAAK,MAAM;AAC3D,IAAI,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;AAClC,IAAI,YAAY,EAAE,CAAC,CAAC,MAAM,cAAc,EAAE;AAC1C,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACvB,GAAG;AACH,CAAC;;;;;;;ACPW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxiB,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"0-B4_GybFX.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["import { b as private_env } from \"../../chunks/shared-server.js\";\nimport { g as getOAuthConfig } from \"../../chunks/oauth.js\";\nconst load = async (event) => {\n return {\n readOnly: private_env.MONGOKU_READ_ONLY_MODE === \"true\",\n serverOrigin: event.url.origin,\n oauthEnabled: !!await getOAuthConfig(),\n user: event.locals.user\n };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/_layout.server.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/0.zEd7eXYr.js\",\"_app/immutable/chunks/ULh2o3ji.js\",\"_app/immutable/chunks/C6nv_pni.js\",\"_app/immutable/chunks/DaNl6Y92.js\",\"_app/immutable/chunks/DjlV9yev.js\",\"_app/immutable/chunks/DJHYr09v.js\",\"_app/immutable/chunks/CX0xC2bt.js\",\"_app/immutable/chunks/B59nRjE7.js\",\"_app/immutable/chunks/DFGVB86g.js\",\"_app/immutable/chunks/C4KNUyMJ.js\",\"_app/immutable/chunks/y5L2Na-S.js\",\"_app/immutable/chunks/Dv9wDVNU.js\",\"_app/immutable/chunks/DskkUG-R.js\",\"_app/immutable/chunks/DJ979gqK.js\",\"_app/immutable/chunks/BzDxl-xY.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.CdYhspVa.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;AAEA,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK;AAC9B,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,WAAW,CAAC,sBAAsB,KAAK,MAAM;AAC3D,IAAI,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;AAClC,IAAI,YAAY,EAAE,CAAC,CAAC,MAAM,cAAc,EAAE;AAC1C,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACvB,GAAG;AACH,CAAC;;;;;;;ACPW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxiB,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  const index = 1;
2
2
  let component_cache;
3
3
  const component = async () => component_cache ??= (await import('./error.svelte-Bk-0XnBt.js')).default;
4
- const imports = ["_app/immutable/nodes/1.C6sLpnA0.js","_app/immutable/chunks/ULh2o3ji.js","_app/immutable/chunks/C6nv_pni.js","_app/immutable/chunks/Dv9wDVNU.js","_app/immutable/chunks/DaNl6Y92.js","_app/immutable/chunks/rsaImgdg.js","_app/immutable/chunks/CvSzAfZh.js","_app/immutable/chunks/y5L2Na-S.js","_app/immutable/chunks/7pJPnwjh.js"];
4
+ const imports = ["_app/immutable/nodes/1.BWwHWtSC.js","_app/immutable/chunks/ULh2o3ji.js","_app/immutable/chunks/C6nv_pni.js","_app/immutable/chunks/Dv9wDVNU.js","_app/immutable/chunks/DaNl6Y92.js","_app/immutable/chunks/DJ979gqK.js","_app/immutable/chunks/C4KNUyMJ.js","_app/immutable/chunks/y5L2Na-S.js","_app/immutable/chunks/BzDxl-xY.js"];
5
5
  const stylesheets = [];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=1-DQpmReHs.js.map
9
+ //# sourceMappingURL=1-CBliTycp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1-DQpmReHs.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.C6sLpnA0.js\",\"_app/immutable/chunks/ULh2o3ji.js\",\"_app/immutable/chunks/C6nv_pni.js\",\"_app/immutable/chunks/Dv9wDVNU.js\",\"_app/immutable/chunks/DaNl6Y92.js\",\"_app/immutable/chunks/rsaImgdg.js\",\"_app/immutable/chunks/CvSzAfZh.js\",\"_app/immutable/chunks/y5L2Na-S.js\",\"_app/immutable/chunks/7pJPnwjh.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChV,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"1-CBliTycp.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.BWwHWtSC.js\",\"_app/immutable/chunks/ULh2o3ji.js\",\"_app/immutable/chunks/C6nv_pni.js\",\"_app/immutable/chunks/Dv9wDVNU.js\",\"_app/immutable/chunks/DaNl6Y92.js\",\"_app/immutable/chunks/DJ979gqK.js\",\"_app/immutable/chunks/C4KNUyMJ.js\",\"_app/immutable/chunks/y5L2Na-S.js\",\"_app/immutable/chunks/BzDxl-xY.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChV,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -34,9 +34,9 @@ const index = 10;
34
34
  let component_cache;
35
35
  const component = async () => component_cache ??= (await import('./_page.svelte-DxlZXLVf.js')).default;
36
36
  const server_id = "src/routes/servers/[server]/databases/[database]/collections/+page.server.ts";
37
- const imports = ["_app/immutable/nodes/10.Do2PZ6yl.js","_app/immutable/chunks/ULh2o3ji.js","_app/immutable/chunks/C6nv_pni.js","_app/immutable/chunks/DaNl6Y92.js","_app/immutable/chunks/DczwA5Ds.js","_app/immutable/chunks/DJHYr09v.js","_app/immutable/chunks/CX0xC2bt.js","_app/immutable/chunks/DskkUG-R.js","_app/immutable/chunks/DaB19yDO.js","_app/immutable/chunks/CvSzAfZh.js","_app/immutable/chunks/y5L2Na-S.js","_app/immutable/chunks/DxElUGai.js","_app/immutable/chunks/7pJPnwjh.js","_app/immutable/chunks/DjlV9yev.js","_app/immutable/chunks/DwvJoC1a.js","_app/immutable/chunks/Dbu5gl04.js","_app/immutable/chunks/CETiZ6GF.js","_app/immutable/chunks/DZxZehvI.js","_app/immutable/chunks/B59nRjE7.js"];
37
+ const imports = ["_app/immutable/nodes/10.GZrKT64A.js","_app/immutable/chunks/ULh2o3ji.js","_app/immutable/chunks/C6nv_pni.js","_app/immutable/chunks/DaNl6Y92.js","_app/immutable/chunks/DczwA5Ds.js","_app/immutable/chunks/DJHYr09v.js","_app/immutable/chunks/CX0xC2bt.js","_app/immutable/chunks/DskkUG-R.js","_app/immutable/chunks/DFGVB86g.js","_app/immutable/chunks/C4KNUyMJ.js","_app/immutable/chunks/y5L2Na-S.js","_app/immutable/chunks/ZsFEdbVh.js","_app/immutable/chunks/BzDxl-xY.js","_app/immutable/chunks/DjlV9yev.js","_app/immutable/chunks/DwvJoC1a.js","_app/immutable/chunks/Dbu5gl04.js","_app/immutable/chunks/CETiZ6GF.js","_app/immutable/chunks/DZxZehvI.js","_app/immutable/chunks/B59nRjE7.js"];
38
38
  const stylesheets = ["_app/immutable/assets/Modal.CZgFKXkP.css"];
39
39
  const fonts = [];
40
40
 
41
41
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
42
- //# sourceMappingURL=10-BCHVePpT.js.map
42
+ //# sourceMappingURL=10-DK-L3H19.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"10-BCHVePpT.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/10.js"],"sourcesContent":["import { g as getMongo, a as getCollectionJson } from \"../../../../../../../chunks/mongo.js\";\nconst load = async ({ params }) => {\n const mongo = await getMongo();\n const client = mongo.getClient(params.server);\n const db = client.db(params.database);\n const collections = (await db.listCollections().toArray()).sort((a, b) => a.name.localeCompare(b.name));\n const collectionsWithDetails = collections.map((c) => ({\n name: c.name,\n type: c.type,\n details: getCollectionJson(db.collection(c.name), c.type).catch(() => null)\n }));\n return {\n collections: collectionsWithDetails\n };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/servers/_server_/databases/_database_/collections/_page.server.ts.js';\n\nexport const index = 10;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/servers/_server_/databases/_database_/collections/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/servers/[server]/databases/[database]/collections/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/10.Do2PZ6yl.js\",\"_app/immutable/chunks/ULh2o3ji.js\",\"_app/immutable/chunks/C6nv_pni.js\",\"_app/immutable/chunks/DaNl6Y92.js\",\"_app/immutable/chunks/DczwA5Ds.js\",\"_app/immutable/chunks/DJHYr09v.js\",\"_app/immutable/chunks/CX0xC2bt.js\",\"_app/immutable/chunks/DskkUG-R.js\",\"_app/immutable/chunks/DaB19yDO.js\",\"_app/immutable/chunks/CvSzAfZh.js\",\"_app/immutable/chunks/y5L2Na-S.js\",\"_app/immutable/chunks/DxElUGai.js\",\"_app/immutable/chunks/7pJPnwjh.js\",\"_app/immutable/chunks/DjlV9yev.js\",\"_app/immutable/chunks/DwvJoC1a.js\",\"_app/immutable/chunks/Dbu5gl04.js\",\"_app/immutable/chunks/CETiZ6GF.js\",\"_app/immutable/chunks/DZxZehvI.js\",\"_app/immutable/chunks/B59nRjE7.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Modal.CZgFKXkP.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;AACA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE;AAChC,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/C,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;AACvC,EAAE,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzG,EAAE,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACzD,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI;AAChB,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI;AAChB,IAAI,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI;AAC9E,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,WAAW,EAAE;AACjB,GAAG;AACH,CAAC;;;;;;;ACZW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAoF,CAAC,EAAE;AAElJ,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACzrB,MAAC,WAAW,GAAG,CAAC,0CAA0C;AAC1D,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"10-DK-L3H19.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/10.js"],"sourcesContent":["import { g as getMongo, a as getCollectionJson } from \"../../../../../../../chunks/mongo.js\";\nconst load = async ({ params }) => {\n const mongo = await getMongo();\n const client = mongo.getClient(params.server);\n const db = client.db(params.database);\n const collections = (await db.listCollections().toArray()).sort((a, b) => a.name.localeCompare(b.name));\n const collectionsWithDetails = collections.map((c) => ({\n name: c.name,\n type: c.type,\n details: getCollectionJson(db.collection(c.name), c.type).catch(() => null)\n }));\n return {\n collections: collectionsWithDetails\n };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/servers/_server_/databases/_database_/collections/_page.server.ts.js';\n\nexport const index = 10;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/servers/_server_/databases/_database_/collections/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/servers/[server]/databases/[database]/collections/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/10.GZrKT64A.js\",\"_app/immutable/chunks/ULh2o3ji.js\",\"_app/immutable/chunks/C6nv_pni.js\",\"_app/immutable/chunks/DaNl6Y92.js\",\"_app/immutable/chunks/DczwA5Ds.js\",\"_app/immutable/chunks/DJHYr09v.js\",\"_app/immutable/chunks/CX0xC2bt.js\",\"_app/immutable/chunks/DskkUG-R.js\",\"_app/immutable/chunks/DFGVB86g.js\",\"_app/immutable/chunks/C4KNUyMJ.js\",\"_app/immutable/chunks/y5L2Na-S.js\",\"_app/immutable/chunks/ZsFEdbVh.js\",\"_app/immutable/chunks/BzDxl-xY.js\",\"_app/immutable/chunks/DjlV9yev.js\",\"_app/immutable/chunks/DwvJoC1a.js\",\"_app/immutable/chunks/Dbu5gl04.js\",\"_app/immutable/chunks/CETiZ6GF.js\",\"_app/immutable/chunks/DZxZehvI.js\",\"_app/immutable/chunks/B59nRjE7.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Modal.CZgFKXkP.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;AACA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE;AAChC,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/C,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;AACvC,EAAE,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzG,EAAE,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACzD,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI;AAChB,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI;AAChB,IAAI,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI;AAC9E,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,WAAW,EAAE;AACjB,GAAG;AACH,CAAC;;;;;;;ACZW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAoF,CAAC,EAAE;AAElJ,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACzrB,MAAC,WAAW,GAAG,CAAC,0CAA0C;AAC1D,MAAC,KAAK,GAAG;;;;"}