mongoku 2.3.0 → 2.4.1

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 (341) hide show
  1. package/README.md +20 -0
  2. package/build/client/_app/immutable/assets/0.C-Y-CVnr.css +1 -0
  3. package/build/client/_app/immutable/assets/0.C-Y-CVnr.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.C-Y-CVnr.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/12.I1sSDJ6i.css +1 -0
  6. package/build/client/_app/immutable/assets/12.I1sSDJ6i.css.br +0 -0
  7. package/build/client/_app/immutable/assets/12.I1sSDJ6i.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/0oUK0vJa.js +1 -0
  9. package/build/client/_app/immutable/chunks/0oUK0vJa.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/0oUK0vJa.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/B336udpc.js +16 -0
  12. package/build/client/_app/immutable/chunks/B336udpc.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/B336udpc.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/BGXqurs_.js +1 -0
  15. package/build/client/_app/immutable/chunks/BGXqurs_.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BGXqurs_.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/BJkfZNY-.js +1 -0
  18. package/build/client/_app/immutable/chunks/BJkfZNY-.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/BJkfZNY-.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BPbCnJEo.js +1 -0
  21. package/build/client/_app/immutable/chunks/BPbCnJEo.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/BPbCnJEo.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/BUNBmrEa.js +14 -0
  24. package/build/client/_app/immutable/chunks/BUNBmrEa.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/BUNBmrEa.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/BXUq66wC.js +1 -0
  27. package/build/client/_app/immutable/chunks/BXUq66wC.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/BXUq66wC.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/{BgGFWTC8.js → BvPcQZK2.js} +1 -1
  30. package/build/client/_app/immutable/chunks/BvPcQZK2.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/BvPcQZK2.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/{Dt2qaq8g.js → BxoAxRg6.js} +1 -1
  33. package/build/client/_app/immutable/chunks/BxoAxRg6.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/BxoAxRg6.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/ByCRZ7zS.js +2 -0
  36. package/build/client/_app/immutable/chunks/ByCRZ7zS.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/ByCRZ7zS.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/C9h8aqyH.js +1 -0
  39. package/build/client/_app/immutable/chunks/C9h8aqyH.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/C9h8aqyH.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/{C6AfvKtU.js → CGy3kP11.js} +1 -1
  42. package/build/client/_app/immutable/chunks/CGy3kP11.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/CGy3kP11.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/{BXaawuvz.js → DIw4Wyr4.js} +1 -1
  45. package/build/client/_app/immutable/chunks/DIw4Wyr4.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/DIw4Wyr4.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/Dn0_-jEe.js +1 -0
  48. package/build/client/_app/immutable/chunks/Dn0_-jEe.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/Dn0_-jEe.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/UJuWD2W4.js +1 -0
  51. package/build/client/_app/immutable/chunks/UJuWD2W4.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/UJuWD2W4.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/XQ9Icqyt.js +24 -0
  54. package/build/client/_app/immutable/chunks/XQ9Icqyt.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/XQ9Icqyt.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/_kKBJjiB.js +1 -0
  57. package/build/client/_app/immutable/chunks/_kKBJjiB.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/_kKBJjiB.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/dPlEUW2X.js +4 -0
  60. package/build/client/_app/immutable/chunks/dPlEUW2X.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/dPlEUW2X.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/{BrrIPcne.js → reNJcONQ.js} +1 -1
  63. package/build/client/_app/immutable/chunks/reNJcONQ.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/reNJcONQ.js.gz +0 -0
  65. package/build/client/_app/immutable/entry/app.nk8EiZNw.js +2 -0
  66. package/build/client/_app/immutable/entry/app.nk8EiZNw.js.br +0 -0
  67. package/build/client/_app/immutable/entry/app.nk8EiZNw.js.gz +0 -0
  68. package/build/client/_app/immutable/entry/start.CtQkz2o7.js +1 -0
  69. package/build/client/_app/immutable/entry/start.CtQkz2o7.js.br +2 -0
  70. package/build/client/_app/immutable/entry/start.CtQkz2o7.js.gz +0 -0
  71. package/build/client/_app/immutable/nodes/0.Dk5SPGHx.js +1 -0
  72. package/build/client/_app/immutable/nodes/0.Dk5SPGHx.js.br +0 -0
  73. package/build/client/_app/immutable/nodes/0.Dk5SPGHx.js.gz +0 -0
  74. package/build/client/_app/immutable/nodes/1.PFRD-ICI.js +1 -0
  75. package/build/client/_app/immutable/nodes/1.PFRD-ICI.js.br +2 -0
  76. package/build/client/_app/immutable/nodes/1.PFRD-ICI.js.gz +0 -0
  77. package/build/client/_app/immutable/nodes/10.CmUfyDgF.js +1 -0
  78. package/build/client/_app/immutable/nodes/10.CmUfyDgF.js.br +0 -0
  79. package/build/client/_app/immutable/nodes/10.CmUfyDgF.js.gz +0 -0
  80. package/build/client/_app/immutable/nodes/11.bPUdes8_.js +1 -0
  81. package/build/client/_app/immutable/nodes/11.bPUdes8_.js.br +0 -0
  82. package/build/client/_app/immutable/nodes/11.bPUdes8_.js.gz +0 -0
  83. package/build/client/_app/immutable/nodes/12.D4G-13Kx.js +1 -0
  84. package/build/client/_app/immutable/nodes/12.D4G-13Kx.js.br +0 -0
  85. package/build/client/_app/immutable/nodes/12.D4G-13Kx.js.gz +0 -0
  86. package/build/client/_app/immutable/nodes/13.DqOFG2LC.js +66 -0
  87. package/build/client/_app/immutable/nodes/13.DqOFG2LC.js.br +0 -0
  88. package/build/client/_app/immutable/nodes/13.DqOFG2LC.js.gz +0 -0
  89. package/build/client/_app/immutable/nodes/{2.tuhqPc6d.js → 2.DqvBb3C7.js} +1 -1
  90. package/build/client/_app/immutable/nodes/2.DqvBb3C7.js.br +0 -0
  91. package/build/client/_app/immutable/nodes/2.DqvBb3C7.js.gz +0 -0
  92. package/build/client/_app/immutable/nodes/{3.304xAIC7.js → 3.27swwcG4.js} +1 -1
  93. package/build/client/_app/immutable/nodes/3.27swwcG4.js.br +0 -0
  94. package/build/client/_app/immutable/nodes/3.27swwcG4.js.gz +0 -0
  95. package/build/client/_app/immutable/nodes/{4.CRm68VfX.js → 4.CcholrFe.js} +1 -1
  96. package/build/client/_app/immutable/nodes/4.CcholrFe.js.br +0 -0
  97. package/build/client/_app/immutable/nodes/4.CcholrFe.js.gz +0 -0
  98. package/build/client/_app/immutable/nodes/{5.DfCi7Z5N.js → 5.CzudN9q-.js} +1 -1
  99. package/build/client/_app/immutable/nodes/5.CzudN9q-.js.br +0 -0
  100. package/build/client/_app/immutable/nodes/5.CzudN9q-.js.gz +0 -0
  101. package/build/client/_app/immutable/nodes/7.BwFVjS8J.js +1 -0
  102. package/build/client/_app/immutable/nodes/7.BwFVjS8J.js.br +0 -0
  103. package/build/client/_app/immutable/nodes/7.BwFVjS8J.js.gz +0 -0
  104. package/build/client/_app/immutable/nodes/8.CTYR8b2l.js +1 -0
  105. package/build/client/_app/immutable/nodes/8.CTYR8b2l.js.br +0 -0
  106. package/build/client/_app/immutable/nodes/8.CTYR8b2l.js.gz +0 -0
  107. package/build/client/_app/immutable/nodes/9.BwIl1L5J.js +2 -0
  108. package/build/client/_app/immutable/nodes/9.BwIl1L5J.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/9.BwIl1L5J.js.gz +0 -0
  110. package/build/client/_app/version.json +1 -1
  111. package/build/client/_app/version.json.br +0 -0
  112. package/build/client/_app/version.json.gz +0 -0
  113. package/build/server/chunks/0-NdTEY04A.js +22 -0
  114. package/build/server/chunks/0-NdTEY04A.js.map +1 -0
  115. package/build/server/chunks/1-DJmPi__e.js +9 -0
  116. package/build/server/chunks/1-DJmPi__e.js.map +1 -0
  117. package/build/server/chunks/{10-srcxgYum.js → 10-CfUKqMGG.js} +5 -4
  118. package/build/server/chunks/10-CfUKqMGG.js.map +1 -0
  119. package/build/server/chunks/{11-Do6XJz0l.js → 11-DHnP9YEg.js} +5 -4
  120. package/build/server/chunks/11-DHnP9YEg.js.map +1 -0
  121. package/build/server/chunks/{12-zP_nvSCU.js → 12-BjyHnNbM.js} +14 -13
  122. package/build/server/chunks/12-BjyHnNbM.js.map +1 -0
  123. package/build/server/chunks/{13-Df-9cdO7.js → 13-ByZTMiOH.js} +5 -4
  124. package/build/server/chunks/{13-Df-9cdO7.js.map → 13-ByZTMiOH.js.map} +1 -1
  125. package/build/server/chunks/{2-CEvLemXF.js → 2-BheEgghx.js} +2 -2
  126. package/build/server/chunks/{2-CEvLemXF.js.map → 2-BheEgghx.js.map} +1 -1
  127. package/build/server/chunks/{3-C8wnnjW_.js → 3-BwrTscBH.js} +2 -2
  128. package/build/server/chunks/{3-C8wnnjW_.js.map → 3-BwrTscBH.js.map} +1 -1
  129. package/build/server/chunks/{4-CFsHQHNr.js → 4-D28kbpdN.js} +2 -2
  130. package/build/server/chunks/{4-CFsHQHNr.js.map → 4-D28kbpdN.js.map} +1 -1
  131. package/build/server/chunks/{5-BHNZukuO.js → 5--wY8V1OC.js} +2 -2
  132. package/build/server/chunks/{5-BHNZukuO.js.map → 5--wY8V1OC.js.map} +1 -1
  133. package/build/server/chunks/{7-_mc0fkA5.js → 7-IqBEEnPj.js} +5 -4
  134. package/build/server/chunks/7-IqBEEnPj.js.map +1 -0
  135. package/build/server/chunks/{8-CgCyM--7.js → 8-B-f4_kZD.js} +6 -5
  136. package/build/server/chunks/8-B-f4_kZD.js.map +1 -0
  137. package/build/server/chunks/{9-CrztPNtK.js → 9-BiDcE7hd.js} +5 -4
  138. package/build/server/chunks/9-BiDcE7hd.js.map +1 -0
  139. package/build/server/chunks/{JsonValue-BUoddLqM.js → JsonValue-DiECF6Zd.js} +2 -2
  140. package/build/server/chunks/{JsonValue-BUoddLqM.js.map → JsonValue-DiECF6Zd.js.map} +1 -1
  141. package/build/server/chunks/{PrettyJson-5I-m1T9H.js → PrettyJson-ElzPxPF4.js} +4 -4
  142. package/build/server/chunks/{PrettyJson-5I-m1T9H.js.map → PrettyJson-ElzPxPF4.js.map} +1 -1
  143. package/build/server/chunks/{_layout.svelte-CLgSVnvV.js → _layout.svelte-CCi6mq1k.js} +10 -11
  144. package/build/server/chunks/_layout.svelte-CCi6mq1k.js.map +1 -0
  145. package/build/server/chunks/{_page.svelte-BORdYQFx.js → _page.svelte-B4BL5PJR.js} +7 -7
  146. package/build/server/chunks/{_page.svelte-BORdYQFx.js.map → _page.svelte-B4BL5PJR.js.map} +1 -1
  147. package/build/server/chunks/{_page.svelte-CRBjbDDt.js → _page.svelte-BUheieJ5.js} +19 -9
  148. package/build/server/chunks/_page.svelte-BUheieJ5.js.map +1 -0
  149. package/build/server/chunks/{_page.svelte-C9l9vy6P.js → _page.svelte-Bj297hp1.js} +9 -9
  150. package/build/server/chunks/_page.svelte-Bj297hp1.js.map +1 -0
  151. package/build/server/chunks/{_page.svelte-C8zstZ7b.js → _page.svelte-BvjNfjgw.js} +11 -11
  152. package/build/server/chunks/{_page.svelte-C8zstZ7b.js.map → _page.svelte-BvjNfjgw.js.map} +1 -1
  153. package/build/server/chunks/_page.svelte-DDe4hyAB.js +387 -0
  154. package/build/server/chunks/_page.svelte-DDe4hyAB.js.map +1 -0
  155. package/build/server/chunks/{_page.svelte-TuuvQq-s.js → _page.svelte-DEe2Kbbw.js} +66 -7
  156. package/build/server/chunks/_page.svelte-DEe2Kbbw.js.map +1 -0
  157. package/build/server/chunks/{_page.svelte-B4-xrCHW.js → _page.svelte-DJFPwyij.js} +35 -23
  158. package/build/server/chunks/_page.svelte-DJFPwyij.js.map +1 -0
  159. package/build/server/chunks/client-Cp5ag8tA.js +7 -0
  160. package/build/server/chunks/{client-BFlyU7ZU.js.map → client-Cp5ag8tA.js.map} +1 -1
  161. package/build/server/chunks/{client2-DYaMKWrc.js → client2-Dos6p_Xm.js} +3 -4
  162. package/build/server/chunks/{client2-DYaMKWrc.js.map → client2-Dos6p_Xm.js.map} +1 -1
  163. package/build/server/chunks/{error.svelte-BENdaVOT.js → error.svelte-BBEhCLUJ.js} +6 -7
  164. package/build/server/chunks/{error.svelte-BENdaVOT.js.map → error.svelte-BBEhCLUJ.js.map} +1 -1
  165. package/build/server/chunks/{index3-CoOO2o9t.js → index3-DANRthiW.js} +2 -2
  166. package/build/server/chunks/{index3-CoOO2o9t.js.map → index3-DANRthiW.js.map} +1 -1
  167. package/build/server/chunks/{mongo-Db8Vgimy.js → mongo-BHk5yAj9.js} +90 -19
  168. package/build/server/chunks/mongo-BHk5yAj9.js.map +1 -0
  169. package/build/server/chunks/{remote-xxtqbu-AjxdDZZ_.js → remote-xxtqbu-DBe3CqEJ.js} +6 -6
  170. package/build/server/chunks/remote-xxtqbu-DBe3CqEJ.js.map +1 -0
  171. package/build/server/chunks/{server2-_mGVuBoG.js → server2-YmCaJGWy.js} +2 -2
  172. package/build/server/chunks/{server2-_mGVuBoG.js.map → server2-YmCaJGWy.js.map} +1 -1
  173. package/build/server/chunks/{servers.remote-DrkuAWHP.js → servers.remote-HDmNH7n4.js} +245 -15
  174. package/build/server/chunks/servers.remote-HDmNH7n4.js.map +1 -0
  175. package/build/server/chunks/{shared-Buki-xt5.js → shared-CQd3A1I4.js} +2 -2
  176. package/build/server/chunks/{shared-Buki-xt5.js.map → shared-CQd3A1I4.js.map} +1 -1
  177. package/build/server/chunks/{state.svelte-C8IWmp_n.js → state.svelte-Dm0prnTp.js} +2 -2
  178. package/build/server/chunks/{state.svelte-C8IWmp_n.js.map → state.svelte-Dm0prnTp.js.map} +1 -1
  179. package/build/server/chunks/{event-DVH-6ISX.js → utils-D1ahxout.js} +39 -2
  180. package/build/server/chunks/utils-D1ahxout.js.map +1 -0
  181. package/build/server/index.js +3 -4
  182. package/build/server/index.js.map +1 -1
  183. package/build/server/manifest.js +15 -15
  184. package/build/server/manifest.js.map +1 -1
  185. package/package.json +3 -2
  186. package/src/api/servers.remote.ts +275 -11
  187. package/src/app.css +17 -1
  188. package/src/lib/actions/portal.ts +14 -0
  189. package/src/lib/components/Notifications.svelte +2 -1
  190. package/src/lib/components/PageSwitcher.svelte +2 -0
  191. package/src/lib/components/PrettyJson.svelte +1 -47
  192. package/src/lib/components/ReplicaSetSelector.svelte +144 -0
  193. package/src/lib/server/mongo.ts +129 -26
  194. package/src/lib/utils/formatSignificantDigits.ts +30 -0
  195. package/src/lib/utils/formatTimeAgo.ts +20 -0
  196. package/src/lib/utils/hostnames.ts +86 -0
  197. package/src/lib/utils/jsonParser.ts +50 -0
  198. package/src/lib/utils/longestCommonSuffix.ts +47 -0
  199. package/src/lib/utils/sum.ts +10 -0
  200. package/src/routes/+layout.svelte +2 -2
  201. package/src/routes/servers/+page.svelte +5 -6
  202. package/src/routes/servers/[server]/databases/+page.svelte +71 -2
  203. package/src/routes/servers/[server]/databases/[database]/collections/+page.svelte +13 -3
  204. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +237 -39
  205. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.server.ts +8 -8
  206. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.svelte +602 -102
  207. package/build/client/_app/immutable/assets/0.BXOUh4Q1.css +0 -1
  208. package/build/client/_app/immutable/assets/0.BXOUh4Q1.css.br +0 -0
  209. package/build/client/_app/immutable/assets/0.BXOUh4Q1.css.gz +0 -0
  210. package/build/client/_app/immutable/assets/12.B90SyvCO.css +0 -1
  211. package/build/client/_app/immutable/assets/12.B90SyvCO.css.br +0 -0
  212. package/build/client/_app/immutable/assets/12.B90SyvCO.css.gz +0 -0
  213. package/build/client/_app/immutable/chunks/AIOqEo5H.js +0 -1
  214. package/build/client/_app/immutable/chunks/AIOqEo5H.js.br +0 -0
  215. package/build/client/_app/immutable/chunks/AIOqEo5H.js.gz +0 -0
  216. package/build/client/_app/immutable/chunks/BEYqxaXI.js +0 -1
  217. package/build/client/_app/immutable/chunks/BEYqxaXI.js.br +0 -0
  218. package/build/client/_app/immutable/chunks/BEYqxaXI.js.gz +0 -0
  219. package/build/client/_app/immutable/chunks/BJqoLy3B.js +0 -2
  220. package/build/client/_app/immutable/chunks/BJqoLy3B.js.br +0 -0
  221. package/build/client/_app/immutable/chunks/BJqoLy3B.js.gz +0 -0
  222. package/build/client/_app/immutable/chunks/BXaawuvz.js.br +0 -2
  223. package/build/client/_app/immutable/chunks/BXaawuvz.js.gz +0 -0
  224. package/build/client/_app/immutable/chunks/BgGFWTC8.js.br +0 -0
  225. package/build/client/_app/immutable/chunks/BgGFWTC8.js.gz +0 -0
  226. package/build/client/_app/immutable/chunks/Bpmh7lVJ.js +0 -1
  227. package/build/client/_app/immutable/chunks/Bpmh7lVJ.js.br +0 -6
  228. package/build/client/_app/immutable/chunks/Bpmh7lVJ.js.gz +0 -0
  229. package/build/client/_app/immutable/chunks/BrrIPcne.js.br +0 -0
  230. package/build/client/_app/immutable/chunks/BrrIPcne.js.gz +0 -0
  231. package/build/client/_app/immutable/chunks/ByHQcyQR.js +0 -1
  232. package/build/client/_app/immutable/chunks/ByHQcyQR.js.br +0 -0
  233. package/build/client/_app/immutable/chunks/ByHQcyQR.js.gz +0 -0
  234. package/build/client/_app/immutable/chunks/C6AfvKtU.js.br +0 -0
  235. package/build/client/_app/immutable/chunks/C6AfvKtU.js.gz +0 -0
  236. package/build/client/_app/immutable/chunks/COPDkxhL.js +0 -29
  237. package/build/client/_app/immutable/chunks/COPDkxhL.js.br +0 -0
  238. package/build/client/_app/immutable/chunks/COPDkxhL.js.gz +0 -0
  239. package/build/client/_app/immutable/chunks/CTHGUrxr.js +0 -2
  240. package/build/client/_app/immutable/chunks/CTHGUrxr.js.br +0 -0
  241. package/build/client/_app/immutable/chunks/CTHGUrxr.js.gz +0 -0
  242. package/build/client/_app/immutable/chunks/Cotvfu8-.js +0 -1
  243. package/build/client/_app/immutable/chunks/Cotvfu8-.js.br +0 -0
  244. package/build/client/_app/immutable/chunks/Cotvfu8-.js.gz +0 -0
  245. package/build/client/_app/immutable/chunks/DQ-rgtMu.js +0 -1
  246. package/build/client/_app/immutable/chunks/DQ-rgtMu.js.br +0 -0
  247. package/build/client/_app/immutable/chunks/DQ-rgtMu.js.gz +0 -0
  248. package/build/client/_app/immutable/chunks/DR2XDb5m.js +0 -4
  249. package/build/client/_app/immutable/chunks/DR2XDb5m.js.br +0 -0
  250. package/build/client/_app/immutable/chunks/DR2XDb5m.js.gz +0 -0
  251. package/build/client/_app/immutable/chunks/DUjc2RFp.js +0 -1
  252. package/build/client/_app/immutable/chunks/DUjc2RFp.js.br +0 -0
  253. package/build/client/_app/immutable/chunks/DUjc2RFp.js.gz +0 -0
  254. package/build/client/_app/immutable/chunks/DaTUpm_7.js +0 -1
  255. package/build/client/_app/immutable/chunks/DaTUpm_7.js.br +0 -0
  256. package/build/client/_app/immutable/chunks/DaTUpm_7.js.gz +0 -0
  257. package/build/client/_app/immutable/chunks/DnwC6gcO.js +0 -23
  258. package/build/client/_app/immutable/chunks/DnwC6gcO.js.br +0 -0
  259. package/build/client/_app/immutable/chunks/DnwC6gcO.js.gz +0 -0
  260. package/build/client/_app/immutable/chunks/Dt2qaq8g.js.br +0 -0
  261. package/build/client/_app/immutable/chunks/Dt2qaq8g.js.gz +0 -0
  262. package/build/client/_app/immutable/chunks/EUN-td6X.js +0 -1
  263. package/build/client/_app/immutable/chunks/EUN-td6X.js.br +0 -0
  264. package/build/client/_app/immutable/chunks/EUN-td6X.js.gz +0 -0
  265. package/build/client/_app/immutable/chunks/EbSISJZg.js +0 -1
  266. package/build/client/_app/immutable/chunks/EbSISJZg.js.br +0 -0
  267. package/build/client/_app/immutable/chunks/EbSISJZg.js.gz +0 -0
  268. package/build/client/_app/immutable/chunks/f0NSiE2-.js +0 -1
  269. package/build/client/_app/immutable/chunks/f0NSiE2-.js.br +0 -0
  270. package/build/client/_app/immutable/chunks/f0NSiE2-.js.gz +0 -0
  271. package/build/client/_app/immutable/chunks/qhxgM-U4.js +0 -1
  272. package/build/client/_app/immutable/chunks/qhxgM-U4.js.br +0 -0
  273. package/build/client/_app/immutable/chunks/qhxgM-U4.js.gz +0 -0
  274. package/build/client/_app/immutable/chunks/zJxs36IQ.js +0 -1
  275. package/build/client/_app/immutable/chunks/zJxs36IQ.js.br +0 -0
  276. package/build/client/_app/immutable/chunks/zJxs36IQ.js.gz +0 -0
  277. package/build/client/_app/immutable/entry/app.Cu4hmll6.js +0 -2
  278. package/build/client/_app/immutable/entry/app.Cu4hmll6.js.br +0 -0
  279. package/build/client/_app/immutable/entry/app.Cu4hmll6.js.gz +0 -0
  280. package/build/client/_app/immutable/entry/start.CWodO31h.js +0 -1
  281. package/build/client/_app/immutable/entry/start.CWodO31h.js.br +0 -2
  282. package/build/client/_app/immutable/entry/start.CWodO31h.js.gz +0 -0
  283. package/build/client/_app/immutable/nodes/0.CA_MMU1Y.js +0 -1
  284. package/build/client/_app/immutable/nodes/0.CA_MMU1Y.js.br +0 -0
  285. package/build/client/_app/immutable/nodes/0.CA_MMU1Y.js.gz +0 -0
  286. package/build/client/_app/immutable/nodes/1.RRRMvoTM.js +0 -1
  287. package/build/client/_app/immutable/nodes/1.RRRMvoTM.js.br +0 -1
  288. package/build/client/_app/immutable/nodes/1.RRRMvoTM.js.gz +0 -0
  289. package/build/client/_app/immutable/nodes/10.SPSTrllh.js +0 -1
  290. package/build/client/_app/immutable/nodes/10.SPSTrllh.js.br +0 -0
  291. package/build/client/_app/immutable/nodes/10.SPSTrllh.js.gz +0 -0
  292. package/build/client/_app/immutable/nodes/11.C4Wc3Kw8.js +0 -1
  293. package/build/client/_app/immutable/nodes/11.C4Wc3Kw8.js.br +0 -0
  294. package/build/client/_app/immutable/nodes/11.C4Wc3Kw8.js.gz +0 -0
  295. package/build/client/_app/immutable/nodes/12.CWkEGtcM.js +0 -1
  296. package/build/client/_app/immutable/nodes/12.CWkEGtcM.js.br +0 -0
  297. package/build/client/_app/immutable/nodes/12.CWkEGtcM.js.gz +0 -0
  298. package/build/client/_app/immutable/nodes/13.CHTpks4Z.js +0 -66
  299. package/build/client/_app/immutable/nodes/13.CHTpks4Z.js.br +0 -0
  300. package/build/client/_app/immutable/nodes/13.CHTpks4Z.js.gz +0 -0
  301. package/build/client/_app/immutable/nodes/2.tuhqPc6d.js.br +0 -0
  302. package/build/client/_app/immutable/nodes/2.tuhqPc6d.js.gz +0 -0
  303. package/build/client/_app/immutable/nodes/3.304xAIC7.js.br +0 -0
  304. package/build/client/_app/immutable/nodes/3.304xAIC7.js.gz +0 -0
  305. package/build/client/_app/immutable/nodes/4.CRm68VfX.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/4.CRm68VfX.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/5.DfCi7Z5N.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/5.DfCi7Z5N.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/7.COdDrqa5.js +0 -1
  310. package/build/client/_app/immutable/nodes/7.COdDrqa5.js.br +0 -0
  311. package/build/client/_app/immutable/nodes/7.COdDrqa5.js.gz +0 -0
  312. package/build/client/_app/immutable/nodes/8.COLtCRaa.js +0 -1
  313. package/build/client/_app/immutable/nodes/8.COLtCRaa.js.br +0 -0
  314. package/build/client/_app/immutable/nodes/8.COLtCRaa.js.gz +0 -0
  315. package/build/client/_app/immutable/nodes/9.DGHjsSV7.js +0 -2
  316. package/build/client/_app/immutable/nodes/9.DGHjsSV7.js.br +0 -0
  317. package/build/client/_app/immutable/nodes/9.DGHjsSV7.js.gz +0 -0
  318. package/build/server/chunks/0-QaXL5dxl.js +0 -22
  319. package/build/server/chunks/0-QaXL5dxl.js.map +0 -1
  320. package/build/server/chunks/1-lbtVyJzb.js +0 -9
  321. package/build/server/chunks/1-lbtVyJzb.js.map +0 -1
  322. package/build/server/chunks/10-srcxgYum.js.map +0 -1
  323. package/build/server/chunks/11-Do6XJz0l.js.map +0 -1
  324. package/build/server/chunks/12-zP_nvSCU.js.map +0 -1
  325. package/build/server/chunks/7-_mc0fkA5.js.map +0 -1
  326. package/build/server/chunks/8-CgCyM--7.js.map +0 -1
  327. package/build/server/chunks/9-CrztPNtK.js.map +0 -1
  328. package/build/server/chunks/_layout.svelte-CLgSVnvV.js.map +0 -1
  329. package/build/server/chunks/_page.svelte-B4-xrCHW.js.map +0 -1
  330. package/build/server/chunks/_page.svelte-C9l9vy6P.js.map +0 -1
  331. package/build/server/chunks/_page.svelte-CRBjbDDt.js.map +0 -1
  332. package/build/server/chunks/_page.svelte-CiIXCzlp.js +0 -210
  333. package/build/server/chunks/_page.svelte-CiIXCzlp.js.map +0 -1
  334. package/build/server/chunks/_page.svelte-TuuvQq-s.js.map +0 -1
  335. package/build/server/chunks/client-BFlyU7ZU.js +0 -7
  336. package/build/server/chunks/event-DVH-6ISX.js.map +0 -1
  337. package/build/server/chunks/mongo-Db8Vgimy.js.map +0 -1
  338. package/build/server/chunks/remote-xxtqbu-AjxdDZZ_.js.map +0 -1
  339. package/build/server/chunks/servers.remote-DrkuAWHP.js.map +0 -1
  340. package/build/server/chunks/utils-kjxf7BZO.js +0 -39
  341. package/build/server/chunks/utils-kjxf7BZO.js.map +0 -1
@@ -0,0 +1,387 @@
1
+ import './async-lVJA8xJZ.js';
2
+ import { c as await_block, a as attr, e as ensure_array_like, b as attr_class } from './index2-DzKnqQNM.js';
3
+ import './servers.remote-HDmNH7n4.js';
4
+ import './exports-Cv9LZeD1.js';
5
+ import './utils-D1ahxout.js';
6
+ import './state.svelte-Dm0prnTp.js';
7
+ import './client-Cp5ag8tA.js';
8
+ import { J as JsonValue_1 } from './JsonValue-DiECF6Zd.js';
9
+ import { M as Modal } from './Modal-BzZ9u6V6.js';
10
+ import { P as Panel } from './Panel-DEP08QXV.js';
11
+ import { f as formatBytes } from './filters-CbFjTNFI.js';
12
+ import { e as escape_html } from './context-C22hLSHK.js';
13
+ import './shared-CQd3A1I4.js';
14
+ import './index-Djsj11qr.js';
15
+ import './jsonParser-C3QUcODD.js';
16
+ import 'esprima';
17
+ import './JsonEncoder-B8eJRYZ4.js';
18
+ import 'mongodb';
19
+ import './logger-KF6KpVP6.js';
20
+ import 'async_hooks';
21
+ import 'node:util';
22
+ import './mongo-BHk5yAj9.js';
23
+ import 'dns/promises';
24
+ import 'url';
25
+ import 'node:fs';
26
+ import 'node:os';
27
+ import 'node:path';
28
+ import 'zod';
29
+ import './client2-Dos6p_Xm.js';
30
+ import './index-DFXVwu6p.js';
31
+ import './Tooltip-DK6Aok7l.js';
32
+
33
+ function formatSignificantDigits(value, digits = 3) {
34
+ if (value === 0) return "0";
35
+ const absValue = Math.abs(value);
36
+ const sign = value < 0 ? "-" : "";
37
+ if (absValue >= 1e9) {
38
+ const billions = absValue / 1e9;
39
+ return `${sign}${billions.toPrecision(digits)}B`;
40
+ } else if (absValue >= 1e6) {
41
+ const millions = absValue / 1e6;
42
+ return `${sign}${millions.toPrecision(digits)}M`;
43
+ } else if (absValue >= 1e3) {
44
+ const thousands = absValue / 1e3;
45
+ return `${sign}${thousands.toPrecision(digits)}k`;
46
+ } else {
47
+ return `${sign}${absValue.toPrecision(Math.min(digits, Math.ceil(Math.log10(absValue + 1))))}`;
48
+ }
49
+ }
50
+ function findCommonPrefix(strings) {
51
+ if (strings.length === 0) return "";
52
+ if (strings.length === 1) return "";
53
+ let prefix = strings[0];
54
+ for (let i = 1; i < strings.length; i++) {
55
+ while (strings[i].indexOf(prefix) !== 0) {
56
+ prefix = prefix.substring(0, prefix.length - 1);
57
+ if (prefix === "") return "";
58
+ }
59
+ }
60
+ return prefix;
61
+ }
62
+ function findCommonSuffix(strings) {
63
+ if (strings.length === 0) return "";
64
+ if (strings.length === 1) return "";
65
+ const reversed = strings.map((s) => s.split("").reverse().join(""));
66
+ const reversedPrefix = findCommonPrefix(reversed);
67
+ return reversedPrefix.split("").reverse().join("");
68
+ }
69
+ function shortenHostname(hostname, commonPrefix, commonSuffix) {
70
+ if (!commonPrefix && !commonSuffix) {
71
+ return hostname;
72
+ }
73
+ let result = hostname;
74
+ if (commonPrefix && result.startsWith(commonPrefix)) {
75
+ result = result.slice(commonPrefix.length);
76
+ }
77
+ if (commonSuffix && result.endsWith(commonSuffix)) {
78
+ result = result.slice(0, -commonSuffix.length);
79
+ }
80
+ if (result.length === 0) {
81
+ return hostname;
82
+ }
83
+ const hasPrefix = commonPrefix.length > 0;
84
+ const hasSuffix = commonSuffix.length > 0;
85
+ if (hasPrefix && hasSuffix) {
86
+ return `…${result}…`;
87
+ } else if (hasPrefix) {
88
+ return `…${result}`;
89
+ } else if (hasSuffix) {
90
+ return `${result}…`;
91
+ }
92
+ return result;
93
+ }
94
+ function getShortenedHostnames(hosts) {
95
+ if (hosts.length <= 1) {
96
+ return Object.fromEntries(hosts.map((h) => [h, h]));
97
+ }
98
+ const commonPrefix = findCommonPrefix(hosts);
99
+ const commonSuffix = findCommonSuffix(hosts);
100
+ return Object.fromEntries(hosts.map((host) => [host, shortenHostname(host, commonPrefix, commonSuffix)]));
101
+ }
102
+ function omit(obj, keys) {
103
+ return Object.fromEntries(Object.entries(obj).filter(([key]) => !keys.includes(key)));
104
+ }
105
+ function _page($$renderer, $$props) {
106
+ $$renderer.component(($$renderer2) => {
107
+ const { data } = $$props;
108
+ const readOnly = data.readOnly;
109
+ let loadingIndexes = /* @__PURE__ */ new Set();
110
+ let showDropModal = false;
111
+ let indexToDrop = null;
112
+ let showCreateModal = false;
113
+ let selectedNodes = [];
114
+ let multiNodeStats = {};
115
+ let baselineMultiNodeStats = {};
116
+ let creatingIndex = false;
117
+ let lastFetchedNodes = [];
118
+ const shortenedHostnames = (() => {
119
+ const hosts = [
120
+ ...new Set(Object.values(multiNodeStats).map((stat) => stat.host))
121
+ ];
122
+ return getShortenedHostnames(hosts);
123
+ })();
124
+ const selectedNodesChanged = selectedNodes.length !== lastFetchedNodes.length || !selectedNodes.every((node) => lastFetchedNodes.includes(node));
125
+ Object.keys(baselineMultiNodeStats).length > 0 && !selectedNodesChanged;
126
+ let indexKeys = '{ "fieldName": 1 }';
127
+ let indexName = "";
128
+ let indexUnique = false;
129
+ let indexSparse = false;
130
+ let indexPartialFilterExpression = "";
131
+ let indexExpireAfterSeconds = void 0;
132
+ let indexBackground = false;
133
+ const indexesData = data.indexes;
134
+ function closeCreateModal() {
135
+ showCreateModal = false;
136
+ }
137
+ function closeDropModal() {
138
+ showDropModal = false;
139
+ indexToDrop = null;
140
+ }
141
+ let $$settled = true;
142
+ let $$inner_renderer;
143
+ function $$render_inner($$renderer3) {
144
+ await_block(
145
+ $$renderer3,
146
+ indexesData,
147
+ () => {
148
+ Panel($$renderer3, {
149
+ title: "Indexes",
150
+ children: ($$renderer4) => {
151
+ $$renderer4.push(`<div class="loading svelte-l3ef1w">Loading indexes...</div>`);
152
+ },
153
+ $$slots: { default: true }
154
+ });
155
+ },
156
+ (result) => {
157
+ if (result.error) {
158
+ $$renderer3.push("<!--[-->");
159
+ Panel($$renderer3, {
160
+ title: "Indexes",
161
+ children: ($$renderer4) => {
162
+ $$renderer4.push(`<div class="p-4 svelte-l3ef1w"><p class="error svelte-l3ef1w">${escape_html(result.error)}</p></div>`);
163
+ },
164
+ $$slots: { default: true }
165
+ });
166
+ } else {
167
+ $$renderer3.push("<!--[!-->");
168
+ $$renderer3.push(`<div class="mb-4 flex gap-3 svelte-l3ef1w">`);
169
+ if (!readOnly) {
170
+ $$renderer3.push("<!--[-->");
171
+ $$renderer3.push(`<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>`);
172
+ } else {
173
+ $$renderer3.push("<!--[!-->");
174
+ }
175
+ $$renderer3.push(`<!--]--> <button class="btn btn-primary btn-sm svelte-l3ef1w">${escape_html("Show")} Multi-Node Usage</button></div> `);
176
+ if (result.data.length === 0) {
177
+ $$renderer3.push("<!--[-->");
178
+ Panel($$renderer3, {
179
+ title: "Indexes",
180
+ children: ($$renderer4) => {
181
+ $$renderer4.push(`<div class="text-center p-4 svelte-l3ef1w" style="color: var(--text-darker)">No indexes found</div>`);
182
+ },
183
+ $$slots: { default: true }
184
+ });
185
+ } else {
186
+ $$renderer3.push("<!--[!-->");
187
+ {
188
+ $$renderer3.push("<!--[!-->");
189
+ }
190
+ $$renderer3.push(`<!--]--> `);
191
+ Panel($$renderer3, {
192
+ title: "Indexes",
193
+ children: ($$renderer4) => {
194
+ $$renderer4.push(`<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>`);
195
+ if (!readOnly) {
196
+ $$renderer4.push("<!--[-->");
197
+ $$renderer4.push(`<th style="width: 150px" class="svelte-l3ef1w">Actions</th>`);
198
+ } else {
199
+ $$renderer4.push("<!--[!-->");
200
+ }
201
+ $$renderer4.push(`<!--]--></tr></thead><tbody class="svelte-l3ef1w"><!--[-->`);
202
+ const each_array = ensure_array_like(result.data);
203
+ for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {
204
+ let index = each_array[$$index_2];
205
+ const isLoading = loadingIndexes.has(index.name);
206
+ $$renderer4.push(`<tr${attr_class("group svelte-l3ef1w", void 0, { "opacity-50": isLoading })}><td class="name-cell svelte-l3ef1w"><span class="font-mono text-sm index-name svelte-l3ef1w"${attr("title", index.name)}>${escape_html(index.name)}</span></td><td class="svelte-l3ef1w">`);
207
+ if (index.key) {
208
+ $$renderer4.push("<!--[-->");
209
+ $$renderer4.push(`<div class="flex flex-wrap gap-2 svelte-l3ef1w"><!--[-->`);
210
+ const each_array_1 = ensure_array_like(Object.entries(index.key));
211
+ for (let i = 0, $$length2 = each_array_1.length; i < $$length2; i++) {
212
+ let [field, direction] = each_array_1[i];
213
+ $$renderer4.push(`<span class="index-key svelte-l3ef1w">${escape_html(field)}: ${escape_html(direction === 1 ? "↑" : direction === -1 ? "↓" : direction)}</span>`);
214
+ }
215
+ $$renderer4.push(`<!--]--></div>`);
216
+ } else {
217
+ $$renderer4.push("<!--[!-->");
218
+ $$renderer4.push(`<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>`);
219
+ }
220
+ $$renderer4.push(`<!--]--></td><td class="svelte-l3ef1w"><div class="flex flex-wrap gap-2 svelte-l3ef1w">`);
221
+ if (index.stats?.building) {
222
+ $$renderer4.push("<!--[-->");
223
+ $$renderer4.push(`<span class="badge badge-building svelte-l3ef1w">building</span>`);
224
+ } else {
225
+ $$renderer4.push("<!--[!-->");
226
+ }
227
+ $$renderer4.push(`<!--]--> `);
228
+ if (index.hidden) {
229
+ $$renderer4.push("<!--[-->");
230
+ $$renderer4.push(`<span class="badge badge-hidden svelte-l3ef1w">hidden</span>`);
231
+ } else {
232
+ $$renderer4.push("<!--[!-->");
233
+ }
234
+ $$renderer4.push(`<!--]--> `);
235
+ if (index.unique) {
236
+ $$renderer4.push("<!--[-->");
237
+ $$renderer4.push(`<span class="badge badge-unique svelte-l3ef1w">unique</span>`);
238
+ } else {
239
+ $$renderer4.push("<!--[!-->");
240
+ }
241
+ $$renderer4.push(`<!--]--> `);
242
+ if (index.sparse) {
243
+ $$renderer4.push("<!--[-->");
244
+ $$renderer4.push(`<span class="badge badge-sparse svelte-l3ef1w">sparse</span>`);
245
+ } else {
246
+ $$renderer4.push("<!--[!-->");
247
+ }
248
+ $$renderer4.push(`<!--]--> `);
249
+ if (index.partialFilterExpression) {
250
+ $$renderer4.push("<!--[-->");
251
+ $$renderer4.push(`<span class="badge badge-partial svelte-l3ef1w">partial</span>`);
252
+ } else {
253
+ $$renderer4.push("<!--[!-->");
254
+ }
255
+ $$renderer4.push(`<!--]--> `);
256
+ if (!index.stats?.building && !index.hidden && !index.unique && !index.sparse && !index.partialFilterExpression) {
257
+ $$renderer4.push("<!--[-->");
258
+ $$renderer4.push(`<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>`);
259
+ } else {
260
+ $$renderer4.push("<!--[!-->");
261
+ }
262
+ $$renderer4.push(`<!--]--></div></td><td class="svelte-l3ef1w">`);
263
+ if (index.size) {
264
+ $$renderer4.push("<!--[-->");
265
+ $$renderer4.push(`<span class="text-sm whitespace-nowrap svelte-l3ef1w">${escape_html(formatBytes(index.size))}</span>`);
266
+ } else {
267
+ $$renderer4.push("<!--[!-->");
268
+ $$renderer4.push(`<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>`);
269
+ }
270
+ $$renderer4.push(`<!--]--></td><td class="svelte-l3ef1w">`);
271
+ if (index.stats) {
272
+ $$renderer4.push("<!--[-->");
273
+ const indexMultiNodeStats = Object.entries(multiNodeStats).filter(([key]) => key.startsWith(`${index.name}::`)).map(([key, stats]) => ({ key, stats }));
274
+ const indexBaselineStats = Object.fromEntries(Object.entries(baselineMultiNodeStats).filter(([key]) => key.startsWith(`${index.name}::`)));
275
+ $$renderer4.push(`<div class="text-sm mt-1 svelte-l3ef1w">`);
276
+ if (indexMultiNodeStats.length > 0) {
277
+ $$renderer4.push("<!--[-->");
278
+ {
279
+ $$renderer4.push("<!--[!-->");
280
+ $$renderer4.push(`<!--[-->`);
281
+ const each_array_2 = ensure_array_like(indexMultiNodeStats);
282
+ for (let i = 0, $$length2 = each_array_2.length; i < $$length2; i++) {
283
+ let { key, stats } = each_array_2[i];
284
+ const baselineOps = indexBaselineStats[key]?.ops || 0;
285
+ const increment = baselineOps > 0 ? stats.ops - baselineOps : 0;
286
+ $$renderer4.push(`<div class="separate-stat svelte-l3ef1w"${attr("title", stats.host)}><span class="stat-host svelte-l3ef1w">${escape_html(shortenedHostnames[stats.host] || stats.host)}:</span> <span class="stat-value svelte-l3ef1w">${escape_html(increment > 0 ? formatSignificantDigits(stats.ops) : stats.ops.toLocaleString())} `);
287
+ if (increment > 0) {
288
+ $$renderer4.push("<!--[-->");
289
+ $$renderer4.push(`<span class="increment-badge svelte-l3ef1w">+${escape_html(formatSignificantDigits(increment))}</span>`);
290
+ } else {
291
+ $$renderer4.push("<!--[!-->");
292
+ }
293
+ $$renderer4.push(`<!--]--></span></div>`);
294
+ }
295
+ $$renderer4.push(`<!--]-->`);
296
+ }
297
+ $$renderer4.push(`<!--]-->`);
298
+ } else {
299
+ $$renderer4.push("<!--[!-->");
300
+ $$renderer4.push(`<div class="svelte-l3ef1w">${escape_html(index.stats.ops.toLocaleString())}</div>`);
301
+ }
302
+ $$renderer4.push(`<!--]--></div>`);
303
+ } else {
304
+ $$renderer4.push("<!--[!-->");
305
+ $$renderer4.push(`<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>`);
306
+ }
307
+ $$renderer4.push(`<!--]--></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">`);
308
+ JsonValue_1($$renderer4, { value: omit(index, ["stats"]), collapsed: false });
309
+ $$renderer4.push(`<!----></div></details></td>`);
310
+ if (!readOnly) {
311
+ $$renderer4.push("<!--[-->");
312
+ $$renderer4.push(`<td class="svelte-l3ef1w">`);
313
+ if (index.name !== "_id_") {
314
+ $$renderer4.push("<!--[-->");
315
+ $$renderer4.push(`<div class="flex gap-2 hidden group-hover:flex -my-2 svelte-l3ef1w"><button class="btn btn-outline-light btn-sm svelte-l3ef1w"${attr("disabled", isLoading, true)}>${escape_html(index.hidden ? "Unhide" : "Hide")}</button> <button class="btn btn-outline-danger btn-sm svelte-l3ef1w"${attr("disabled", isLoading, true)}>Drop</button></div>`);
316
+ } else {
317
+ $$renderer4.push("<!--[!-->");
318
+ }
319
+ $$renderer4.push(`<!--]--></td>`);
320
+ } else {
321
+ $$renderer4.push("<!--[!-->");
322
+ }
323
+ $$renderer4.push(`<!--]--></tr>`);
324
+ }
325
+ $$renderer4.push(`<!--]--></tbody></table></div>`);
326
+ },
327
+ $$slots: { default: true }
328
+ });
329
+ $$renderer3.push(`<!---->`);
330
+ }
331
+ $$renderer3.push(`<!--]-->`);
332
+ }
333
+ $$renderer3.push(`<!--]-->`);
334
+ }
335
+ );
336
+ $$renderer3.push(`<!--]--> `);
337
+ {
338
+ let footer = function($$renderer4) {
339
+ $$renderer4.push(`<button class="btn btn-default btn-sm svelte-l3ef1w">Cancel</button> <button class="btn btn-danger btn-sm svelte-l3ef1w">Drop Index</button>`);
340
+ };
341
+ Modal($$renderer3, {
342
+ show: showDropModal,
343
+ onclose: closeDropModal,
344
+ footer,
345
+ children: ($$renderer4) => {
346
+ $$renderer4.push(`<p class="svelte-l3ef1w">Are you sure you want to drop the index <strong class="svelte-l3ef1w">${escape_html(indexToDrop)}</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>`);
347
+ }
348
+ });
349
+ }
350
+ $$renderer3.push(`<!----> `);
351
+ {
352
+ let footer = function($$renderer4) {
353
+ $$renderer4.push(`<button class="btn btn-default btn-sm svelte-l3ef1w"${attr("disabled", creatingIndex, true)}>Cancel</button> <button class="btn btn-success btn-sm svelte-l3ef1w"${attr("disabled", creatingIndex, true)}>${escape_html("Create Index")}</button>`);
354
+ };
355
+ Modal($$renderer3, {
356
+ show: showCreateModal,
357
+ onclose: closeCreateModal,
358
+ title: "Create Index",
359
+ footer,
360
+ children: ($$renderer4) => {
361
+ $$renderer4.push(`<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">{ "fieldName": 1 }</code></p> <textarea id="index-keys" rows="3" placeholder="{&quot;fieldName&quot;: 1}" 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);">`);
362
+ const $$body = escape_html(indexKeys);
363
+ if ($$body) {
364
+ $$renderer4.push(`${$$body}`);
365
+ }
366
+ $$renderer4.push(`</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"${attr("value", indexName)} 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"${attr("checked", indexUnique, true)} 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"${attr("checked", indexSparse, true)} 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"${attr("checked", indexBackground, true)} 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">{ "status": "active" }</code></p> <textarea id="index-partial" rows="2" placeholder="{&quot;status&quot;: &quot;active&quot;}" 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);">`);
367
+ const $$body_1 = escape_html(indexPartialFilterExpression);
368
+ if ($$body_1) {
369
+ $$renderer4.push(`${$$body_1}`);
370
+ }
371
+ $$renderer4.push(`</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"${attr("value", indexExpireAfterSeconds)} 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>`);
372
+ }
373
+ });
374
+ }
375
+ $$renderer3.push(`<!---->`);
376
+ }
377
+ do {
378
+ $$settled = true;
379
+ $$inner_renderer = $$renderer2.copy();
380
+ $$render_inner($$inner_renderer);
381
+ } while (!$$settled);
382
+ $$renderer2.subsume($$inner_renderer);
383
+ });
384
+ }
385
+
386
+ export { _page as default };
387
+ //# sourceMappingURL=_page.svelte-DDe4hyAB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-DDe4hyAB.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_collection_/indexes/_page.svelte.js"],"sourcesContent":["import \"../../../../../../../../../chunks/async.js\";\nimport { G as await_block, w as ensure_array_like, y as attr_class, x as attr } from \"../../../../../../../../../chunks/index2.js\";\nimport \"../../../../../../../../../chunks/servers.remote.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../../../../../../../../chunks/exports.js\";\nimport \"../../../../../../../../../chunks/utils.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../../../../../../../../chunks/state.svelte.js\";\nimport \"../../../../../../../../../chunks/client.js\";\nimport { J as JsonValue_1 } from \"../../../../../../../../../chunks/JsonValue.js\";\nimport { M as Modal } from \"../../../../../../../../../chunks/Modal.js\";\nimport { P as Panel } from \"../../../../../../../../../chunks/Panel.js\";\nimport { f as formatBytes } from \"../../../../../../../../../chunks/filters.js\";\nimport { e as escape_html } from \"../../../../../../../../../chunks/context.js\";\nfunction formatSignificantDigits(value, digits = 3) {\n if (value === 0) return \"0\";\n const absValue = Math.abs(value);\n const sign = value < 0 ? \"-\" : \"\";\n if (absValue >= 1e9) {\n const billions = absValue / 1e9;\n return `${sign}${billions.toPrecision(digits)}B`;\n } else if (absValue >= 1e6) {\n const millions = absValue / 1e6;\n return `${sign}${millions.toPrecision(digits)}M`;\n } else if (absValue >= 1e3) {\n const thousands = absValue / 1e3;\n return `${sign}${thousands.toPrecision(digits)}k`;\n } else {\n return `${sign}${absValue.toPrecision(Math.min(digits, Math.ceil(Math.log10(absValue + 1))))}`;\n }\n}\nfunction findCommonPrefix(strings) {\n if (strings.length === 0) return \"\";\n if (strings.length === 1) return \"\";\n let prefix = strings[0];\n for (let i = 1; i < strings.length; i++) {\n while (strings[i].indexOf(prefix) !== 0) {\n prefix = prefix.substring(0, prefix.length - 1);\n if (prefix === \"\") return \"\";\n }\n }\n return prefix;\n}\nfunction findCommonSuffix(strings) {\n if (strings.length === 0) return \"\";\n if (strings.length === 1) return \"\";\n const reversed = strings.map((s) => s.split(\"\").reverse().join(\"\"));\n const reversedPrefix = findCommonPrefix(reversed);\n return reversedPrefix.split(\"\").reverse().join(\"\");\n}\nfunction shortenHostname(hostname, commonPrefix, commonSuffix) {\n if (!commonPrefix && !commonSuffix) {\n return hostname;\n }\n let result = hostname;\n if (commonPrefix && result.startsWith(commonPrefix)) {\n result = result.slice(commonPrefix.length);\n }\n if (commonSuffix && result.endsWith(commonSuffix)) {\n result = result.slice(0, -commonSuffix.length);\n }\n if (result.length === 0) {\n return hostname;\n }\n const hasPrefix = commonPrefix.length > 0;\n const hasSuffix = commonSuffix.length > 0;\n if (hasPrefix && hasSuffix) {\n return `…${result}…`;\n } else if (hasPrefix) {\n return `…${result}`;\n } else if (hasSuffix) {\n return `${result}…`;\n }\n return result;\n}\nfunction getShortenedHostnames(hosts) {\n if (hosts.length <= 1) {\n return Object.fromEntries(hosts.map((h) => [h, h]));\n }\n const commonPrefix = findCommonPrefix(hosts);\n const commonSuffix = findCommonSuffix(hosts);\n return Object.fromEntries(hosts.map((host) => [host, shortenHostname(host, commonPrefix, commonSuffix)]));\n}\nfunction omit(obj, keys) {\n return Object.fromEntries(Object.entries(obj).filter(([key]) => !keys.includes(key)));\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { data } = $$props;\n const readOnly = data.readOnly;\n let loadingIndexes = /* @__PURE__ */ new Set();\n let showDropModal = false;\n let indexToDrop = null;\n let showCreateModal = false;\n let selectedNodes = [];\n let multiNodeStats = {};\n let baselineMultiNodeStats = {};\n let creatingIndex = false;\n let lastFetchedNodes = [];\n const shortenedHostnames = (() => {\n const hosts = [\n ...new Set(Object.values(multiNodeStats).map((stat) => stat.host))\n ];\n return getShortenedHostnames(hosts);\n })();\n const selectedNodesChanged = selectedNodes.length !== lastFetchedNodes.length || !selectedNodes.every((node) => lastFetchedNodes.includes(node));\n Object.keys(baselineMultiNodeStats).length > 0 && !selectedNodesChanged;\n let indexKeys = '{ \"fieldName\": 1 }';\n let indexName = \"\";\n let indexUnique = false;\n let indexSparse = false;\n let indexPartialFilterExpression = \"\";\n let indexExpireAfterSeconds = void 0;\n let indexBackground = false;\n const indexesData = data.indexes;\n function closeCreateModal() {\n showCreateModal = false;\n }\n function closeDropModal() {\n showDropModal = false;\n indexToDrop = null;\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n await_block(\n $$renderer3,\n indexesData,\n () => {\n Panel($$renderer3, {\n title: \"Indexes\",\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"loading svelte-l3ef1w\">Loading indexes...</div>`);\n },\n $$slots: { default: true }\n });\n },\n (result) => {\n if (result.error) {\n $$renderer3.push(\"<!--[-->\");\n Panel($$renderer3, {\n title: \"Indexes\",\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"p-4 svelte-l3ef1w\"><p class=\"error svelte-l3ef1w\">${escape_html(result.error)}</p></div>`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(`<div class=\"mb-4 flex gap-3 svelte-l3ef1w\">`);\n if (!readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<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>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--> <button class=\"btn btn-primary btn-sm svelte-l3ef1w\">${escape_html(\"Show\")} Multi-Node Usage</button></div> `);\n if (result.data.length === 0) {\n $$renderer3.push(\"<!--[-->\");\n Panel($$renderer3, {\n title: \"Indexes\",\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"text-center p-4 svelte-l3ef1w\" style=\"color: var(--text-darker)\">No indexes found</div>`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer3.push(\"<!--[!-->\");\n {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--> `);\n Panel($$renderer3, {\n title: \"Indexes\",\n children: ($$renderer4) => {\n $$renderer4.push(`<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>`);\n if (!readOnly) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<th style=\"width: 150px\" class=\"svelte-l3ef1w\">Actions</th>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--></tr></thead><tbody class=\"svelte-l3ef1w\"><!--[-->`);\n const each_array = ensure_array_like(result.data);\n for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n let index = each_array[$$index_2];\n const isLoading = loadingIndexes.has(index.name);\n $$renderer4.push(`<tr${attr_class(\"group svelte-l3ef1w\", void 0, { \"opacity-50\": isLoading })}><td class=\"name-cell svelte-l3ef1w\"><span class=\"font-mono text-sm index-name svelte-l3ef1w\"${attr(\"title\", index.name)}>${escape_html(index.name)}</span></td><td class=\"svelte-l3ef1w\">`);\n if (index.key) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<div class=\"flex flex-wrap gap-2 svelte-l3ef1w\"><!--[-->`);\n const each_array_1 = ensure_array_like(Object.entries(index.key));\n for (let i = 0, $$length2 = each_array_1.length; i < $$length2; i++) {\n let [field, direction] = each_array_1[i];\n $$renderer4.push(`<span class=\"index-key svelte-l3ef1w\">${escape_html(field)}: ${escape_html(direction === 1 ? \"↑\" : direction === -1 ? \"↓\" : direction)}</span>`);\n }\n $$renderer4.push(`<!--]--></div>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`<span style=\"color: var(--text-darker)\" class=\"svelte-l3ef1w\">-</span>`);\n }\n $$renderer4.push(`<!--]--></td><td class=\"svelte-l3ef1w\"><div class=\"flex flex-wrap gap-2 svelte-l3ef1w\">`);\n if (index.stats?.building) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<span class=\"badge badge-building svelte-l3ef1w\">building</span>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (index.hidden) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<span class=\"badge badge-hidden svelte-l3ef1w\">hidden</span>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (index.unique) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<span class=\"badge badge-unique svelte-l3ef1w\">unique</span>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (index.sparse) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<span class=\"badge badge-sparse svelte-l3ef1w\">sparse</span>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (index.partialFilterExpression) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<span class=\"badge badge-partial svelte-l3ef1w\">partial</span>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (!index.stats?.building && !index.hidden && !index.unique && !index.sparse && !index.partialFilterExpression) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<span style=\"color: var(--text-darker)\" class=\"svelte-l3ef1w\">-</span>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--></div></td><td class=\"svelte-l3ef1w\">`);\n if (index.size) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<span class=\"text-sm whitespace-nowrap svelte-l3ef1w\">${escape_html(formatBytes(index.size))}</span>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`<span style=\"color: var(--text-darker)\" class=\"svelte-l3ef1w\">-</span>`);\n }\n $$renderer4.push(`<!--]--></td><td class=\"svelte-l3ef1w\">`);\n if (index.stats) {\n $$renderer4.push(\"<!--[-->\");\n const indexMultiNodeStats = Object.entries(multiNodeStats).filter(([key]) => key.startsWith(`${index.name}::`)).map(([key, stats]) => ({ key, stats }));\n const indexBaselineStats = Object.fromEntries(Object.entries(baselineMultiNodeStats).filter(([key]) => key.startsWith(`${index.name}::`)));\n $$renderer4.push(`<div class=\"text-sm mt-1 svelte-l3ef1w\">`);\n if (indexMultiNodeStats.length > 0) {\n $$renderer4.push(\"<!--[-->\");\n {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`<!--[-->`);\n const each_array_2 = ensure_array_like(indexMultiNodeStats);\n for (let i = 0, $$length2 = each_array_2.length; i < $$length2; i++) {\n let { key, stats } = each_array_2[i];\n const baselineOps = indexBaselineStats[key]?.ops || 0;\n const increment = baselineOps > 0 ? stats.ops - baselineOps : 0;\n $$renderer4.push(`<div class=\"separate-stat svelte-l3ef1w\"${attr(\"title\", stats.host)}><span class=\"stat-host svelte-l3ef1w\">${escape_html(shortenedHostnames[stats.host] || stats.host)}:</span> <span class=\"stat-value svelte-l3ef1w\">${escape_html(increment > 0 ? formatSignificantDigits(stats.ops) : stats.ops.toLocaleString())} `);\n if (increment > 0) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<span class=\"increment-badge svelte-l3ef1w\">+${escape_html(formatSignificantDigits(increment))}</span>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--></span></div>`);\n }\n $$renderer4.push(`<!--]-->`);\n }\n $$renderer4.push(`<!--]-->`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`<div class=\"svelte-l3ef1w\">${escape_html(index.stats.ops.toLocaleString())}</div>`);\n }\n $$renderer4.push(`<!--]--></div>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`<span style=\"color: var(--text-darker)\" class=\"svelte-l3ef1w\">-</span>`);\n }\n $$renderer4.push(`<!--]--></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\">`);\n JsonValue_1($$renderer4, { value: omit(index, [\"stats\"]), collapsed: false });\n $$renderer4.push(`<!----></div></details></td>`);\n if (!readOnly) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<td class=\"svelte-l3ef1w\">`);\n if (index.name !== \"_id_\") {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<div class=\"flex gap-2 hidden group-hover:flex -my-2 svelte-l3ef1w\"><button class=\"btn btn-outline-light btn-sm svelte-l3ef1w\"${attr(\"disabled\", isLoading, true)}>${escape_html(index.hidden ? \"Unhide\" : \"Hide\")}</button> <button class=\"btn btn-outline-danger btn-sm svelte-l3ef1w\"${attr(\"disabled\", isLoading, true)}>Drop</button></div>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--></td>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--></tr>`);\n }\n $$renderer4.push(`<!--]--></tbody></table></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!---->`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n );\n $$renderer3.push(`<!--]--> `);\n {\n let footer = function($$renderer4) {\n $$renderer4.push(`<button class=\"btn btn-default btn-sm svelte-l3ef1w\">Cancel</button> <button class=\"btn btn-danger btn-sm svelte-l3ef1w\">Drop Index</button>`);\n };\n Modal($$renderer3, {\n show: showDropModal,\n onclose: closeDropModal,\n footer,\n children: ($$renderer4) => {\n $$renderer4.push(`<p class=\"svelte-l3ef1w\">Are you sure you want to drop the index <strong class=\"svelte-l3ef1w\">${escape_html(indexToDrop)}</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>`);\n }\n });\n }\n $$renderer3.push(`<!----> `);\n {\n let footer = function($$renderer4) {\n $$renderer4.push(`<button class=\"btn btn-default btn-sm svelte-l3ef1w\"${attr(\"disabled\", creatingIndex, true)}>Cancel</button> <button class=\"btn btn-success btn-sm svelte-l3ef1w\"${attr(\"disabled\", creatingIndex, true)}>${escape_html(\"Create Index\")}</button>`);\n };\n Modal($$renderer3, {\n show: showCreateModal,\n onclose: closeCreateModal,\n title: \"Create Index\",\n footer,\n children: ($$renderer4) => {\n $$renderer4.push(`<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\">{ \"fieldName\": 1 }</code></p> <textarea id=\"index-keys\" rows=\"3\" placeholder=\"{&quot;fieldName&quot;: 1}\" 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);\">`);\n const $$body = escape_html(indexKeys);\n if ($$body) {\n $$renderer4.push(`${$$body}`);\n }\n $$renderer4.push(`</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\"${attr(\"value\", indexName)} 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\"${attr(\"checked\", indexUnique, true)} 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\"${attr(\"checked\", indexSparse, true)} 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\"${attr(\"checked\", indexBackground, true)} 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\">{ \"status\": \"active\" }</code></p> <textarea id=\"index-partial\" rows=\"2\" placeholder=\"{&quot;status&quot;: &quot;active&quot;}\" 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);\">`);\n const $$body_1 = escape_html(indexPartialFilterExpression);\n if ($$body_1) {\n $$renderer4.push(`${$$body_1}`);\n }\n $$renderer4.push(`</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\"${attr(\"value\", indexExpireAfterSeconds)} 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>`);\n }\n });\n }\n $$renderer3.push(`<!---->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -1,28 +1,56 @@
1
1
  import './async-lVJA8xJZ.js';
2
2
  import { s as stringify, e as ensure_array_like, a as attr, c as await_block } from './index2-DzKnqQNM.js';
3
- import { r as resolve } from './server2-_mGVuBoG.js';
3
+ import './servers.remote-HDmNH7n4.js';
4
+ import './exports-Cv9LZeD1.js';
5
+ import './utils-D1ahxout.js';
6
+ import { r as resolve } from './server2-YmCaJGWy.js';
7
+ import './state.svelte-Dm0prnTp.js';
8
+ import { M as Modal } from './Modal-BzZ9u6V6.js';
4
9
  import { P as Panel } from './Panel-DEP08QXV.js';
5
10
  import { T as TooltipTable } from './TooltipTable-DUYKVtrh.js';
6
11
  import { f as formatBytes } from './filters-CbFjTNFI.js';
7
12
  import { e as escape_html } from './context-C22hLSHK.js';
13
+ import './shared-CQd3A1I4.js';
14
+ import './index-Djsj11qr.js';
15
+ import './jsonParser-C3QUcODD.js';
16
+ import 'esprima';
17
+ import './JsonEncoder-B8eJRYZ4.js';
18
+ import 'mongodb';
19
+ import './logger-KF6KpVP6.js';
20
+ import 'async_hooks';
21
+ import 'node:util';
22
+ import './mongo-BHk5yAj9.js';
23
+ import 'dns/promises';
24
+ import 'url';
25
+ import 'node:fs';
26
+ import 'node:os';
27
+ import 'node:path';
28
+ import 'zod';
8
29
  import './routing-e10vGH37.js';
9
- import './event-DVH-6ISX.js';
10
30
  import './Tooltip-DK6Aok7l.js';
11
31
 
12
32
  function _page($$renderer, $$props) {
13
33
  $$renderer.component(($$renderer2) => {
14
34
  let { data } = $$props;
35
+ let showDropModal = false;
36
+ let databaseToDrop = null;
37
+ let isDropping = false;
38
+ function closeDropModal() {
39
+ showDropModal = false;
40
+ databaseToDrop = null;
41
+ isDropping = false;
42
+ }
15
43
  Panel($$renderer2, {
16
44
  title: `Databases on ${stringify(data.server)}`,
17
45
  children: ($$renderer3) => {
18
- $$renderer3.push(`<table class="table"><thead><tr><th>Name</th><th>Collections</th><th>Size</th></tr></thead><tbody>`);
46
+ $$renderer3.push(`<table class="table"><thead><tr><th>Name</th><th>Collections</th><th>Size</th><th></th></tr></thead><tbody>`);
19
47
  if (data.databases && data.databases.length > 0) {
20
48
  $$renderer3.push("<!--[-->");
21
49
  $$renderer3.push(`<!--[-->`);
22
50
  const each_array = ensure_array_like(data.databases);
23
51
  for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
24
52
  let database = each_array[$$index];
25
- $$renderer3.push(`<tr><td><a${attr("href", resolve(`/servers/${encodeURIComponent(data.server)}/databases/${encodeURIComponent(database.name)}/collections`))}>${escape_html(database.name)}</a></td><td>`);
53
+ $$renderer3.push(`<tr class="group"><td><a${attr("href", resolve(`/servers/${encodeURIComponent(data.server)}/databases/${encodeURIComponent(database.name)}/collections`))}>${escape_html(database.name)}</a></td><td>`);
26
54
  await_block(
27
55
  $$renderer3,
28
56
  database.collections,
@@ -69,19 +97,50 @@ function _page($$renderer, $$props) {
69
97
  } else {
70
98
  $$renderer3.push("<!--[!-->");
71
99
  }
72
- $$renderer3.push(`<!--]--></td></tr>`);
100
+ $$renderer3.push(`<!--]--></td><td style="width: 100px"><div class="flex justify-end">`);
101
+ if (!data.readOnly) {
102
+ $$renderer3.push("<!--[-->");
103
+ $$renderer3.push(`<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>`);
104
+ } else {
105
+ $$renderer3.push("<!--[!-->");
106
+ }
107
+ $$renderer3.push(`<!--]--></div></td></tr>`);
73
108
  }
74
109
  $$renderer3.push(`<!--]-->`);
75
110
  } else {
76
111
  $$renderer3.push("<!--[!-->");
77
- $$renderer3.push(`<tr><td colspan="3"><div class="text-center">No databases...</div></td></tr>`);
112
+ $$renderer3.push(`<tr><td colspan="4"><div class="text-center">No databases...</div></td></tr>`);
78
113
  }
79
114
  $$renderer3.push(`<!--]--></tbody></table>`);
80
115
  },
81
116
  $$slots: { default: true }
82
117
  });
118
+ $$renderer2.push(`<!----> `);
119
+ {
120
+ let footer = function($$renderer3) {
121
+ $$renderer3.push(`<button class="btn btn-default btn-sm"${attr("disabled", isDropping, true)}>Cancel</button> <button class="btn btn-outline-danger btn-sm"${attr("disabled", isDropping, true)}>`);
122
+ if (isDropping) {
123
+ $$renderer3.push("<!--[-->");
124
+ $$renderer3.push(`Dropping...`);
125
+ } else {
126
+ $$renderer3.push("<!--[!-->");
127
+ $$renderer3.push(`Drop Database`);
128
+ }
129
+ $$renderer3.push(`<!--]--></button>`);
130
+ };
131
+ Modal($$renderer2, {
132
+ show: showDropModal,
133
+ onclose: closeDropModal,
134
+ title: "Drop Database",
135
+ footer,
136
+ children: ($$renderer3) => {
137
+ $$renderer3.push(`<p>Are you sure you want to drop the database <strong>${escape_html(databaseToDrop?.name)}</strong>? This action cannot be undone.</p>`);
138
+ }
139
+ });
140
+ }
141
+ $$renderer2.push(`<!---->`);
83
142
  });
84
143
  }
85
144
 
86
145
  export { _page as default };
87
- //# sourceMappingURL=_page.svelte-TuuvQq-s.js.map
146
+ //# sourceMappingURL=_page.svelte-DEe2Kbbw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-DEe2Kbbw.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_page.svelte.js"],"sourcesContent":["import \"../../../../../chunks/async.js\";\nimport { w as ensure_array_like, x as attr, G as await_block, z as stringify } from \"../../../../../chunks/index2.js\";\nimport \"../../../../../chunks/servers.remote.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../../../../chunks/exports.js\";\nimport \"../../../../../chunks/utils.js\";\nimport { r as resolve } from \"../../../../../chunks/server2.js\";\nimport \"../../../../../chunks/state.svelte.js\";\nimport { M as Modal } from \"../../../../../chunks/Modal.js\";\nimport { P as Panel } from \"../../../../../chunks/Panel.js\";\nimport { T as TooltipTable } from \"../../../../../chunks/TooltipTable.js\";\nimport { f as formatBytes } from \"../../../../../chunks/filters.js\";\nimport { e as escape_html } from \"../../../../../chunks/context.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n let showDropModal = false;\n let databaseToDrop = null;\n let isDropping = false;\n function closeDropModal() {\n showDropModal = false;\n databaseToDrop = null;\n isDropping = false;\n }\n Panel($$renderer2, {\n title: `Databases on ${stringify(data.server)}`,\n children: ($$renderer3) => {\n $$renderer3.push(`<table class=\"table\"><thead><tr><th>Name</th><th>Collections</th><th>Size</th><th></th></tr></thead><tbody>`);\n if (data.databases && data.databases.length > 0) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<!--[-->`);\n const each_array = ensure_array_like(data.databases);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let database = each_array[$$index];\n $$renderer3.push(`<tr class=\"group\"><td><a${attr(\"href\", resolve(`/servers/${encodeURIComponent(data.server)}/databases/${encodeURIComponent(database.name)}/collections`))}>${escape_html(database.name)}</a></td><td>`);\n await_block(\n $$renderer3,\n database.collections,\n () => {\n $$renderer3.push(`${escape_html(database.nCollections)}`);\n },\n (collections) => {\n TooltipTable($$renderer3, {\n columns: [\n { header: \"Collection\", key: \"name\", align: \"left\" },\n { header: \"Size\", key: \"size\", align: \"right\" }\n ],\n rows: collections.map((collection) => ({ name: collection.name, size: formatBytes(collection.size) })),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(database.nCollections)}`);\n }\n });\n }\n );\n $$renderer3.push(`<!--]--></td><td>`);\n if (database.size !== void 0) {\n $$renderer3.push(\"<!--[-->\");\n TooltipTable($$renderer3, {\n hideHeader: true,\n columns: [\n { header: \"Metric\", key: \"metric\", align: \"left\" },\n { header: \"Value\", key: \"value\", align: \"right\" }\n ],\n rows: [\n { metric: \"Total Size\", value: database.size },\n { metric: \"Data Size\", value: database.dataSize },\n { metric: \"Storage Size\", value: database.storageSize },\n { metric: \"Index Size\", value: database.totalIndexSize },\n { metric: \"Avg Object Size\", value: database.avgObjSize },\n { metric: \"Empty\", value: database.empty ? \"Yes\" : \"No\" }\n ].map((row) => ({\n ...row,\n value: typeof row.value === \"number\" ? formatBytes(row.value) : row.value\n })),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(formatBytes(database.size))}`);\n }\n });\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></td><td style=\"width: 100px\"><div class=\"flex justify-end\">`);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline\">Drop</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div></td></tr>`);\n }\n $$renderer3.push(`<!--]-->`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(`<tr><td colspan=\"4\"><div class=\"text-center\">No databases...</div></td></tr>`);\n }\n $$renderer3.push(`<!--]--></tbody></table>`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n {\n let footer = function($$renderer3) {\n $$renderer3.push(`<button class=\"btn btn-default btn-sm\"${attr(\"disabled\", isDropping, true)}>Cancel</button> <button class=\"btn btn-outline-danger btn-sm\"${attr(\"disabled\", isDropping, true)}>`);\n if (isDropping) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`Dropping...`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(`Drop Database`);\n }\n $$renderer3.push(`<!--]--></button>`);\n };\n Modal($$renderer2, {\n show: showDropModal,\n onclose: closeDropModal,\n title: \"Drop Database\",\n footer,\n children: ($$renderer3) => {\n $$renderer3.push(`<p>Are you sure you want to drop the database <strong>${escape_html(databaseToDrop?.name)}</strong>? This action cannot be undone.</p>`);\n }\n });\n }\n $$renderer2.push(`<!---->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}