mongoku 2.4.4 → 2.4.5

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 (190) hide show
  1. package/build/client/_app/immutable/assets/0.CEIWAdGZ.css +1 -0
  2. package/build/client/_app/immutable/assets/0.CEIWAdGZ.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.CEIWAdGZ.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{CI_ovvBu.js → 3LgOwb59.js} +1 -1
  5. package/build/client/_app/immutable/chunks/3LgOwb59.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/3LgOwb59.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{0x2tqDge.js → BNF3TSWe.js} +1 -1
  8. package/build/client/_app/immutable/chunks/BNF3TSWe.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/BNF3TSWe.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/CH4IMlv6.js +4 -0
  11. package/build/client/_app/immutable/chunks/CH4IMlv6.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/CH4IMlv6.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{DqFgKUuF.js → CMu1ND4u.js} +1 -1
  14. package/build/client/_app/immutable/chunks/CMu1ND4u.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/CMu1ND4u.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/CeBnCdu0.js +1 -0
  17. package/build/client/_app/immutable/chunks/CeBnCdu0.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/CeBnCdu0.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{m9KJhr2i.js → CrvogBCO.js} +1 -1
  20. package/build/client/_app/immutable/chunks/CrvogBCO.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/CrvogBCO.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/{SENhER8Y.js → DL_7eGCj.js} +6 -6
  23. package/build/client/_app/immutable/chunks/DL_7eGCj.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DL_7eGCj.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/YVSmS-BO.js +1 -0
  26. package/build/client/_app/immutable/chunks/YVSmS-BO.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/YVSmS-BO.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/{app.6kvAGzFx.js → app.Bn63r6jq.js} +2 -2
  29. package/build/client/_app/immutable/entry/app.Bn63r6jq.js.br +0 -0
  30. package/build/client/_app/immutable/entry/app.Bn63r6jq.js.gz +0 -0
  31. package/build/client/_app/immutable/entry/start.D-zzQzHa.js +1 -0
  32. package/build/client/_app/immutable/entry/start.D-zzQzHa.js.br +2 -0
  33. package/build/client/_app/immutable/entry/start.D-zzQzHa.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/0._Ka7l4G7.js +1 -0
  35. package/build/client/_app/immutable/nodes/0._Ka7l4G7.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/0._Ka7l4G7.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{1.C6-lRSct.js → 1.C_RZUfKy.js} +1 -1
  38. package/build/client/_app/immutable/nodes/1.C_RZUfKy.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/1.C_RZUfKy.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/10.P_2uCVkV.js +3 -0
  41. package/build/client/_app/immutable/nodes/10.P_2uCVkV.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/10.P_2uCVkV.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{11.D6PMR4JE.js → 11.B9LD_pR3.js} +1 -1
  44. package/build/client/_app/immutable/nodes/11.B9LD_pR3.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/11.B9LD_pR3.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{12.BaG9yS23.js → 12.DtrR4t5w.js} +1 -1
  47. package/build/client/_app/immutable/nodes/12.DtrR4t5w.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/12.DtrR4t5w.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{13.ClrBypIt.js → 13.BYagUX2D.js} +1 -1
  50. package/build/client/_app/immutable/nodes/13.BYagUX2D.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/13.BYagUX2D.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{7.C2cwruWu.js → 7.XwiZ31H4.js} +1 -1
  53. package/build/client/_app/immutable/nodes/7.XwiZ31H4.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/7.XwiZ31H4.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/8.Cgq8c1Pf.js +1 -0
  56. package/build/client/_app/immutable/nodes/8.Cgq8c1Pf.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/8.Cgq8c1Pf.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/9.ClN4Gbvd.js +2 -0
  59. package/build/client/_app/immutable/nodes/9.ClN4Gbvd.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/9.ClN4Gbvd.js.gz +0 -0
  61. package/build/client/_app/version.json +1 -1
  62. package/build/client/_app/version.json.br +0 -0
  63. package/build/client/_app/version.json.gz +0 -0
  64. package/build/server/chunks/{0-5-SDX-d2.js → 0-DNH-F5x0.js} +4 -4
  65. package/build/server/chunks/{0-5-SDX-d2.js.map → 0-DNH-F5x0.js.map} +1 -1
  66. package/build/server/chunks/{1-Cck2Jrzo.js → 1-1_OQTf0e.js} +2 -2
  67. package/build/server/chunks/{1-Cck2Jrzo.js.map → 1-1_OQTf0e.js.map} +1 -1
  68. package/build/server/chunks/{10-BV4HPibI.js → 10-4E_aVzT4.js} +58 -36
  69. package/build/server/chunks/10-4E_aVzT4.js.map +1 -0
  70. package/build/server/chunks/{11-iazI-4Kb.js → 11-DTyCG8Xj.js} +3 -3
  71. package/build/server/chunks/{11-iazI-4Kb.js.map → 11-DTyCG8Xj.js.map} +1 -1
  72. package/build/server/chunks/{12-B0JxHwKO.js → 12-O3oSmD2o.js} +3 -3
  73. package/build/server/chunks/{12-B0JxHwKO.js.map → 12-O3oSmD2o.js.map} +1 -1
  74. package/build/server/chunks/{13-IcujVjLI.js → 13-Drp2sCYG.js} +3 -3
  75. package/build/server/chunks/{13-IcujVjLI.js.map → 13-Drp2sCYG.js.map} +1 -1
  76. package/build/server/chunks/{7-uVKBumqv.js → 7-DL7-ZmZ2.js} +3 -3
  77. package/build/server/chunks/{7-uVKBumqv.js.map → 7-DL7-ZmZ2.js.map} +1 -1
  78. package/build/server/chunks/{8-eWNgFGi6.js → 8-GUonP2Zy.js} +3 -3
  79. package/build/server/chunks/{8-eWNgFGi6.js.map → 8-GUonP2Zy.js.map} +1 -1
  80. package/build/server/chunks/{9-C8GLDx_s.js → 9-DQhrhu5o.js} +3 -3
  81. package/build/server/chunks/{9-C8GLDx_s.js.map → 9-DQhrhu5o.js.map} +1 -1
  82. package/build/server/chunks/{JsonValue-DiECF6Zd.js → JsonValue-DoGRvQnG.js} +3 -3
  83. package/build/server/chunks/{JsonValue-DiECF6Zd.js.map → JsonValue-DoGRvQnG.js.map} +1 -1
  84. package/build/server/chunks/{Panel-DEP08QXV.js → Panel-BHGtM9Vw.js} +2 -2
  85. package/build/server/chunks/{Panel-DEP08QXV.js.map → Panel-BHGtM9Vw.js.map} +1 -1
  86. package/build/server/chunks/{PrettyJson-ElzPxPF4.js → PrettyJson-Bnmo1PGg.js} +5 -5
  87. package/build/server/chunks/{PrettyJson-ElzPxPF4.js.map → PrettyJson-Bnmo1PGg.js.map} +1 -1
  88. package/build/server/chunks/{Tooltip-DK6Aok7l.js → Tooltip-DAE2mkm6.js} +2 -2
  89. package/build/server/chunks/{Tooltip-DK6Aok7l.js.map → Tooltip-DAE2mkm6.js.map} +1 -1
  90. package/build/server/chunks/TooltipTable-xo_OEG9c.js +64 -0
  91. package/build/server/chunks/TooltipTable-xo_OEG9c.js.map +1 -0
  92. package/build/server/chunks/{_layout.svelte-CCi6mq1k.js → _layout.svelte-Dji2JJ9X.js} +29 -20
  93. package/build/server/chunks/_layout.svelte-Dji2JJ9X.js.map +1 -0
  94. package/build/server/chunks/{_page.svelte-BvjNfjgw.js → _page.svelte-C4rGFSYL.js} +7 -7
  95. package/build/server/chunks/{_page.svelte-BvjNfjgw.js.map → _page.svelte-C4rGFSYL.js.map} +1 -1
  96. package/build/server/chunks/{_page.svelte-B4BL5PJR.js → _page.svelte-CJ5HzoD0.js} +4 -4
  97. package/build/server/chunks/{_page.svelte-B4BL5PJR.js.map → _page.svelte-CJ5HzoD0.js.map} +1 -1
  98. package/build/server/chunks/{_page.svelte-DJFPwyij.js → _page.svelte-ClvvVxpD.js} +101 -35
  99. package/build/server/chunks/_page.svelte-ClvvVxpD.js.map +1 -0
  100. package/build/server/chunks/{_page.svelte-DDe4hyAB.js → _page.svelte-D3jyb8d9.js} +6 -6
  101. package/build/server/chunks/{_page.svelte-DDe4hyAB.js.map → _page.svelte-D3jyb8d9.js.map} +1 -1
  102. package/build/server/chunks/{_page.svelte-BUheieJ5.js → _page.svelte-D9IvgJO5.js} +6 -6
  103. package/build/server/chunks/{_page.svelte-BUheieJ5.js.map → _page.svelte-D9IvgJO5.js.map} +1 -1
  104. package/build/server/chunks/{_page.svelte-DEe2Kbbw.js → _page.svelte-be8sxgGt.js} +6 -6
  105. package/build/server/chunks/{_page.svelte-DEe2Kbbw.js.map → _page.svelte-be8sxgGt.js.map} +1 -1
  106. package/build/server/chunks/{_page.svelte-Bj297hp1.js → _page.svelte-x1L5xjgQ.js} +6 -6
  107. package/build/server/chunks/{_page.svelte-Bj297hp1.js.map → _page.svelte-x1L5xjgQ.js.map} +1 -1
  108. package/build/server/chunks/{index2-DzKnqQNM.js → index2-eSFyMQpS.js} +2 -2
  109. package/build/server/chunks/{index2-DzKnqQNM.js.map → index2-eSFyMQpS.js.map} +1 -1
  110. package/build/server/chunks/{remote-xxtqbu-DBe3CqEJ.js → remote-xxtqbu-ETLGkdRu.js} +2 -2
  111. package/build/server/chunks/remote-xxtqbu-ETLGkdRu.js.map +1 -0
  112. package/build/server/chunks/{servers.remote-HDmNH7n4.js → servers.remote-CGies_Na.js} +85 -6
  113. package/build/server/chunks/servers.remote-CGies_Na.js.map +1 -0
  114. package/build/server/index.js +2 -2
  115. package/build/server/index.js.map +1 -1
  116. package/build/server/manifest.js +11 -11
  117. package/build/server/manifest.js.map +1 -1
  118. package/package.json +1 -1
  119. package/src/api/servers.remote.ts +91 -2
  120. package/src/app.css +5 -0
  121. package/src/lib/actions/clickOutside.ts +24 -0
  122. package/src/lib/components/Breadcrumbs.svelte +5 -19
  123. package/src/lib/components/SearchBox.svelte +161 -62
  124. package/src/lib/components/TooltipTable.svelte +4 -2
  125. package/src/lib/icons/IconChevronDown.svelte +20 -0
  126. package/src/lib/icons/IconCopy.svelte +21 -0
  127. package/src/lib/icons/IconEdit.svelte +21 -0
  128. package/src/lib/icons/IconPlus.svelte +20 -0
  129. package/src/lib/icons/IconSortReverse.svelte +23 -0
  130. package/src/lib/stores/breadcrumbs.svelte.ts +17 -0
  131. package/src/lib/types.ts +2 -0
  132. package/src/routes/+layout.svelte +12 -1
  133. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts +67 -34
  134. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +259 -44
  135. package/build/client/_app/immutable/assets/0.C-Y-CVnr.css +0 -1
  136. package/build/client/_app/immutable/assets/0.C-Y-CVnr.css.br +0 -0
  137. package/build/client/_app/immutable/assets/0.C-Y-CVnr.css.gz +0 -0
  138. package/build/client/_app/immutable/chunks/0x2tqDge.js.br +0 -0
  139. package/build/client/_app/immutable/chunks/0x2tqDge.js.gz +0 -0
  140. package/build/client/_app/immutable/chunks/CI_ovvBu.js.br +0 -0
  141. package/build/client/_app/immutable/chunks/CI_ovvBu.js.gz +0 -0
  142. package/build/client/_app/immutable/chunks/Cp0n7wR5.js +0 -4
  143. package/build/client/_app/immutable/chunks/Cp0n7wR5.js.br +0 -0
  144. package/build/client/_app/immutable/chunks/Cp0n7wR5.js.gz +0 -0
  145. package/build/client/_app/immutable/chunks/DqFgKUuF.js.br +0 -0
  146. package/build/client/_app/immutable/chunks/DqFgKUuF.js.gz +0 -0
  147. package/build/client/_app/immutable/chunks/MW_nrxc3.js +0 -1
  148. package/build/client/_app/immutable/chunks/MW_nrxc3.js.br +0 -0
  149. package/build/client/_app/immutable/chunks/MW_nrxc3.js.gz +0 -0
  150. package/build/client/_app/immutable/chunks/SENhER8Y.js.br +0 -0
  151. package/build/client/_app/immutable/chunks/SENhER8Y.js.gz +0 -0
  152. package/build/client/_app/immutable/chunks/m9KJhr2i.js.br +0 -0
  153. package/build/client/_app/immutable/chunks/m9KJhr2i.js.gz +0 -0
  154. package/build/client/_app/immutable/chunks/vsNApJWQ.js +0 -1
  155. package/build/client/_app/immutable/chunks/vsNApJWQ.js.br +0 -0
  156. package/build/client/_app/immutable/chunks/vsNApJWQ.js.gz +0 -0
  157. package/build/client/_app/immutable/entry/app.6kvAGzFx.js.br +0 -0
  158. package/build/client/_app/immutable/entry/app.6kvAGzFx.js.gz +0 -0
  159. package/build/client/_app/immutable/entry/start.CNBjelhv.js +0 -1
  160. package/build/client/_app/immutable/entry/start.CNBjelhv.js.br +0 -2
  161. package/build/client/_app/immutable/entry/start.CNBjelhv.js.gz +0 -0
  162. package/build/client/_app/immutable/nodes/0.ClgWJHZK.js +0 -1
  163. package/build/client/_app/immutable/nodes/0.ClgWJHZK.js.br +0 -0
  164. package/build/client/_app/immutable/nodes/0.ClgWJHZK.js.gz +0 -0
  165. package/build/client/_app/immutable/nodes/1.C6-lRSct.js.br +0 -0
  166. package/build/client/_app/immutable/nodes/1.C6-lRSct.js.gz +0 -0
  167. package/build/client/_app/immutable/nodes/10.DIGWL6eC.js +0 -1
  168. package/build/client/_app/immutable/nodes/10.DIGWL6eC.js.br +0 -0
  169. package/build/client/_app/immutable/nodes/10.DIGWL6eC.js.gz +0 -0
  170. package/build/client/_app/immutable/nodes/11.D6PMR4JE.js.br +0 -0
  171. package/build/client/_app/immutable/nodes/11.D6PMR4JE.js.gz +0 -0
  172. package/build/client/_app/immutable/nodes/12.BaG9yS23.js.br +0 -0
  173. package/build/client/_app/immutable/nodes/12.BaG9yS23.js.gz +0 -0
  174. package/build/client/_app/immutable/nodes/13.ClrBypIt.js.br +0 -0
  175. package/build/client/_app/immutable/nodes/13.ClrBypIt.js.gz +0 -0
  176. package/build/client/_app/immutable/nodes/7.C2cwruWu.js.br +0 -0
  177. package/build/client/_app/immutable/nodes/7.C2cwruWu.js.gz +0 -0
  178. package/build/client/_app/immutable/nodes/8.CRDgVKjB.js +0 -1
  179. package/build/client/_app/immutable/nodes/8.CRDgVKjB.js.br +0 -0
  180. package/build/client/_app/immutable/nodes/8.CRDgVKjB.js.gz +0 -0
  181. package/build/client/_app/immutable/nodes/9.X5vwJ8aD.js +0 -2
  182. package/build/client/_app/immutable/nodes/9.X5vwJ8aD.js.br +0 -0
  183. package/build/client/_app/immutable/nodes/9.X5vwJ8aD.js.gz +0 -0
  184. package/build/server/chunks/10-BV4HPibI.js.map +0 -1
  185. package/build/server/chunks/TooltipTable-DUYKVtrh.js +0 -60
  186. package/build/server/chunks/TooltipTable-DUYKVtrh.js.map +0 -1
  187. package/build/server/chunks/_layout.svelte-CCi6mq1k.js.map +0 -1
  188. package/build/server/chunks/_page.svelte-DJFPwyij.js.map +0 -1
  189. package/build/server/chunks/remote-xxtqbu-DBe3CqEJ.js.map +0 -1
  190. package/build/server/chunks/servers.remote-HDmNH7n4.js.map +0 -1
@@ -0,0 +1 @@
1
+ import{A as Z,q as I,an as E,i as p,h as i,Z as B,u as M,j as u,p as G,f as k,g as D,t as j,b as y,c as L,s as F,d as _,l as U,r as b,e as V,a as X}from"./reNJcONQ.js";import{a as A,b as g,q as m,c as Y,r as q,d as N,H as C,g as $,R as ee,e as H,f as T,v as te}from"./CH4IMlv6.js";import"./BPbCnJEo.js";import{s as re}from"./ByCRZ7zS.js";import{i as O}from"./0oUK0vJa.js";import{a as P}from"./DL_7eGCj.js";import{p as se,b as ne}from"./BGXqurs_.js";async function ae(a){const e=await fetch(a,{headers:{"x-sveltekit-pathname":location.pathname,"x-sveltekit-search":location.search}});if(!e.ok)throw new C(500,"Failed to execute remote function");const t=await e.json();if(t.type==="redirect")throw await $(t.location),new ee(307,t.location);if(t.type==="error")throw new C(t.status??500,t.error);return N(t.result,g.decoders)}function oe(a,e){return t=>{const o=A(t,g.hooks.transport),r=Y(a,o);let s=m.get(r),c=!0;try{Z(()=>(s&&s.count++,()=>{const h=m.get(r);h&&(h.count--,I().then(()=>{!h.count&&h===m.get(r)&&(m.delete(r),delete q[r])}))}))}catch{c=!1}let n=s?.resource;return n||(n=e(r,o),Object.defineProperty(n,"_key",{value:r}),m.set(r,s={count:c?1:0,resource:n}),n.then(()=>{I().then(()=>{!s.count&&s===m.get(r)&&m.delete(r)})}).catch(()=>{m.delete(r)})),n}}function S(a){for(const e of a)"release"in e&&e.release()}function ie(a,e=[]){const t=Object.entries(N(a,g.decoders));for(const[o,r]of t){const s=e.find(n=>n._key===o);s&&"release"in s&&s.release(),m.get(o)?.resource.set(r)}}function d(a){let e=p(0);const t=o=>{let r=[];E(e);const s=(async()=>{try{await Promise.resolve();const c=await fetch(`${H}/${T}/remote/${a}`,{method:"POST",body:JSON.stringify({payload:A(o,g.hooks.transport),refreshes:r.map(h=>h._key)}),headers:{"Content-Type":"application/json","x-sveltekit-pathname":location.pathname,"x-sveltekit-search":location.search}});if(!c.ok)throw S(r),new Error("Failed to execute remote function");const n=await c.json();if(n.type==="redirect")throw S(r),new Error("Redirects are not allowed in commands. Return a result instead and use goto on the client");if(n.type==="error")throw S(r),new C(n.status??500,n.error);return n.refreshes&&ie(n.refreshes,r),N(n.result,g.decoders)}finally{E(e,-1)}})();return s.updates=(...c)=>(r=c,delete s.updates,s),s};return Object.defineProperty(t,"pending",{get:()=>i(e)}),t}const R=`sveltekit:${te}`;let ce;(async()=>{if(typeof caches<"u")try{ce=await caches.open(R);const a=await caches.keys();for(const e of a)e.startsWith("sveltekit:")&&e!==R&&await caches.delete(e)}catch(a){console.warn("Failed to initialize SvelteKit cache:",a)}})();function x(a){return oe(a,(e,t)=>new de(e,async()=>{if(Object.hasOwn(q,e))return q[e];const o=`${H}/${T}/remote/${a}${t?`?payload=${t}`:""}`;return await ae(o)}))}class de{_key;#c=!1;#d;#e=p(!0);#t=[];#n=p(!1);#i=p();#a;#r=p(B([]));#u=M(()=>{if(i(this.#n))return i(this.#r).reduce((e,t)=>t(e),i(this.#i))});#o=p(void 0);#s=M(()=>{const e=i(this.#a);return i(this.#r).length,async(t,o)=>{try{await e,await I(),t?.(i(this.#u))}catch(r){o?.(r)}}});constructor(e,t){this._key=e,this.#d=t,this.#a=p(this.#h())}#h(){this.#c?u(this.#e,!0):this.#c=!0;let e,t;const o=new Promise((r,s)=>{e=r,t=s});return this.#t.push(e),Promise.resolve(this.#d()).then(r=>{const s=this.#t.indexOf(e);s!==-1&&(this.#t.splice(0,s).forEach(c=>c()),u(this.#n,!0),u(this.#e,!1),u(this.#i,r),u(this.#o,void 0),e())}).catch(r=>{const s=this.#t.indexOf(e);s!==-1&&(this.#t.splice(0,s).forEach(c=>c()),u(this.#o,r),u(this.#e,!1),t(r))}),o}get then(){return i(this.#s)}get catch(){return i(this.#s),e=>i(this.#s)(void 0,e)}get finally(){return i(this.#s),e=>i(this.#s)(()=>e(),()=>e())}get current(){return i(this.#u)}get error(){return i(this.#o)}get loading(){return i(this.#e)}get ready(){return i(this.#n)}refresh(){return delete q[this._key],u(this.#a,this.#h())}set(e){u(this.#n,!0),u(this.#e,!1),u(this.#o,void 0),u(this.#i,e),u(this.#a,Promise.resolve())}withOverride(e){return i(this.#r).push(e),{_key:this._key,release:()=>{const t=i(this.#r).indexOf(e);t!==-1&&i(this.#r).splice(t,1)}}}}const ge=d("xxtqbu/addServer"),we=x("xxtqbu/countDocuments"),qe=d("xxtqbu/createIndex"),ke=d("xxtqbu/deleteDocument"),De=d("xxtqbu/deleteMany"),je=x("xxtqbu/detectPrimaryNode"),Oe=d("xxtqbu/dropCollection"),Pe=d("xxtqbu/dropDatabase"),Se=d("xxtqbu/dropIndex"),Ie=x("xxtqbu/fetchMappedDocument"),Ce=x("xxtqbu/getIndexStatsFromNodes"),Ne=x("xxtqbu/getServerNodes"),Ee=d("xxtqbu/hideIndex"),Me=d("xxtqbu/insertDocument"),Fe=x("xxtqbu/loadDocuments"),Re=d("xxtqbu/removeServer"),Ae=d("xxtqbu/retryConnection"),He=d("xxtqbu/unhideIndex"),Te=d("xxtqbu/updateDocument"),ze=d("xxtqbu/updateMany");var ue=k("<span> </span>"),he=k('<div class="flex gap-2 items-center"><!></div>'),le=k('<div><div style="color: var(--text);"><!></div> <!></div>'),fe=k("<div><!> <!></div>");function Je(a,e){G(e,!0);let t=se(e,"ref",15);var o=fe(),r=_(o);{var s=n=>{var h=le(),w=_(h),z=_(w);{var J=l=>{var f=ue(),v=_(f,!0);b(f),j(()=>re(v,e.title)),y(l,f)},K=l=>{var f=V(),v=X(f);D(v,()=>e.title),y(l,f)};O(z,l=>{typeof e.title=="string"?l(J):l(K,!1)})}b(w);var Q=F(w,2);{var W=l=>{var f=he(),v=_(f);D(v,()=>e.actions),b(f),y(l,f)};O(Q,l=>{e.actions&&l(W)})}b(h),j(()=>{P(h,1,`px-3 sm:px-4 py-2 flex justify-between items-center ${e.children?"border-b border-[var(--border-color)]":""}`),P(w,1,`text-sm font-medium ${e.titleClass??""}`)}),y(n,h)};O(r,n=>{e.title&&n(s)})}var c=F(r,2);D(c,()=>e.children??U),b(o),ne(o,n=>t(n),()=>t()),j(()=>P(o,1,`rounded-2xl border border-[var(--border-color)] bg-[var(--light-background)]/70 shadow-sm ${e.class??""}`)),y(a,o),L()}export{Je as P,Oe as a,ke as b,ge as c,Pe as d,Re as e,Ie as f,Ne as g,je as h,Me as i,Ce as j,Se as k,qe as l,He as m,Ee as n,Fe as o,ze as p,we as q,Ae as r,De as s,Te as u};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.ClgWJHZK.js","../chunks/BPbCnJEo.js","../chunks/reNJcONQ.js","../chunks/ByCRZ7zS.js","../chunks/BXUq66wC.js","../chunks/SENhER8Y.js","../chunks/Cp0n7wR5.js","../chunks/0oUK0vJa.js","../chunks/m9KJhr2i.js","../chunks/DIw4Wyr4.js","../assets/0.C-Y-CVnr.css","../nodes/1.C6-lRSct.js","../nodes/2.DqvBb3C7.js","../chunks/_kKBJjiB.js","../nodes/3.27swwcG4.js","../nodes/4.CcholrFe.js","../nodes/5.CzudN9q-.js","../nodes/7.C2cwruWu.js","../chunks/Dn0_-jEe.js","../chunks/UJuWD2W4.js","../chunks/vsNApJWQ.js","../chunks/BGXqurs_.js","../chunks/MW_nrxc3.js","../chunks/CI_ovvBu.js","../assets/7.CRKE8WvY.css","../nodes/8.CRDgVKjB.js","../chunks/BxoAxRg6.js","../assets/Modal.zD4dMMyk.css","../nodes/9.X5vwJ8aD.js","../nodes/10.DIGWL6eC.js","../chunks/0x2tqDge.js","../assets/JsonValue.BEbzuWqZ.css","../chunks/DqFgKUuF.js","../assets/10.BrydhPds.css","../nodes/11.D6PMR4JE.js","../assets/11.CEtFGlZU.css","../nodes/12.BaG9yS23.js","../assets/12.I1sSDJ6i.css","../nodes/13.ClrBypIt.js"])))=>i.map(i=>d[i]);
2
- import{x as jt,J as Nt,I as qt,ao as Mt,P as Bt,j as X,ak as Ft,h as i,ap as Ut,X as Gt,aq as Jt,T as Wt,p as Xt,A as Yt,B as zt,i as it,q as Ht,f as vt,a as u,s as Kt,b as o,c as Qt,e as m,d as Zt,r as pt,u as g,k as $t,t as te}from"../chunks/reNJcONQ.js";import{h as ee,m as re,u as ae,o as se,s as ne}from"../chunks/ByCRZ7zS.js";import"../chunks/BPbCnJEo.js";import{i as L}from"../chunks/0oUK0vJa.js";import{p as T,b as h}from"../chunks/BGXqurs_.js";function E(c,t,e){jt&&Nt();var l=new Bt(c);qt(()=>{var n=t()??null;l.ensure(n,n&&(a=>e(a,n)))},Mt)}function oe(c){return class extends ce{constructor(t){super({component:c,...t})}}}class ce{#e;#t;constructor(t){var e=new Map,l=(a,r)=>{var s=Wt(r,!1,!1);return e.set(a,s),s};const n=new Proxy({...t.props||{},$$events:{}},{get(a,r){return i(e.get(r)??l(r,Reflect.get(a,r)))},has(a,r){return r===Ft?!0:(i(e.get(r)??l(r,Reflect.get(a,r))),Reflect.has(a,r))},set(a,r,s){return X(e.get(r)??l(r,s),s),Reflect.set(a,r,s)}});this.#t=(t.hydrate?ee:re)(t.component,{target:t.target,anchor:t.anchor,props:n,context:t.context,intro:t.intro??!1,recover:t.recover}),!Ut&&(!t?.props?.$$host||t.sync===!1)&&Gt(),this.#e=n.$$events;for(const a of Object.keys(this.#t))a==="$set"||a==="$destroy"||a==="$on"||Jt(this,a,{get(){return this.#t[a]},set(r){this.#t[a]=r},enumerable:!0});this.#t.$set=a=>{Object.assign(n,a)},this.#t.$destroy=()=>{ae(this.#t)}}$set(t){this.#t.$set(t)}$on(t,e){this.#e[t]=this.#e[t]||[];const l=(...n)=>e.call(this,...n);return this.#e[t].push(l),()=>{this.#e[t]=this.#e[t].filter(n=>n!==l)}}$destroy(){this.#t.$destroy()}}const ie="modulepreload",ue=function(c,t){return new URL(c,t).href},ft={},_=function(t,e,l){let n=Promise.resolve();if(e&&e.length>0){let C=function(d){return Promise.all(d.map(P=>Promise.resolve(P).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const r=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),S=s?.nonce||s?.getAttribute("nonce");n=C(e.map(d=>{if(d=ue(d,l),d in ft)return;ft[d]=!0;const P=d.endsWith(".css"),b=P?'[rel="stylesheet"]':"";if(l)for(let y=r.length-1;y>=0;y--){const I=r[y];if(I.href===d&&(!P||I.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${d}"]${b}`))return;const v=document.createElement("link");if(v.rel=P?"stylesheet":ie,P||(v.as="script"),v.crossOrigin="",v.href=d,S&&v.setAttribute("nonce",S),document.head.appendChild(v),P)return new Promise((y,I)=>{v.addEventListener("load",y),v.addEventListener("error",()=>I(new Error(`Unable to preload CSS for ${d}`)))})}))}function a(r){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=r,window.dispatchEvent(s),!s.defaultPrevented)throw r}return n.then(r=>{for(const s of r||[])s.status==="rejected"&&a(s.reason);return t().catch(a)})},Le={};var le=vt('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),me=vt("<!> <!>",1);function de(c,t){Xt(t,!0);let e=T(t,"components",23,()=>[]),l=T(t,"data_0",3,null),n=T(t,"data_1",3,null),a=T(t,"data_2",3,null),r=T(t,"data_3",3,null),s=T(t,"data_4",3,null),S=T(t,"data_5",3,null);Yt(()=>t.stores.page.set(t.page)),zt(()=>{t.stores,t.page,t.constructors,e(),t.form,l(),n(),a(),r(),s(),S(),t.stores.page.notify()});let C=it(!1),d=it(!1),P=it(null);se(()=>{const f=t.stores.page.subscribe(()=>{i(C)&&(X(d,!0),Ht().then(()=>{X(P,document.title||"untitled page",!0)}))});return X(C,!0),f});const b=g(()=>t.constructors[5]);var v=me(),y=u(v);{var I=f=>{const R=g(()=>t.constructors[0]);var A=m(),j=u(A);E(j,()=>i(R),(O,k)=>{h(k(O,{get data(){return l()},get form(){return t.form},get params(){return t.page.params},children:(N,ve)=>{var ut=m(),Pt=u(ut);{var yt=w=>{const Y=g(()=>t.constructors[1]);var q=m(),z=u(q);E(z,()=>i(Y),(H,K)=>{h(K(H,{get data(){return n()},get form(){return t.form},get params(){return t.page.params},children:(M,ge)=>{var lt=m(),Rt=u(lt);{var At=D=>{const Q=g(()=>t.constructors[2]);var B=m(),Z=u(B);E(Z,()=>i(Q),(p,$)=>{h($(p,{get data(){return a()},get form(){return t.form},get params(){return t.page.params},children:(F,he)=>{var mt=m(),Lt=u(mt);{var Tt=V=>{const tt=g(()=>t.constructors[3]);var U=m(),et=u(U);E(et,()=>i(tt),(rt,at)=>{h(at(rt,{get data(){return r()},get form(){return t.form},get params(){return t.page.params},children:(G,Ee)=>{var dt=m(),kt=u(dt);{var wt=x=>{const st=g(()=>t.constructors[4]);var J=m(),nt=u(J);E(nt,()=>i(st),(ot,ct)=>{h(ct(ot,{get data(){return s()},get form(){return t.form},get params(){return t.page.params},children:(W,Pe)=>{var _t=m(),Vt=u(_t);E(Vt,()=>i(b),(xt,St)=>{h(St(xt,{get data(){return S()},get form(){return t.form},get params(){return t.page.params}}),Ct=>e()[5]=Ct,()=>e()?.[5])}),o(W,_t)},$$slots:{default:!0}}),W=>e()[4]=W,()=>e()?.[4])}),o(x,J)},Dt=x=>{const st=g(()=>t.constructors[4]);var J=m(),nt=u(J);E(nt,()=>i(st),(ot,ct)=>{h(ct(ot,{get data(){return s()},get form(){return t.form},get params(){return t.page.params}}),W=>e()[4]=W,()=>e()?.[4])}),o(x,J)};L(kt,x=>{t.constructors[5]?x(wt):x(Dt,!1)})}o(G,dt)},$$slots:{default:!0}}),G=>e()[3]=G,()=>e()?.[3])}),o(V,U)},It=V=>{const tt=g(()=>t.constructors[3]);var U=m(),et=u(U);E(et,()=>i(tt),(rt,at)=>{h(at(rt,{get data(){return r()},get form(){return t.form},get params(){return t.page.params}}),G=>e()[3]=G,()=>e()?.[3])}),o(V,U)};L(Lt,V=>{t.constructors[4]?V(Tt):V(It,!1)})}o(F,mt)},$$slots:{default:!0}}),F=>e()[2]=F,()=>e()?.[2])}),o(D,B)},Ot=D=>{const Q=g(()=>t.constructors[2]);var B=m(),Z=u(B);E(Z,()=>i(Q),(p,$)=>{h($(p,{get data(){return a()},get form(){return t.form},get params(){return t.page.params}}),F=>e()[2]=F,()=>e()?.[2])}),o(D,B)};L(Rt,D=>{t.constructors[3]?D(At):D(Ot,!1)})}o(M,lt)},$$slots:{default:!0}}),M=>e()[1]=M,()=>e()?.[1])}),o(w,q)},bt=w=>{const Y=g(()=>t.constructors[1]);var q=m(),z=u(q);E(z,()=>i(Y),(H,K)=>{h(K(H,{get data(){return n()},get form(){return t.form},get params(){return t.page.params}}),M=>e()[1]=M,()=>e()?.[1])}),o(w,q)};L(Pt,w=>{t.constructors[2]?w(yt):w(bt,!1)})}o(N,ut)},$$slots:{default:!0}}),N=>e()[0]=N,()=>e()?.[0])}),o(f,A)},gt=f=>{const R=g(()=>t.constructors[0]);var A=m(),j=u(A);E(j,()=>i(R),(O,k)=>{h(k(O,{get data(){return l()},get form(){return t.form},get params(){return t.page.params}}),N=>e()[0]=N,()=>e()?.[0])}),o(f,A)};L(y,f=>{t.constructors[1]?f(I):f(gt,!1)})}var ht=Kt(y,2);{var Et=f=>{var R=le(),A=Zt(R);{var j=O=>{var k=$t();te(()=>ne(k,i(P))),o(O,k)};L(A,O=>{i(d)&&O(j)})}pt(R),o(f,R)};L(ht,f=>{i(C)&&f(Et)})}o(c,v),Qt()}const Te=oe(de),Ie=[()=>_(()=>import("../nodes/0.ClgWJHZK.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url),()=>_(()=>import("../nodes/1.C6-lRSct.js"),__vite__mapDeps([11,1,2,9,3,8,6]),import.meta.url),()=>_(()=>import("../nodes/2.DqvBb3C7.js"),__vite__mapDeps([12,13,1,2]),import.meta.url),()=>_(()=>import("../nodes/3.27swwcG4.js"),__vite__mapDeps([14,13,1,2]),import.meta.url),()=>_(()=>import("../nodes/4.CcholrFe.js"),__vite__mapDeps([15,13,1,2]),import.meta.url),()=>_(()=>import("../nodes/5.CzudN9q-.js"),__vite__mapDeps([16,13,1,2]),import.meta.url),()=>_(()=>import("../chunks/0oUK0vJa.js").then(c=>c._),__vite__mapDeps([7,2]),import.meta.url),()=>_(()=>import("../nodes/7.C2cwruWu.js"),__vite__mapDeps([17,1,2,3,18,7,5,6,19,20,21,22,23,4,24]),import.meta.url),()=>_(()=>import("../nodes/8.CRDgVKjB.js"),__vite__mapDeps([25,1,2,3,18,7,5,6,20,21,26,27,22,23,4]),import.meta.url),()=>_(()=>import("../nodes/9.X5vwJ8aD.js"),__vite__mapDeps([28,1,2,3,18,7,5,6,20,21,26,27,22,23,4]),import.meta.url),()=>_(()=>import("../nodes/10.DIGWL6eC.js"),__vite__mapDeps([29,1,2,3,18,7,5,6,4,19,21,20,30,23,31,32,8,33]),import.meta.url),()=>_(()=>import("../nodes/11.D6PMR4JE.js"),__vite__mapDeps([34,1,2,3,7,20,6,5,21,32,4,19,30,23,31,35]),import.meta.url),()=>_(()=>import("../nodes/12.BaG9yS23.js"),__vite__mapDeps([36,1,2,3,18,7,5,6,4,19,20,21,8,30,23,31,26,27,37]),import.meta.url),()=>_(()=>import("../nodes/13.ClrBypIt.js"),__vite__mapDeps([38,1,2,3,7,5,6,19,20,21]),import.meta.url)],ke=[0],we={"/":[-7],"/servers":[-8],"/servers/[server]/databases":[-9,[2]],"/servers/[server]/databases/[database]/collections":[-10,[2,3]],"/servers/[server]/databases/[database]/collections/[collection]/documents":[-11,[2,3,4]],"/servers/[server]/databases/[database]/collections/[collection]/documents/[document]":[-12,[2,3,4,5]],"/servers/[server]/databases/[database]/collections/[collection]/indexes":[-13,[2,3,4]],"/servers/[server]/databases/[database]/collections/[collection]/mappings":[-14,[2,3,4]]},_e={handleError:(({error:c})=>{console.error(c)}),reroute:(()=>{}),transport:{}},fe=Object.fromEntries(Object.entries(_e.transport).map(([c,t])=>[c,t.decode])),De=!1,Ve=(c,t)=>fe[c](t);export{Ve as decode,fe as decoders,we as dictionary,De as hash,_e as hooks,Le as matchers,Ie as nodes,Te as root,ke as server_loads};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0._Ka7l4G7.js","../chunks/BPbCnJEo.js","../chunks/reNJcONQ.js","../chunks/ByCRZ7zS.js","../chunks/BXUq66wC.js","../chunks/DL_7eGCj.js","../chunks/CH4IMlv6.js","../chunks/DIw4Wyr4.js","../chunks/0oUK0vJa.js","../chunks/CrvogBCO.js","../assets/0.CEIWAdGZ.css","../nodes/1.C_RZUfKy.js","../nodes/2.DqvBb3C7.js","../chunks/_kKBJjiB.js","../nodes/3.27swwcG4.js","../nodes/4.CcholrFe.js","../nodes/5.CzudN9q-.js","../nodes/7.XwiZ31H4.js","../chunks/Dn0_-jEe.js","../chunks/UJuWD2W4.js","../chunks/YVSmS-BO.js","../chunks/BGXqurs_.js","../chunks/CeBnCdu0.js","../chunks/3LgOwb59.js","../assets/7.CRKE8WvY.css","../nodes/8.Cgq8c1Pf.js","../chunks/BxoAxRg6.js","../assets/Modal.zD4dMMyk.css","../nodes/9.ClN4Gbvd.js","../nodes/10.P_2uCVkV.js","../chunks/BNF3TSWe.js","../assets/JsonValue.BEbzuWqZ.css","../chunks/CMu1ND4u.js","../assets/10.BrydhPds.css","../nodes/11.B9LD_pR3.js","../assets/11.CEtFGlZU.css","../nodes/12.DtrR4t5w.js","../assets/12.I1sSDJ6i.css","../nodes/13.BYagUX2D.js"])))=>i.map(i=>d[i]);
2
+ import{x as jt,J as Nt,I as qt,ao as Mt,P as Bt,j as X,ak as Ft,h as i,ap as Ut,X as Gt,aq as Jt,T as Wt,p as Xt,A as Yt,B as zt,i as it,q as Ht,f as vt,a as u,s as Kt,b as o,c as Qt,e as m,d as Zt,r as pt,u as g,k as $t,t as te}from"../chunks/reNJcONQ.js";import{h as ee,m as re,u as ae,o as se,s as ne}from"../chunks/ByCRZ7zS.js";import"../chunks/BPbCnJEo.js";import{i as L}from"../chunks/0oUK0vJa.js";import{p as T,b as h}from"../chunks/BGXqurs_.js";function E(c,t,e){jt&&Nt();var l=new Bt(c);qt(()=>{var n=t()??null;l.ensure(n,n&&(a=>e(a,n)))},Mt)}function oe(c){return class extends ce{constructor(t){super({component:c,...t})}}}class ce{#e;#t;constructor(t){var e=new Map,l=(a,r)=>{var s=Wt(r,!1,!1);return e.set(a,s),s};const n=new Proxy({...t.props||{},$$events:{}},{get(a,r){return i(e.get(r)??l(r,Reflect.get(a,r)))},has(a,r){return r===Ft?!0:(i(e.get(r)??l(r,Reflect.get(a,r))),Reflect.has(a,r))},set(a,r,s){return X(e.get(r)??l(r,s),s),Reflect.set(a,r,s)}});this.#t=(t.hydrate?ee:re)(t.component,{target:t.target,anchor:t.anchor,props:n,context:t.context,intro:t.intro??!1,recover:t.recover}),!Ut&&(!t?.props?.$$host||t.sync===!1)&&Gt(),this.#e=n.$$events;for(const a of Object.keys(this.#t))a==="$set"||a==="$destroy"||a==="$on"||Jt(this,a,{get(){return this.#t[a]},set(r){this.#t[a]=r},enumerable:!0});this.#t.$set=a=>{Object.assign(n,a)},this.#t.$destroy=()=>{ae(this.#t)}}$set(t){this.#t.$set(t)}$on(t,e){this.#e[t]=this.#e[t]||[];const l=(...n)=>e.call(this,...n);return this.#e[t].push(l),()=>{this.#e[t]=this.#e[t].filter(n=>n!==l)}}$destroy(){this.#t.$destroy()}}const ie="modulepreload",ue=function(c,t){return new URL(c,t).href},ft={},_=function(t,e,l){let n=Promise.resolve();if(e&&e.length>0){let C=function(d){return Promise.all(d.map(P=>Promise.resolve(P).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const r=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),S=s?.nonce||s?.getAttribute("nonce");n=C(e.map(d=>{if(d=ue(d,l),d in ft)return;ft[d]=!0;const P=d.endsWith(".css"),b=P?'[rel="stylesheet"]':"";if(l)for(let y=r.length-1;y>=0;y--){const I=r[y];if(I.href===d&&(!P||I.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${d}"]${b}`))return;const v=document.createElement("link");if(v.rel=P?"stylesheet":ie,P||(v.as="script"),v.crossOrigin="",v.href=d,S&&v.setAttribute("nonce",S),document.head.appendChild(v),P)return new Promise((y,I)=>{v.addEventListener("load",y),v.addEventListener("error",()=>I(new Error(`Unable to preload CSS for ${d}`)))})}))}function a(r){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=r,window.dispatchEvent(s),!s.defaultPrevented)throw r}return n.then(r=>{for(const s of r||[])s.status==="rejected"&&a(s.reason);return t().catch(a)})},Le={};var le=vt('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),me=vt("<!> <!>",1);function de(c,t){Xt(t,!0);let e=T(t,"components",23,()=>[]),l=T(t,"data_0",3,null),n=T(t,"data_1",3,null),a=T(t,"data_2",3,null),r=T(t,"data_3",3,null),s=T(t,"data_4",3,null),S=T(t,"data_5",3,null);Yt(()=>t.stores.page.set(t.page)),zt(()=>{t.stores,t.page,t.constructors,e(),t.form,l(),n(),a(),r(),s(),S(),t.stores.page.notify()});let C=it(!1),d=it(!1),P=it(null);se(()=>{const f=t.stores.page.subscribe(()=>{i(C)&&(X(d,!0),Ht().then(()=>{X(P,document.title||"untitled page",!0)}))});return X(C,!0),f});const b=g(()=>t.constructors[5]);var v=me(),y=u(v);{var I=f=>{const R=g(()=>t.constructors[0]);var A=m(),j=u(A);E(j,()=>i(R),(O,k)=>{h(k(O,{get data(){return l()},get form(){return t.form},get params(){return t.page.params},children:(N,ve)=>{var ut=m(),Pt=u(ut);{var yt=w=>{const Y=g(()=>t.constructors[1]);var q=m(),z=u(q);E(z,()=>i(Y),(H,K)=>{h(K(H,{get data(){return n()},get form(){return t.form},get params(){return t.page.params},children:(M,ge)=>{var lt=m(),Rt=u(lt);{var At=D=>{const Q=g(()=>t.constructors[2]);var B=m(),Z=u(B);E(Z,()=>i(Q),(p,$)=>{h($(p,{get data(){return a()},get form(){return t.form},get params(){return t.page.params},children:(F,he)=>{var mt=m(),Lt=u(mt);{var Tt=V=>{const tt=g(()=>t.constructors[3]);var U=m(),et=u(U);E(et,()=>i(tt),(rt,at)=>{h(at(rt,{get data(){return r()},get form(){return t.form},get params(){return t.page.params},children:(G,Ee)=>{var dt=m(),kt=u(dt);{var wt=x=>{const st=g(()=>t.constructors[4]);var J=m(),nt=u(J);E(nt,()=>i(st),(ot,ct)=>{h(ct(ot,{get data(){return s()},get form(){return t.form},get params(){return t.page.params},children:(W,Pe)=>{var _t=m(),Vt=u(_t);E(Vt,()=>i(b),(xt,St)=>{h(St(xt,{get data(){return S()},get form(){return t.form},get params(){return t.page.params}}),Ct=>e()[5]=Ct,()=>e()?.[5])}),o(W,_t)},$$slots:{default:!0}}),W=>e()[4]=W,()=>e()?.[4])}),o(x,J)},Dt=x=>{const st=g(()=>t.constructors[4]);var J=m(),nt=u(J);E(nt,()=>i(st),(ot,ct)=>{h(ct(ot,{get data(){return s()},get form(){return t.form},get params(){return t.page.params}}),W=>e()[4]=W,()=>e()?.[4])}),o(x,J)};L(kt,x=>{t.constructors[5]?x(wt):x(Dt,!1)})}o(G,dt)},$$slots:{default:!0}}),G=>e()[3]=G,()=>e()?.[3])}),o(V,U)},It=V=>{const tt=g(()=>t.constructors[3]);var U=m(),et=u(U);E(et,()=>i(tt),(rt,at)=>{h(at(rt,{get data(){return r()},get form(){return t.form},get params(){return t.page.params}}),G=>e()[3]=G,()=>e()?.[3])}),o(V,U)};L(Lt,V=>{t.constructors[4]?V(Tt):V(It,!1)})}o(F,mt)},$$slots:{default:!0}}),F=>e()[2]=F,()=>e()?.[2])}),o(D,B)},Ot=D=>{const Q=g(()=>t.constructors[2]);var B=m(),Z=u(B);E(Z,()=>i(Q),(p,$)=>{h($(p,{get data(){return a()},get form(){return t.form},get params(){return t.page.params}}),F=>e()[2]=F,()=>e()?.[2])}),o(D,B)};L(Rt,D=>{t.constructors[3]?D(At):D(Ot,!1)})}o(M,lt)},$$slots:{default:!0}}),M=>e()[1]=M,()=>e()?.[1])}),o(w,q)},bt=w=>{const Y=g(()=>t.constructors[1]);var q=m(),z=u(q);E(z,()=>i(Y),(H,K)=>{h(K(H,{get data(){return n()},get form(){return t.form},get params(){return t.page.params}}),M=>e()[1]=M,()=>e()?.[1])}),o(w,q)};L(Pt,w=>{t.constructors[2]?w(yt):w(bt,!1)})}o(N,ut)},$$slots:{default:!0}}),N=>e()[0]=N,()=>e()?.[0])}),o(f,A)},gt=f=>{const R=g(()=>t.constructors[0]);var A=m(),j=u(A);E(j,()=>i(R),(O,k)=>{h(k(O,{get data(){return l()},get form(){return t.form},get params(){return t.page.params}}),N=>e()[0]=N,()=>e()?.[0])}),o(f,A)};L(y,f=>{t.constructors[1]?f(I):f(gt,!1)})}var ht=Kt(y,2);{var Et=f=>{var R=le(),A=Zt(R);{var j=O=>{var k=$t();te(()=>ne(k,i(P))),o(O,k)};L(A,O=>{i(d)&&O(j)})}pt(R),o(f,R)};L(ht,f=>{i(C)&&f(Et)})}o(c,v),Qt()}const Te=oe(de),Ie=[()=>_(()=>import("../nodes/0._Ka7l4G7.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url),()=>_(()=>import("../nodes/1.C_RZUfKy.js"),__vite__mapDeps([11,1,2,7,3,9,6]),import.meta.url),()=>_(()=>import("../nodes/2.DqvBb3C7.js"),__vite__mapDeps([12,13,1,2]),import.meta.url),()=>_(()=>import("../nodes/3.27swwcG4.js"),__vite__mapDeps([14,13,1,2]),import.meta.url),()=>_(()=>import("../nodes/4.CcholrFe.js"),__vite__mapDeps([15,13,1,2]),import.meta.url),()=>_(()=>import("../nodes/5.CzudN9q-.js"),__vite__mapDeps([16,13,1,2]),import.meta.url),()=>_(()=>import("../chunks/0oUK0vJa.js").then(c=>c._),__vite__mapDeps([8,2]),import.meta.url),()=>_(()=>import("../nodes/7.XwiZ31H4.js"),__vite__mapDeps([17,1,2,3,18,8,5,6,19,20,21,22,23,4,24]),import.meta.url),()=>_(()=>import("../nodes/8.Cgq8c1Pf.js"),__vite__mapDeps([25,1,2,3,18,8,5,6,20,21,26,27,22,23,4]),import.meta.url),()=>_(()=>import("../nodes/9.ClN4Gbvd.js"),__vite__mapDeps([28,1,2,3,18,8,5,6,20,21,26,27,22,23,4]),import.meta.url),()=>_(()=>import("../nodes/10.P_2uCVkV.js"),__vite__mapDeps([29,1,2,3,18,8,5,6,4,19,21,20,30,23,31,32,9,33]),import.meta.url),()=>_(()=>import("../nodes/11.B9LD_pR3.js"),__vite__mapDeps([34,1,2,3,8,20,6,5,21,32,4,19,30,23,31,35]),import.meta.url),()=>_(()=>import("../nodes/12.DtrR4t5w.js"),__vite__mapDeps([36,1,2,3,18,8,5,6,4,19,20,21,9,30,23,31,26,27,37]),import.meta.url),()=>_(()=>import("../nodes/13.BYagUX2D.js"),__vite__mapDeps([38,1,2,3,8,5,6,19,20,21]),import.meta.url)],ke=[0],we={"/":[-7],"/servers":[-8],"/servers/[server]/databases":[-9,[2]],"/servers/[server]/databases/[database]/collections":[-10,[2,3]],"/servers/[server]/databases/[database]/collections/[collection]/documents":[-11,[2,3,4]],"/servers/[server]/databases/[database]/collections/[collection]/documents/[document]":[-12,[2,3,4,5]],"/servers/[server]/databases/[database]/collections/[collection]/indexes":[-13,[2,3,4]],"/servers/[server]/databases/[database]/collections/[collection]/mappings":[-14,[2,3,4]]},_e={handleError:(({error:c})=>{console.error(c)}),reroute:(()=>{}),transport:{}},fe=Object.fromEntries(Object.entries(_e.transport).map(([c,t])=>[c,t.decode])),De=!1,Ve=(c,t)=>fe[c](t);export{Ve as decode,fe as decoders,we as dictionary,De as hash,_e as hooks,Le as matchers,Ie as nodes,Te as root,ke as server_loads};
@@ -0,0 +1 @@
1
+ import{n as o,m as r}from"../chunks/CH4IMlv6.js";export{o as load_css,r as start};
@@ -0,0 +1,2 @@
1
+ )�import{n as o,m as r}from"../chunks/CH4IMlv6.js";export{o as load_css,r as start};
2
+ 
@@ -0,0 +1 @@
1
+ import"../chunks/BPbCnJEo.js";import{p as E,e as q,a as R,b as m,c as j,f as w,h as c,s as x,d as s,r as t,t as S,B as V,j as I,i as G,u as D,b7 as N,n as z,g as X,b8 as Z}from"../chunks/reNJcONQ.js";import{s as L,d as P,a as ee}from"../chunks/ByCRZ7zS.js";import{a as te,c as ae}from"../chunks/BXUq66wC.js";import{e as W,r as K,s as H,i as re,n as Y,a as $}from"../chunks/DL_7eGCj.js";import{i as F}from"../chunks/DIw4Wyr4.js";import{i as B}from"../chunks/0oUK0vJa.js";import{p as T}from"../chunks/CrvogBCO.js";const C={get items(){return(T.data.breadcrumbs??[]).reduce((e,a)=>[...e,{label:a.label,href:`${e.at(-1)?.href??""}${a.path}`}],[])}};var se=w('<a class="px-2 py-1 rounded-md hover:bg-[var(--color-3)] transition no-underline" style="color: var(--text);"> </a>'),ne=w('<span aria-current="page" class="px-2 py-1 rounded-md font-medium" style="color: var(--text);"> </span>'),oe=w('<span style="color: var(--text-secondary);">/</span>'),ie=w("<!> <!>",1),le=w('<nav aria-label="Breadcrumb" class="hidden md:flex items-center gap-1 text-sm"></nav>');function ve(l,e){E(e,!1),F();var a=q(),d=R(a);{var g=p=>{var h=le();W(h,5,()=>C.items,re,(n,v,b)=>{var u=ie(),k=R(u);{var _=r=>{var i=se(),o=s(i,!0);t(i),S(f=>{H(i,"href",f),L(o,c(v).label)},[()=>K(c(v).href)]),m(r,i)},O=r=>{var i=ne(),o=s(i,!0);t(i),S(()=>L(o,c(v).label)),m(r,i)};B(k,r=>{c(v).href&&b<C.items.length-1?r(_):r(O,!1)})}var y=x(k,2);{var M=r=>{var i=oe();m(r,i)};B(y,r=>{b<C.items.length-1&&r(M)})}m(n,u)}),t(h),m(p,h)};B(d,p=>{C.items.length>0&&p(g)})}m(l,a),j()}var ce=(l,e)=>Y.remove(c(e).id),de=w('<div><span> </span> <button aria-label="Dismiss notification" class="svelte-2qov3s"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div>'),me=w('<div class="notifications svelte-2qov3s"></div>');function ge(l,e){E(e,!1),F();var a=me();W(a,5,()=>Y.items,d=>d.id,(d,g)=>{var p=de(),h=s(p),n=s(h,!0);t(h);var v=x(h,2);v.__click=[ce,g],t(p),S(()=>{$(p,1,`notification notification-${c(g).type??""}`,"svelte-2qov3s"),L(n,c(g).message)}),m(d,p)}),t(a),m(l,a),j()}P(["click"]);function he(l,e,a){sessionStorage.setItem(e,"true"),I(a,!1)}var ue=w('<div class="warning-banner svelte-1358fs2"><div class="warning-content svelte-1358fs2"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1358fs2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> <span class="svelte-1358fs2"> <code class="svelte-1358fs2">MONGOKU_SERVER_ORIGIN</code> environment variable to <code class="svelte-1358fs2"> </code>. Current server origin is <code class="svelte-1358fs2"> </code></span> <button class="dismiss-button svelte-1358fs2" aria-label="Dismiss warning">&times;</button></div></div>');function pe(l,e){E(e,!0);const a="mongoku:origin-warning-dismissed";let d=G(!1);V(()=>{if(e.serverOrigin!==T.url.origin){const n=sessionStorage.getItem(a);I(d,!n)}});var g=q(),p=R(g);{var h=n=>{var v=ue(),b=s(v),u=x(s(b),2),k=s(u),_=x(k,3),O=s(_,!0);t(_);var y=x(_,2),M=s(y,!0);t(y),t(u);var r=x(u,2);r.__click=[he,a,d],t(b),t(v),S(()=>{L(k,`To enable ${e.readOnly?"server configuration":"write operations"}, set the `),L(O,T.url.origin),L(M,e.serverOrigin)}),m(n,v)};B(p,n=>{c(d)&&n(h)})}m(l,g),j()}P(["click"]);var fe=w('<span class="px-3 py-1.5 text-[13px] font-medium bg-[var(--color-1)] shadow-[inset_0_-1px_0_rgba(0,0,0,0.06)] cursor-default" style="color: var(--text);"> </span>'),xe=w('<a data-sveltekit-reload="" class="px-3 py-1.5 text-[13px] hover:bg-[var(--color-3)] transition no-underline" style="color: var(--text-secondary);"> </a>'),_e=w("<div></div>");function be(l,e){E(e,!0);const a=D(()=>(T.data.categories??[]).map(n=>({...n,href:T.url.pathname.split("/").slice(0,-1).join("/")+"/"+n.key}))),d=D(()=>T.url.pathname.split("/").pop());var g=q(),p=R(g);{var h=n=>{var v=_e();W(v,21,()=>c(a),b=>b.key,(b,u)=>{const k=D(()=>c(d)===c(u).key);var _=q(),O=R(_);{var y=r=>{var i=fe(),o=s(i,!0);t(i),S(()=>L(o,c(u).label)),m(r,i)},M=r=>{var i=xe(),o=s(i,!0);t(i),S(f=>{H(i,"href",f),L(o,c(u).label)},[()=>K(c(u).href)]),m(r,i)};B(O,r=>{c(k)?r(y):r(M,!1)})}m(b,_)}),t(v),S(()=>$(v,1,`hidden sm:flex rounded-lg border border-[var(--border-color)] overflow-hidden bg-[var(--light-background)] shadow-sm ${e.class??""}`)),m(n,v)};B(p,n=>{c(a).length&&n(h)})}m(l,g),j()}const Q=l=>{var e=ke();m(l,e)},U=l=>{var e=Oe();m(l,e)},we=l=>{var e=Me();m(l,e)};function ye(l,e,a,d){c(e)==="system"?a(c(d)):a(c(e)==="light"?"dark":"light")}var ke=N('<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2m0 16v2m10-10h-2M4 12H2m15.364-7.364-1.414 1.414M8.05 16.95l-1.414 1.414m0-12.728L8.05 6.364m10.607 10.607 1.414 1.414"></path></svg>'),Oe=N('<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg>'),Me=N('<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line></svg>'),Se=(l,e)=>e("system"),Le=w('<div class="theme-switcher inline-flex rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] overflow-hidden text-sm font-medium svelte-u8uo5a" style="color: var(--text);"><button class="inline-flex items-center gap-2 px-2.5 py-1.5 hover:bg-[var(--color-3)] transition cursor-pointer svelte-u8uo5a" aria-label="Toggle theme"><span class="theme-content theme-light inline-flex items-center gap-2 svelte-u8uo5a"><!> <span class="hidden sm:inline text-[13px]" style="color: var(--text-secondary);">Light</span></span> <span class="theme-content theme-dark inline-flex items-center gap-2 svelte-u8uo5a"><!> <span class="hidden sm:inline text-[13px]" style="color: var(--text-secondary);">Dark</span></span> <span class="theme-content theme-system-light inline-flex items-center gap-2 svelte-u8uo5a"><!></span> <span class="theme-content theme-system-dark inline-flex items-center gap-2 svelte-u8uo5a"><!></span></button> <div class="w-px bg-[var(--border-color)]"></div> <button class="inline-flex items-center gap-2 px-2.5 py-1.5 hover:bg-[var(--color-3)] transition cursor-pointer svelte-u8uo5a" aria-label="Switch to system theme"><!> <span class="theme-text-system hidden sm:inline text-[13px] svelte-u8uo5a" style="color: var(--text-secondary);">System</span></button></div>');function Ie(l,e){E(e,!0);let a=G("system"),d=G("light");V(()=>{if(typeof window<"u"){const o=localStorage.getItem("theme");I(a,o||"system",!0);const f=window.matchMedia("(prefers-color-scheme: dark)");I(d,f.matches?"dark":"light",!0);const A=J=>{I(d,J.matches?"dark":"light",!0),c(a)==="system"&&g("system")};return f.addEventListener("change",A),()=>f.removeEventListener("change",A)}});function g(o){I(a,o,!0),localStorage.setItem("theme",o);const f=document.documentElement;if(o==="system"){const A=window.matchMedia("(prefers-color-scheme: dark)").matches;f.setAttribute("data-theme",A?"dark":"light"),A?f.classList.add("dark"):f.classList.remove("dark")}else f.setAttribute("data-theme",o),o==="dark"?f.classList.add("dark"):f.classList.remove("dark");f.setAttribute("data-theme-mode",o)}const p=D(()=>c(d)==="dark"?"light":"dark");var h=Le(),n=s(h);n.__click=[ye,a,g,p];var v=s(n),b=s(v);Q(b),z(2),t(v);var u=x(v,2),k=s(u);U(k),z(2),t(u);var _=x(u,2),O=s(_);Q(O),t(_);var y=x(_,2),M=s(y);U(M),t(y),t(n);var r=x(n,4);r.__click=[Se,g];var i=s(r);we(i),z(2),t(r),t(h),m(l,h),j()}P(["click"]);var Be=w('<div style="min-height: 100vh"><header class="sticky top-0 z-50 border-b border-[var(--border-color)] bg-[var(--background-color)]/80"><div class="max-w-[96rem] mx-auto px-4 sm:px-6 lg:px-8"><div class="h-14 flex items-center gap-3"><a class="inline-flex items-center gap-2 group no-underline hover:no-underline"><span class="inline-flex items-center justify-center w-7 h-7 rounded-md bg-black dark:bg-white text-white dark:text-black text-sm font-semibold select-none">M</span> <span class="text-lg font-semibold tracking-tight" style="color: var(--text);">Mongoku</span></a> <div class="hidden md:block w-px h-5 bg-[var(--border-color)]"></div> <!> <div class="ml-auto flex items-center gap-2"><!> <!></div></div></div></header> <!> <main class="max-w-[96rem] mx-auto px-4 sm:px-6 lg:px-8 py-6 md:py-10"><!> <div class="flex flex-col gap-6"><!></div></main> <div></div></div>');function ze(l,e){E(e,!0);const a=D(()=>{const o=C.items.slice(-2).reverse();return o.length===0?"Mongoku":o.map(f=>f.label).join(" - ")});var d=Be();ee(o=>{S(()=>Z.title=c(a)??"")});var g=s(d),p=s(g),h=s(p),n=s(h),v=x(n,4);ve(v,{});var b=x(v,2),u=s(b);be(u,{class:""});var k=x(u,2);Ie(k,{}),t(b),t(h),t(p),t(g);var _=x(g,2);pe(_,{get serverOrigin(){return e.data.serverOrigin},get readOnly(){return e.data.readOnly}});var O=x(_,2),y=s(O);ge(y,{});var M=x(y,2),r=s(M);X(r,()=>e.children),t(M),t(O);var i=x(O,2);te(i,o=>ae?.(o)),t(d),S(o=>H(n,"href",o),[()=>K("/")]),m(l,d),j()}export{ze as component};
@@ -1 +1 @@
1
- import"../chunks/BPbCnJEo.js";import{i as h}from"../chunks/DIw4Wyr4.js";import{p as c,f as l,a as v,t as u,b as _,c as d,s as g,d as s,r as e}from"../chunks/reNJcONQ.js";import{s as o}from"../chunks/ByCRZ7zS.js";import{p}from"../chunks/m9KJhr2i.js";var x=l("<h1> </h1> <p> </p>",1);function w(m,i){c(i,!1),h();var t=x(),r=v(t),f=s(r,!0);e(r);var a=g(r,2),n=s(a,!0);e(a),u(()=>{o(f,p.status),o(n,p.error?.message)}),_(m,t),d()}export{w as component};
1
+ import"../chunks/BPbCnJEo.js";import{i as h}from"../chunks/DIw4Wyr4.js";import{p as c,f as l,a as v,t as u,b as _,c as d,s as g,d as s,r as e}from"../chunks/reNJcONQ.js";import{s as o}from"../chunks/ByCRZ7zS.js";import{p}from"../chunks/CrvogBCO.js";var x=l("<h1> </h1> <p> </p>",1);function w(m,i){c(i,!1),h();var t=x(),r=v(t),f=s(r,!0);e(r);var a=g(r,2),n=s(a,!0);e(a),u(()=>{o(f,p.status),o(n,p.error?.message)}),_(m,t),d()}export{w as component};
@@ -0,0 +1,3 @@
1
+ import"../chunks/BPbCnJEo.js";import{i as R,a2 as Ie,h as e,b7 as Pe,t as P,b as m,p as yt,Z as Ue,B as ce,q as It,j as v,f as _,a as F,d,c as kt,s,r as u,n as he,an as Ut,am as ct,_ as dt,e as Ze,u as B,l as Te}from"../chunks/reNJcONQ.js";import{d as wt,e as Mt,s as ee}from"../chunks/ByCRZ7zS.js";import{a as _t,b as Q}from"../chunks/Dn0_-jEe.js";import{i as q}from"../chunks/0oUK0vJa.js";import{a as Ne,c as Re,b as W,d as Ye,r as bt,s as pe,n as N,e as Tt}from"../chunks/DL_7eGCj.js";import{a as Me,p as Pt}from"../chunks/BXUq66wC.js";import{b as Z}from"../chunks/UJuWD2W4.js";import{p as ae,b as Ge}from"../chunks/BGXqurs_.js";import{P as Ve,o as ut,p as Nt,i as Rt,q as Ot,u as Bt,b as Ft,s as Lt}from"../chunks/YVSmS-BO.js";import{g as Qt,j as vt}from"../chunks/CH4IMlv6.js";import{j as pt}from"../chunks/BNF3TSWe.js";import{s as nt,p as st,P as zt}from"../chunks/CMu1ND4u.js";import{s as At}from"../chunks/3LgOwb59.js";import{p as Wt}from"../chunks/CrvogBCO.js";const Jt=Symbol();class Ct extends URLSearchParams{#e=R(0);#o=Vt();#t=!1;#r(){if(!this.#o||this.#t)return;this.#t=!0;const o=this.toString();this.#o.search=o&&`?${o}`,this.#t=!1}[Jt](o){if(!this.#t){this.#t=!0;for(const t of[...super.keys()])super.delete(t);for(const[t,l]of o)super.append(t,l);Ie(this.#e),this.#t=!1}}append(o,t){super.append(o,t),this.#r(),Ie(this.#e)}delete(o,t){var l=super.has(o,t);super.delete(o,t),l&&(this.#r(),Ie(this.#e))}get(o){return e(this.#e),super.get(o)}getAll(o){return e(this.#e),super.getAll(o)}has(o,t){return e(this.#e),super.has(o,t)}keys(){return e(this.#e),super.keys()}set(o,t){var l=super.getAll(o).join("");super.set(o,t),l!==super.getAll(o).join("")&&(this.#r(),Ie(this.#e))}sort(){super.sort(),this.#r(),Ie(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 Gt=null;function Vt(){return Gt}const Zt=async p=>({...p.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),lo=Object.freeze(Object.defineProperty({__proto__:null,load:Zt},Symbol.toStringTag,{value:"Module"}));function Yt(p,o){const t=r=>{p&&!p.contains(r.target)&&o()},l=setTimeout(()=>{document.addEventListener("click",t,!0)},0);return{destroy(){clearTimeout(l),document.removeEventListener("click",t,!0)}}}var Ht=Pe('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg>');function Kt(p,o){let t=ae(o,"class",3,"w-4 h-4");var l=Ht();P(()=>Ne(l,0,Re(t()))),m(p,l)}var Xt=Pe('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path></svg>');function er(p,o){let t=ae(o,"class",3,"w-4 h-4");var l=Xt();P(()=>Ne(l,0,Re(t()))),m(p,l)}var tr=(p,o)=>v(o,!e(o)),rr=_('<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>'),or=_('<input type="text" name="field" placeholder="field name" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/>'),ar=_('<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);"/>'),nr=(p,o)=>{v(o,!e(o))},sr=(p,o)=>{o(!o())},lr=_('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer" style="color: var(--text);"><!></button>'),ir=_('<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50 sm:col-span-2"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Filter (optional)</div> <input type="text" name="query" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>'),cr=_('<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Sort</div> <input type="text" name="sort" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Project</div> <input type="text" name="project" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>',1),dr=_('<div class="grid gap-2 sm:grid-cols-2"><!> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Skip</div> <input type="number" name="skip" min="0" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Limit</div> <input type="number" name="limit" min="1" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div></div>'),ur=(p,o)=>o("query"),vr=(p,o)=>o("distinct"),pr=(p,o)=>o("aggregation"),br=_('<div class="fixed z-[1000] rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] shadow-lg overflow-hidden"><button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Query</button> <button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Distinct</button> <button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Aggregation</button></div>'),mr=_('<div class="rounded-2xl border border-[var(--border-color)] bg-[var(--light-background)]/70 shadow-sm p-3 sm:p-4"><form class="flex flex-col gap-3" method="GET" action="?"><div class="flex items-stretch gap-2"><div class="flex-1 flex items-stretch rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><button type="button" class="h-full px-3 flex items-center gap-1 text-[13px] border-r border-[var(--border-color)] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text-secondary);"><span class="capitalize"> </span> <!></button> <!></div> <input type="hidden" name="mode"/> <input type="hidden" name="v"/> <div class="flex items-center gap-2"><button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[15px] font-semibold leading-none transition cursor-pointer" style="color: var(--text);" title="Toggle optional fields"> </button> <!> <button type="submit" class="h-9 px-4 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> <!>',1);function fr(p,o){yt(o,!0);let t=ae(o,"params",15),l=ae(o,"editMode",15,!1),r=ae(o,"readonly",11,!1),n=R(Ue(t().sort!=="{}"||t().project!=="{}"||t().skip!==0||t().limit!==20)),I=R(Ue(Math.random())),w=R(void 0),te=R(!1),S=R(void 0),Y=R(Ue({left:"0px",top:"0px",minWidth:"140px"}));ce(()=>{e(te)&&e(S)&&It().then(()=>{if(!e(S))return;const a=e(S).getBoundingClientRect();v(Y,{left:`${a.left}px`,top:`${a.bottom+5}px`,minWidth:`${a.width}px`},!0)})}),ce(()=>{(t().mode==="aggregation"||t().mode==="distinct")&&l()&&l(!1)}),ce(()=>{e(w)&&(e(w).setSelectionRange(1,1),e(w).focus())});async function h(a){a.preventDefault(),Ut(I);const c=new FormData(e(de));await Qt(bt(Wt.url.pathname+"?"+[...c.entries()].map(f=>encodeURIComponent(f[0])+"="+encodeURIComponent(f[1])).join("&")),{keepFocus:!0})}function z(a){t(t().mode=a,!0),v(te,!1),a==="aggregation"&&!t().query?.trimStart().startsWith("[")?t(t().query="[]",!0):a==="query"&&t().query?.trimStart().startsWith("[")?t(t().query="{}",!0):a==="distinct"&&(t(t().field=void 0,!0),!t().query||t().query.trim()===""?t(t().query="{}",!0):t().query.trim()!=="{}"&&v(n,!0))}let de=R(void 0);var J=mr(),ye=F(J),be=d(ye),ke=d(be),me=d(ke),H=d(me);H.__click=[tr,te];var ne=d(H),we=d(ne,!0);u(ne);var Ce=s(ne,2);Kt(Ce,{class:"w-3 h-3"}),u(H),Ge(H,a=>v(S,a),()=>e(S));var Oe=s(H,2);{var ue=a=>{var c=rr();ct(c),Ge(c,f=>v(w,f),()=>e(w)),dt(()=>Z(c,()=>t().query,f=>t(t().query=f,!0))),Me(c,(f,D)=>pt?.(f,D),()=>({onsubmit:()=>e(de)?.requestSubmit()})),m(a,c)},Be=a=>{var c=Ze(),f=F(c);{var D=x=>{var g=or();W(g),Z(g,()=>t().field,C=>t(t().field=C,!0)),m(x,g)},y=x=>{var g=ar();W(g),pe(g,"placeholder","{}"),Ge(g,C=>v(w,C),()=>e(w)),Z(g,()=>t().query,C=>t(t().query=C,!0)),m(x,g)};q(f,x=>{t().mode==="distinct"?x(D):x(y,!1)},!0)}m(a,c)};q(Oe,a=>{t().mode==="aggregation"?a(ue):a(Be,!1)})}u(me);var K=s(me,2);W(K);var fe=s(K,2);W(fe);var Fe=s(fe,2),ge=d(Fe);ge.__click=[nr,n];var Le=d(ge,!0);u(ge);var Qe=s(ge,2);{var ze=a=>{var c=lr();c.__click=[sr,l];var f=d(c);er(f,{class:"w-4 h-4"}),u(c),P(()=>{pe(c,"title",t().mode!=="query"?"Update not available in this mode":"Update multiple documents"),c.disabled=t().mode!=="query"}),m(a,c)};q(Qe,a=>{r()||a(ze)})}he(2),u(Fe),u(ke);var He=s(ke,2);{var Ke=a=>{var c=dr(),f=d(c);{var D=$=>{var j=ir(),k=s(d(j),2);W(k),pe(k,"placeholder","{}"),u(j),Z(k,()=>t().query,A=>t(t().query=A,!0)),m($,j)},y=$=>{var j=cr(),k=F(j),A=s(d(k),2);W(A),pe(A,"placeholder","{}"),u(k);var G=s(k,2),re=s(d(G),2);W(re),pe(re,"placeholder","{}"),u(G),Z(A,()=>t().sort,V=>t(t().sort=V,!0)),Z(re,()=>t().project,V=>t(t().project=V,!0)),m($,j)};q(f,$=>{t().mode==="distinct"?$(D):$(y,!1)})}var x=s(f,2),g=s(d(x),2);W(g),u(x);var C=s(x,2),O=s(d(C),2);W(O),u(C),u(c),Z(g,()=>t().skip,$=>t(t().skip=$,!0)),Z(O,()=>t().limit,$=>t(t().limit=$,!0)),m(a,c)};q(He,a=>{e(n)&&a(Ke)})}u(be),Ge(be,a=>v(de,a),()=>e(de)),u(ye);var i=s(ye,2);{var b=a=>{var c=br();let f;var D=d(c);D.__click=[ur,z];var y=s(D,2);y.__click=[vr,z];var x=s(y,2);x.__click=[pr,z],u(c),Me(c,g=>Pt?.(g)),Me(c,(g,C)=>Yt?.(g,C),()=>()=>v(te,!1)),P(g=>f=At(c,"",f,g),[()=>({left:e(Y).left,top:e(Y).top,"min-width":e(Y).minWidth})]),m(a,c)};q(i,a=>{e(te)&&a(b)})}P(()=>{ee(we,t().mode),Ye(K,t().mode),Ye(fe,e(I)),ee(Le,e(n)?"−":"+")}),Mt("submit",be,h),m(p,J),kt()}wt(["click"]);var gr=Pe('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>');function xr(p,o){let t=ae(o,"class",3,"w-4 h-4");var l=gr();P(()=>Ne(l,0,Re(t()))),m(p,l)}var _r=Pe('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12h14"></path></svg>');function hr(p,o){let t=ae(o,"class",3,"w-4 h-4");var l=_r();P(()=>Ne(l,0,Re(t()))),m(p,l)}var yr=Pe('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18"></path><path d="M7 12h10"></path><path d="M10 18h4"></path><path d="m7 16 3 3 3-3"></path></svg>');function kr(p,o){let t=ae(o,"class",3,"w-4 h-4");var l=yr();P(()=>Ne(l,0,Re(t()))),m(p,l)}const lt=(p,o=Te,t=Te)=>{var l=jr();l.__click=function(...r){t()?.apply(this,r)},P(r=>pe(l,"href",r),[()=>bt(o())]),m(p,l)},it=(p,o=Te,t=Te)=>{var l=Sr();l.__click=function(...r){t()?.apply(this,r)},P(r=>pe(l,"href",r),[()=>bt(o())]),m(p,l)};async function ht(p,o,t,l){o.isCounting=!0,o.countError=null;const r=e(t).query||"{}";try{const n=await Ot({server:l().server,database:l().database,collection:l().collection,filter:r});o.count=n.data,o.countError=n.error,o.countChecked=!0,o.countQuery=r}catch(n){N.notifyError(n,"Failed to count documents"),o.countError=n instanceof Error?n.message:String(n)}finally{o.isCounting=!1}}async function wr(p,o,t,l,r,n,I){v(o,!0);try{const w=await Lt({server:t().server,database:t().database,collection:t().collection,filter:e(l).query||"{}"});w.ok&&(N.notifySuccess(`Deleted ${w.deletedCount} document(s)`),v(r,null),v(n,!1),I())}catch(w){console.error(w),N.notifyError(w,"Failed to delete documents")}finally{v(o,!1)}}function Cr(p,o,t){v(o,!0),v(t,"{}")}function $r(p,o,t){v(o,!1),v(t,"{}")}function qr(p,o,t,l,r){p.preventDefault();const n=o();e(t).sort=n,l().params.sort=n,l().params.skip=0,e(t).skip=0;const I=new Ct;I.set("query",e(t).query||"{}"),I.set("sort",n),I.set("project",e(t).project||""),I.set("skip","0"),I.set("limit",String(e(t).limit));const w=`/servers/${encodeURIComponent(l().server)}/databases/${encodeURIComponent(l().database)}/collections/${encodeURIComponent(l().collection)}/documents?${I.toString()}`;vt(w,{}),v(r,ut({server:l().server,database:l().database,collection:l().collection,query:e(t).query,sort:n,project:e(t).project,skip:0,limit:e(t).limit,mode:e(t).mode,field:e(t).field}))}var jr=_('<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>'),Sr=_('<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>'),Dr=_('<button class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition" style="color: var(--text); cursor: pointer;" title="Reverse sort order"><!></button>'),Er=(p,o,t)=>o(t()),Ir=_('<button class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition" style="color: var(--text); cursor: pointer;" title="Copy distinct values"><!></button>'),Ur=_('<button class="btn btn-success"><!> Insert Document</button>'),Mr=_('<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>'),Tr=_('<div class="flex gap-3"><button class="btn btn-default"> </button></div>'),Pr=_(`<div class="text-sm rounded-xl bg-yellow-500/10 p-4 border border-yellow-500/30" style="color: var(--text-secondary);"><p class="font-semibold text-yellow-600 mb-2">⚠️ Query Changed</p> <p style="color: var(--text);">The filter has changed since you last checked the count. Please check the document count again before
2
+ proceeding.</p></div> <div class="flex gap-3"><button class="btn btn-default"> </button> <button class="btn btn-default">Cancel</button></div>`,1),Nr=_(`<p class="mb-2" style="color: var(--text);"> </p> <p>You can still proceed with deletion, but please be cautious. This operation will permanently delete
3
+ all documents matching the filter. This action cannot be undone.</p>`,1),Rr=_('<p class="mb-2" style="color: var(--text);">This will delete <strong class="text-red-600"> </strong> </p> <p>This operation is permanent and cannot be undone.</p>',1),Or=_(`<div class="text-sm rounded-xl bg-red-500/10 p-4 border border-red-500/30" style="color: var(--text-secondary);"><p class="font-semibold text-red-600 mb-2">⚠️ Warning</p> <!></div> <div><label for="delete-confirm" class="block text-sm font-semibold mb-2" style="color: var(--text);">Type <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs">confirm</code> to proceed:</label> <input type="text" id="delete-confirm" placeholder="Type 'confirm' to enable deletion" 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);"/></div> <div class="flex gap-3"><button class="btn btn-danger hover:bg-red-700"> </button> <button class="btn btn-default">Cancel</button></div>`,1),Br=(p,o,t,l)=>{v(o,!1),v(t,!1),l()},Fr=_('<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="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);">Delete Multiple Documents</h3> <div class="space-y-4"><div><label for="delete-filter" class="block text-sm font-semibold mb-2" style="color: var(--text);">Filter (which documents to delete):</label> <input type="text" id="delete-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 deleted.</p></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>'),Lr=_("<!> <!> <!>",1),Qr=_("<!> <!> <!>",1),zr=_("<!> <!>",1),Ar=_("<!> <!>",1),Wr=_("<!> <!> <!>",1);function io(p,o){yt(o,!0);const t=i=>{var b=Dr();b.__click=[qr,Fe,n,r,I];var a=d(b);kr(a,{class:"w-4 h-4"}),u(b),m(i,b)},l=(i,b=Te)=>{var a=Ir();a.__click=[Er,ge,b];var c=d(a);xr(c,{class:"w-4 h-4"}),u(a),m(i,a)};let r=ae(o,"data",7),n=R(Ue({...r().params})),I=B(()=>r().results),w=R(!1),te=R("{}"),S=R(!1),Y=R(!1),h=Ue({countChecked:!1,count:null,countError:null,confirmText:"",isCounting:!1,countQuery:null}),z=R(null),de=0;ce(()=>{v(n,{...r().params},!0),ue()}),ce(()=>{const i=++de;v(z,null),r().count.then(b=>{i===de&&v(z,b.error?null:b.data,!0)})}),ce(()=>{e(I)&&v(J,null),e(I).then(i=>{i.error&&N.notifyError(i.error)})}),ce(()=>{r().count.then(i=>{i.error&&!i.error.includes("operation exceeded time limit")&&N.notifyError(i.error)})});let J=R(null),ye=B(()=>e(J)?{data:e(J),error:null}:e(I));async function be(i,b,a){const c=!!(e(n).project&&e(n).project!=="{}"&&Object.keys(st(e(n).project)).length>0),f=b?._id?.$value,D=i?.$value;if(f!==D){N.notifyError("ObjectId changed. This is not supported, update canceled.");return}if(D)try{const y=await Bt({server:r().server,database:r().database,collection:r().collection,document:D,value:b,partial:c});if(y.ok){N.notifySuccess("Document updated successfully");const x=a.findIndex(g=>g._id?.$value===D);x!==-1&&(a[x]=y.update),v(J,a,!0)}}catch(y){console.error(y),N.notifyError(y,"Failed to update document")}}async function ke(i,b){const a=i?.$value??i;if(!(!a||typeof a!="string"))try{await Ft({server:r().server,database:r().database,collection:r().collection,document:a}),N.notifySuccess("Document removed successfully"),v(J,b.filter(c=>(c._id?.$value??c._id)!==a),!0)}catch(c){N.notifyError(c,"Failed to remove document")}}function me(i){const b=new Ct;return b.set("query",e(n).query||"{}"),b.set("sort",e(n).sort||""),b.set("project",e(n).project||""),b.set("skip",String(i)),b.set("limit",String(e(n).limit)),`/servers/${encodeURIComponent(r().server)}/databases/${encodeURIComponent(r().database)}/collections/${encodeURIComponent(r().collection)}/documents?${b.toString()}`}const H=B(()=>me(e(n).skip+e(n).limit)),ne=B(()=>me(Math.max(0,e(n).skip-e(n).limit)));function we(i){i.preventDefault(),r().params.skip+=r().params.limit,e(n).skip=r().params.skip,vt(e(H),{}),v(I,ut({server:r().server,database:r().database,collection:r().collection,query:e(n).query,sort:e(n).sort,project:e(n).project,skip:e(n).skip,limit:e(n).limit,mode:e(n).mode,field:e(n).field}))}function Ce(i){i.preventDefault(),r().params.skip=Math.max(0,r().params.skip-r().params.limit),e(n).skip=r().params.skip,vt(e(ne),{}),v(I,ut({server:r().server,database:r().database,collection:r().collection,query:e(n).query,sort:e(n).sort,project:e(n).project,skip:e(n).skip,limit:e(n).limit,mode:e(n).mode,field:e(n).field}))}async function Oe(){v(S,!0);try{const i=await Nt({server:r().server,database:r().database,collection:r().collection,filter:e(n).query||"{}",update:e(te)});i.ok&&(N.notifySuccess(`Updated ${i.modifiedCount} document(s) (matched ${i.matchedCount})`),v(J,null),v(w,!1))}catch(i){console.error(i),N.notifyError(i,"Failed to update documents")}finally{v(S,!1)}}function ue(){h.countChecked=!1,h.count=null,h.countError=null,h.confirmText="",h.countQuery=null}let Be=B(()=>h.countChecked&&h.countQuery!==(e(n).query||"{}"));ce(()=>{e(Be)&&(h.confirmText="")});let K=R("{}");async function fe(){v(S,!0);try{const i=st(e(K));(await Rt({server:r().server,database:r().database,collection:r().collection,document:null,value:i})).ok&&(N.notifySuccess("Document inserted successfully"),v(J,null),v(Y,!1),v(K,"{}"))}catch(i){console.error(i),N.notifyError(i,"Failed to insert document")}finally{v(S,!1)}}function Fe(){const i=e(n).sort||"{}";if(i.replace(/\s/g,"")==="{}")return nt({_id:-1}).replace(/[\n\t]/g," ").replace(/\s+/g," ");const b=st(i),a={};for(const[c,f]of Object.entries(b))typeof f=="number"?a[c]=f===1?-1:1:a[c]=f;return nt(a).replace(/[\n\t]/g," ").replace(/\s+/g," ")}async function ge(i){try{const b=i.map(c=>c.value),a=nt(b);await navigator.clipboard.writeText(a),N.notifySuccess("Copied distinct values to clipboard")}catch(b){console.error(b),N.notifyError(b,"Failed to copy to clipboard")}}var Le=Wr(),Qe=F(Le);fr(Qe,{get readonly(){return r().readOnly},get params(){return e(n)},set params(i){v(n,i,!0)},get editMode(){return e(w)},set editMode(i){v(w,i,!0)}});var ze=s(Qe,2);{var He=i=>{Ve(i,{title:"Edit Mode",children:(b,a)=>{var c=Fr(),f=d(c),D=s(d(f),2);{var y=M=>{var T=Ur();T.__click=[Cr,Y,K];var L=d(T);hr(L,{class:"w-4 h-4 inline mr-2"}),he(),u(T),m(M,T)},x=M=>{var T=Mr(),L=s(d(T),2);ct(L),dt(()=>Z(L,()=>e(K),X=>v(K,X))),Me(L,(X,oe)=>pt?.(X,oe),()=>({onsubmit:fe}));var _e=s(L,2),ve=d(_e);ve.__click=fe;var se=d(ve,!0);u(ve);var le=s(ve,2);le.__click=[$r,Y,K],u(_e),u(T),P(()=>{ve.disabled=e(S),ee(se,e(S)?"Inserting...":"Insert"),le.disabled=e(S)}),m(M,T)};q(D,M=>{e(Y)?M(x,!1):M(y)})}u(f);var g=s(f,2),C=s(d(g),2),O=d(C),$=s(d(O),2);W($),he(2),u(O);var j=s(O,2),k=s(d(j),2);ct(k),dt(()=>Z(k,()=>e(te),M=>v(te,M))),Me(k,(M,T)=>pt?.(M,T),()=>({onsubmit:Oe})),u(j);var A=s(j,2),G=d(A);G.__click=Oe;var re=d(G,!0);u(G),u(A),u(C),u(g);var V=s(g,2),E=s(d(V),2),xe=d(E),$e=s(d(xe),2);W($e),he(2),u(xe);var Xe=s(xe,2);{var Ae=M=>{var T=Tr(),L=d(T);L.__click=[ht,h,n,r];var _e=d(L,!0);u(L),u(T),P(()=>{L.disabled=h.isCounting,ee(_e,h.isCounting?"Counting...":"Check Document Count")}),m(M,T)},et=M=>{var T=Ze(),L=F(T);{var _e=se=>{var le=Pr(),X=s(F(le),2),oe=d(X);oe.__click=[ht,h,n,r];var ot=d(oe,!0);u(oe);var Je=s(oe,2);Je.__click=ue,u(X),P(()=>{oe.disabled=h.isCounting,ee(ot,h.isCounting?"Counting...":"Check Count Again"),Je.disabled=h.isCounting}),m(se,le)},ve=se=>{var le=Or(),X=F(le),oe=s(d(X),2);{var ot=ie=>{var Se=Nr(),De=F(Se),Ee=d(De);u(De),he(2),P(()=>ee(Ee,`Unable to count documents: ${h.countError??""}`)),m(ie,Se)},Je=ie=>{var Se=Rr(),De=F(Se),Ee=s(d(De)),Dt=d(Ee,!0);u(Ee);var Et=s(Ee);u(De),he(2),P(()=>{ee(Dt,h.count),ee(Et,` document${h.count===1?"":"s"}.`)}),m(ie,Se)};q(oe,ie=>{h.countError?ie(ot):ie(Je,!1)})}u(X);var at=s(X,2),ft=s(d(at),2);W(ft),u(at);var gt=s(at,2),je=d(gt);je.__click=[wr,S,r,n,J,w,ue];var St=d(je,!0);u(je);var xt=s(je,2);xt.__click=ue,u(gt),P(()=>{je.disabled=e(S)||h.confirmText!=="confirm",ee(St,e(S)?"Deleting...":"Execute Delete"),xt.disabled=e(S)}),Z(ft,()=>h.confirmText,ie=>h.confirmText=ie),m(se,le)};q(L,se=>{e(Be)?se(_e):se(ve,!1)},!0)}m(M,T)};q(Xe,M=>{h.countChecked?M(et,!1):M(Ae)})}u(E),u(V);var qe=s(V,2),tt=d(qe);tt.__click=[Br,w,Y,ue],u(qe);var We=s(qe,2),U=s(d(We),2),$t=s(d(U));$t.textContent='{"$set": {"status": "active"}}',u(U);var rt=s(U,2),qt=s(d(rt));qt.textContent='{"$inc": {"count": 1}}',u(rt);var mt=s(rt,2),jt=s(d(mt));jt.textContent='{"$unset": {"oldField": ""}}',u(mt),u(We),u(c),P(()=>{Ye($,e(n).query||"{}"),G.disabled=e(S),ee(re,e(S)?"Updating...":"Execute Update"),Ye($e,e(n).query||"{}")}),m(b,c)},$$slots:{default:!0}})};q(ze,i=>{e(w)&&i(He)})}var Ke=s(ze,2);_t(Ke,()=>e(ye),i=>{{const b=c=>{var f=Ze(),D=F(f);{var y=x=>{var g=Ar(),C=F(g);{var O=k=>{lt(k,()=>e(ne),()=>Ce)};q(C,k=>{r().params.skip>0&&k(O)})}var $=s(C,2);{var j=k=>{it(k,()=>e(H),()=>we)};q($,k=>{r().params.skip+r().params.limit<e(z)&&k(j)})}m(x,g)};q(D,x=>{e(z)!==null&&x(y)})}m(c,f)};let a=B(()=>e(z)!==null?r().params.mode==="distinct"?`${Q(e(z))} distinct value${e(z)===1?"":"s"}...`:`${Q(r().params.skip+1)} - ${Q(r().params.skip+r().params.limit)} of ${Q(e(z))} documents...`:r().params.mode==="distinct"?"Loading distinct values...":"Loading documents...");Ve(i,{get title(){return e(a)},titleClass:"py-1",actions:b,$$slots:{actions:!0}})}},(i,b)=>{const a=B(()=>e(b)?.data??[]);var c=zr(),f=F(c);_t(f,()=>r().count,y=>{{const x=C=>{var O=Qr(),$=F(O);{var j=E=>{lt(E,()=>e(ne),()=>Ce)};q($,E=>{r().params.skip>0&&E(j)})}var k=s($,2);{var A=E=>{it(E,()=>e(H),()=>we)};q(k,E=>{e(a).length>=r().params.limit&&E(A)})}var G=s(k,2);{var re=E=>{l(E,()=>e(a))},V=E=>{t(E)};q(G,E=>{r().params.mode==="distinct"?E(re):E(V,!1)})}m(C,O)};let g=B(()=>e(a).length>0?r().params.mode==="distinct"?`${Q(e(a).length)} distinct value${e(a).length===1?"":"s"} (counting...)`:`${Q(r().params.skip+1)} - ${Q(r().params.skip+e(a).length)} Documents (counting...)`:r().params.mode==="distinct"?"No distinct values":"No documents");Ve(y,{titleClass:"py-1",get title(){return e(g)},actions:x,$$slots:{actions:!0}})}},(y,x)=>{var g=Ze(),C=F(g);{var O=$=>{const j=B(()=>e(x).data),k=B(()=>e(x).error?e(a).length>=r().params.limit:r().params.skip+e(a).length<e(j)),A=B(()=>r().params.skip>0),G=B(()=>e(x).error?.includes("operation exceeded time limit"));{const re=E=>{var xe=Lr(),$e=F(xe);{var Xe=U=>{lt(U,()=>e(ne),()=>Ce)};q($e,U=>{e(A)&&U(Xe)})}var Ae=s($e,2);{var et=U=>{it(U,()=>e(H),()=>we)};q(Ae,U=>{e(k)&&U(et)})}var qe=s(Ae,2);{var tt=U=>{l(U,()=>e(a))},We=U=>{t(U)};q(qe,U=>{r().params.mode==="distinct"?U(tt):U(We,!1)})}m(E,xe)};let V=B(()=>e(a).length>0?r().params.mode==="distinct"?`${Q(e(j))} distinct value${e(j)===1?"":"s"}`:e(j)>0?`${Q(r().params.skip+1)} - ${Q(r().params.skip+e(a).length)} of ${Q(e(j))} documents`:`${Q(r().params.skip+1)} - ${Q(r().params.skip+e(a).length)} documents (count ${e(G)?"timeout":"unavailable"})`:r().params.mode==="distinct"?"No distinct values":"No documents");Ve($,{get title(){return e(V)},titleClass:"py-1",actions:re,$$slots:{actions:!0}})}};q(C,$=>{r().params&&$(O)})}m(y,g)});var D=s(f,2);Tt(D,19,()=>e(a),(y,x)=>y._id?.$value||x,(y,x)=>{{let g=B(()=>r().params.mode==="aggregation"||r().params.mode==="distinct"||r().readOnly?void 0:O=>be(e(x)._id,O,e(a))),C=B(()=>r().params.mode==="aggregation"||r().params.mode==="distinct"||r().readOnly?void 0:()=>ke(e(x)._id,e(a)));zt(y,{get json(){return e(x)},autoCollapse:!0,get onedit(){return e(g)},get onremove(){return e(C)},get server(){return r().server},get database(){return r().database},get collection(){return r().collection},get mappings(){return r().mappings}})}}),m(i,c)}),m(p,Le),kt()}wt(["click"]);export{io as component,lo 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/vsNApJWQ.js";import{g as Z}from"../chunks/Cp0n7wR5.js";import{n as s,r as p}from"../chunks/SENhER8Y.js";import{P as U}from"../chunks/DqFgKUuF.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/YVSmS-BO.js";import{g as Z}from"../chunks/CH4IMlv6.js";import{n as s,r as p}from"../chunks/DL_7eGCj.js";import{P as U}from"../chunks/CMu1ND4u.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/SENhER8Y.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/vsNApJWQ.js";import{j as Ia,a as Ua,k as La}from"../chunks/Cp0n7wR5.js";import{p as Ee}from"../chunks/m9KJhr2i.js";import{j as qt,J as $a}from"../chunks/0x2tqDge.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/DL_7eGCj.js";import{a as Rt}from"../chunks/BXUq66wC.js";import{a as We,b as rt}from"../chunks/UJuWD2W4.js";import{g as Pa,h as Oa,j as Ma,k as Ea,l as Fa,P as qe,m as Ca,n as Da}from"../chunks/YVSmS-BO.js";import{h as Ia,j as Ua,k as La}from"../chunks/CH4IMlv6.js";import{p as Ee}from"../chunks/CrvogBCO.js";import{j as qt,J as $a}from"../chunks/BNF3TSWe.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/SENhER8Y.js";import{b as re}from"../chunks/UJuWD2W4.js";import{P as Ue,u as We}from"../chunks/vsNApJWQ.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/DL_7eGCj.js";import{b as re}from"../chunks/UJuWD2W4.js";import{P as Ue,u as We}from"../chunks/YVSmS-BO.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/SENhER8Y.js";import{b as Fe}from"../chunks/UJuWD2W4.js";import{P as Me,c as Ne,r as je,e as Oe}from"../chunks/vsNApJWQ.js";import{i as te}from"../chunks/Cp0n7wR5.js";import{T as Ye}from"../chunks/MW_nrxc3.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,n as Re,k as de,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/DL_7eGCj.js";import{b as Fe}from"../chunks/UJuWD2W4.js";import{P as Me,c as Ne,r as $e,e as je}from"../chunks/YVSmS-BO.js";import{i as te}from"../chunks/CH4IMlv6.js";import{T as Oe}from"../chunks/CeBnCdu0.js";var Ye=["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 Ye)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 $=r[o].apply(this,i);return new 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),$=M(!1),B=null;const I=new J;function ue(v){B=v,m($,!0)}function K(){m($,!1),B=null}async function fe(){if(B)try{await je(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 $e(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 j=y(b,2);{var L=O=>{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),Y=>m(o,Y)),s(O,k)};F(j,O=>{e(r)&&O(L)})}R(()=>A(D,e(r)?"Cancel":"Add Server")),s(g,E)},children:(g,E)=>{var b=tt(),D=y(l(b)),j=l(D);{var L=k=>{var w=q(),U=z(w);Pe(U,17,()=>t.data.servers,Y=>Y._id,(Y,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)})));Oe(_,{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)},$$slots:{default:!0}})}};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(Y,Q)}),s(k,w)},O=k=>{var w=et();s(k,w)};F(j,k=>{t.data.servers&&t.data.servers.length>0?k(L):k(O,!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 j=y(D,2);j.__click=fe,c(b),c(E),c(g),s(v,g)};F(pe,v=>{e($)&&v(he)})}s(C,re),Se()}Ee(["click"]);export{mt as component};
@@ -0,0 +1 @@
1
+ import"../chunks/BPbCnJEo.js";import{p as st,f as b,a as F,b as o,c as nt,s as h,d as s,r as n,e as lt,n as H,t as y,h as t,i as V,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 Y}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/DL_7eGCj.js";import{P as mt,d as ft}from"../chunks/YVSmS-BO.js";import{i as _t}from"../chunks/CH4IMlv6.js";import{M as ht}from"../chunks/BxoAxRg6.js";import{T as W}from"../chunks/CeBnCdu0.js";async function pt($,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(j){Q.notifyError(j,"Failed to drop database"),p(d,!1)}}}var bt=($,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 Ot($,e){st(e,!0);let d=V(!1),g=V(null),f=V(!1);function j(C){p(g,C,!0),p(d,!0)}function I(){p(d,!1),p(g,null),p(f,!1)}var q=Dt(),G=F(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=F(l);vt(x,17,()=>e.data.databases,A=>A.name,(A,a)=>{var N=yt(),O=s(N),E=s(O),Z=s(E,!0);n(E),n(O);var R=h(O),tt=s(R);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:Y(S.size)})));W(r,{columns:[{header:"Collection",key:"name",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return t(m)},children:(S,B)=>{H();var M=k();y(()=>D(M,t(a).nCollections)),o(S,M)},$$slots:{default:!0}})}}),n(R);var U=h(R),et=s(U);{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"?Y(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)=>{H();var B=k();y(M=>D(B,M),[()=>Y(t(a).size)]),o(m,B)},$$slots:{default:!0}})}};P(et,r=>{t(a).size!==void 0&&r(at)})}n(U);var J=h(U),K=s(J),rt=s(K);{var ot=r=>{var c=gt();c.__click=[bt,j,a],o(r,c)};P(rt,r=>{e.data.readOnly||r(ot)})}n(K),n(J),n(N),y(r=>{ut(E,"href",r),D(Z,t(a).name)},[()=>ct(`/servers/${encodeURIComponent(e.data.server)}/databases/${encodeURIComponent(t(a).name)}/collections`)]),o(A,N)}),o(u,l)},T=u=>{var l=zt();o(u,l)};P(v,u=>{e.data.databases&&e.data.databases.length>0?u(z):u(T,!1)})}n(i),n(_),o(C,_)},$$slots:{default:!0}});var X=h(G,2);ht(X,{get show(){return t(d)},onclose:I,title:"Drop Database",footer:w=>{var _=St(),i=F(_);i.__click=I;var v=h(i,2);v.__click=[pt,g,f,e,I];var z=s(v);{var T=l=>{var x=k("Dropping...");o(l,x)},u=l=>{var x=k("Drop Database");o(l,x)};P(z,l=>{t(f)?l(T):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),H(),n(i),y(()=>D(z,t(g)?.name)),o(w,i)},$$slots:{footer:!0,default:!0}}),o($,q),nt()}it(["click"]);export{Ot as component};
@@ -0,0 +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 sa,e as ha,r as ga,s as ya}from"../chunks/DL_7eGCj.js";import{P as xa,a as ka}from"../chunks/YVSmS-BO.js";import{i as za}from"../chunks/CH4IMlv6.js";import{M as Sa}from"../chunks/BxoAxRg6.js";import{T as na}from"../chunks/CeBnCdu0.js";async function Ca(T,s,f,h,g){if(!(!a(s)||a(f))){x(f,!0);try{await ka({server:h.data.server,database:h.data.database,collection:a(s).name}),sa.notifySuccess(`Collection "${a(s).name}" dropped successfully`),g(),await za()}catch(U){sa.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,s,f)=>s(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
+ undone.</p>`),Ba=i("<!> <!>",1);function Xa(T,s){ma(s,!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`${s.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,()=>s.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(n=>N(v,n),[()=>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(n=>({definition:n.key?JSON.stringify(n.key,null,1):n.name,size:Z(n.size)})));na(r,{columns:[{header:"Index",key:"definition",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return a(v)},children:(n,_a)=>{X();var j=F();S(Q=>N(j,Q),[()=>oa(a(t).nIndexes)]),e(n,j)},$$slots:{default:!0}})}},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(n=>({...n,value:typeof n.value=="number"?Z(n.value):n.value})));na(r,{hideHeader:!0,columns:[{header:"Label",key:"label",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return a(v)},children:(n,_a)=>{X();var j=F();S(Q=>N(j,Q),[()=>Z(a(t).size)]),e(n,j)},$$slots:{default:!0}})}},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=>{s.data.readOnly||o(fa)})}d(ea),d(ta),d(J),S(o=>{ya(V,"href",o),N(da,a(k).name)},[()=>ga(`/servers/${encodeURIComponent(s.data.server)}/databases/${encodeURIComponent(s.data.database)}/collections/${encodeURIComponent(a(k).name)}/documents`)]),e(H,J)}),e(m,c)},E=m=>{var c=Oa();e(m,c)};C(_,m=>{s.data.collections&&s.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,s,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":"1763073637736"}
1
+ {"version":"1763561516975"}
Binary file
Binary file