mongoku 2.4.0 → 2.4.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/README.md +20 -0
  2. package/build/client/_app/immutable/chunks/{Bq7qZpXP.js → B4PMKPdj.js} +1 -1
  3. package/build/client/_app/immutable/chunks/B4PMKPdj.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/B4PMKPdj.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{DGtnJf56.js → BS-WMmdQ.js} +1 -1
  6. package/build/client/_app/immutable/chunks/BS-WMmdQ.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BS-WMmdQ.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{C1g0HmEj.js → C8YVtXu6.js} +1 -1
  9. package/build/client/_app/immutable/chunks/C8YVtXu6.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/C8YVtXu6.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{3xIOsPOb.js → DDmwf13s.js} +1 -1
  12. package/build/client/_app/immutable/chunks/DDmwf13s.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/DDmwf13s.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{_Sxqiax7.js → DSSOupge.js} +1 -1
  15. package/build/client/_app/immutable/chunks/DSSOupge.js.br +4 -0
  16. package/build/client/_app/immutable/chunks/DSSOupge.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{BZY48V2X.js → DSU4C0db.js} +1 -1
  18. package/build/client/_app/immutable/chunks/DSU4C0db.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/DSU4C0db.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{pj4OZpZf.js → DsktxonY.js} +3 -3
  21. package/build/client/_app/immutable/chunks/DsktxonY.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/DsktxonY.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{B83FMsIQ.js → cYbZe0tp.js} +1 -1
  24. package/build/client/_app/immutable/chunks/cYbZe0tp.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/cYbZe0tp.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/{app.DV8my7lq.js → app.Cm_9BNbc.js} +2 -2
  27. package/build/client/_app/immutable/entry/app.Cm_9BNbc.js.br +0 -0
  28. package/build/client/_app/immutable/entry/app.Cm_9BNbc.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/start.MAsz9FVx.js +1 -0
  30. package/build/client/_app/immutable/entry/start.MAsz9FVx.js.br +2 -0
  31. package/build/client/_app/immutable/entry/start.MAsz9FVx.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{0.CNNOoOHl.js → 0.y8LK1s5f.js} +1 -1
  33. package/build/client/_app/immutable/nodes/0.y8LK1s5f.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/0.y8LK1s5f.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{1.C-65KEEJ.js → 1.BMaAUwkL.js} +1 -1
  36. package/build/client/_app/immutable/nodes/1.BMaAUwkL.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/1.BMaAUwkL.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{10.BQ-b15Yh.js → 10.DMQAzoQ7.js} +1 -1
  39. package/build/client/_app/immutable/nodes/10.DMQAzoQ7.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/10.DMQAzoQ7.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{11.iU-GIxdi.js → 11.DzRTinoM.js} +1 -1
  42. package/build/client/_app/immutable/nodes/11.DzRTinoM.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/11.DzRTinoM.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{12.BneOFPb1.js → 12.KkLNpiS7.js} +1 -1
  45. package/build/client/_app/immutable/nodes/12.KkLNpiS7.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/12.KkLNpiS7.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{13.BsUY4XVc.js → 13.CTnSP428.js} +1 -1
  48. package/build/client/_app/immutable/nodes/13.CTnSP428.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/13.CTnSP428.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{7.S2O-z1Ox.js → 7.DBYbwQBl.js} +1 -1
  51. package/build/client/_app/immutable/nodes/7.DBYbwQBl.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/7.DBYbwQBl.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/{8.aa4EbN0k.js → 8.DSlWjtVh.js} +1 -1
  54. package/build/client/_app/immutable/nodes/8.DSlWjtVh.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/8.DSlWjtVh.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/{9.9dZgqvLb.js → 9.B6WlIL0U.js} +1 -1
  57. package/build/client/_app/immutable/nodes/9.B6WlIL0U.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/9.B6WlIL0U.js.gz +0 -0
  59. package/build/client/_app/version.json +1 -1
  60. package/build/client/_app/version.json.br +0 -0
  61. package/build/client/_app/version.json.gz +0 -0
  62. package/build/server/chunks/{0-BHG1s0_H.js → 0-DiU96Mm4.js} +2 -2
  63. package/build/server/chunks/{0-BHG1s0_H.js.map → 0-DiU96Mm4.js.map} +1 -1
  64. package/build/server/chunks/{1-Xz1zN5FT.js → 1-CkKDrmG-.js} +2 -2
  65. package/build/server/chunks/{1-Xz1zN5FT.js.map → 1-CkKDrmG-.js.map} +1 -1
  66. package/build/server/chunks/{10-CaYvpZVK.js → 10-DojNzpTD.js} +2 -2
  67. package/build/server/chunks/{10-CaYvpZVK.js.map → 10-DojNzpTD.js.map} +1 -1
  68. package/build/server/chunks/{11-uJK96PLt.js → 11-BVkK69m2.js} +2 -2
  69. package/build/server/chunks/{11-uJK96PLt.js.map → 11-BVkK69m2.js.map} +1 -1
  70. package/build/server/chunks/{12-CvEEILKx.js → 12-BDKQtnsa.js} +2 -2
  71. package/build/server/chunks/{12-CvEEILKx.js.map → 12-BDKQtnsa.js.map} +1 -1
  72. package/build/server/chunks/{13-Cvk7ClFs.js → 13-B5x667Sz.js} +2 -2
  73. package/build/server/chunks/{13-Cvk7ClFs.js.map → 13-B5x667Sz.js.map} +1 -1
  74. package/build/server/chunks/{7-DTmi6ASF.js → 7-ChmXghnt.js} +2 -2
  75. package/build/server/chunks/{7-DTmi6ASF.js.map → 7-ChmXghnt.js.map} +1 -1
  76. package/build/server/chunks/{8-CHIpUo4j.js → 8-CMtPSQlN.js} +2 -2
  77. package/build/server/chunks/{8-CHIpUo4j.js.map → 8-CMtPSQlN.js.map} +1 -1
  78. package/build/server/chunks/{9-C3nw_taL.js → 9-BX0yLafd.js} +2 -2
  79. package/build/server/chunks/{9-C3nw_taL.js.map → 9-BX0yLafd.js.map} +1 -1
  80. package/build/server/index.js +1 -1
  81. package/build/server/index.js.map +1 -1
  82. package/build/server/manifest.js +10 -10
  83. package/build/server/manifest.js.map +1 -1
  84. package/package.json +1 -1
  85. package/build/client/_app/immutable/chunks/3xIOsPOb.js.br +0 -0
  86. package/build/client/_app/immutable/chunks/3xIOsPOb.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/B83FMsIQ.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/B83FMsIQ.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/BZY48V2X.js.br +0 -0
  90. package/build/client/_app/immutable/chunks/BZY48V2X.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/Bq7qZpXP.js.br +0 -0
  92. package/build/client/_app/immutable/chunks/Bq7qZpXP.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/C1g0HmEj.js.br +0 -0
  94. package/build/client/_app/immutable/chunks/C1g0HmEj.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/DGtnJf56.js.br +0 -0
  96. package/build/client/_app/immutable/chunks/DGtnJf56.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/_Sxqiax7.js.br +0 -0
  98. package/build/client/_app/immutable/chunks/_Sxqiax7.js.gz +0 -0
  99. package/build/client/_app/immutable/chunks/pj4OZpZf.js.br +0 -0
  100. package/build/client/_app/immutable/chunks/pj4OZpZf.js.gz +0 -0
  101. package/build/client/_app/immutable/entry/app.DV8my7lq.js.br +0 -0
  102. package/build/client/_app/immutable/entry/app.DV8my7lq.js.gz +0 -0
  103. package/build/client/_app/immutable/entry/start.CHeMkIYN.js +0 -1
  104. package/build/client/_app/immutable/entry/start.CHeMkIYN.js.br +0 -0
  105. package/build/client/_app/immutable/entry/start.CHeMkIYN.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/0.CNNOoOHl.js.br +0 -0
  107. package/build/client/_app/immutable/nodes/0.CNNOoOHl.js.gz +0 -0
  108. package/build/client/_app/immutable/nodes/1.C-65KEEJ.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/1.C-65KEEJ.js.gz +0 -0
  110. package/build/client/_app/immutable/nodes/10.BQ-b15Yh.js.br +0 -0
  111. package/build/client/_app/immutable/nodes/10.BQ-b15Yh.js.gz +0 -0
  112. package/build/client/_app/immutable/nodes/11.iU-GIxdi.js.br +0 -0
  113. package/build/client/_app/immutable/nodes/11.iU-GIxdi.js.gz +0 -0
  114. package/build/client/_app/immutable/nodes/12.BneOFPb1.js.br +0 -0
  115. package/build/client/_app/immutable/nodes/12.BneOFPb1.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/13.BsUY4XVc.js.br +0 -0
  117. package/build/client/_app/immutable/nodes/13.BsUY4XVc.js.gz +0 -0
  118. package/build/client/_app/immutable/nodes/7.S2O-z1Ox.js.br +0 -0
  119. package/build/client/_app/immutable/nodes/7.S2O-z1Ox.js.gz +0 -0
  120. package/build/client/_app/immutable/nodes/8.aa4EbN0k.js.br +0 -0
  121. package/build/client/_app/immutable/nodes/8.aa4EbN0k.js.gz +0 -0
  122. package/build/client/_app/immutable/nodes/9.9dZgqvLb.js.br +0 -0
  123. package/build/client/_app/immutable/nodes/9.9dZgqvLb.js.gz +0 -0
@@ -1 +1 @@
1
- import"../chunks/BPbCnJEo.js";import{i as I,a2 as ve,h as e,p as We,Z as Pe,B as ee,u as $,f as y,d,t as re,b as g,c as He,s as i,j as c,r as u,n as Oe,an as tt,am as Re,_ as Ne,a as Z,e as Ge,l as _e}from"../chunks/reNJcONQ.js";import{d as Ke,e as rt,s as ke}from"../chunks/ByCRZ7zS.js";import{a as Qe,b as F}from"../chunks/Dn0_-jEe.js";import{i as q}from"../chunks/0oUK0vJa.js";import{b as W,c as Ve,r as Le,s as te,n as N,e as ot}from"../chunks/B83FMsIQ.js";import{a as Ae}from"../chunks/BXUq66wC.js";import{b as J}from"../chunks/UJuWD2W4.js";import{p as ye,b as Ie}from"../chunks/BGXqurs_.js";import{P as he,l as Be,g as at,i as st,u as nt,b as lt}from"../chunks/DGtnJf56.js";import{g as it,a as Fe}from"../chunks/pj4OZpZf.js";import{j as Te}from"../chunks/3xIOsPOb.js";import{s as Ze,p as Me,P as ct}from"../chunks/BZY48V2X.js";import{p as dt}from"../chunks/C1g0HmEj.js";const ut=Symbol();class Xe extends URLSearchParams{#e=I(0);#o=pt();#t=!1;#r(){if(!this.#o||this.#t)return;this.#t=!0;const s=this.toString();this.#o.search=s&&`?${s}`,this.#t=!1}[ut](s){if(!this.#t){this.#t=!0;for(const o of[...super.keys()])super.delete(o);for(const[o,t]of s)super.append(o,t);ve(this.#e),this.#t=!1}}append(s,o){super.append(s,o),this.#r(),ve(this.#e)}delete(s,o){var t=super.has(s,o);super.delete(s,o),t&&(this.#r(),ve(this.#e))}get(s){return e(this.#e),super.get(s)}getAll(s){return e(this.#e),super.getAll(s)}has(s,o){return e(this.#e),super.has(s,o)}keys(){return e(this.#e),super.keys()}set(s,o){var t=super.getAll(s).join("");super.set(s,o),t!==super.getAll(s).join("")&&(this.#r(),ve(this.#e))}sort(){super.sort(),this.#r(),ve(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 vt=null;function pt(){return vt}const bt=async h=>({...h.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Yt=Object.freeze(Object.defineProperty({__proto__:null,load:bt},Symbol.toStringTag,{value:"Module"}));var mt=y('<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>'),ft=y('<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);"/>'),gt=(h,s)=>{c(s,!e(s))},xt=(h,s)=>{s(!s())},ht=y('<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);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" 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></button>'),yt=y('<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);">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> <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>'),_t=y('<div class="text-xs" style="color: var(--text-secondary);">Tip: Use <code class="px-1.5 py-0.5 rounded bg-[var(--color-3)] border border-[var(--border-color)] font-mono"></code> to switch to aggregation mode</div>'),kt=y('<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"><div class="px-3 flex items-center text-[13px] border-r border-[var(--border-color)]" style="color: var(--text-secondary);"> </div> <!></div> <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 rounded-xl bg-[var(--button-success)] text-white font-semibold transition cursor-pointer hover:bg-[var(--button-success-l)] active:brightness-95">Go</button></div></div> <!> <!></form></div>');function wt(h,s){We(s,!0);let o=ye(s,"params",15),t=ye(s,"editMode",15,!1),l=ye(s,"readonly",11,!1),_=I(Pe(o().sort!=="{}"||o().project!=="{}"||o().skip!==0||o().limit!==20)),w=I(Pe(Math.random())),U=I(void 0),k=$(()=>o().query?.trimStart().startsWith("["));ee(()=>{e(k)&&t()&&t(!1)}),ee(()=>{e(U)&&(e(U).setSelectionRange(1,1),e(U).focus())});async function G(r){r.preventDefault(),tt(w);const a=new FormData(e(E));await it(Le(dt.url.pathname+"?"+[...a.entries()].map(n=>encodeURIComponent(n[0])+"="+encodeURIComponent(n[1])).join("&")),{keepFocus:!0})}let E=I(void 0);var H=kt(),M=d(H),oe=d(M),ae=d(oe),se=d(ae),pe=d(se,!0);u(se);var K=i(se,2);{var V=r=>{var a=mt();Re(a),Ie(a,n=>c(U,n),()=>e(U)),Ne(()=>J(a,()=>o().query,n=>o(o().query=n,!0))),Ae(a,(n,v)=>Te?.(n,v),()=>({onsubmit:()=>e(E)?.requestSubmit()})),g(r,a)},ne=r=>{var a=ft();W(a),te(a,"placeholder","{}"),Ie(a,n=>c(U,n),()=>e(U)),J(a,()=>o().query,n=>o(o().query=n,!0)),g(r,a)};q(K,r=>{e(k)?r(V):r(ne,!1)})}u(ae);var Q=i(ae,2);W(Q);var le=i(Q,2),P=d(le);P.__click=[gt,_];var be=d(P,!0);u(P);var we=i(P,2);{var me=r=>{var a=ht();a.__click=[xt,t],re(()=>{te(a,"title",e(k)?"Update not available in aggregation mode":"Update multiple documents"),a.disabled=e(k)}),g(r,a)};q(we,r=>{l()||r(me)})}Oe(2),u(le),u(oe);var ie=i(oe,2);{var fe=r=>{var a=yt(),n=d(a),v=i(d(n),2);W(v),te(v,"placeholder","{}"),u(n);var f=i(n,2),S=i(d(f),2);W(S),te(S,"placeholder","{}"),u(f);var b=i(f,2),p=i(d(b),2);W(p),u(b);var x=i(b,2),j=i(d(x),2);W(j),u(x),u(a),J(v,()=>o().sort,m=>o(o().sort=m,!0)),J(S,()=>o().project,m=>o(o().project=m,!0)),J(p,()=>o().skip,m=>o(o().skip=m,!0)),J(j,()=>o().limit,m=>o(o().limit=m,!0)),g(r,a)};q(ie,r=>{e(_)&&r(fe)})}var $e=i(ie,2);{var Se=r=>{var a=_t(),n=i(d(a));n.textContent="[{...}]",Oe(),u(a),g(r,a)};q($e,r=>{!e(_)&&!e(k)&&o().query==="{}"&&r(Se)})}u(M),Ie(M,r=>c(E,r),()=>e(E)),u(H),re(()=>{ke(pe,e(k)?"Aggregation":"Query"),Ve(Q,e(w)),ke(be,e(_)?"−":"+")}),rt("submit",M,G),g(h,H),He()}Ke(["click"]);const De=(h,s=_e,o=_e)=>{var t=Ct();t.__click=function(...l){o()?.apply(this,l)},re(l=>te(t,"href",l),[()=>Le(s())]),g(h,t)},Ee=(h,s=_e,o=_e)=>{var t=qt();t.__click=function(...l){o()?.apply(this,l)},re(l=>te(t,"href",l),[()=>Le(s())]),g(h,t)};function $t(h,s,o){c(s,!0),c(o,"{}")}function St(h,s,o){c(s,!1),c(o,"{}")}function jt(h,s,o,t,l){h.preventDefault();const _=s();e(o).sort=_,t().params.sort=_,t().params.skip=0,e(o).skip=0;const w=new Xe;w.set("query",e(o).query||"{}"),w.set("sort",_),w.set("project",e(o).project||""),w.set("skip","0"),w.set("limit",String(e(o).limit));const U=`/servers/${encodeURIComponent(t().server)}/databases/${encodeURIComponent(t().database)}/collections/${encodeURIComponent(t().collection)}/documents?${w.toString()}`;Fe(U,{}),c(l,Be({server:t().server,database:t().database,collection:t().collection,query:e(o).query,sort:_,project:e(o).project,skip:0,limit:e(o).limit}))}var Ct=y('<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>'),qt=y('<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>'),Ut=y('<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"><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"><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></button>'),It=y('<button class="btn btn-success"><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-2"><path d="M12 5v14M5 12h14"></path></svg> Insert Document</button>'),Mt=y('<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>'),Dt=(h,s,o)=>{c(s,!1),c(o,!1)},Et=y('<div class="p-4 sm:p-6 space-y-6"><div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Insert New Document</h3> <!></div> <div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Update Multiple Documents</h3> <div class="space-y-4"><div><label for="update-filter" class="block text-sm font-semibold mb-2" style="color: var(--text);">Filter (which documents to update):</label> <input type="text" id="update-filter" readonly="" class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm opacity-75 cursor-not-allowed" style="color: var(--text);"/> <p class="text-xs mt-2" style="color: var(--text-secondary);">This filter is taken from the query above. Modify the query to change which documents will be updated.</p></div> <div><label for="update-operation" class="block text-sm font-semibold mb-2" style="color: var(--text);">Update Operation (e.g., $set, $inc, $unset):</label> <textarea placeholder="Update operation" rows="4" 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> <div class="flex gap-3"><button class="btn btn-success hover:bg-[var(--button-success-l)]"> </button></div></div></div> <div class="flex justify-end"><button class="btn btn-default hover:bg-[var(--color-3)]">Close Edit Mode</button></div> <div class="text-sm rounded-xl bg-[var(--color-3)]/50 p-4 border border-[var(--border-color)]" style="color: var(--text-secondary);"><p class="mb-2 font-semibold" style="color: var(--text);">Update Operation Examples:</p> <p class="mb-2">• Set a field: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p> <p class="mb-2">• Increment a value: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p> <p>• Unset a field: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p></div></div>'),Pt=y("<!> <!> <!>",1),Ot=y("<!> <!> <!>",1),Rt=y("<!> <!>",1),Nt=y("<!> <!> <!>",1),At=y("<!> <!> <!>",1);function er(h,s){We(s,!0);const o=r=>{var a=Ut();a.__click=[jt,we,l,t,_],g(r,a)};let t=ye(s,"data",7),l=I(Pe({...t().params})),_=$(()=>t().results),w=I(!1),U=I("{}"),k=I(!1),G=I(!1),E=I(null),H=0;ee(()=>{c(l,{...t().params},!0)}),ee(()=>{const r=++H;c(E,null),t().count.then(a=>{r===H&&c(E,a.error?null:a.data,!0)})}),ee(()=>{e(_)&&c(M,null),e(_).then(r=>{r.error&&N.notifyError(r.error)})}),ee(()=>{t().count.then(r=>{r.error&&!r.error.includes("operation exceeded time limit")&&N.notifyError(r.error)})});let M=I(null),oe=$(()=>e(M)?{data:e(M),error:null}:e(_));async function ae(r,a,n){const v=!!(e(l).project&&e(l).project!=="{}"&&Object.keys(Me(e(l).project)).length>0),f=a?._id?.$value,S=r?.$value;if(f!==S){N.notifyError("ObjectId changed. This is not supported, update canceled.");return}if(S)try{const b=await nt({server:t().server,database:t().database,collection:t().collection,document:S,value:a,partial:v});if(b.ok){N.notifySuccess("Document updated successfully");const p=n.findIndex(x=>x._id?.$value===S);p!==-1&&(n[p]=b.update),c(M,n,!0)}}catch(b){console.error(b),N.notifyError(b,"Failed to update document")}}async function se(r,a){const n=r?.$value;if(n)try{await lt({server:t().server,database:t().database,collection:t().collection,document:n}),N.notifySuccess("Document removed successfully"),c(M,a.filter(v=>v._id?.$value!==n),!0)}catch(v){N.notifyError(v,"Failed to remove document")}}function pe(r){const a=new Xe;return a.set("query",e(l).query||"{}"),a.set("sort",e(l).sort||""),a.set("project",e(l).project||""),a.set("skip",String(r)),a.set("limit",String(e(l).limit)),`/servers/${encodeURIComponent(t().server)}/databases/${encodeURIComponent(t().database)}/collections/${encodeURIComponent(t().collection)}/documents?${a.toString()}`}const K=$(()=>pe(e(l).skip+e(l).limit)),V=$(()=>pe(Math.max(0,e(l).skip-e(l).limit)));function ne(r){r.preventDefault(),t().params.skip+=t().params.limit,e(l).skip=t().params.skip,Fe(e(K),{}),c(_,Be({server:t().server,database:t().database,collection:t().collection,query:e(l).query,sort:e(l).sort,project:e(l).project,skip:e(l).skip,limit:e(l).limit}))}function Q(r){r.preventDefault(),t().params.skip=Math.max(0,t().params.skip-t().params.limit),e(l).skip=t().params.skip,Fe(e(V),{}),c(_,Be({server:t().server,database:t().database,collection:t().collection,query:e(l).query,sort:e(l).sort,project:e(l).project,skip:e(l).skip,limit:e(l).limit}))}async function le(){c(k,!0);try{const r=await at({server:t().server,database:t().database,collection:t().collection,filter:e(l).query||"{}",update:e(U)});r.ok&&(N.notifySuccess(`Updated ${r.modifiedCount} document(s) (matched ${r.matchedCount})`),c(M,null),c(w,!1))}catch(r){console.error(r),N.notifyError(r,"Failed to update documents")}finally{c(k,!1)}}let P=I("{}");async function be(){c(k,!0);try{const r=Me(e(P));(await st({server:t().server,database:t().database,collection:t().collection,document:null,value:r})).ok&&(N.notifySuccess("Document inserted successfully"),c(M,null),c(G,!1),c(P,"{}"))}catch(r){console.error(r),N.notifyError(r,"Failed to insert document")}finally{c(k,!1)}}function we(){const r=e(l).sort||"{}";if(r.replace(/\s/g,"")==="{}")return Ze({_id:-1}).replace(/[\n\t]/g," ").replace(/\s+/g," ");const a=Me(r),n={};for(const[v,f]of Object.entries(a))typeof f=="number"?n[v]=f===1?-1:1:n[v]=f;return Ze(n).replace(/[\n\t]/g," ").replace(/\s+/g," ")}var me=At(),ie=Z(me);wt(ie,{get readonly(){return t().readOnly},get params(){return e(l)},set params(r){c(l,r,!0)},get editMode(){return e(w)},set editMode(r){c(w,r,!0)}});var fe=i(ie,2);{var $e=r=>{he(r,{title:"Edit Mode",children:(a,n)=>{var v=Et(),f=d(v),S=i(d(f),2);{var b=B=>{var z=It();z.__click=[$t,G,P],g(B,z)},p=B=>{var z=Mt(),xe=i(d(z),2);Re(xe),Ne(()=>J(xe,()=>e(P),Ue=>c(P,Ue))),Ae(xe,(Ue,et)=>Te?.(Ue,et),()=>({onsubmit:be}));var ze=i(xe,2),ue=d(ze);ue.__click=be;var Ye=d(ue,!0);u(ue);var Je=i(ue,2);Je.__click=[St,G,P],u(ze),u(z),re(()=>{ue.disabled=e(k),ke(Ye,e(k)?"Inserting...":"Insert"),Je.disabled=e(k)}),g(B,z)};q(S,B=>{e(G)?B(p,!1):B(b)})}u(f);var x=i(f,2),j=i(d(x),2),m=d(j),D=i(d(m),2);W(D),Oe(2),u(m);var O=i(m,2),A=i(d(O),2);Re(A),Ne(()=>J(A,()=>e(U),B=>c(U,B))),Ae(A,(B,z)=>Te?.(B,z),()=>({onsubmit:le})),u(O);var C=i(O,2),L=d(C);L.__click=le;var R=d(L,!0);u(L),u(C),u(j),u(x);var ce=i(x,2),je=d(ce);je.__click=[Dt,w,G],u(ce);var de=i(ce,2),X=i(d(de),2),Ce=i(d(X));Ce.textContent='{"$set": {"status": "active"}}',u(X);var Y=i(X,2),qe=i(d(Y));qe.textContent='{"$inc": {"count": 1}}',u(Y);var ge=i(Y,2),T=i(d(ge));T.textContent='{"$unset": {"oldField": ""}}',u(ge),u(de),u(v),re(()=>{Ve(D,e(l).query||"{}"),L.disabled=e(k),ke(R,e(k)?"Updating...":"Execute Update")}),g(a,v)},$$slots:{default:!0}})};q(fe,r=>{e(w)&&r($e)})}var Se=i(fe,2);Qe(Se,()=>e(oe),r=>{{const a=v=>{var f=Ge(),S=Z(f);{var b=p=>{var x=Nt(),j=Z(x);{var m=C=>{De(C,()=>e(V),()=>Q)};q(j,C=>{t().params.skip>0&&C(m)})}var D=i(j,2);{var O=C=>{Ee(C,()=>e(K),()=>ne)};q(D,C=>{t().params.skip+t().params.limit<e(E)&&C(O)})}var A=i(D,2);o(A),g(p,x)};q(S,p=>{e(E)!==null&&p(b)})}g(v,f)};let n=$(()=>e(E)!==null?`${F(t().params.skip+1)} - ${F(t().params.skip+t().params.limit)} of ${F(e(E))} documents...`:"Loading documents...");he(r,{get title(){return e(n)},titleClass:"py-1",actions:a,$$slots:{actions:!0}})}},(r,a)=>{const n=$(()=>e(a)?.data??[]);var v=Rt(),f=Z(v);Qe(f,()=>t().count,b=>{{const p=j=>{var m=Ot(),D=Z(m);{var O=R=>{De(R,()=>e(V),()=>Q)};q(D,R=>{t().params.skip>0&&R(O)})}var A=i(D,2);{var C=R=>{Ee(R,()=>e(K),()=>ne)};q(A,R=>{e(n).length>=t().params.limit&&R(C)})}var L=i(A,2);o(L),g(j,m)};let x=$(()=>e(n).length>0?`${F(t().params.skip+1)} - ${F(t().params.skip+e(n).length)} Documents (counting...)`:"No documents");he(b,{titleClass:"py-1",get title(){return e(x)},actions:p,$$slots:{actions:!0}})}},(b,p)=>{var x=Ge(),j=Z(x);{var m=D=>{const O=$(()=>e(p).data),A=$(()=>e(p).error?e(n).length>=t().params.limit:t().params.skip+e(n).length<e(O)),C=$(()=>t().params.skip>0),L=$(()=>e(p).error?.includes("operation exceeded time limit"));{const R=je=>{var de=Pt(),X=Z(de);{var Ce=T=>{De(T,()=>e(V),()=>Q)};q(X,T=>{e(C)&&T(Ce)})}var Y=i(X,2);{var qe=T=>{Ee(T,()=>e(K),()=>ne)};q(Y,T=>{e(A)&&T(qe)})}var ge=i(Y,2);o(ge),g(je,de)};let ce=$(()=>e(n).length>0?e(O)>0?`${F(t().params.skip+1)} - ${F(t().params.skip+e(n).length)} of ${F(e(O))} documents`:`${F(t().params.skip+1)} - ${F(t().params.skip+e(n).length)} documents (count ${e(L)?"timeout":"unavailable"})`:"No documents");he(D,{get title(){return e(ce)},titleClass:"py-1",actions:R,$$slots:{actions:!0}})}};q(j,D=>{t().params&&D(m)})}g(b,x)});var S=i(f,2);ot(S,19,()=>e(n),(b,p)=>b._id?.$value||p,(b,p)=>{{let x=$(()=>t().isAggregation||t().readOnly?void 0:m=>ae(e(p)._id,m,e(n))),j=$(()=>t().isAggregation||t().readOnly?void 0:()=>se(e(p)._id,e(n)));ct(b,{get json(){return e(p)},autoCollapse:!0,get onedit(){return e(x)},get onremove(){return e(j)},get server(){return t().server},get database(){return t().database},get collection(){return t().collection},get mappings(){return t().mappings}})}}),g(r,v)}),g(h,me),He()}Ke(["click"]);export{er as component,Yt as universal};
1
+ import"../chunks/BPbCnJEo.js";import{i as I,a2 as ve,h as e,p as We,Z as Pe,B as ee,u as $,f as y,d,t as re,b as g,c as He,s as i,j as c,r as u,n as Oe,an as tt,am as Re,_ as Ne,a as Z,e as Ge,l as _e}from"../chunks/reNJcONQ.js";import{d as Ke,e as rt,s as ke}from"../chunks/ByCRZ7zS.js";import{a as Qe,b as F}from"../chunks/Dn0_-jEe.js";import{i as q}from"../chunks/0oUK0vJa.js";import{b as W,c as Ve,r as Le,s as te,n as N,e as ot}from"../chunks/cYbZe0tp.js";import{a as Ae}from"../chunks/BXUq66wC.js";import{b as J}from"../chunks/UJuWD2W4.js";import{p as ye,b as Ie}from"../chunks/BGXqurs_.js";import{P as he,l as Be,g as at,i as st,u as nt,b as lt}from"../chunks/BS-WMmdQ.js";import{g as it,a as Fe}from"../chunks/DsktxonY.js";import{j as Te}from"../chunks/DDmwf13s.js";import{s as Ze,p as Me,P as ct}from"../chunks/DSU4C0db.js";import{p as dt}from"../chunks/C8YVtXu6.js";const ut=Symbol();class Xe extends URLSearchParams{#e=I(0);#o=pt();#t=!1;#r(){if(!this.#o||this.#t)return;this.#t=!0;const s=this.toString();this.#o.search=s&&`?${s}`,this.#t=!1}[ut](s){if(!this.#t){this.#t=!0;for(const o of[...super.keys()])super.delete(o);for(const[o,t]of s)super.append(o,t);ve(this.#e),this.#t=!1}}append(s,o){super.append(s,o),this.#r(),ve(this.#e)}delete(s,o){var t=super.has(s,o);super.delete(s,o),t&&(this.#r(),ve(this.#e))}get(s){return e(this.#e),super.get(s)}getAll(s){return e(this.#e),super.getAll(s)}has(s,o){return e(this.#e),super.has(s,o)}keys(){return e(this.#e),super.keys()}set(s,o){var t=super.getAll(s).join("");super.set(s,o),t!==super.getAll(s).join("")&&(this.#r(),ve(this.#e))}sort(){super.sort(),this.#r(),ve(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 vt=null;function pt(){return vt}const bt=async h=>({...h.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Yt=Object.freeze(Object.defineProperty({__proto__:null,load:bt},Symbol.toStringTag,{value:"Module"}));var mt=y('<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>'),ft=y('<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);"/>'),gt=(h,s)=>{c(s,!e(s))},xt=(h,s)=>{s(!s())},ht=y('<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);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" 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></button>'),yt=y('<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);">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> <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>'),_t=y('<div class="text-xs" style="color: var(--text-secondary);">Tip: Use <code class="px-1.5 py-0.5 rounded bg-[var(--color-3)] border border-[var(--border-color)] font-mono"></code> to switch to aggregation mode</div>'),kt=y('<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"><div class="px-3 flex items-center text-[13px] border-r border-[var(--border-color)]" style="color: var(--text-secondary);"> </div> <!></div> <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 rounded-xl bg-[var(--button-success)] text-white font-semibold transition cursor-pointer hover:bg-[var(--button-success-l)] active:brightness-95">Go</button></div></div> <!> <!></form></div>');function wt(h,s){We(s,!0);let o=ye(s,"params",15),t=ye(s,"editMode",15,!1),l=ye(s,"readonly",11,!1),_=I(Pe(o().sort!=="{}"||o().project!=="{}"||o().skip!==0||o().limit!==20)),w=I(Pe(Math.random())),U=I(void 0),k=$(()=>o().query?.trimStart().startsWith("["));ee(()=>{e(k)&&t()&&t(!1)}),ee(()=>{e(U)&&(e(U).setSelectionRange(1,1),e(U).focus())});async function G(r){r.preventDefault(),tt(w);const a=new FormData(e(E));await it(Le(dt.url.pathname+"?"+[...a.entries()].map(n=>encodeURIComponent(n[0])+"="+encodeURIComponent(n[1])).join("&")),{keepFocus:!0})}let E=I(void 0);var H=kt(),M=d(H),oe=d(M),ae=d(oe),se=d(ae),pe=d(se,!0);u(se);var K=i(se,2);{var V=r=>{var a=mt();Re(a),Ie(a,n=>c(U,n),()=>e(U)),Ne(()=>J(a,()=>o().query,n=>o(o().query=n,!0))),Ae(a,(n,v)=>Te?.(n,v),()=>({onsubmit:()=>e(E)?.requestSubmit()})),g(r,a)},ne=r=>{var a=ft();W(a),te(a,"placeholder","{}"),Ie(a,n=>c(U,n),()=>e(U)),J(a,()=>o().query,n=>o(o().query=n,!0)),g(r,a)};q(K,r=>{e(k)?r(V):r(ne,!1)})}u(ae);var Q=i(ae,2);W(Q);var le=i(Q,2),P=d(le);P.__click=[gt,_];var be=d(P,!0);u(P);var we=i(P,2);{var me=r=>{var a=ht();a.__click=[xt,t],re(()=>{te(a,"title",e(k)?"Update not available in aggregation mode":"Update multiple documents"),a.disabled=e(k)}),g(r,a)};q(we,r=>{l()||r(me)})}Oe(2),u(le),u(oe);var ie=i(oe,2);{var fe=r=>{var a=yt(),n=d(a),v=i(d(n),2);W(v),te(v,"placeholder","{}"),u(n);var f=i(n,2),S=i(d(f),2);W(S),te(S,"placeholder","{}"),u(f);var b=i(f,2),p=i(d(b),2);W(p),u(b);var x=i(b,2),j=i(d(x),2);W(j),u(x),u(a),J(v,()=>o().sort,m=>o(o().sort=m,!0)),J(S,()=>o().project,m=>o(o().project=m,!0)),J(p,()=>o().skip,m=>o(o().skip=m,!0)),J(j,()=>o().limit,m=>o(o().limit=m,!0)),g(r,a)};q(ie,r=>{e(_)&&r(fe)})}var $e=i(ie,2);{var Se=r=>{var a=_t(),n=i(d(a));n.textContent="[{...}]",Oe(),u(a),g(r,a)};q($e,r=>{!e(_)&&!e(k)&&o().query==="{}"&&r(Se)})}u(M),Ie(M,r=>c(E,r),()=>e(E)),u(H),re(()=>{ke(pe,e(k)?"Aggregation":"Query"),Ve(Q,e(w)),ke(be,e(_)?"−":"+")}),rt("submit",M,G),g(h,H),He()}Ke(["click"]);const De=(h,s=_e,o=_e)=>{var t=Ct();t.__click=function(...l){o()?.apply(this,l)},re(l=>te(t,"href",l),[()=>Le(s())]),g(h,t)},Ee=(h,s=_e,o=_e)=>{var t=qt();t.__click=function(...l){o()?.apply(this,l)},re(l=>te(t,"href",l),[()=>Le(s())]),g(h,t)};function $t(h,s,o){c(s,!0),c(o,"{}")}function St(h,s,o){c(s,!1),c(o,"{}")}function jt(h,s,o,t,l){h.preventDefault();const _=s();e(o).sort=_,t().params.sort=_,t().params.skip=0,e(o).skip=0;const w=new Xe;w.set("query",e(o).query||"{}"),w.set("sort",_),w.set("project",e(o).project||""),w.set("skip","0"),w.set("limit",String(e(o).limit));const U=`/servers/${encodeURIComponent(t().server)}/databases/${encodeURIComponent(t().database)}/collections/${encodeURIComponent(t().collection)}/documents?${w.toString()}`;Fe(U,{}),c(l,Be({server:t().server,database:t().database,collection:t().collection,query:e(o).query,sort:_,project:e(o).project,skip:0,limit:e(o).limit}))}var Ct=y('<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>'),qt=y('<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>'),Ut=y('<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"><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"><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></button>'),It=y('<button class="btn btn-success"><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-2"><path d="M12 5v14M5 12h14"></path></svg> Insert Document</button>'),Mt=y('<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>'),Dt=(h,s,o)=>{c(s,!1),c(o,!1)},Et=y('<div class="p-4 sm:p-6 space-y-6"><div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Insert New Document</h3> <!></div> <div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Update Multiple Documents</h3> <div class="space-y-4"><div><label for="update-filter" class="block text-sm font-semibold mb-2" style="color: var(--text);">Filter (which documents to update):</label> <input type="text" id="update-filter" readonly="" class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm opacity-75 cursor-not-allowed" style="color: var(--text);"/> <p class="text-xs mt-2" style="color: var(--text-secondary);">This filter is taken from the query above. Modify the query to change which documents will be updated.</p></div> <div><label for="update-operation" class="block text-sm font-semibold mb-2" style="color: var(--text);">Update Operation (e.g., $set, $inc, $unset):</label> <textarea placeholder="Update operation" rows="4" 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> <div class="flex gap-3"><button class="btn btn-success hover:bg-[var(--button-success-l)]"> </button></div></div></div> <div class="flex justify-end"><button class="btn btn-default hover:bg-[var(--color-3)]">Close Edit Mode</button></div> <div class="text-sm rounded-xl bg-[var(--color-3)]/50 p-4 border border-[var(--border-color)]" style="color: var(--text-secondary);"><p class="mb-2 font-semibold" style="color: var(--text);">Update Operation Examples:</p> <p class="mb-2">• Set a field: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p> <p class="mb-2">• Increment a value: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p> <p>• Unset a field: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p></div></div>'),Pt=y("<!> <!> <!>",1),Ot=y("<!> <!> <!>",1),Rt=y("<!> <!>",1),Nt=y("<!> <!> <!>",1),At=y("<!> <!> <!>",1);function er(h,s){We(s,!0);const o=r=>{var a=Ut();a.__click=[jt,we,l,t,_],g(r,a)};let t=ye(s,"data",7),l=I(Pe({...t().params})),_=$(()=>t().results),w=I(!1),U=I("{}"),k=I(!1),G=I(!1),E=I(null),H=0;ee(()=>{c(l,{...t().params},!0)}),ee(()=>{const r=++H;c(E,null),t().count.then(a=>{r===H&&c(E,a.error?null:a.data,!0)})}),ee(()=>{e(_)&&c(M,null),e(_).then(r=>{r.error&&N.notifyError(r.error)})}),ee(()=>{t().count.then(r=>{r.error&&!r.error.includes("operation exceeded time limit")&&N.notifyError(r.error)})});let M=I(null),oe=$(()=>e(M)?{data:e(M),error:null}:e(_));async function ae(r,a,n){const v=!!(e(l).project&&e(l).project!=="{}"&&Object.keys(Me(e(l).project)).length>0),f=a?._id?.$value,S=r?.$value;if(f!==S){N.notifyError("ObjectId changed. This is not supported, update canceled.");return}if(S)try{const b=await nt({server:t().server,database:t().database,collection:t().collection,document:S,value:a,partial:v});if(b.ok){N.notifySuccess("Document updated successfully");const p=n.findIndex(x=>x._id?.$value===S);p!==-1&&(n[p]=b.update),c(M,n,!0)}}catch(b){console.error(b),N.notifyError(b,"Failed to update document")}}async function se(r,a){const n=r?.$value;if(n)try{await lt({server:t().server,database:t().database,collection:t().collection,document:n}),N.notifySuccess("Document removed successfully"),c(M,a.filter(v=>v._id?.$value!==n),!0)}catch(v){N.notifyError(v,"Failed to remove document")}}function pe(r){const a=new Xe;return a.set("query",e(l).query||"{}"),a.set("sort",e(l).sort||""),a.set("project",e(l).project||""),a.set("skip",String(r)),a.set("limit",String(e(l).limit)),`/servers/${encodeURIComponent(t().server)}/databases/${encodeURIComponent(t().database)}/collections/${encodeURIComponent(t().collection)}/documents?${a.toString()}`}const K=$(()=>pe(e(l).skip+e(l).limit)),V=$(()=>pe(Math.max(0,e(l).skip-e(l).limit)));function ne(r){r.preventDefault(),t().params.skip+=t().params.limit,e(l).skip=t().params.skip,Fe(e(K),{}),c(_,Be({server:t().server,database:t().database,collection:t().collection,query:e(l).query,sort:e(l).sort,project:e(l).project,skip:e(l).skip,limit:e(l).limit}))}function Q(r){r.preventDefault(),t().params.skip=Math.max(0,t().params.skip-t().params.limit),e(l).skip=t().params.skip,Fe(e(V),{}),c(_,Be({server:t().server,database:t().database,collection:t().collection,query:e(l).query,sort:e(l).sort,project:e(l).project,skip:e(l).skip,limit:e(l).limit}))}async function le(){c(k,!0);try{const r=await at({server:t().server,database:t().database,collection:t().collection,filter:e(l).query||"{}",update:e(U)});r.ok&&(N.notifySuccess(`Updated ${r.modifiedCount} document(s) (matched ${r.matchedCount})`),c(M,null),c(w,!1))}catch(r){console.error(r),N.notifyError(r,"Failed to update documents")}finally{c(k,!1)}}let P=I("{}");async function be(){c(k,!0);try{const r=Me(e(P));(await st({server:t().server,database:t().database,collection:t().collection,document:null,value:r})).ok&&(N.notifySuccess("Document inserted successfully"),c(M,null),c(G,!1),c(P,"{}"))}catch(r){console.error(r),N.notifyError(r,"Failed to insert document")}finally{c(k,!1)}}function we(){const r=e(l).sort||"{}";if(r.replace(/\s/g,"")==="{}")return Ze({_id:-1}).replace(/[\n\t]/g," ").replace(/\s+/g," ");const a=Me(r),n={};for(const[v,f]of Object.entries(a))typeof f=="number"?n[v]=f===1?-1:1:n[v]=f;return Ze(n).replace(/[\n\t]/g," ").replace(/\s+/g," ")}var me=At(),ie=Z(me);wt(ie,{get readonly(){return t().readOnly},get params(){return e(l)},set params(r){c(l,r,!0)},get editMode(){return e(w)},set editMode(r){c(w,r,!0)}});var fe=i(ie,2);{var $e=r=>{he(r,{title:"Edit Mode",children:(a,n)=>{var v=Et(),f=d(v),S=i(d(f),2);{var b=B=>{var z=It();z.__click=[$t,G,P],g(B,z)},p=B=>{var z=Mt(),xe=i(d(z),2);Re(xe),Ne(()=>J(xe,()=>e(P),Ue=>c(P,Ue))),Ae(xe,(Ue,et)=>Te?.(Ue,et),()=>({onsubmit:be}));var ze=i(xe,2),ue=d(ze);ue.__click=be;var Ye=d(ue,!0);u(ue);var Je=i(ue,2);Je.__click=[St,G,P],u(ze),u(z),re(()=>{ue.disabled=e(k),ke(Ye,e(k)?"Inserting...":"Insert"),Je.disabled=e(k)}),g(B,z)};q(S,B=>{e(G)?B(p,!1):B(b)})}u(f);var x=i(f,2),j=i(d(x),2),m=d(j),D=i(d(m),2);W(D),Oe(2),u(m);var O=i(m,2),A=i(d(O),2);Re(A),Ne(()=>J(A,()=>e(U),B=>c(U,B))),Ae(A,(B,z)=>Te?.(B,z),()=>({onsubmit:le})),u(O);var C=i(O,2),L=d(C);L.__click=le;var R=d(L,!0);u(L),u(C),u(j),u(x);var ce=i(x,2),je=d(ce);je.__click=[Dt,w,G],u(ce);var de=i(ce,2),X=i(d(de),2),Ce=i(d(X));Ce.textContent='{"$set": {"status": "active"}}',u(X);var Y=i(X,2),qe=i(d(Y));qe.textContent='{"$inc": {"count": 1}}',u(Y);var ge=i(Y,2),T=i(d(ge));T.textContent='{"$unset": {"oldField": ""}}',u(ge),u(de),u(v),re(()=>{Ve(D,e(l).query||"{}"),L.disabled=e(k),ke(R,e(k)?"Updating...":"Execute Update")}),g(a,v)},$$slots:{default:!0}})};q(fe,r=>{e(w)&&r($e)})}var Se=i(fe,2);Qe(Se,()=>e(oe),r=>{{const a=v=>{var f=Ge(),S=Z(f);{var b=p=>{var x=Nt(),j=Z(x);{var m=C=>{De(C,()=>e(V),()=>Q)};q(j,C=>{t().params.skip>0&&C(m)})}var D=i(j,2);{var O=C=>{Ee(C,()=>e(K),()=>ne)};q(D,C=>{t().params.skip+t().params.limit<e(E)&&C(O)})}var A=i(D,2);o(A),g(p,x)};q(S,p=>{e(E)!==null&&p(b)})}g(v,f)};let n=$(()=>e(E)!==null?`${F(t().params.skip+1)} - ${F(t().params.skip+t().params.limit)} of ${F(e(E))} documents...`:"Loading documents...");he(r,{get title(){return e(n)},titleClass:"py-1",actions:a,$$slots:{actions:!0}})}},(r,a)=>{const n=$(()=>e(a)?.data??[]);var v=Rt(),f=Z(v);Qe(f,()=>t().count,b=>{{const p=j=>{var m=Ot(),D=Z(m);{var O=R=>{De(R,()=>e(V),()=>Q)};q(D,R=>{t().params.skip>0&&R(O)})}var A=i(D,2);{var C=R=>{Ee(R,()=>e(K),()=>ne)};q(A,R=>{e(n).length>=t().params.limit&&R(C)})}var L=i(A,2);o(L),g(j,m)};let x=$(()=>e(n).length>0?`${F(t().params.skip+1)} - ${F(t().params.skip+e(n).length)} Documents (counting...)`:"No documents");he(b,{titleClass:"py-1",get title(){return e(x)},actions:p,$$slots:{actions:!0}})}},(b,p)=>{var x=Ge(),j=Z(x);{var m=D=>{const O=$(()=>e(p).data),A=$(()=>e(p).error?e(n).length>=t().params.limit:t().params.skip+e(n).length<e(O)),C=$(()=>t().params.skip>0),L=$(()=>e(p).error?.includes("operation exceeded time limit"));{const R=je=>{var de=Pt(),X=Z(de);{var Ce=T=>{De(T,()=>e(V),()=>Q)};q(X,T=>{e(C)&&T(Ce)})}var Y=i(X,2);{var qe=T=>{Ee(T,()=>e(K),()=>ne)};q(Y,T=>{e(A)&&T(qe)})}var ge=i(Y,2);o(ge),g(je,de)};let ce=$(()=>e(n).length>0?e(O)>0?`${F(t().params.skip+1)} - ${F(t().params.skip+e(n).length)} of ${F(e(O))} documents`:`${F(t().params.skip+1)} - ${F(t().params.skip+e(n).length)} documents (count ${e(L)?"timeout":"unavailable"})`:"No documents");he(D,{get title(){return e(ce)},titleClass:"py-1",actions:R,$$slots:{actions:!0}})}};q(j,D=>{t().params&&D(m)})}g(b,x)});var S=i(f,2);ot(S,19,()=>e(n),(b,p)=>b._id?.$value||p,(b,p)=>{{let x=$(()=>t().isAggregation||t().readOnly?void 0:m=>ae(e(p)._id,m,e(n))),j=$(()=>t().isAggregation||t().readOnly?void 0:()=>se(e(p)._id,e(n)));ct(b,{get json(){return e(p)},autoCollapse:!0,get onedit(){return e(x)},get onremove(){return e(j)},get server(){return t().server},get database(){return t().database},get collection(){return t().collection},get mappings(){return t().mappings}})}}),g(r,v)}),g(h,me),He()}Ke(["click"]);export{er as component,Yt as universal};
@@ -1 +1 @@
1
- import"../chunks/BPbCnJEo.js";import{p as H,e as C,a as E,b as d,c as K,h as n,i as S,f as I,u as y,j as c,d as O,r as j,s as x,t as N}from"../chunks/reNJcONQ.js";import{d as Q,s as V}from"../chunks/ByCRZ7zS.js";import{i as h}from"../chunks/0oUK0vJa.js";import{b as W,u as X,i as Y}from"../chunks/DGtnJf56.js";import{g as Z}from"../chunks/pj4OZpZf.js";import{n as s,r as p}from"../chunks/B83FMsIQ.js";import{P as U}from"../chunks/BZY48V2X.js";function $(k,e){c(e,!0)}var ee=I('<div class="loading svelte-khslrq">Loading...</div>'),te=(k,e)=>c(e,!1),ae=I('<div class="insert-container svelte-khslrq"><h3 class="svelte-khslrq"> </h3> <!> <button class="btn btn-default mt-4">Cancel</button></div>'),ne=I('<button class="btn btn-success">Insert Document</button>'),re=I('<div class="not-found-container svelte-khslrq"><div class="text-center svelte-khslrq">Document not found</div> <!></div>');function me(k,e){H(e,!0);let m=S(!1),r=y(()=>e.data.document),D=S(!1);async function F(t){const a=t?._id?.$value??t?._id,f=n(r)?._id?.$value??n(r)?._id;if(a!==f){s.notifyError("ObjectId changed. This is not supported, update canceled.");return}if(f){c(m,!0);try{const i=await X({server:e.data.server,database:e.data.database,collection:e.data.collection,document:f,value:t,partial:!1});i.ok&&(s.notifySuccess("Document updated successfully"),c(r,i.update))}catch(i){s.notifyError(i,"Failed to update document")}finally{c(m,!1)}}}async function P(){const t=n(r)?._id?.$value??n(r)?._id;if(t)try{await W({server:e.data.server,database:e.data.database,collection:e.data.collection,document:t}),s.notifySuccess("Document removed successfully"),Z(p(`/servers/${encodeURIComponent(e.data.server)}/databases/${encodeURIComponent(e.data.database)}/collections/${encodeURIComponent(e.data.collection)}?query=${encodeURIComponent("{}")}&sort=&project=&skip=0&limit=20`))}catch(a){s.notifyError(a,"Failed to remove document")}}async function J(t){c(m,!0);try{(await Y({server:e.data.server,database:e.data.database,collection:e.data.collection,document:e.data.documentId,value:t})).ok&&(s.notifySuccess("Document inserted successfully"),window.location.reload())}catch(a){s.notifyError(a,"Failed to insert document")}finally{c(m,!1)}}var R=C(),L=E(R);{var M=t=>{var a=ee();d(t,a)},T=t=>{var a=C(),f=E(a);{var i=l=>{{let g=y(()=>e.data.readOnly?void 0:F),w=y(()=>e.data.readOnly?void 0:P);U(l,{get json(){return n(r)},get onedit(){return n(g)},get onremove(){return n(w)},get server(){return e.data.server},get database(){return e.data.database},get collection(){return e.data.collection},get mappings(){return e.data.mappings}})}},z=l=>{var g=C(),w=E(g);{var A=u=>{var o=ae(),_=O(o),q=O(_);j(_);var v=x(_,2);{let G=y(()=>({_id:{$type:"ObjectId",$value:e.data.documentId}}));U(v,{get json(){return n(G)},onedit:J,get server(){return e.data.server},get database(){return e.data.database},get collection(){return e.data.collection},get mappings(){return e.data.mappings},startInEditMode:!0})}var b=x(v,2);b.__click=[te,D],j(o),N(()=>V(q,`Insert Document with ID: ${e.data.documentId??""}`)),d(u,o)},B=u=>{var o=re(),_=x(O(o),2);{var q=v=>{var b=ne();b.__click=[$,D],d(v,b)};h(_,v=>{e.data.readOnly||v(q)})}j(o),d(u,o)};h(w,u=>{n(D)?u(A):u(B,!1)},!0)}d(l,g)};h(f,l=>{n(r)?l(i):l(z,!1)},!0)}d(t,a)};h(L,t=>{n(m)?t(M):t(T,!1)})}d(k,R),K()}Q(["click"]);export{me as component};
1
+ import"../chunks/BPbCnJEo.js";import{p as H,e as C,a as E,b as d,c as K,h as n,i as S,f as I,u as y,j as c,d as O,r as j,s as x,t as N}from"../chunks/reNJcONQ.js";import{d as Q,s as V}from"../chunks/ByCRZ7zS.js";import{i as h}from"../chunks/0oUK0vJa.js";import{b as W,u as X,i as Y}from"../chunks/BS-WMmdQ.js";import{g as Z}from"../chunks/DsktxonY.js";import{n as s,r as p}from"../chunks/cYbZe0tp.js";import{P as U}from"../chunks/DSU4C0db.js";function $(k,e){c(e,!0)}var ee=I('<div class="loading svelte-khslrq">Loading...</div>'),te=(k,e)=>c(e,!1),ae=I('<div class="insert-container svelte-khslrq"><h3 class="svelte-khslrq"> </h3> <!> <button class="btn btn-default mt-4">Cancel</button></div>'),ne=I('<button class="btn btn-success">Insert Document</button>'),re=I('<div class="not-found-container svelte-khslrq"><div class="text-center svelte-khslrq">Document not found</div> <!></div>');function me(k,e){H(e,!0);let m=S(!1),r=y(()=>e.data.document),D=S(!1);async function F(t){const a=t?._id?.$value??t?._id,f=n(r)?._id?.$value??n(r)?._id;if(a!==f){s.notifyError("ObjectId changed. This is not supported, update canceled.");return}if(f){c(m,!0);try{const i=await X({server:e.data.server,database:e.data.database,collection:e.data.collection,document:f,value:t,partial:!1});i.ok&&(s.notifySuccess("Document updated successfully"),c(r,i.update))}catch(i){s.notifyError(i,"Failed to update document")}finally{c(m,!1)}}}async function P(){const t=n(r)?._id?.$value??n(r)?._id;if(t)try{await W({server:e.data.server,database:e.data.database,collection:e.data.collection,document:t}),s.notifySuccess("Document removed successfully"),Z(p(`/servers/${encodeURIComponent(e.data.server)}/databases/${encodeURIComponent(e.data.database)}/collections/${encodeURIComponent(e.data.collection)}?query=${encodeURIComponent("{}")}&sort=&project=&skip=0&limit=20`))}catch(a){s.notifyError(a,"Failed to remove document")}}async function J(t){c(m,!0);try{(await Y({server:e.data.server,database:e.data.database,collection:e.data.collection,document:e.data.documentId,value:t})).ok&&(s.notifySuccess("Document inserted successfully"),window.location.reload())}catch(a){s.notifyError(a,"Failed to insert document")}finally{c(m,!1)}}var R=C(),L=E(R);{var M=t=>{var a=ee();d(t,a)},T=t=>{var a=C(),f=E(a);{var i=l=>{{let g=y(()=>e.data.readOnly?void 0:F),w=y(()=>e.data.readOnly?void 0:P);U(l,{get json(){return n(r)},get onedit(){return n(g)},get onremove(){return n(w)},get server(){return e.data.server},get database(){return e.data.database},get collection(){return e.data.collection},get mappings(){return e.data.mappings}})}},z=l=>{var g=C(),w=E(g);{var A=u=>{var o=ae(),_=O(o),q=O(_);j(_);var v=x(_,2);{let G=y(()=>({_id:{$type:"ObjectId",$value:e.data.documentId}}));U(v,{get json(){return n(G)},onedit:J,get server(){return e.data.server},get database(){return e.data.database},get collection(){return e.data.collection},get mappings(){return e.data.mappings},startInEditMode:!0})}var b=x(v,2);b.__click=[te,D],j(o),N(()=>V(q,`Insert Document with ID: ${e.data.documentId??""}`)),d(u,o)},B=u=>{var o=re(),_=x(O(o),2);{var q=v=>{var b=ne();b.__click=[$,D],d(v,b)};h(_,v=>{e.data.readOnly||v(q)})}j(o),d(u,o)};h(w,u=>{n(D)?u(A):u(B,!1)},!0)}d(l,g)};h(f,l=>{n(r)?l(i):l(z,!1)},!0)}d(t,a)};h(L,t=>{n(m)?t(M):t(T,!1)})}d(k,R),K()}Q(["click"]);export{me as component};
@@ -1 +1 @@
1
- import"../chunks/BPbCnJEo.js";import{p as Ht,Z as le,f as v,s as d,d as o,r,b as c,c as Jt,e as nt,a as Z,u as C,h as e,t as F,i as h,B as Re,j as i,_ as Lt,n as Me,am as $t,b9 as Sa,k as Tt}from"../chunks/reNJcONQ.js";import{d as Kt,s as P}from"../chunks/ByCRZ7zS.js";import{a as Na,f as ja}from"../chunks/Dn0_-jEe.js";import{i as x}from"../chunks/0oUK0vJa.js";import{e as it,b as be,s as me,n as B,a as Bt,i as At}from"../chunks/B83FMsIQ.js";import{a as Rt}from"../chunks/BXUq66wC.js";import{a as We,b as rt}from"../chunks/UJuWD2W4.js";import{h as Pa,j as Oa,k as Ma,m as Ea,n as Fa,P as qe,o as Ca,p as Da}from"../chunks/DGtnJf56.js";import{j as Ia,a as Ua,k as La}from"../chunks/pj4OZpZf.js";import{p as Ee}from"../chunks/C1g0HmEj.js";import{j as qt,J as $a}from"../chunks/3xIOsPOb.js";import{M as Wt}from"../chunks/BxoAxRg6.js";import{p as lt}from"../chunks/BGXqurs_.js";const Ta=async l=>({...l.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),rr=Object.freeze(Object.defineProperty({__proto__:null,load:Ta},Symbol.toStringTag,{value:"Module"}));function Ba(l,t){if(l.length<t.length&&t.endsWith(l))return l;if(t.length<l.length&&l.endsWith(t))return t;let a="",s=l.length-1,f=t.length-1;for(;s>=0&&f>=0&&l[s]===t[f];)a=l.slice(s),s--,f--;return a}function Aa(l,t){if(!l||t.length===0)return null;let a=null,s=0;for(const f of t){const S=Ba(l,f);S.length>s?(s=S.length,a=f):S.length===s&&(a=null)}return a}function Ra(l,t,a){t(Object.keys(e(a)).filter(s=>e(a)[s]))}var qa=v('<div class="loading-message svelte-14baj27">Loading nodes...</div>'),Wa=v('<div class="no-nodes-message svelte-14baj27">No nodes found. Click "Fetch Usage" to load nodes.</div>'),za=v('<span class="primary-badge svelte-14baj27">PRIMARY</span>'),Ha=v('<label class="checkbox-label svelte-14baj27"><input type="checkbox" class="svelte-14baj27"/> <span class="node-name svelte-14baj27"> <!></span></label>'),Ja=v('<div class="selector-options svelte-14baj27"></div>'),Ka=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 Va(l,t){Ht(t,!0);let a=lt(t,"availableNodes",27,()=>le([])),s=lt(t,"selectedNodes",31,()=>le([])),f=lt(t,"loading",3,!1),S=lt(t,"primaryNode",3,null),U=C(()=>Object.fromEntries(a().map(L=>[L,s().includes(L)])));const W=C(()=>!S()||a().length===0?null:Aa(S(),a()));var O=Ka(),D=d(o(O),2);{var I=L=>{var $=qa();c(L,$)},G=L=>{var $=nt(),Fe=Z($);{var ze=H=>{var z=Wa();c(H,z)},ge=H=>{var z=Ja();it(z,20,a,ve=>ve,(ve,Q)=>{var he=Ha(),we=o(he);be(we),we.__change=[Ra,s,U];var xe=d(we,2),X=o(xe),ct=d(X);{var ye=Y=>{var ke=za();c(Y,ke)};x(ct,Y=>{Q===e(W)&&Y(ye)})}r(xe),r(he),F(()=>{me(xe,"title",Q),P(X,`${Q??""} `)}),We(we,()=>e(U)[Q],Y=>e(U)[Q]=Y),c(ve,he)}),r(z),c(H,z)};x(Fe,H=>{a().length===0?H(ze):H(ge,!1)},!0)}c(L,$)};x(D,L=>{f()?L(I):L(G,!1)})}r(O),c(l,O),Jt()}Kt(["change"]);function ot(l,t=3){if(l===0)return"0";const a=Math.abs(l),s=l<0?"-":"";if(a>=1e9){const f=a/1e9;return`${s}${f.toPrecision(t)}B`}else if(a>=1e6){const f=a/1e6;return`${s}${f.toPrecision(t)}M`}else if(a>=1e3){const f=a/1e3;return`${s}${f.toPrecision(t)}k`}else return`${s}${a.toPrecision(Math.min(t,Math.ceil(Math.log10(a+1))))}`}function Ya(l){if(!l)return"";const a=new Date().getTime()-l.getTime(),s=Math.floor(a/1e3),f=Math.floor(s/60),S=Math.floor(f/60);return S>0?`${S}h ${f%60}m ago`:f>0?`${f}m ${s%60}s ago`:`${s}s ago`}function Vt(l){if(l.length===0||l.length===1)return"";let t=l[0];for(let a=1;a<l.length;a++)for(;l[a].indexOf(t)!==0;)if(t=t.substring(0,t.length-1),t==="")return"";return t}function Za(l){if(l.length===0||l.length===1)return"";const t=l.map(s=>s.split("").reverse().join(""));return Vt(t).split("").reverse().join("")}function Ga(l,t,a){if(!t&&!a)return l;let s=l;if(t&&s.startsWith(t)&&(s=s.slice(t.length)),a&&s.endsWith(a)&&(s=s.slice(0,-a.length)),s.length===0)return l;const f=t.length>0,S=a.length>0;return f&&S?`…${s}…`:f?`…${s}`:S?`${s}…`:s}function Qa(l){if(l.length<=1)return Object.fromEntries(l.map(s=>[s,s]));const t=Vt(l),a=Za(l);return Object.fromEntries(l.map(s=>[s,Ga(s,t,a)]))}function Xa(l,t){return Object.fromEntries(Object.entries(l).filter(([a])=>!t.includes(a)))}function zt(l){let t=0;for(const a of l)t+=a;return t}function es(l,t,a,s,f,S,U,W,O){i(t,'{ "fieldName": 1 }'),i(a,""),i(s,!1),i(f,!1),i(S,""),i(U,void 0),i(W,!1),i(O,!0)}async function ts(l,t,a,s,f,S,U,W,O,D){const{server:I,database:G,collection:L}=Ee.params;if(!(!I||!G||!L)){i(t,!0);try{await Fa({server:I,database:G,collection:L,keys:e(a),name:e(s)||void 0,unique:e(f)||void 0,sparse:e(S)||void 0,partialFilterExpression:e(U)||void 0,expireAfterSeconds:e(W),background:e(O)||void 0}),B.notifySuccess("Index created successfully"),D(),await La("app:indexes")}catch($){B.notifyError($,"Failed to create index")}finally{i(t,!1)}}}async function as(l,t,a,s,f){if(!e(t))return;const{server:S,database:U,collection:W}=Ee.params;if(!S||!U||!W)return;e(a).add(e(t)),i(a,e(a),!0);const O=e(t);try{if(await Ea({server:S,database:U,collection:W,index:O}),e(s)&&e(s).data){const D=e(s).data.filter(I=>I.name!==O);i(s,{...e(s),data:D},!0)}B.notifySuccess(`Index "${O}" dropped successfully`),f()}catch(D){B.notifyError(D,"Failed to drop index")}finally{e(a).delete(O),i(a,e(a),!0)}}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=(l,t)=>i(t,!e(t)),os=v('<div class="text-center p-4 svelte-l3ef1w" style="color: var(--text-darker)">No indexes found</div>'),ns=(l,t)=>t(),is=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>'),cs=v('<div class="mb-4 svelte-l3ef1w"><!> <div class="mt-3 flex gap-3 items-center flex-wrap svelte-l3ef1w"><button><!></button> <!></div></div>'),ds=v('<th style="width: 150px" class="svelte-l3ef1w">Actions</th>'),vs=v('<span class="index-key svelte-l3ef1w"> </span>'),fs=v('<div class="flex flex-wrap gap-2 svelte-l3ef1w"></div>'),us=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),ps=v('<span class="badge badge-building svelte-l3ef1w">building</span>'),_s=v('<span class="badge badge-hidden svelte-l3ef1w">hidden</span>'),bs=v('<span class="badge badge-unique svelte-l3ef1w">unique</span>'),ms=v('<span class="badge badge-sparse svelte-l3ef1w">sparse</span>'),gs=v('<span class="badge badge-partial svelte-l3ef1w">partial</span>'),hs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),ws=v('<span class="text-sm whitespace-nowrap svelte-l3ef1w"> </span>'),xs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),ys=v('<span class="increment-badge svelte-l3ef1w"> </span>'),ks=v('<div class="svelte-l3ef1w"> <!> <span class="text-xs svelte-l3ef1w" style="color: var(--text-darker)"> </span></div>'),Ss=v('<span class="increment-badge svelte-l3ef1w"> </span>'),Ns=v('<div class="separate-stat svelte-l3ef1w"><span class="stat-host svelte-l3ef1w"> </span> <span class="stat-value svelte-l3ef1w"> <!></span></div>'),js=v('<div class="svelte-l3ef1w"> </div>'),Ps=v('<div class="text-sm mt-1 svelte-l3ef1w"><!></div>'),Os=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),Ms=(l,t,a)=>t(e(a).name,e(a).hidden),Es=(l,t,a)=>t(e(a).name),Fs=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>'),Cs=v('<td class="svelte-l3ef1w"><!></td>'),Ds=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>'),Us=v("<!> <!>",1),Ls=v('<div class="mb-4 flex gap-3 svelte-l3ef1w"><!> <button class="btn btn-primary btn-sm svelte-l3ef1w"> </button></div> <!>',1),$s=v('<div class="p-4 svelte-l3ef1w"><p class="error svelte-l3ef1w"> </p></div>'),Ts=v('<div class="loading svelte-l3ef1w">Loading indexes...</div>'),Bs=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),As=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),Rs=v('<button class="btn btn-default btn-sm svelte-l3ef1w">Cancel</button> <button class="btn btn-success btn-sm svelte-l3ef1w"> </button>',1),qs=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>'),Ws=v("<!> <!> <!>",1);function lr(l,t){Ht(t,!0);const a=C(()=>t.data.readOnly);let s=h(null),f=h(le(new Set)),S=h(!1),U=h(null),W=h(!1),O=h(!1),D=h(le([])),I=h(le([])),G=h(!1),L=h(null),$=h(le({})),Fe=h(le({})),ze=h(null),ge=h(!1),H=h(!1),z=h(!1),ve=h(!1),Q=h(le([])),he=h(le(new Date));const we=C(()=>{const p=[...new Set(Object.values(e($)).map(b=>b.host))];return Qa(p)}),xe=C(()=>e(I).length!==e(Q).length||!e(I).every(p=>e(Q).includes(p))),X=C(()=>Object.keys(e(Fe)).length>0&&!e(xe)),ct=C(()=>(e(he),Ya(e(ze))));Re(()=>{const p=setInterval(()=>{i(he,new Date,!0)},1e3);return()=>clearInterval(p)});let ye=h('{ "fieldName": 1 }'),Y=h(""),ke=h(!1),He=h(!1),Je=h(""),Ke=h(void 0),Ve=h(!1);Re(()=>{t.data.indexes.then(p=>{e(s)||i(s,p,!0)})});const Yt=C(()=>e(s)||t.data.indexes);async function Zt(p,b){const{server:w,database:_,collection:m}=Ee.params;if(!(!w||!_||!m)){e(f).add(p),i(f,e(f),!0);try{const y={server:w,database:_,collection:m,index:p};if(b?await Ca(y):await Da(y),e(s)&&e(s).data){const M=e(s).data.map(j=>j.name===p?{...j,hidden:!b}:j);i(s,{...e(s),data:M},!0)}B.notifySuccess(`Index ${b?"unhidden":"hidden"} successfully`)}catch(y){B.notifyError(y,`Failed to ${b?"unhide":"hide"} index`)}finally{e(f).delete(p),i(f,e(f),!0)}}}function dt(){i(W,!1)}function Gt(p){i(U,p,!0),i(S,!0)}function vt(){i(S,!1),i(U,null)}async function kt(){const{server:p,database:b,collection:w}=Ee.params;if(!(!p||!b||!w)){i(G,!0);try{const _=await Pa({server:p});if(_.error)B.notifyError(_.error,"Failed to load nodes"),i(D,[],!0);else if(i(D,_.data,!0),e(D).length>0){B.notifySuccess(`Found ${e(D).length} node(s)`);const m=await Oa({server:p,database:b,collection:w});!m.error&&m.data&&i(L,m.data,!0)}}catch(_){B.notifyError(_,"Failed to load nodes"),i(D,[],!0)}finally{i(G,!1)}}}async function St(p=!0){const{server:b,database:w,collection:_}=Ee.params;if(!b||!w||!_)return;if(e(I).length===0){B.notifyError("No nodes selected","Please select at least one node");return}i(ge,!0);const m=e(xe)||!e(X);try{const y=await Ma({server:b,database:w,collection:_,nodes:e(I)});y.error&&B.notifyError(y.error,"Failed to fetch stats from some nodes"),i($,y.data,!0),i(Q,[...e(I)],!0),m&&(i(Fe,{...e($)},!0),i(ze,new Date,!0));const M=Object.keys(e($)).length;if(M===0)B.notifyError("No stats found","No index stats found for selected nodes");else{const j=m?`Fetched stats from ${M} index/host combination(s)`:`Updated stats from ${M} index/host combination(s)`;B.notifySuccess(j)}if(p){const j=new URL(window.location.href);j.searchParams.set("nodes",e(I).join(",")),e(z)&&j.searchParams.set("aggregate","true"),Ua(j.toString(),{})}}catch(y){B.notifyError(y,"Failed to fetch multi-node usage")}finally{i(ge,!1)}}Re(()=>{e(O)&&e(D).length===0&&!e(G)&&kt()}),Re(()=>{if(!e(ve)){const p=new URL(Ee.url),b=p.searchParams.get("nodes"),w=p.searchParams.get("aggregate");if(b){const _=b.split(",").filter(m=>m.length>0);_.length>0&&(i(O,!0),i(I,_,!0),e(D).length===0&&kt().then(()=>{_.length>0&&St(!1)}))}w!==null&&i(z,w==="true"),i(ve,!0)}}),Re(()=>{if(e(ve)&&Object.keys(e($)).length>0){const p=new URL(window.location.href);e(z)?p.searchParams.set("aggregate","true"):p.searchParams.delete("aggregate"),Ia(p.toString(),{})}});var Nt=Ws(),jt=Z(Nt);Na(jt,()=>e(Yt),p=>{qe(p,{title:"Indexes",children:(b,w)=>{var _=Ts();c(b,_)},$$slots:{default:!0}})},(p,b)=>{var w=nt(),_=Z(w);{var m=M=>{qe(M,{title:"Indexes",children:(j,oe)=>{var ee=ss(),ne=o(ee),te=o(ne,!0);r(ne),r(ee),F(()=>P(te,e(b).error)),c(j,ee)},$$slots:{default:!0}})},y=M=>{var j=Ls(),oe=Z(j),ee=o(oe);{var ne=A=>{var J=rs();J.__click=[es,ye,Y,ke,He,Je,Ke,Ve,W],c(A,J)};x(ee,A=>{e(a)||A(ne)})}var te=d(ee,2);te.__click=[ls,O];var Ye=o(te);r(te),r(oe);var Ce=d(oe,2);{var Ze=A=>{qe(A,{title:"Indexes",children:(J,fe)=>{var De=os();c(J,De)},$$slots:{default:!0}})},Ge=A=>{var J=Us(),fe=Z(J);{var De=ie=>{var ue=cs(),k=o(ue);Va(k,{get loading(){return e(G)},get primaryNode(){return e(L)},get availableNodes(){return e(D)},set availableNodes(N){i(D,N,!0)},get selectedNodes(){return e(I)},set selectedNodes(N){i(I,N,!0)}});var Ie=d(k,2),K=o(Ie);let Ue;K.__click=[ns,St];var ft=o(K);{var ut=N=>{var T=Tt();F(()=>P(T,e(X)?"Checking Δ...":"Fetching...")),c(N,T)},Qe=N=>{var T=Tt();F(()=>P(T,e(X)?"Δ Usage":"Fetch Usage")),c(N,T)};x(ft,N=>{e(ge)?N(ut):N(Qe,!1)})}r(K);var ae=d(K,2);{var g=N=>{var T=is(),Le=o(T);be(Le),Me(2),r(T),We(Le,()=>e(z),$e=>i(z,$e)),c(N,T)};x(ae,N=>{Object.keys(e($)).length>0&&N(g)})}r(Ie),r(ue),F(N=>{Ue=Bt(K,1,"btn btn-sm svelte-l3ef1w",null,Ue,N),K.disabled=e(ge)||e(I).length===0,me(K,"title",e(X)?`Baseline from ${e(ct)}`:"Fetch index usage statistics")},[()=>({"btn-primary":!e(X),"btn-outline-primary":e(X)})]),c(ie,ue)};x(fe,ie=>{e(O)&&ie(De)})}var Se=d(fe,2);qe(Se,{title:"Indexes",children:(ie,ue)=>{var k=Is(),Ie=o(k),K=o(Ie),Ue=o(K),ft=d(o(Ue),6);{var ut=ae=>{var g=ds();c(ae,g)};x(ft,ae=>{e(a)||ae(ut)})}r(Ue),r(K);var Qe=d(K);it(Qe,21,()=>e(b).data,ae=>ae.name,(ae,g)=>{const N=C(()=>e(f).has(e(g).name));var T=Ds();let Le;var $e=o(T),pt=o($e),Xt=o(pt,!0);r(pt),r($e);var _t=d($e),ea=o(_t);{var ta=n=>{var u=fs();it(u,21,()=>Object.entries(e(g).key),At,(ce,se)=>{var de=C(()=>Sa(e(se),2));let pe=()=>e(de)[0],V=()=>e(de)[1];var E=vs(),R=o(E);r(E),F(()=>P(R,`${pe()??""}: ${(V()===1?"↑":V()===-1?"↓":V())??""}`)),c(ce,E)}),r(u),c(n,u)},aa=n=>{var u=us();c(n,u)};x(ea,n=>{e(g).key?n(ta):n(aa,!1)})}r(_t);var bt=d(_t),Ot=o(bt),Mt=o(Ot);{var sa=n=>{var u=ps();c(n,u)};x(Mt,n=>{e(g).stats?.building&&n(sa)})}var Et=d(Mt,2);{var ra=n=>{var u=_s();c(n,u)};x(Et,n=>{e(g).hidden&&n(ra)})}var Ft=d(Et,2);{var la=n=>{var u=bs();c(n,u)};x(Ft,n=>{e(g).unique&&n(la)})}var Ct=d(Ft,2);{var oa=n=>{var u=ms();c(n,u)};x(Ct,n=>{e(g).sparse&&n(oa)})}var Dt=d(Ct,2);{var na=n=>{var u=gs();c(n,u)};x(Dt,n=>{e(g).partialFilterExpression&&n(na)})}var ia=d(Dt,2);{var ca=n=>{var u=hs();c(n,u)};x(ia,n=>{!e(g).stats?.building&&!e(g).hidden&&!e(g).unique&&!e(g).sparse&&!e(g).partialFilterExpression&&n(ca)})}r(Ot),r(bt);var mt=d(bt),da=o(mt);{var va=n=>{var u=ws(),ce=o(u,!0);r(u),F(se=>P(ce,se),[()=>ja(e(g).size)]),c(n,u)},fa=n=>{var u=xs();c(n,u)};x(da,n=>{e(g).size?n(va):n(fa,!1)})}r(mt);var gt=d(mt),ua=o(gt);{var pa=n=>{const u=C(()=>Object.entries(e($)).filter(([E])=>E.startsWith(`${e(g).name}::`)).map(([E,R])=>({key:E,stats:R}))),ce=C(()=>Object.fromEntries(Object.entries(e(Fe)).filter(([E])=>E.startsWith(`${e(g).name}::`))));var se=Ps(),de=o(se);{var pe=E=>{var R=nt(),wt=Z(R);{var xt=Ne=>{const je=C(()=>zt(e(u).map(q=>q.stats.ops))),Xe=C(()=>zt(Object.values(e(ce)).map(q=>q.ops))),Te=C(()=>e(Xe)>0?e(je)-e(Xe):0);var _e=ks(),et=o(_e),re=d(et);{var tt=q=>{var Be=ys(),at=o(Be);r(Be),F(st=>P(at,`+${st??""}`),[()=>ot(e(Te))]),c(q,Be)};x(re,q=>{e(Te)>0&&q(tt)})}var Pe=d(re,2),Oe=o(Pe);r(Pe),r(_e),F(q=>{me(_e,"title",`Aggregated across ${e(u).length??""} node(s)`),P(et,`${q??""} `),P(Oe,`(${e(u).length??""} node${e(u).length>1?"s":""})`)},[()=>e(Te)>0?ot(e(je)):e(je).toLocaleString()]),c(Ne,_e)},ha=Ne=>{var je=nt(),Xe=Z(je);it(Xe,17,()=>e(u),At,(Te,_e)=>{let et=()=>e(_e).key,re=()=>e(_e).stats;const tt=C(()=>e(ce)[et()]?.ops||0),Pe=C(()=>e(tt)>0?re().ops-e(tt):0);var Oe=Ns(),q=o(Oe),Be=o(q);r(q);var at=d(q,2),st=o(at),wa=d(st);{var xa=Ae=>{var yt=Ss(),ya=o(yt);r(yt),F(ka=>P(ya,`+${ka??""}`),[()=>ot(e(Pe))]),c(Ae,yt)};x(wa,Ae=>{e(Pe)>0&&Ae(xa)})}r(at),r(Oe),F(Ae=>{me(Oe,"title",re().host),P(Be,`${(e(we)[re().host]||re().host)??""}:`),P(st,`${Ae??""} `)},[()=>e(Pe)>0?ot(re().ops):re().ops.toLocaleString()]),c(Te,Oe)}),c(Ne,je)};x(wt,Ne=>{e(z)?Ne(xt):Ne(ha,!1)})}c(E,R)},V=E=>{var R=js(),wt=o(R,!0);r(R),F(xt=>P(wt,xt),[()=>e(g).stats.ops.toLocaleString()]),c(E,R)};x(de,E=>{e(u).length>0?E(pe):E(V,!1)})}r(se),c(n,se)},_a=n=>{var u=Os();c(n,u)};x(ua,n=>{e(g).stats?n(pa):n(_a,!1)})}r(gt);var ht=d(gt),It=o(ht),Ut=d(o(It),2),ba=o(Ut);{let n=C(()=>Xa(e(g),["stats"]));$a(ba,{get value(){return e(n)},collapsed:!1})}r(Ut),r(It),r(ht);var ma=d(ht);{var ga=n=>{var u=Cs(),ce=o(u);{var se=de=>{var pe=Fs(),V=o(pe);V.__click=[Ms,Zt,g];var E=o(V,!0);r(V);var R=d(V,2);R.__click=[Es,Gt,g],r(pe),F(()=>{V.disabled=e(N),P(E,e(g).hidden?"Unhide":"Hide"),R.disabled=e(N)}),c(de,pe)};x(ce,de=>{e(g).name!=="_id_"&&de(se)})}r(u),c(n,u)};x(ma,n=>{e(a)||n(ga)})}r(T),F(n=>{Le=Bt(T,1,"group svelte-l3ef1w",null,Le,n),me(pt,"title",e(g).name),P(Xt,e(g).name)},[()=>({"opacity-50":e(N)})]),c(ae,T)}),r(Qe),r(Ie),r(k),c(ie,k)},$$slots:{default:!0}}),c(A,J)};x(Ce,A=>{e(b).data.length===0?A(Ze):A(Ge,!1)})}F(()=>P(Ye,`${e(O)?"Hide":"Show"} Multi-Node Usage`)),c(M,j)};x(_,M=>{e(b).error?M(m):M(y,!1)})}c(p,w)},(p,b)=>{qe(p,{title:"Indexes",children:(w,_)=>{var m=$s(),y=o(m),M=o(y);r(y),r(m),F(()=>P(M,`Error loading indexes: ${e(b)??""}`)),c(w,m)},$$slots:{default:!0}})});var Pt=d(jt,2);Wt(Pt,{get show(){return e(S)},onclose:vt,footer:b=>{var w=Bs(),_=Z(w);_.__click=vt;var m=d(_,2);m.__click=[as,U,f,s,vt],c(b,w)},children:(b,w)=>{var _=As(),m=Z(_),y=d(o(m)),M=o(y,!0);r(y),Me(),r(m),Me(2),F(()=>P(M,e(U))),c(b,_)},$$slots:{footer:!0,default:!0}});var Qt=d(Pt,2);Wt(Qt,{get show(){return e(W)},onclose:dt,title:"Create Index",footer:b=>{var w=Rs(),_=Z(w);_.__click=dt;var m=d(_,2);m.__click=[ts,H,ye,Y,ke,He,Je,Ke,Ve,dt];var y=o(m,!0);r(m),F(()=>{_.disabled=e(H),m.disabled=e(H),P(y,e(H)?"Creating...":"Create Index")}),c(b,w)},children:(b,w)=>{var _=qs(),m=o(_),y=d(o(m),2),M=d(o(y));M.textContent='{ "fieldName": 1 }',r(y);var j=d(y,2);$t(j),me(j,"placeholder",'{"fieldName": 1}'),Lt(()=>rt(j,()=>e(ye),k=>i(ye,k))),Rt(j,k=>qt?.(k)),r(m);var oe=d(m,2),ee=d(o(oe),4);be(ee),r(oe);var ne=d(oe,2),te=o(ne),Ye=o(te);be(Ye),Me(2),r(te);var Ce=d(te,2),Ze=o(Ce);be(Ze),Me(2),r(Ce);var Ge=d(Ce,2),A=o(Ge);be(A),Me(2),r(Ge),r(ne);var J=d(ne,2),fe=d(o(J),2),De=d(o(fe));De.textContent='{ "status": "active" }',r(fe);var Se=d(fe,2);$t(Se),me(Se,"placeholder",'{"status": "active"}'),Lt(()=>rt(Se,()=>e(Je),k=>i(Je,k))),Rt(Se,k=>qt?.(k)),r(J);var ie=d(J,2),ue=d(o(ie),4);be(ue),r(ie),r(_),rt(ee,()=>e(Y),k=>i(Y,k)),We(Ye,()=>e(ke),k=>i(ke,k)),We(Ze,()=>e(He),k=>i(He,k)),We(A,()=>e(Ve),k=>i(Ve,k)),rt(ue,()=>e(Ke),k=>i(Ke,k)),c(b,_)},$$slots:{footer:!0,default:!0}}),c(l,Nt),Jt()}Kt(["click"]);export{lr as component,rr as universal};
1
+ import"../chunks/BPbCnJEo.js";import{p as Ht,Z as le,f as v,s as d,d as o,r,b as c,c as Jt,e as nt,a as Z,u as C,h as e,t as F,i as h,B as Re,j as i,_ as Lt,n as Me,am as $t,b9 as Sa,k as Tt}from"../chunks/reNJcONQ.js";import{d as Kt,s as P}from"../chunks/ByCRZ7zS.js";import{a as Na,f as ja}from"../chunks/Dn0_-jEe.js";import{i as x}from"../chunks/0oUK0vJa.js";import{e as it,b as be,s as me,n as B,a as Bt,i as At}from"../chunks/cYbZe0tp.js";import{a as Rt}from"../chunks/BXUq66wC.js";import{a as We,b as rt}from"../chunks/UJuWD2W4.js";import{h as Pa,j as Oa,k as Ma,m as Ea,n as Fa,P as qe,o as Ca,p as Da}from"../chunks/BS-WMmdQ.js";import{j as Ia,a as Ua,k as La}from"../chunks/DsktxonY.js";import{p as Ee}from"../chunks/C8YVtXu6.js";import{j as qt,J as $a}from"../chunks/DDmwf13s.js";import{M as Wt}from"../chunks/BxoAxRg6.js";import{p as lt}from"../chunks/BGXqurs_.js";const Ta=async l=>({...l.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),rr=Object.freeze(Object.defineProperty({__proto__:null,load:Ta},Symbol.toStringTag,{value:"Module"}));function Ba(l,t){if(l.length<t.length&&t.endsWith(l))return l;if(t.length<l.length&&l.endsWith(t))return t;let a="",s=l.length-1,f=t.length-1;for(;s>=0&&f>=0&&l[s]===t[f];)a=l.slice(s),s--,f--;return a}function Aa(l,t){if(!l||t.length===0)return null;let a=null,s=0;for(const f of t){const S=Ba(l,f);S.length>s?(s=S.length,a=f):S.length===s&&(a=null)}return a}function Ra(l,t,a){t(Object.keys(e(a)).filter(s=>e(a)[s]))}var qa=v('<div class="loading-message svelte-14baj27">Loading nodes...</div>'),Wa=v('<div class="no-nodes-message svelte-14baj27">No nodes found. Click "Fetch Usage" to load nodes.</div>'),za=v('<span class="primary-badge svelte-14baj27">PRIMARY</span>'),Ha=v('<label class="checkbox-label svelte-14baj27"><input type="checkbox" class="svelte-14baj27"/> <span class="node-name svelte-14baj27"> <!></span></label>'),Ja=v('<div class="selector-options svelte-14baj27"></div>'),Ka=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 Va(l,t){Ht(t,!0);let a=lt(t,"availableNodes",27,()=>le([])),s=lt(t,"selectedNodes",31,()=>le([])),f=lt(t,"loading",3,!1),S=lt(t,"primaryNode",3,null),U=C(()=>Object.fromEntries(a().map(L=>[L,s().includes(L)])));const W=C(()=>!S()||a().length===0?null:Aa(S(),a()));var O=Ka(),D=d(o(O),2);{var I=L=>{var $=qa();c(L,$)},G=L=>{var $=nt(),Fe=Z($);{var ze=H=>{var z=Wa();c(H,z)},ge=H=>{var z=Ja();it(z,20,a,ve=>ve,(ve,Q)=>{var he=Ha(),we=o(he);be(we),we.__change=[Ra,s,U];var xe=d(we,2),X=o(xe),ct=d(X);{var ye=Y=>{var ke=za();c(Y,ke)};x(ct,Y=>{Q===e(W)&&Y(ye)})}r(xe),r(he),F(()=>{me(xe,"title",Q),P(X,`${Q??""} `)}),We(we,()=>e(U)[Q],Y=>e(U)[Q]=Y),c(ve,he)}),r(z),c(H,z)};x(Fe,H=>{a().length===0?H(ze):H(ge,!1)},!0)}c(L,$)};x(D,L=>{f()?L(I):L(G,!1)})}r(O),c(l,O),Jt()}Kt(["change"]);function ot(l,t=3){if(l===0)return"0";const a=Math.abs(l),s=l<0?"-":"";if(a>=1e9){const f=a/1e9;return`${s}${f.toPrecision(t)}B`}else if(a>=1e6){const f=a/1e6;return`${s}${f.toPrecision(t)}M`}else if(a>=1e3){const f=a/1e3;return`${s}${f.toPrecision(t)}k`}else return`${s}${a.toPrecision(Math.min(t,Math.ceil(Math.log10(a+1))))}`}function Ya(l){if(!l)return"";const a=new Date().getTime()-l.getTime(),s=Math.floor(a/1e3),f=Math.floor(s/60),S=Math.floor(f/60);return S>0?`${S}h ${f%60}m ago`:f>0?`${f}m ${s%60}s ago`:`${s}s ago`}function Vt(l){if(l.length===0||l.length===1)return"";let t=l[0];for(let a=1;a<l.length;a++)for(;l[a].indexOf(t)!==0;)if(t=t.substring(0,t.length-1),t==="")return"";return t}function Za(l){if(l.length===0||l.length===1)return"";const t=l.map(s=>s.split("").reverse().join(""));return Vt(t).split("").reverse().join("")}function Ga(l,t,a){if(!t&&!a)return l;let s=l;if(t&&s.startsWith(t)&&(s=s.slice(t.length)),a&&s.endsWith(a)&&(s=s.slice(0,-a.length)),s.length===0)return l;const f=t.length>0,S=a.length>0;return f&&S?`…${s}…`:f?`…${s}`:S?`${s}…`:s}function Qa(l){if(l.length<=1)return Object.fromEntries(l.map(s=>[s,s]));const t=Vt(l),a=Za(l);return Object.fromEntries(l.map(s=>[s,Ga(s,t,a)]))}function Xa(l,t){return Object.fromEntries(Object.entries(l).filter(([a])=>!t.includes(a)))}function zt(l){let t=0;for(const a of l)t+=a;return t}function es(l,t,a,s,f,S,U,W,O){i(t,'{ "fieldName": 1 }'),i(a,""),i(s,!1),i(f,!1),i(S,""),i(U,void 0),i(W,!1),i(O,!0)}async function ts(l,t,a,s,f,S,U,W,O,D){const{server:I,database:G,collection:L}=Ee.params;if(!(!I||!G||!L)){i(t,!0);try{await Fa({server:I,database:G,collection:L,keys:e(a),name:e(s)||void 0,unique:e(f)||void 0,sparse:e(S)||void 0,partialFilterExpression:e(U)||void 0,expireAfterSeconds:e(W),background:e(O)||void 0}),B.notifySuccess("Index created successfully"),D(),await La("app:indexes")}catch($){B.notifyError($,"Failed to create index")}finally{i(t,!1)}}}async function as(l,t,a,s,f){if(!e(t))return;const{server:S,database:U,collection:W}=Ee.params;if(!S||!U||!W)return;e(a).add(e(t)),i(a,e(a),!0);const O=e(t);try{if(await Ea({server:S,database:U,collection:W,index:O}),e(s)&&e(s).data){const D=e(s).data.filter(I=>I.name!==O);i(s,{...e(s),data:D},!0)}B.notifySuccess(`Index "${O}" dropped successfully`),f()}catch(D){B.notifyError(D,"Failed to drop index")}finally{e(a).delete(O),i(a,e(a),!0)}}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=(l,t)=>i(t,!e(t)),os=v('<div class="text-center p-4 svelte-l3ef1w" style="color: var(--text-darker)">No indexes found</div>'),ns=(l,t)=>t(),is=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>'),cs=v('<div class="mb-4 svelte-l3ef1w"><!> <div class="mt-3 flex gap-3 items-center flex-wrap svelte-l3ef1w"><button><!></button> <!></div></div>'),ds=v('<th style="width: 150px" class="svelte-l3ef1w">Actions</th>'),vs=v('<span class="index-key svelte-l3ef1w"> </span>'),fs=v('<div class="flex flex-wrap gap-2 svelte-l3ef1w"></div>'),us=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),ps=v('<span class="badge badge-building svelte-l3ef1w">building</span>'),_s=v('<span class="badge badge-hidden svelte-l3ef1w">hidden</span>'),bs=v('<span class="badge badge-unique svelte-l3ef1w">unique</span>'),ms=v('<span class="badge badge-sparse svelte-l3ef1w">sparse</span>'),gs=v('<span class="badge badge-partial svelte-l3ef1w">partial</span>'),hs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),ws=v('<span class="text-sm whitespace-nowrap svelte-l3ef1w"> </span>'),xs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),ys=v('<span class="increment-badge svelte-l3ef1w"> </span>'),ks=v('<div class="svelte-l3ef1w"> <!> <span class="text-xs svelte-l3ef1w" style="color: var(--text-darker)"> </span></div>'),Ss=v('<span class="increment-badge svelte-l3ef1w"> </span>'),Ns=v('<div class="separate-stat svelte-l3ef1w"><span class="stat-host svelte-l3ef1w"> </span> <span class="stat-value svelte-l3ef1w"> <!></span></div>'),js=v('<div class="svelte-l3ef1w"> </div>'),Ps=v('<div class="text-sm mt-1 svelte-l3ef1w"><!></div>'),Os=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),Ms=(l,t,a)=>t(e(a).name,e(a).hidden),Es=(l,t,a)=>t(e(a).name),Fs=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>'),Cs=v('<td class="svelte-l3ef1w"><!></td>'),Ds=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>'),Us=v("<!> <!>",1),Ls=v('<div class="mb-4 flex gap-3 svelte-l3ef1w"><!> <button class="btn btn-primary btn-sm svelte-l3ef1w"> </button></div> <!>',1),$s=v('<div class="p-4 svelte-l3ef1w"><p class="error svelte-l3ef1w"> </p></div>'),Ts=v('<div class="loading svelte-l3ef1w">Loading indexes...</div>'),Bs=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),As=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),Rs=v('<button class="btn btn-default btn-sm svelte-l3ef1w">Cancel</button> <button class="btn btn-success btn-sm svelte-l3ef1w"> </button>',1),qs=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>'),Ws=v("<!> <!> <!>",1);function lr(l,t){Ht(t,!0);const a=C(()=>t.data.readOnly);let s=h(null),f=h(le(new Set)),S=h(!1),U=h(null),W=h(!1),O=h(!1),D=h(le([])),I=h(le([])),G=h(!1),L=h(null),$=h(le({})),Fe=h(le({})),ze=h(null),ge=h(!1),H=h(!1),z=h(!1),ve=h(!1),Q=h(le([])),he=h(le(new Date));const we=C(()=>{const p=[...new Set(Object.values(e($)).map(b=>b.host))];return Qa(p)}),xe=C(()=>e(I).length!==e(Q).length||!e(I).every(p=>e(Q).includes(p))),X=C(()=>Object.keys(e(Fe)).length>0&&!e(xe)),ct=C(()=>(e(he),Ya(e(ze))));Re(()=>{const p=setInterval(()=>{i(he,new Date,!0)},1e3);return()=>clearInterval(p)});let ye=h('{ "fieldName": 1 }'),Y=h(""),ke=h(!1),He=h(!1),Je=h(""),Ke=h(void 0),Ve=h(!1);Re(()=>{t.data.indexes.then(p=>{e(s)||i(s,p,!0)})});const Yt=C(()=>e(s)||t.data.indexes);async function Zt(p,b){const{server:w,database:_,collection:m}=Ee.params;if(!(!w||!_||!m)){e(f).add(p),i(f,e(f),!0);try{const y={server:w,database:_,collection:m,index:p};if(b?await Ca(y):await Da(y),e(s)&&e(s).data){const M=e(s).data.map(j=>j.name===p?{...j,hidden:!b}:j);i(s,{...e(s),data:M},!0)}B.notifySuccess(`Index ${b?"unhidden":"hidden"} successfully`)}catch(y){B.notifyError(y,`Failed to ${b?"unhide":"hide"} index`)}finally{e(f).delete(p),i(f,e(f),!0)}}}function dt(){i(W,!1)}function Gt(p){i(U,p,!0),i(S,!0)}function vt(){i(S,!1),i(U,null)}async function kt(){const{server:p,database:b,collection:w}=Ee.params;if(!(!p||!b||!w)){i(G,!0);try{const _=await Pa({server:p});if(_.error)B.notifyError(_.error,"Failed to load nodes"),i(D,[],!0);else if(i(D,_.data,!0),e(D).length>0){B.notifySuccess(`Found ${e(D).length} node(s)`);const m=await Oa({server:p,database:b,collection:w});!m.error&&m.data&&i(L,m.data,!0)}}catch(_){B.notifyError(_,"Failed to load nodes"),i(D,[],!0)}finally{i(G,!1)}}}async function St(p=!0){const{server:b,database:w,collection:_}=Ee.params;if(!b||!w||!_)return;if(e(I).length===0){B.notifyError("No nodes selected","Please select at least one node");return}i(ge,!0);const m=e(xe)||!e(X);try{const y=await Ma({server:b,database:w,collection:_,nodes:e(I)});y.error&&B.notifyError(y.error,"Failed to fetch stats from some nodes"),i($,y.data,!0),i(Q,[...e(I)],!0),m&&(i(Fe,{...e($)},!0),i(ze,new Date,!0));const M=Object.keys(e($)).length;if(M===0)B.notifyError("No stats found","No index stats found for selected nodes");else{const j=m?`Fetched stats from ${M} index/host combination(s)`:`Updated stats from ${M} index/host combination(s)`;B.notifySuccess(j)}if(p){const j=new URL(window.location.href);j.searchParams.set("nodes",e(I).join(",")),e(z)&&j.searchParams.set("aggregate","true"),Ua(j.toString(),{})}}catch(y){B.notifyError(y,"Failed to fetch multi-node usage")}finally{i(ge,!1)}}Re(()=>{e(O)&&e(D).length===0&&!e(G)&&kt()}),Re(()=>{if(!e(ve)){const p=new URL(Ee.url),b=p.searchParams.get("nodes"),w=p.searchParams.get("aggregate");if(b){const _=b.split(",").filter(m=>m.length>0);_.length>0&&(i(O,!0),i(I,_,!0),e(D).length===0&&kt().then(()=>{_.length>0&&St(!1)}))}w!==null&&i(z,w==="true"),i(ve,!0)}}),Re(()=>{if(e(ve)&&Object.keys(e($)).length>0){const p=new URL(window.location.href);e(z)?p.searchParams.set("aggregate","true"):p.searchParams.delete("aggregate"),Ia(p.toString(),{})}});var Nt=Ws(),jt=Z(Nt);Na(jt,()=>e(Yt),p=>{qe(p,{title:"Indexes",children:(b,w)=>{var _=Ts();c(b,_)},$$slots:{default:!0}})},(p,b)=>{var w=nt(),_=Z(w);{var m=M=>{qe(M,{title:"Indexes",children:(j,oe)=>{var ee=ss(),ne=o(ee),te=o(ne,!0);r(ne),r(ee),F(()=>P(te,e(b).error)),c(j,ee)},$$slots:{default:!0}})},y=M=>{var j=Ls(),oe=Z(j),ee=o(oe);{var ne=A=>{var J=rs();J.__click=[es,ye,Y,ke,He,Je,Ke,Ve,W],c(A,J)};x(ee,A=>{e(a)||A(ne)})}var te=d(ee,2);te.__click=[ls,O];var Ye=o(te);r(te),r(oe);var Ce=d(oe,2);{var Ze=A=>{qe(A,{title:"Indexes",children:(J,fe)=>{var De=os();c(J,De)},$$slots:{default:!0}})},Ge=A=>{var J=Us(),fe=Z(J);{var De=ie=>{var ue=cs(),k=o(ue);Va(k,{get loading(){return e(G)},get primaryNode(){return e(L)},get availableNodes(){return e(D)},set availableNodes(N){i(D,N,!0)},get selectedNodes(){return e(I)},set selectedNodes(N){i(I,N,!0)}});var Ie=d(k,2),K=o(Ie);let Ue;K.__click=[ns,St];var ft=o(K);{var ut=N=>{var T=Tt();F(()=>P(T,e(X)?"Checking Δ...":"Fetching...")),c(N,T)},Qe=N=>{var T=Tt();F(()=>P(T,e(X)?"Δ Usage":"Fetch Usage")),c(N,T)};x(ft,N=>{e(ge)?N(ut):N(Qe,!1)})}r(K);var ae=d(K,2);{var g=N=>{var T=is(),Le=o(T);be(Le),Me(2),r(T),We(Le,()=>e(z),$e=>i(z,$e)),c(N,T)};x(ae,N=>{Object.keys(e($)).length>0&&N(g)})}r(Ie),r(ue),F(N=>{Ue=Bt(K,1,"btn btn-sm svelte-l3ef1w",null,Ue,N),K.disabled=e(ge)||e(I).length===0,me(K,"title",e(X)?`Baseline from ${e(ct)}`:"Fetch index usage statistics")},[()=>({"btn-primary":!e(X),"btn-outline-primary":e(X)})]),c(ie,ue)};x(fe,ie=>{e(O)&&ie(De)})}var Se=d(fe,2);qe(Se,{title:"Indexes",children:(ie,ue)=>{var k=Is(),Ie=o(k),K=o(Ie),Ue=o(K),ft=d(o(Ue),6);{var ut=ae=>{var g=ds();c(ae,g)};x(ft,ae=>{e(a)||ae(ut)})}r(Ue),r(K);var Qe=d(K);it(Qe,21,()=>e(b).data,ae=>ae.name,(ae,g)=>{const N=C(()=>e(f).has(e(g).name));var T=Ds();let Le;var $e=o(T),pt=o($e),Xt=o(pt,!0);r(pt),r($e);var _t=d($e),ea=o(_t);{var ta=n=>{var u=fs();it(u,21,()=>Object.entries(e(g).key),At,(ce,se)=>{var de=C(()=>Sa(e(se),2));let pe=()=>e(de)[0],V=()=>e(de)[1];var E=vs(),R=o(E);r(E),F(()=>P(R,`${pe()??""}: ${(V()===1?"↑":V()===-1?"↓":V())??""}`)),c(ce,E)}),r(u),c(n,u)},aa=n=>{var u=us();c(n,u)};x(ea,n=>{e(g).key?n(ta):n(aa,!1)})}r(_t);var bt=d(_t),Ot=o(bt),Mt=o(Ot);{var sa=n=>{var u=ps();c(n,u)};x(Mt,n=>{e(g).stats?.building&&n(sa)})}var Et=d(Mt,2);{var ra=n=>{var u=_s();c(n,u)};x(Et,n=>{e(g).hidden&&n(ra)})}var Ft=d(Et,2);{var la=n=>{var u=bs();c(n,u)};x(Ft,n=>{e(g).unique&&n(la)})}var Ct=d(Ft,2);{var oa=n=>{var u=ms();c(n,u)};x(Ct,n=>{e(g).sparse&&n(oa)})}var Dt=d(Ct,2);{var na=n=>{var u=gs();c(n,u)};x(Dt,n=>{e(g).partialFilterExpression&&n(na)})}var ia=d(Dt,2);{var ca=n=>{var u=hs();c(n,u)};x(ia,n=>{!e(g).stats?.building&&!e(g).hidden&&!e(g).unique&&!e(g).sparse&&!e(g).partialFilterExpression&&n(ca)})}r(Ot),r(bt);var mt=d(bt),da=o(mt);{var va=n=>{var u=ws(),ce=o(u,!0);r(u),F(se=>P(ce,se),[()=>ja(e(g).size)]),c(n,u)},fa=n=>{var u=xs();c(n,u)};x(da,n=>{e(g).size?n(va):n(fa,!1)})}r(mt);var gt=d(mt),ua=o(gt);{var pa=n=>{const u=C(()=>Object.entries(e($)).filter(([E])=>E.startsWith(`${e(g).name}::`)).map(([E,R])=>({key:E,stats:R}))),ce=C(()=>Object.fromEntries(Object.entries(e(Fe)).filter(([E])=>E.startsWith(`${e(g).name}::`))));var se=Ps(),de=o(se);{var pe=E=>{var R=nt(),wt=Z(R);{var xt=Ne=>{const je=C(()=>zt(e(u).map(q=>q.stats.ops))),Xe=C(()=>zt(Object.values(e(ce)).map(q=>q.ops))),Te=C(()=>e(Xe)>0?e(je)-e(Xe):0);var _e=ks(),et=o(_e),re=d(et);{var tt=q=>{var Be=ys(),at=o(Be);r(Be),F(st=>P(at,`+${st??""}`),[()=>ot(e(Te))]),c(q,Be)};x(re,q=>{e(Te)>0&&q(tt)})}var Pe=d(re,2),Oe=o(Pe);r(Pe),r(_e),F(q=>{me(_e,"title",`Aggregated across ${e(u).length??""} node(s)`),P(et,`${q??""} `),P(Oe,`(${e(u).length??""} node${e(u).length>1?"s":""})`)},[()=>e(Te)>0?ot(e(je)):e(je).toLocaleString()]),c(Ne,_e)},ha=Ne=>{var je=nt(),Xe=Z(je);it(Xe,17,()=>e(u),At,(Te,_e)=>{let et=()=>e(_e).key,re=()=>e(_e).stats;const tt=C(()=>e(ce)[et()]?.ops||0),Pe=C(()=>e(tt)>0?re().ops-e(tt):0);var Oe=Ns(),q=o(Oe),Be=o(q);r(q);var at=d(q,2),st=o(at),wa=d(st);{var xa=Ae=>{var yt=Ss(),ya=o(yt);r(yt),F(ka=>P(ya,`+${ka??""}`),[()=>ot(e(Pe))]),c(Ae,yt)};x(wa,Ae=>{e(Pe)>0&&Ae(xa)})}r(at),r(Oe),F(Ae=>{me(Oe,"title",re().host),P(Be,`${(e(we)[re().host]||re().host)??""}:`),P(st,`${Ae??""} `)},[()=>e(Pe)>0?ot(re().ops):re().ops.toLocaleString()]),c(Te,Oe)}),c(Ne,je)};x(wt,Ne=>{e(z)?Ne(xt):Ne(ha,!1)})}c(E,R)},V=E=>{var R=js(),wt=o(R,!0);r(R),F(xt=>P(wt,xt),[()=>e(g).stats.ops.toLocaleString()]),c(E,R)};x(de,E=>{e(u).length>0?E(pe):E(V,!1)})}r(se),c(n,se)},_a=n=>{var u=Os();c(n,u)};x(ua,n=>{e(g).stats?n(pa):n(_a,!1)})}r(gt);var ht=d(gt),It=o(ht),Ut=d(o(It),2),ba=o(Ut);{let n=C(()=>Xa(e(g),["stats"]));$a(ba,{get value(){return e(n)},collapsed:!1})}r(Ut),r(It),r(ht);var ma=d(ht);{var ga=n=>{var u=Cs(),ce=o(u);{var se=de=>{var pe=Fs(),V=o(pe);V.__click=[Ms,Zt,g];var E=o(V,!0);r(V);var R=d(V,2);R.__click=[Es,Gt,g],r(pe),F(()=>{V.disabled=e(N),P(E,e(g).hidden?"Unhide":"Hide"),R.disabled=e(N)}),c(de,pe)};x(ce,de=>{e(g).name!=="_id_"&&de(se)})}r(u),c(n,u)};x(ma,n=>{e(a)||n(ga)})}r(T),F(n=>{Le=Bt(T,1,"group svelte-l3ef1w",null,Le,n),me(pt,"title",e(g).name),P(Xt,e(g).name)},[()=>({"opacity-50":e(N)})]),c(ae,T)}),r(Qe),r(Ie),r(k),c(ie,k)},$$slots:{default:!0}}),c(A,J)};x(Ce,A=>{e(b).data.length===0?A(Ze):A(Ge,!1)})}F(()=>P(Ye,`${e(O)?"Hide":"Show"} Multi-Node Usage`)),c(M,j)};x(_,M=>{e(b).error?M(m):M(y,!1)})}c(p,w)},(p,b)=>{qe(p,{title:"Indexes",children:(w,_)=>{var m=$s(),y=o(m),M=o(y);r(y),r(m),F(()=>P(M,`Error loading indexes: ${e(b)??""}`)),c(w,m)},$$slots:{default:!0}})});var Pt=d(jt,2);Wt(Pt,{get show(){return e(S)},onclose:vt,footer:b=>{var w=Bs(),_=Z(w);_.__click=vt;var m=d(_,2);m.__click=[as,U,f,s,vt],c(b,w)},children:(b,w)=>{var _=As(),m=Z(_),y=d(o(m)),M=o(y,!0);r(y),Me(),r(m),Me(2),F(()=>P(M,e(U))),c(b,_)},$$slots:{footer:!0,default:!0}});var Qt=d(Pt,2);Wt(Qt,{get show(){return e(W)},onclose:dt,title:"Create Index",footer:b=>{var w=Rs(),_=Z(w);_.__click=dt;var m=d(_,2);m.__click=[ts,H,ye,Y,ke,He,Je,Ke,Ve,dt];var y=o(m,!0);r(m),F(()=>{_.disabled=e(H),m.disabled=e(H),P(y,e(H)?"Creating...":"Create Index")}),c(b,w)},children:(b,w)=>{var _=qs(),m=o(_),y=d(o(m),2),M=d(o(y));M.textContent='{ "fieldName": 1 }',r(y);var j=d(y,2);$t(j),me(j,"placeholder",'{"fieldName": 1}'),Lt(()=>rt(j,()=>e(ye),k=>i(ye,k))),Rt(j,k=>qt?.(k)),r(m);var oe=d(m,2),ee=d(o(oe),4);be(ee),r(oe);var ne=d(oe,2),te=o(ne),Ye=o(te);be(Ye),Me(2),r(te);var Ce=d(te,2),Ze=o(Ce);be(Ze),Me(2),r(Ce);var Ge=d(Ce,2),A=o(Ge);be(A),Me(2),r(Ge),r(ne);var J=d(ne,2),fe=d(o(J),2),De=d(o(fe));De.textContent='{ "status": "active" }',r(fe);var Se=d(fe,2);$t(Se),me(Se,"placeholder",'{"status": "active"}'),Lt(()=>rt(Se,()=>e(Je),k=>i(Je,k))),Rt(Se,k=>qt?.(k)),r(J);var ie=d(J,2),ue=d(o(ie),4);be(ue),r(ie),r(_),rt(ee,()=>e(Y),k=>i(Y,k)),We(Ye,()=>e(ke),k=>i(ke,k)),We(Ze,()=>e(He),k=>i(He,k)),We(A,()=>e(Ve),k=>i(Ve,k)),rt(ue,()=>e(Ke),k=>i(Ke,k)),c(b,_)},$$slots:{footer:!0,default:!0}}),c(l,Nt),Jt()}Kt(["click"]);export{lr as component,rr as universal};
@@ -1,4 +1,4 @@
1
- import"../chunks/BPbCnJEo.js";import{m as Te,o as ve,_ as Fe,y as Se,a3 as Ee,a4 as qe,a5 as De,a6 as Ne,p as ze,Z as Ge,f as u,a as pe,b as c,c as He,s as r,d as o,t as q,j as v,i as V,r as a,n as fe,h as n,u as Be}from"../chunks/reNJcONQ.js";import{d as Le,s as te}from"../chunks/ByCRZ7zS.js";import{i as T}from"../chunks/0oUK0vJa.js";import{r as Qe,s as Re,e as ae,i as ge,b as oe,n as B}from"../chunks/B83FMsIQ.js";import{b as re}from"../chunks/UJuWD2W4.js";import{P as Ue,u as We}from"../chunks/DGtnJf56.js";function ye(t,e,l=!1){if(t.multiple){if(e==null)return;if(!Ee(e))return qe();for(var i of t.options)i.selected=e.includes(X(i));return}for(i of t.options){var s=X(i);if(De(s,e)){i.selected=!0;return}}(!l||e!==void 0)&&(t.selectedIndex=-1)}function Ze(t){var e=new MutationObserver(()=>{ye(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ne(()=>{e.disconnect()})}function he(t,e,l=e){var i=new WeakSet,s=!0;Te(t,"change",d=>{var g=d?"[selected]":":checked",m;if(t.multiple)m=[].map.call(t.querySelectorAll(g),X);else{var L=t.querySelector(g)??t.querySelector("option:not([disabled])");m=L&&X(L)}l(m),ve!==null&&i.add(ve)}),Fe(()=>{var d=e();if(t===document.activeElement){var g=Se??ve;if(i.has(g))return}if(ye(t,d,s),s&&d===void 0){var m=t.querySelector(":checked");m!==null&&(d=X(m),l(d))}t.__value=d,s=!1}),Ze(t)}function X(t){return"__value"in t?t.__value:t.value}const Je=async t=>({...t.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Ft=Object.freeze(Object.defineProperty({__proto__:null,load:Je},Symbol.toStringTag,{value:"Module"}));async function Ke(t,e){try{await navigator.clipboard.writeText(n(e)),B.notifySuccess("AI prompt copied to clipboard")}catch(l){B.notifyError(l,"Failed to copy to clipboard")}}function Ve(t,e,l,i,s,d){if(!n(e).trim()){B.notifyError("Field path is required");return}if(!n(l).trim()){B.notifyError("Target collection is required");return}i.push({fieldPath:n(e).trim(),targets:[{collection:n(l).trim(),on:n(s).trim()||"_id"}]}),v(e,""),v(l,""),v(s,"_id"),v(d,!1)}function Xe(t,e,l,i,s){v(e,""),v(l,""),v(i,"_id"),v(s,!1)}async function Ye(t,e,l){try{const i={};for(const s of e)if(s.fieldPath.trim()){const d=s.targets.filter(g=>g.collection.trim()&&g.on.trim());d.length>0&&(i[s.fieldPath]=d.length===1?d[0]:d)}await We({server:l.data.server,database:l.data.database,collection:"mongoku.mappings",document:l.data.collection,value:{mappings:i,_id:l.data.collection},partial:!1,upsert:!0}),B.notifySuccess("Mappings saved successfully")}catch(i){console.error("Error saving mappings:",i),B.notifyError(i,"Failed to save mappings")}}var $e=(t,e)=>v(e,!0),et=u('<button class="btn btn-success btn-sm -my-2 hover:bg-[var(--button-success-l)]">Save</button>'),tt=u('<button class="btn btn-outline-light btn-sm -my-2 hover:bg-[var(--color-3)]">🤖 AI Helper</button> <!>',1),at=u('<button class="btn btn-outline-danger btn-sm mt-6 hover:bg-[rgba(255,59,48,0.1)]">Remove Mapping</button>'),ot=u("<option> </option>"),rt=u('<button class="btn btn-outline-danger btn-sm mt-5 hover:bg-[rgba(255,59,48,0.1)]">×</button>'),lt=u('<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">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> <!></div>'),it=(t,e,l)=>e(n(l)),nt=u('<button class="btn btn-outline-light btn-sm mt-2 ml-4 hover:bg-[var(--color-3)]">+ Add Alternative Target</button>'),st=u('<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>'),dt=u('<div class="space-y-4"></div>'),ct=u('<div class="text-center py-8" style="color: var(--text-secondary);">No mappings defined yet.</div>'),vt=(t,e)=>v(e,!0),ut=u('<button class="btn btn-success hover:bg-[var(--button-success-l)]">+ Add New Mapping</button>'),bt=u("<option> </option>"),_t=u('<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">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> <div class="flex gap-2"><button class="btn btn-success hover:bg-[var(--button-success-l)]">Add</button> <button class="btn btn-default hover:bg-[var(--color-3)]">Cancel</button></div></div></div>'),mt=u('<div class="mt-4"><!></div>'),pt=u(`<div class="p-4"><div class="mb-4"><p class="mb-3">Define relationships between collections to enable hover tooltips and navigation on foreign key fields. This
1
+ import"../chunks/BPbCnJEo.js";import{m as Te,o as ve,_ as Fe,y as Se,a3 as Ee,a4 as qe,a5 as De,a6 as Ne,p as ze,Z as Ge,f as u,a as pe,b as c,c as He,s as r,d as o,t as q,j as v,i as V,r as a,n as fe,h as n,u as Be}from"../chunks/reNJcONQ.js";import{d as Le,s as te}from"../chunks/ByCRZ7zS.js";import{i as T}from"../chunks/0oUK0vJa.js";import{r as Qe,s as Re,e as ae,i as ge,b as oe,n as B}from"../chunks/cYbZe0tp.js";import{b as re}from"../chunks/UJuWD2W4.js";import{P as Ue,u as We}from"../chunks/BS-WMmdQ.js";function ye(t,e,l=!1){if(t.multiple){if(e==null)return;if(!Ee(e))return qe();for(var i of t.options)i.selected=e.includes(X(i));return}for(i of t.options){var s=X(i);if(De(s,e)){i.selected=!0;return}}(!l||e!==void 0)&&(t.selectedIndex=-1)}function Ze(t){var e=new MutationObserver(()=>{ye(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ne(()=>{e.disconnect()})}function he(t,e,l=e){var i=new WeakSet,s=!0;Te(t,"change",d=>{var g=d?"[selected]":":checked",m;if(t.multiple)m=[].map.call(t.querySelectorAll(g),X);else{var L=t.querySelector(g)??t.querySelector("option:not([disabled])");m=L&&X(L)}l(m),ve!==null&&i.add(ve)}),Fe(()=>{var d=e();if(t===document.activeElement){var g=Se??ve;if(i.has(g))return}if(ye(t,d,s),s&&d===void 0){var m=t.querySelector(":checked");m!==null&&(d=X(m),l(d))}t.__value=d,s=!1}),Ze(t)}function X(t){return"__value"in t?t.__value:t.value}const Je=async t=>({...t.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Ft=Object.freeze(Object.defineProperty({__proto__:null,load:Je},Symbol.toStringTag,{value:"Module"}));async function Ke(t,e){try{await navigator.clipboard.writeText(n(e)),B.notifySuccess("AI prompt copied to clipboard")}catch(l){B.notifyError(l,"Failed to copy to clipboard")}}function Ve(t,e,l,i,s,d){if(!n(e).trim()){B.notifyError("Field path is required");return}if(!n(l).trim()){B.notifyError("Target collection is required");return}i.push({fieldPath:n(e).trim(),targets:[{collection:n(l).trim(),on:n(s).trim()||"_id"}]}),v(e,""),v(l,""),v(s,"_id"),v(d,!1)}function Xe(t,e,l,i,s){v(e,""),v(l,""),v(i,"_id"),v(s,!1)}async function Ye(t,e,l){try{const i={};for(const s of e)if(s.fieldPath.trim()){const d=s.targets.filter(g=>g.collection.trim()&&g.on.trim());d.length>0&&(i[s.fieldPath]=d.length===1?d[0]:d)}await We({server:l.data.server,database:l.data.database,collection:"mongoku.mappings",document:l.data.collection,value:{mappings:i,_id:l.data.collection},partial:!1,upsert:!0}),B.notifySuccess("Mappings saved successfully")}catch(i){console.error("Error saving mappings:",i),B.notifyError(i,"Failed to save mappings")}}var $e=(t,e)=>v(e,!0),et=u('<button class="btn btn-success btn-sm -my-2 hover:bg-[var(--button-success-l)]">Save</button>'),tt=u('<button class="btn btn-outline-light btn-sm -my-2 hover:bg-[var(--color-3)]">🤖 AI Helper</button> <!>',1),at=u('<button class="btn btn-outline-danger btn-sm mt-6 hover:bg-[rgba(255,59,48,0.1)]">Remove Mapping</button>'),ot=u("<option> </option>"),rt=u('<button class="btn btn-outline-danger btn-sm mt-5 hover:bg-[rgba(255,59,48,0.1)]">×</button>'),lt=u('<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">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> <!></div>'),it=(t,e,l)=>e(n(l)),nt=u('<button class="btn btn-outline-light btn-sm mt-2 ml-4 hover:bg-[var(--color-3)]">+ Add Alternative Target</button>'),st=u('<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>'),dt=u('<div class="space-y-4"></div>'),ct=u('<div class="text-center py-8" style="color: var(--text-secondary);">No mappings defined yet.</div>'),vt=(t,e)=>v(e,!0),ut=u('<button class="btn btn-success hover:bg-[var(--button-success-l)]">+ Add New Mapping</button>'),bt=u("<option> </option>"),_t=u('<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">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> <div class="flex gap-2"><button class="btn btn-success hover:bg-[var(--button-success-l)]">Add</button> <button class="btn btn-default hover:bg-[var(--color-3)]">Cancel</button></div></div></div>'),mt=u('<div class="mt-4"><!></div>'),pt=u(`<div class="p-4"><div class="mb-4"><p class="mb-3">Define relationships between collections to enable hover tooltips and navigation on foreign key fields. This
2
2
  will be stored in the <code class="px-1 bg-[var(--light-background)] rounded">mongoku.mappings</code> collection
3
3
  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">Example</summary> <div class="mt-2"><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:
4
4
  "Nice!"&#125;] &#125;</code> <div class="text space-y-1"><div>→ Mapping 1: Field path <code class="px-1 bg-[var(--light-background)] rounded">authorId</code>, target
@@ -1 +1 @@
1
- import"../chunks/BPbCnJEo.js";import{i as M,a1 as ie,S as we,h as e,j as m,a2 as ee,p as xe,f as p,a as z,b as s,c as Se,s as y,$ as ze,d as l,r as c,e as q,t as R,k as de,n as Re,u as Ce}from"../chunks/reNJcONQ.js";import{d as Ee,e as De,s as A}from"../chunks/ByCRZ7zS.js";import{a as G,s as H,f as le}from"../chunks/Dn0_-jEe.js";import{i as F}from"../chunks/0oUK0vJa.js";import{e as Pe,b as Te,s as ce,r as Ae,n as N}from"../chunks/B83FMsIQ.js";import{b as Fe}from"../chunks/UJuWD2W4.js";import{P as Me,c as Ne,r as je,e as Oe}from"../chunks/DGtnJf56.js";import{i as te}from"../chunks/pj4OZpZf.js";import{T as Ye}from"../chunks/_Sxqiax7.js";var $e=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],qe=["difference","intersection","symmetricDifference","union"],ve=!1;class J extends Set{#r=new Map;#e=M(0);#t=M(0);#a=ie||-1;constructor(t){if(super(),t){for(var r of t)super.add(r);this.#t.v=super.size}ve||this.#o()}#s(t){return ie===this.#a?M(t):we(t)}#o(){ve=!0;var t=J.prototype,r=Set.prototype;for(const o of $e)t[o]=function(...i){return e(this.#e),r[o].apply(this,i)};for(const o of qe)t[o]=function(...i){e(this.#e);var j=r[o].apply(this,i);return new J(j)}}has(t){var r=super.has(t),o=this.#r,i=o.get(t);if(i===void 0){if(!r)return e(this.#e),!1;i=this.#s(!0),o.set(t,i)}return e(i),r}add(t){return super.has(t)||(super.add(t),m(this.#t,super.size),ee(this.#e)),this}delete(t){var r=super.delete(t),o=this.#r,i=o.get(t);return i!==void 0&&(o.delete(t),m(i,!1)),r&&(m(this.#t,super.size),ee(this.#e)),r}clear(){if(super.size!==0){super.clear();var t=this.#r;for(var r of t.values())m(r,!1);t.clear(),m(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)}}async function Be(C,t,r,o){if(e(t)){m(r,!0);try{await Ne({url:e(t)}),m(t,""),m(o,!1),N.notifySuccess("Server added successfully"),await te()}catch(i){N.notifyError(i,"Failed to add server")}finally{m(r,!1)}}}var Ie=(C,t)=>m(t,!e(t)),Ke=p('<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=p('<button class="btn btn-default btn-sm"> </button> <!>',1),Ge=p('<span class="error"><span class="badge badge-danger">Error</span> </span>'),He=p("<a> </a>"),Je=p("<span> </span>"),Le=p('<span style="color: var(--text-secondary);">...</span>'),Qe=p('<span style="color: var(--text-secondary);">...</span>'),Ve=(C,t,r)=>t(e(r)),We=p('<button class="btn btn-default btn-sm -my-2 hidden group-hover:inline"> </button>'),Xe=(C,t,r)=>t(e(r)),Ze=p('<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>'),et=p('<tr><td colspan="4"><div class="text-center">No servers...</div></td></tr>'),tt=p('<table class="table"><thead><tr><th>Name</th><th>Databases</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),rt=C=>C.stopPropagation(),at=p('<div class="modal-overlay"><div class="modal"><div class="modal-body"><p>Are you sure you want to remove this server? This will only remove it from this 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>'),st=p("<!> <!>",1);function mt(C,t){xe(t,!0);let r=M(!1),o=M(""),i=M(!1),j=M(!1),B=null;const I=new J;function ue(v){B=v,m(j,!0)}function K(){m(j,!1),B=null}async function fe(){if(B)try{await Oe(B.name),N.notifySuccess("Server removed successfully"),K(),await te()}catch(v){N.notifyError(v,"Failed to remove server")}}function _e(v){v.key==="Escape"&&K()}async function me(v){I.add(v._id);try{await je(v._id),N.notifySuccess("Connection restored successfully"),await te()}catch(g){N.notifyError(g,"Failed to retry connection")}finally{I.delete(v._id)}}var re=st();De("keydown",ze,_e);var ae=z(re);Me(ae,{title:"Servers",actions:g=>{var E=Ue(),b=z(E);b.__click=[Ie,r];var D=l(b,!0);c(b);var O=y(b,2);{var L=Y=>{var k=Ke(),w=z(k);Te(w);var U=y(w,2);U.__click=[Be,o,i,r],R(()=>{w.disabled=e(i),U.disabled=!e(o).length||e(i)}),Fe(w,()=>e(o),$=>m(o,$)),s(Y,k)};F(O,Y=>{e(r)&&Y(L)})}R(()=>A(D,e(r)?"Cancel":"Add Server")),s(g,E)},children:(g,E)=>{var b=tt(),D=y(l(b)),O=l(D);{var L=k=>{var w=q(),U=z(w);Pe(U,17,()=>t.data.servers,$=>$._id,($,h)=>{var Q=Ze(),V=l(Q),be=l(V);G(be,()=>e(h).details,u=>{var a=Je(),f=l(a,!0);c(a),R(x=>A(f,x),[()=>H(e(h).name)]),s(u,a)},(u,a)=>{var f=q(),x=z(f);{var P=d=>{var n=Ge(),T=l(n),S=y(T);c(n),R(Z=>{ce(T,"title",e(a).error.message),A(S,` ${Z??""}`)},[()=>H(e(h).name)]),s(d,n)},_=d=>{var n=He(),T=l(n,!0);c(n),R((S,Z)=>{ce(n,"href",S),A(T,Z)},[()=>Ae(`/servers/${encodeURIComponent(H(e(h).name))}/databases`),()=>H(e(h).name)]),s(d,n)};F(x,d=>{"error"in e(a)&&e(a).error?d(P):d(_,!1)})}s(u,f)}),c(V);var W=y(V),ye=l(W);G(ye,()=>e(h).details,u=>{var a=Le();s(u,a)},(u,a)=>{var f=q(),x=z(f);{var P=_=>{{let d=Ce(()=>e(a).databases.map(n=>({name:n.name,collections:n.collections,size:le(n.size)})));Ye(_,{columns:[{header:"Database",key:"name"},{header:"Collections",key:"collections"},{header:"Size",key:"size"}],get rows(){return e(d)},children:(n,T)=>{Re();var S=de();R(()=>A(S,e(a).databases.length)),s(n,S)}})}};F(x,_=>{"databases"in e(a)&&e(a).databases&&_(P)})}s(u,f)}),c(W);var X=y(W),ge=l(X);G(ge,()=>e(h).details,u=>{var a=Qe();s(u,a)},(u,a)=>{var f=q(),x=z(f);{var P=_=>{var d=de();R(n=>A(d,n),[()=>le(e(a).size)]),s(_,d)};F(x,_=>{"size"in e(a)&&e(a).size!==void 0&&_(P)})}s(u,f)}),c(X);var se=y(X),oe=l(se),ne=l(oe);G(ne,()=>e(h).details,null,(u,a)=>{var f=q(),x=z(f);{var P=_=>{var d=We();d.__click=[Ve,me,h];var n=l(d,!0);c(d),R((T,S)=>{d.disabled=T,A(n,S)},[()=>I.has(e(h)._id),()=>I.has(e(h)._id)?"Retrying...":"Retry"]),s(_,d)};F(x,_=>{"error"in e(a)&&e(a).error&&_(P)})}s(u,f)});var ke=y(ne,2);ke.__click=[Xe,ue,h],c(oe),c(se),c(Q),s($,Q)}),s(k,w)},Y=k=>{var w=et();s(k,w)};F(O,k=>{t.data.servers&&t.data.servers.length>0?k(L):k(Y,!1)})}c(D),c(b),s(g,b)},$$slots:{actions:!0,default:!0}});var pe=y(ae,2);{var he=v=>{var g=at();g.__click=K;var E=l(g);E.__click=[rt];var b=y(l(E),2),D=l(b);D.__click=K;var O=y(D,2);O.__click=fe,c(b),c(E),c(g),s(v,g)};F(pe,v=>{e(j)&&v(he)})}s(C,re),Se()}Ee(["click"]);export{mt as component};
1
+ import"../chunks/BPbCnJEo.js";import{i as M,a1 as ie,S as we,h as e,j as m,a2 as ee,p as xe,f as p,a as z,b as s,c as Se,s as y,$ as ze,d as l,r as c,e as q,t as R,k as de,n as Re,u as Ce}from"../chunks/reNJcONQ.js";import{d as Ee,e as De,s as A}from"../chunks/ByCRZ7zS.js";import{a as G,s as H,f as le}from"../chunks/Dn0_-jEe.js";import{i as F}from"../chunks/0oUK0vJa.js";import{e as Pe,b as Te,s as ce,r as Ae,n as N}from"../chunks/cYbZe0tp.js";import{b as Fe}from"../chunks/UJuWD2W4.js";import{P as Me,c as Ne,r as je,e as Oe}from"../chunks/BS-WMmdQ.js";import{i as te}from"../chunks/DsktxonY.js";import{T as Ye}from"../chunks/DSSOupge.js";var $e=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],qe=["difference","intersection","symmetricDifference","union"],ve=!1;class J extends Set{#r=new Map;#e=M(0);#t=M(0);#a=ie||-1;constructor(t){if(super(),t){for(var r of t)super.add(r);this.#t.v=super.size}ve||this.#o()}#s(t){return ie===this.#a?M(t):we(t)}#o(){ve=!0;var t=J.prototype,r=Set.prototype;for(const o of $e)t[o]=function(...i){return e(this.#e),r[o].apply(this,i)};for(const o of qe)t[o]=function(...i){e(this.#e);var j=r[o].apply(this,i);return new J(j)}}has(t){var r=super.has(t),o=this.#r,i=o.get(t);if(i===void 0){if(!r)return e(this.#e),!1;i=this.#s(!0),o.set(t,i)}return e(i),r}add(t){return super.has(t)||(super.add(t),m(this.#t,super.size),ee(this.#e)),this}delete(t){var r=super.delete(t),o=this.#r,i=o.get(t);return i!==void 0&&(o.delete(t),m(i,!1)),r&&(m(this.#t,super.size),ee(this.#e)),r}clear(){if(super.size!==0){super.clear();var t=this.#r;for(var r of t.values())m(r,!1);t.clear(),m(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)}}async function Be(C,t,r,o){if(e(t)){m(r,!0);try{await Ne({url:e(t)}),m(t,""),m(o,!1),N.notifySuccess("Server added successfully"),await te()}catch(i){N.notifyError(i,"Failed to add server")}finally{m(r,!1)}}}var Ie=(C,t)=>m(t,!e(t)),Ke=p('<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=p('<button class="btn btn-default btn-sm"> </button> <!>',1),Ge=p('<span class="error"><span class="badge badge-danger">Error</span> </span>'),He=p("<a> </a>"),Je=p("<span> </span>"),Le=p('<span style="color: var(--text-secondary);">...</span>'),Qe=p('<span style="color: var(--text-secondary);">...</span>'),Ve=(C,t,r)=>t(e(r)),We=p('<button class="btn btn-default btn-sm -my-2 hidden group-hover:inline"> </button>'),Xe=(C,t,r)=>t(e(r)),Ze=p('<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>'),et=p('<tr><td colspan="4"><div class="text-center">No servers...</div></td></tr>'),tt=p('<table class="table"><thead><tr><th>Name</th><th>Databases</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),rt=C=>C.stopPropagation(),at=p('<div class="modal-overlay"><div class="modal"><div class="modal-body"><p>Are you sure you want to remove this server? This will only remove it from this 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>'),st=p("<!> <!>",1);function mt(C,t){xe(t,!0);let r=M(!1),o=M(""),i=M(!1),j=M(!1),B=null;const I=new J;function ue(v){B=v,m(j,!0)}function K(){m(j,!1),B=null}async function fe(){if(B)try{await Oe(B.name),N.notifySuccess("Server removed successfully"),K(),await te()}catch(v){N.notifyError(v,"Failed to remove server")}}function _e(v){v.key==="Escape"&&K()}async function me(v){I.add(v._id);try{await je(v._id),N.notifySuccess("Connection restored successfully"),await te()}catch(g){N.notifyError(g,"Failed to retry connection")}finally{I.delete(v._id)}}var re=st();De("keydown",ze,_e);var ae=z(re);Me(ae,{title:"Servers",actions:g=>{var E=Ue(),b=z(E);b.__click=[Ie,r];var D=l(b,!0);c(b);var O=y(b,2);{var L=Y=>{var k=Ke(),w=z(k);Te(w);var U=y(w,2);U.__click=[Be,o,i,r],R(()=>{w.disabled=e(i),U.disabled=!e(o).length||e(i)}),Fe(w,()=>e(o),$=>m(o,$)),s(Y,k)};F(O,Y=>{e(r)&&Y(L)})}R(()=>A(D,e(r)?"Cancel":"Add Server")),s(g,E)},children:(g,E)=>{var b=tt(),D=y(l(b)),O=l(D);{var L=k=>{var w=q(),U=z(w);Pe(U,17,()=>t.data.servers,$=>$._id,($,h)=>{var Q=Ze(),V=l(Q),be=l(V);G(be,()=>e(h).details,u=>{var a=Je(),f=l(a,!0);c(a),R(x=>A(f,x),[()=>H(e(h).name)]),s(u,a)},(u,a)=>{var f=q(),x=z(f);{var P=d=>{var n=Ge(),T=l(n),S=y(T);c(n),R(Z=>{ce(T,"title",e(a).error.message),A(S,` ${Z??""}`)},[()=>H(e(h).name)]),s(d,n)},_=d=>{var n=He(),T=l(n,!0);c(n),R((S,Z)=>{ce(n,"href",S),A(T,Z)},[()=>Ae(`/servers/${encodeURIComponent(H(e(h).name))}/databases`),()=>H(e(h).name)]),s(d,n)};F(x,d=>{"error"in e(a)&&e(a).error?d(P):d(_,!1)})}s(u,f)}),c(V);var W=y(V),ye=l(W);G(ye,()=>e(h).details,u=>{var a=Le();s(u,a)},(u,a)=>{var f=q(),x=z(f);{var P=_=>{{let d=Ce(()=>e(a).databases.map(n=>({name:n.name,collections:n.collections,size:le(n.size)})));Ye(_,{columns:[{header:"Database",key:"name"},{header:"Collections",key:"collections"},{header:"Size",key:"size"}],get rows(){return e(d)},children:(n,T)=>{Re();var S=de();R(()=>A(S,e(a).databases.length)),s(n,S)}})}};F(x,_=>{"databases"in e(a)&&e(a).databases&&_(P)})}s(u,f)}),c(W);var X=y(W),ge=l(X);G(ge,()=>e(h).details,u=>{var a=Qe();s(u,a)},(u,a)=>{var f=q(),x=z(f);{var P=_=>{var d=de();R(n=>A(d,n),[()=>le(e(a).size)]),s(_,d)};F(x,_=>{"size"in e(a)&&e(a).size!==void 0&&_(P)})}s(u,f)}),c(X);var se=y(X),oe=l(se),ne=l(oe);G(ne,()=>e(h).details,null,(u,a)=>{var f=q(),x=z(f);{var P=_=>{var d=We();d.__click=[Ve,me,h];var n=l(d,!0);c(d),R((T,S)=>{d.disabled=T,A(n,S)},[()=>I.has(e(h)._id),()=>I.has(e(h)._id)?"Retrying...":"Retry"]),s(_,d)};F(x,_=>{"error"in e(a)&&e(a).error&&_(P)})}s(u,f)});var ke=y(ne,2);ke.__click=[Xe,ue,h],c(oe),c(se),c(Q),s($,Q)}),s(k,w)},Y=k=>{var w=et();s(k,w)};F(O,k=>{t.data.servers&&t.data.servers.length>0?k(L):k(Y,!1)})}c(D),c(b),s(g,b)},$$slots:{actions:!0,default:!0}});var pe=y(ae,2);{var he=v=>{var g=at();g.__click=K;var E=l(g);E.__click=[rt];var b=y(l(E),2),D=l(b);D.__click=K;var O=y(D,2);O.__click=fe,c(b),c(E),c(g),s(v,g)};F(pe,v=>{e(j)&&v(he)})}s(C,re),Se()}Ee(["click"]);export{mt as component};
@@ -1 +1 @@
1
- import"../chunks/BPbCnJEo.js";import{p as st,f as b,a as H,b as o,c as nt,s as h,d as s,r as n,e as lt,n as V,t as y,h as t,i as Y,j as p,k,u as L}from"../chunks/reNJcONQ.js";import{d as it,s as D}from"../chunks/ByCRZ7zS.js";import{a as dt,f as $}from"../chunks/Dn0_-jEe.js";import{i as P}from"../chunks/0oUK0vJa.js";import{e as vt,n as Q,r as ct,s as ut}from"../chunks/B83FMsIQ.js";import{P as mt,d as ft}from"../chunks/DGtnJf56.js";import{i as _t}from"../chunks/pj4OZpZf.js";import{M as ht}from"../chunks/BxoAxRg6.js";import{T as W}from"../chunks/_Sxqiax7.js";async function pt(j,e,d,g,f){if(!(!t(e)||t(d))){p(d,!0);try{await ft({server:g.data.server,database:t(e).name}),Q.notifySuccess(`Database "${t(e).name}" dropped successfully`),f(),await _t()}catch(I){Q.notifyError(I,"Failed to drop database"),p(d,!1)}}}var bt=(j,e,d)=>e(t(d)),gt=b('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),yt=b('<tr class="group"><td><a> </a></td><td><!></td><td><!></td><td style="width: 100px"><div class="flex justify-end"><!></div></td></tr>'),zt=b('<tr><td colspan="4"><div class="text-center">No databases...</div></td></tr>'),xt=b('<table class="table"><thead><tr><th>Name</th><th>Collections</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),St=b('<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm"><!></button>',1),kt=b("<p>Are you sure you want to drop the database <strong> </strong>? This action cannot be undone.</p>"),Dt=b("<!> <!>",1);function Et(j,e){st(e,!0);let d=Y(!1),g=Y(null),f=Y(!1);function I(C){p(g,C,!0),p(d,!0)}function T(){p(d,!1),p(g,null),p(f,!1)}var q=Dt(),G=H(q);mt(G,{get title(){return`Databases on ${e.data.server??""}`},children:(C,w)=>{var _=xt(),i=h(s(_)),v=s(i);{var z=u=>{var l=lt(),x=H(l);vt(x,17,()=>e.data.databases,N=>N.name,(N,a)=>{var O=yt(),E=s(O),R=s(E),Z=s(R,!0);n(R),n(E);var U=h(E),tt=s(U);dt(tt,()=>t(a).collections,r=>{var c=k();y(()=>D(c,t(a).nCollections)),o(r,c)},(r,c)=>{{let m=L(()=>t(c).map(S=>({name:S.name,size:$(S.size)})));W(r,{columns:[{header:"Collection",key:"name",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return t(m)},children:(S,F)=>{V();var M=k();y(()=>D(M,t(a).nCollections)),o(S,M)}})}}),n(U);var B=h(U),et=s(B);{var at=r=>{{let c=L(()=>[{metric:"Total Size",value:t(a).size},{metric:"Data Size",value:t(a).dataSize},{metric:"Storage Size",value:t(a).storageSize},{metric:"Index Size",value:t(a).totalIndexSize},{metric:"Avg Object Size",value:t(a).avgObjSize},{metric:"Empty",value:t(a).empty?"Yes":"No"}].map(m=>({...m,value:typeof m.value=="number"?$(m.value):m.value})));W(r,{hideHeader:!0,columns:[{header:"Metric",key:"metric",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return t(c)},children:(m,S)=>{V();var F=k();y(M=>D(F,M),[()=>$(t(a).size)]),o(m,F)}})}};P(et,r=>{t(a).size!==void 0&&r(at)})}n(B);var J=h(B),K=s(J),rt=s(K);{var ot=r=>{var c=gt();c.__click=[bt,I,a],o(r,c)};P(rt,r=>{e.data.readOnly||r(ot)})}n(K),n(J),n(O),y(r=>{ut(R,"href",r),D(Z,t(a).name)},[()=>ct(`/servers/${encodeURIComponent(e.data.server)}/databases/${encodeURIComponent(t(a).name)}/collections`)]),o(N,O)}),o(u,l)},A=u=>{var l=zt();o(u,l)};P(v,u=>{e.data.databases&&e.data.databases.length>0?u(z):u(A,!1)})}n(i),n(_),o(C,_)},$$slots:{default:!0}});var X=h(G,2);ht(X,{get show(){return t(d)},onclose:T,title:"Drop Database",footer:w=>{var _=St(),i=H(_);i.__click=T;var v=h(i,2);v.__click=[pt,g,f,e,T];var z=s(v);{var A=l=>{var x=k("Dropping...");o(l,x)},u=l=>{var x=k("Drop Database");o(l,x)};P(z,l=>{t(f)?l(A):l(u,!1)})}n(v),y(()=>{i.disabled=t(f),v.disabled=t(f)}),o(w,_)},children:(w,_)=>{var i=kt(),v=h(s(i)),z=s(v,!0);n(v),V(),n(i),y(()=>D(z,t(g)?.name)),o(w,i)},$$slots:{footer:!0,default:!0}}),o(j,q),nt()}it(["click"]);export{Et as component};
1
+ import"../chunks/BPbCnJEo.js";import{p as st,f as b,a as H,b as o,c as nt,s as h,d as s,r as n,e as lt,n as V,t as y,h as t,i as Y,j as p,k,u as L}from"../chunks/reNJcONQ.js";import{d as it,s as D}from"../chunks/ByCRZ7zS.js";import{a as dt,f as $}from"../chunks/Dn0_-jEe.js";import{i as P}from"../chunks/0oUK0vJa.js";import{e as vt,n as Q,r as ct,s as ut}from"../chunks/cYbZe0tp.js";import{P as mt,d as ft}from"../chunks/BS-WMmdQ.js";import{i as _t}from"../chunks/DsktxonY.js";import{M as ht}from"../chunks/BxoAxRg6.js";import{T as W}from"../chunks/DSSOupge.js";async function pt(j,e,d,g,f){if(!(!t(e)||t(d))){p(d,!0);try{await ft({server:g.data.server,database:t(e).name}),Q.notifySuccess(`Database "${t(e).name}" dropped successfully`),f(),await _t()}catch(I){Q.notifyError(I,"Failed to drop database"),p(d,!1)}}}var bt=(j,e,d)=>e(t(d)),gt=b('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),yt=b('<tr class="group"><td><a> </a></td><td><!></td><td><!></td><td style="width: 100px"><div class="flex justify-end"><!></div></td></tr>'),zt=b('<tr><td colspan="4"><div class="text-center">No databases...</div></td></tr>'),xt=b('<table class="table"><thead><tr><th>Name</th><th>Collections</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),St=b('<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm"><!></button>',1),kt=b("<p>Are you sure you want to drop the database <strong> </strong>? This action cannot be undone.</p>"),Dt=b("<!> <!>",1);function Et(j,e){st(e,!0);let d=Y(!1),g=Y(null),f=Y(!1);function I(C){p(g,C,!0),p(d,!0)}function T(){p(d,!1),p(g,null),p(f,!1)}var q=Dt(),G=H(q);mt(G,{get title(){return`Databases on ${e.data.server??""}`},children:(C,w)=>{var _=xt(),i=h(s(_)),v=s(i);{var z=u=>{var l=lt(),x=H(l);vt(x,17,()=>e.data.databases,N=>N.name,(N,a)=>{var O=yt(),E=s(O),R=s(E),Z=s(R,!0);n(R),n(E);var U=h(E),tt=s(U);dt(tt,()=>t(a).collections,r=>{var c=k();y(()=>D(c,t(a).nCollections)),o(r,c)},(r,c)=>{{let m=L(()=>t(c).map(S=>({name:S.name,size:$(S.size)})));W(r,{columns:[{header:"Collection",key:"name",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return t(m)},children:(S,F)=>{V();var M=k();y(()=>D(M,t(a).nCollections)),o(S,M)}})}}),n(U);var B=h(U),et=s(B);{var at=r=>{{let c=L(()=>[{metric:"Total Size",value:t(a).size},{metric:"Data Size",value:t(a).dataSize},{metric:"Storage Size",value:t(a).storageSize},{metric:"Index Size",value:t(a).totalIndexSize},{metric:"Avg Object Size",value:t(a).avgObjSize},{metric:"Empty",value:t(a).empty?"Yes":"No"}].map(m=>({...m,value:typeof m.value=="number"?$(m.value):m.value})));W(r,{hideHeader:!0,columns:[{header:"Metric",key:"metric",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return t(c)},children:(m,S)=>{V();var F=k();y(M=>D(F,M),[()=>$(t(a).size)]),o(m,F)}})}};P(et,r=>{t(a).size!==void 0&&r(at)})}n(B);var J=h(B),K=s(J),rt=s(K);{var ot=r=>{var c=gt();c.__click=[bt,I,a],o(r,c)};P(rt,r=>{e.data.readOnly||r(ot)})}n(K),n(J),n(O),y(r=>{ut(R,"href",r),D(Z,t(a).name)},[()=>ct(`/servers/${encodeURIComponent(e.data.server)}/databases/${encodeURIComponent(t(a).name)}/collections`)]),o(N,O)}),o(u,l)},A=u=>{var l=zt();o(u,l)};P(v,u=>{e.data.databases&&e.data.databases.length>0?u(z):u(A,!1)})}n(i),n(_),o(C,_)},$$slots:{default:!0}});var X=h(G,2);ht(X,{get show(){return t(d)},onclose:T,title:"Drop Database",footer:w=>{var _=St(),i=H(_);i.__click=T;var v=h(i,2);v.__click=[pt,g,f,e,T];var z=s(v);{var A=l=>{var x=k("Dropping...");o(l,x)},u=l=>{var x=k("Drop Database");o(l,x)};P(z,l=>{t(f)?l(A):l(u,!1)})}n(v),y(()=>{i.disabled=t(f),v.disabled=t(f)}),o(w,_)},children:(w,_)=>{var i=kt(),v=h(s(i)),z=s(v,!0);n(v),V(),n(i),y(()=>D(z,t(g)?.name)),o(w,i)},$$slots:{footer:!0,default:!0}}),o(j,q),nt()}it(["click"]);export{Et as component};
@@ -1,2 +1,2 @@
1
- import"../chunks/BPbCnJEo.js";import{p as ma,f as i,a as z,b as e,c as ba,s as p,d as l,t as S,h as a,i as W,j as x,r as d,e as R,n as X,k as F,u as ra}from"../chunks/reNJcONQ.js";import{d as pa,s as N}from"../chunks/ByCRZ7zS.js";import{a as Y,b as oa,f as Z}from"../chunks/Dn0_-jEe.js";import{i as C}from"../chunks/0oUK0vJa.js";import{n as na,e as ha,r as ga,s as ya}from"../chunks/B83FMsIQ.js";import{P as xa,a as ka}from"../chunks/DGtnJf56.js";import{i as za}from"../chunks/pj4OZpZf.js";import{M as Sa}from"../chunks/BxoAxRg6.js";import{T as sa}from"../chunks/_Sxqiax7.js";async function Ca(T,n,f,h,g){if(!(!a(n)||a(f))){x(f,!0);try{await ka({server:h.data.server,database:h.data.database,collection:a(n).name}),na.notifySuccess(`Collection "${a(n).name}" dropped successfully`),g(),await za()}catch(U){na.notifyError(U,"Failed to drop collection"),x(f,!1)}}}var Da=i('<span title="Failed to load">❌</span>'),Ia=i('<span style="color: var(--text-secondary);">...</span>'),wa=i('<span title="Failed to load">❌</span>'),Pa=i('<span style="color: var(--text-secondary);">...</span>'),Ma=i('<span title="Failed to load">❌</span>'),ja=i('<span style="color: var(--text-secondary);">...</span>'),Fa=(T,n,f)=>n(a(f)),Na=i('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),Aa=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>'),Oa=i('<tr><td colspan="5"><div class="text-center">No collections...</div></td></tr>'),Ra=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>'),Ta=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"../chunks/BPbCnJEo.js";import{p as ma,f as i,a as z,b as e,c as ba,s as p,d as l,t as S,h as a,i as W,j as x,r as d,e as R,n as X,k as F,u as ra}from"../chunks/reNJcONQ.js";import{d as pa,s as N}from"../chunks/ByCRZ7zS.js";import{a as Y,b as oa,f as Z}from"../chunks/Dn0_-jEe.js";import{i as C}from"../chunks/0oUK0vJa.js";import{n as na,e as ha,r as ga,s as ya}from"../chunks/cYbZe0tp.js";import{P as xa,a as ka}from"../chunks/BS-WMmdQ.js";import{i as za}from"../chunks/DsktxonY.js";import{M as Sa}from"../chunks/BxoAxRg6.js";import{T as sa}from"../chunks/DSSOupge.js";async function Ca(T,n,f,h,g){if(!(!a(n)||a(f))){x(f,!0);try{await ka({server:h.data.server,database:h.data.database,collection:a(n).name}),na.notifySuccess(`Collection "${a(n).name}" dropped successfully`),g(),await za()}catch(U){na.notifyError(U,"Failed to drop collection"),x(f,!1)}}}var Da=i('<span title="Failed to load">❌</span>'),Ia=i('<span style="color: var(--text-secondary);">...</span>'),wa=i('<span title="Failed to load">❌</span>'),Pa=i('<span style="color: var(--text-secondary);">...</span>'),Ma=i('<span title="Failed to load">❌</span>'),ja=i('<span style="color: var(--text-secondary);">...</span>'),Fa=(T,n,f)=>n(a(f)),Na=i('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),Aa=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>'),Oa=i('<tr><td colspan="5"><div class="text-center">No collections...</div></td></tr>'),Ra=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>'),Ta=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 Xa(T,n){ma(n,!0);let f=W(!1),h=W(null),g=W(!1);function U(A){x(h,A,!0),x(f,!0)}function B(){x(f,!1),x(h,null),x(g,!1)}var $=Ba(),aa=z($);xa(aa,{get title(){return`${n.data.database??""} collections`},children:(A,O)=>{var y=Ra(),u=p(l(y)),_=l(u);{var D=m=>{var c=R(),I=z(c);ha(I,17,()=>n.data.collections,H=>H.name,(H,k)=>{var J=Aa(),L=l(J),V=l(L),da=l(V,!0);d(V),d(L);var q=p(L),ia=l(q);Y(ia,()=>a(k).details,o=>{var t=Ia();e(o,t)},(o,t)=>{var b=R(),w=z(b);{var P=r=>{var v=F();S(s=>N(v,s),[()=>oa(a(t).count)]),e(r,v)},M=r=>{var v=Da();e(r,v)};C(w,r=>{a(t)?r(P):r(M,!1)})}e(o,b)}),d(q);var G=p(q),va=l(G);Y(va,()=>a(k).details,o=>{var t=Pa();e(o,t)},(o,t)=>{var b=R(),w=z(b);{var P=r=>{{let v=ra(()=>a(t).indexes.map(s=>({definition:s.key?JSON.stringify(s.key,null,1):s.name,size:Z(s.size)})));sa(r,{columns:[{header:"Index",key:"definition",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return a(v)},children:(s,_a)=>{X();var j=F();S(Q=>N(j,Q),[()=>oa(a(t).nIndexes)]),e(s,j)}})}},M=r=>{var v=wa();e(r,v)};C(w,r=>{a(t)?r(P):r(M,!1)})}e(o,b)}),d(G);var K=p(G),ca=l(K);Y(ca,()=>a(k).details,o=>{var t=ja();e(o,t)},(o,t)=>{var b=R(),w=z(b);{var P=r=>{{let v=ra(()=>[{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"?Z(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(v)},children:(s,_a)=>{X();var j=F();S(Q=>N(j,Q),[()=>Z(a(t).size)]),e(s,j)}})}},M=r=>{var v=Ma();e(r,v)};C(w,r=>{a(t)?r(P):r(M,!1)})}e(o,b)}),d(K);var ta=p(K),ea=l(ta),ua=l(ea);{var fa=o=>{var t=Na();t.__click=[Fa,U,k],e(o,t)};C(ua,o=>{n.data.readOnly||o(fa)})}d(ea),d(ta),d(J),S(o=>{ya(V,"href",o),N(da,a(k).name)},[()=>ga(`/servers/${encodeURIComponent(n.data.server)}/databases/${encodeURIComponent(n.data.database)}/collections/${encodeURIComponent(a(k).name)}/documents`)]),e(H,J)}),e(m,c)},E=m=>{var c=Oa();e(m,c)};C(_,m=>{n.data.collections&&n.data.collections.length>0?m(D):m(E,!1)})}d(u),d(y),e(A,y)},$$slots:{default:!0}});var la=p(aa,2);Sa(la,{get show(){return a(f)},onclose:B,title:"Drop Collection",footer:O=>{var y=Ta(),u=z(y);u.__click=B;var _=p(u,2);_.__click=[Ca,h,g,n,B];var D=l(_);{var E=c=>{var I=F("Dropping...");e(c,I)},m=c=>{var I=F("Drop Collection");e(c,I)};C(D,c=>{a(g)?c(E):c(m,!1)})}d(_),S(()=>{u.disabled=a(g),_.disabled=a(g)}),e(O,y)},children:(O,y)=>{var u=Ua(),_=p(l(u)),D=l(_,!0);d(_),X(),d(u),S(()=>N(D,a(h)?.name)),e(O,u)},$$slots:{footer:!0,default:!0}}),e(T,$),ba()}pa(["click"]);export{Xa as component};
@@ -1 +1 @@
1
- {"version":"1762788797691"}
1
+ {"version":"1763050769393"}
Binary file
Binary file
@@ -14,9 +14,9 @@ const index = 0;
14
14
  let component_cache;
15
15
  const component = async () => component_cache ??= (await import('./_layout.svelte-CCi6mq1k.js')).default;
16
16
  const server_id = "src/routes/+layout.server.ts";
17
- const imports = ["_app/immutable/nodes/0.CNNOoOHl.js","_app/immutable/chunks/BPbCnJEo.js","_app/immutable/chunks/reNJcONQ.js","_app/immutable/chunks/ByCRZ7zS.js","_app/immutable/chunks/BXUq66wC.js","_app/immutable/chunks/B83FMsIQ.js","_app/immutable/chunks/pj4OZpZf.js","_app/immutable/chunks/0oUK0vJa.js","_app/immutable/chunks/C1g0HmEj.js","_app/immutable/chunks/DIw4Wyr4.js"];
17
+ const imports = ["_app/immutable/nodes/0.y8LK1s5f.js","_app/immutable/chunks/BPbCnJEo.js","_app/immutable/chunks/reNJcONQ.js","_app/immutable/chunks/ByCRZ7zS.js","_app/immutable/chunks/BXUq66wC.js","_app/immutable/chunks/cYbZe0tp.js","_app/immutable/chunks/DsktxonY.js","_app/immutable/chunks/0oUK0vJa.js","_app/immutable/chunks/C8YVtXu6.js","_app/immutable/chunks/DIw4Wyr4.js"];
18
18
  const stylesheets = ["_app/immutable/assets/0.C-Y-CVnr.css"];
19
19
  const fonts = [];
20
20
 
21
21
  export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
22
- //# sourceMappingURL=0-BHG1s0_H.js.map
22
+ //# sourceMappingURL=0-DiU96Mm4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0-BHG1s0_H.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["const load = async (event) => {\n return {\n readOnly: process.env.MONGOKU_READ_ONLY_MODE === \"true\",\n serverOrigin: event.url.origin\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.CNNOoOHl.js\",\"_app/immutable/chunks/BPbCnJEo.js\",\"_app/immutable/chunks/reNJcONQ.js\",\"_app/immutable/chunks/ByCRZ7zS.js\",\"_app/immutable/chunks/BXUq66wC.js\",\"_app/immutable/chunks/B83FMsIQ.js\",\"_app/immutable/chunks/pj4OZpZf.js\",\"_app/immutable/chunks/0oUK0vJa.js\",\"_app/immutable/chunks/C1g0HmEj.js\",\"_app/immutable/chunks/DIw4Wyr4.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.C-Y-CVnr.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK;AAC9B,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM;AAC3D,IAAI,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC;AAC5B,GAAG;AACH,CAAC;;;;;;;ACHW,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;AACpX,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"0-DiU96Mm4.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["const load = async (event) => {\n return {\n readOnly: process.env.MONGOKU_READ_ONLY_MODE === \"true\",\n serverOrigin: event.url.origin\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.y8LK1s5f.js\",\"_app/immutable/chunks/BPbCnJEo.js\",\"_app/immutable/chunks/reNJcONQ.js\",\"_app/immutable/chunks/ByCRZ7zS.js\",\"_app/immutable/chunks/BXUq66wC.js\",\"_app/immutable/chunks/cYbZe0tp.js\",\"_app/immutable/chunks/DsktxonY.js\",\"_app/immutable/chunks/0oUK0vJa.js\",\"_app/immutable/chunks/C8YVtXu6.js\",\"_app/immutable/chunks/DIw4Wyr4.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.C-Y-CVnr.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK;AAC9B,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM;AAC3D,IAAI,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC;AAC5B,GAAG;AACH,CAAC;;;;;;;ACHW,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;AACpX,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-BBEhCLUJ.js')).default;
4
- const imports = ["_app/immutable/nodes/1.C-65KEEJ.js","_app/immutable/chunks/BPbCnJEo.js","_app/immutable/chunks/reNJcONQ.js","_app/immutable/chunks/DIw4Wyr4.js","_app/immutable/chunks/ByCRZ7zS.js","_app/immutable/chunks/C1g0HmEj.js","_app/immutable/chunks/pj4OZpZf.js"];
4
+ const imports = ["_app/immutable/nodes/1.BMaAUwkL.js","_app/immutable/chunks/BPbCnJEo.js","_app/immutable/chunks/reNJcONQ.js","_app/immutable/chunks/DIw4Wyr4.js","_app/immutable/chunks/ByCRZ7zS.js","_app/immutable/chunks/C8YVtXu6.js","_app/immutable/chunks/DsktxonY.js"];
5
5
  const stylesheets = [];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=1-Xz1zN5FT.js.map
9
+ //# sourceMappingURL=1-CkKDrmG-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1-Xz1zN5FT.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.C-65KEEJ.js\",\"_app/immutable/chunks/BPbCnJEo.js\",\"_app/immutable/chunks/reNJcONQ.js\",\"_app/immutable/chunks/DIw4Wyr4.js\",\"_app/immutable/chunks/ByCRZ7zS.js\",\"_app/immutable/chunks/C1g0HmEj.js\",\"_app/immutable/chunks/pj4OZpZf.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;AACxQ,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"1-CkKDrmG-.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.BMaAUwkL.js\",\"_app/immutable/chunks/BPbCnJEo.js\",\"_app/immutable/chunks/reNJcONQ.js\",\"_app/immutable/chunks/DIw4Wyr4.js\",\"_app/immutable/chunks/ByCRZ7zS.js\",\"_app/immutable/chunks/C8YVtXu6.js\",\"_app/immutable/chunks/DsktxonY.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;AACxQ,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -208,9 +208,9 @@ let component_cache;
208
208
  const component = async () => component_cache ??= (await import('./_page.svelte-DJFPwyij.js')).default;
209
209
  const universal_id = "src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.ts";
210
210
  const server_id = "src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts";
211
- const imports = ["_app/immutable/nodes/10.BQ-b15Yh.js","_app/immutable/chunks/BPbCnJEo.js","_app/immutable/chunks/reNJcONQ.js","_app/immutable/chunks/ByCRZ7zS.js","_app/immutable/chunks/Dn0_-jEe.js","_app/immutable/chunks/0oUK0vJa.js","_app/immutable/chunks/B83FMsIQ.js","_app/immutable/chunks/pj4OZpZf.js","_app/immutable/chunks/BXUq66wC.js","_app/immutable/chunks/UJuWD2W4.js","_app/immutable/chunks/BGXqurs_.js","_app/immutable/chunks/DGtnJf56.js","_app/immutable/chunks/3xIOsPOb.js","_app/immutable/chunks/Bq7qZpXP.js","_app/immutable/chunks/BZY48V2X.js","_app/immutable/chunks/C1g0HmEj.js"];
211
+ const imports = ["_app/immutable/nodes/10.DMQAzoQ7.js","_app/immutable/chunks/BPbCnJEo.js","_app/immutable/chunks/reNJcONQ.js","_app/immutable/chunks/ByCRZ7zS.js","_app/immutable/chunks/Dn0_-jEe.js","_app/immutable/chunks/0oUK0vJa.js","_app/immutable/chunks/cYbZe0tp.js","_app/immutable/chunks/DsktxonY.js","_app/immutable/chunks/BXUq66wC.js","_app/immutable/chunks/UJuWD2W4.js","_app/immutable/chunks/BGXqurs_.js","_app/immutable/chunks/BS-WMmdQ.js","_app/immutable/chunks/DDmwf13s.js","_app/immutable/chunks/B4PMKPdj.js","_app/immutable/chunks/DSU4C0db.js","_app/immutable/chunks/C8YVtXu6.js"];
212
212
  const stylesheets = ["_app/immutable/assets/JsonValue.BEbzuWqZ.css","_app/immutable/assets/10.BrydhPds.css"];
213
213
  const fonts = [];
214
214
 
215
215
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets, _page_ts as universal, universal_id };
216
- //# sourceMappingURL=10-CaYvpZVK.js.map
216
+ //# sourceMappingURL=10-DojNzpTD.js.map