mongoku 2.0.4 → 2.1.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 (426) hide show
  1. package/README.md +18 -4
  2. package/build/client/_app/immutable/assets/0.egX7ddQL.css +1 -0
  3. package/build/client/_app/immutable/assets/0.egX7ddQL.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.egX7ddQL.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/10.59aTjJn9.css +1 -0
  6. package/build/client/_app/immutable/assets/10.59aTjJn9.css.br +0 -0
  7. package/build/client/_app/immutable/assets/10.59aTjJn9.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/11.CEtFGlZU.css +1 -0
  9. package/build/client/_app/immutable/assets/11.CEtFGlZU.css.br +1 -0
  10. package/build/client/_app/immutable/assets/11.CEtFGlZU.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/12.BdCOhvz0.css +1 -0
  12. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.br +0 -0
  13. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css +1 -0
  15. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css.br +0 -0
  16. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css.gz +0 -0
  17. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css +1 -0
  18. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.br +0 -0
  19. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.gz +0 -0
  20. package/build/client/_app/immutable/assets/Panel.B3aWupye.css +1 -0
  21. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.br +0 -0
  22. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.gz +0 -0
  23. package/build/client/_app/immutable/chunks/3iRu_dUj.js +2 -0
  24. package/build/client/_app/immutable/chunks/3iRu_dUj.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/3iRu_dUj.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{ChWB6xnu.js → 4l_AWZos.js} +1 -1
  27. package/build/client/_app/immutable/chunks/4l_AWZos.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/4l_AWZos.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/5nAxkTTP.js +1 -0
  30. package/build/client/_app/immutable/chunks/5nAxkTTP.js.br +5 -0
  31. package/build/client/_app/immutable/chunks/5nAxkTTP.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BBg-V8FE.js +1 -0
  33. package/build/client/_app/immutable/chunks/BBg-V8FE.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/BBg-V8FE.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BE8UzJuY.js +1 -0
  36. package/build/client/_app/immutable/chunks/BE8UzJuY.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/BE8UzJuY.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/BUNgwIS0.js +1 -0
  39. package/build/client/_app/immutable/chunks/BUNgwIS0.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/BUNgwIS0.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BjzB4NFq.js +1 -0
  42. package/build/client/_app/immutable/chunks/BjzB4NFq.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/BjzB4NFq.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/BtCOrwSt.js +1 -0
  45. package/build/client/_app/immutable/chunks/BtCOrwSt.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/BtCOrwSt.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/BvKY81hz.js +1 -0
  48. package/build/client/_app/immutable/chunks/BvKY81hz.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/BvKY81hz.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/{DQkpHJGc.js → C0PCwpqt.js} +1 -1
  51. package/build/client/_app/immutable/chunks/C0PCwpqt.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/C0PCwpqt.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/C82Rp5eQ.js +1 -0
  54. package/build/client/_app/immutable/chunks/C82Rp5eQ.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/C82Rp5eQ.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/CEvYYWlm.js +2 -0
  57. package/build/client/_app/immutable/chunks/CEvYYWlm.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/CEvYYWlm.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/CT5SFbzp.js +1 -0
  60. package/build/client/_app/immutable/chunks/CT5SFbzp.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/CT5SFbzp.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/CcyPStn-.js +1 -0
  63. package/build/client/_app/immutable/chunks/CcyPStn-.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/CcyPStn-.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/Cx2cA4gg.js +1 -0
  66. package/build/client/_app/immutable/chunks/Cx2cA4gg.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/Cx2cA4gg.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/D5ccpaXt.js +1 -0
  69. package/build/client/_app/immutable/chunks/D5ccpaXt.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/D5ccpaXt.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/D64wQeYi.js +1 -0
  72. package/build/client/_app/immutable/chunks/D64wQeYi.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/D64wQeYi.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/D7E46CWw.js +1 -0
  75. package/build/client/_app/immutable/chunks/D7E46CWw.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/D7E46CWw.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/DR9xdhsg.js +1 -0
  78. package/build/client/_app/immutable/chunks/DR9xdhsg.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/DR9xdhsg.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/DVJuGan7.js +1 -0
  81. package/build/client/_app/immutable/chunks/DVJuGan7.js.br +0 -0
  82. package/build/client/_app/immutable/chunks/DVJuGan7.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/Dx86XS0G.js +1 -0
  84. package/build/client/_app/immutable/chunks/Dx86XS0G.js.br +4 -0
  85. package/build/client/_app/immutable/chunks/Dx86XS0G.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/lkkUcQuO.js +29 -0
  87. package/build/client/_app/immutable/chunks/lkkUcQuO.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/lkkUcQuO.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/nVJvgG3c.js +4 -0
  90. package/build/client/_app/immutable/chunks/nVJvgG3c.js.br +0 -0
  91. package/build/client/_app/immutable/chunks/nVJvgG3c.js.gz +0 -0
  92. package/build/client/_app/immutable/entry/app.g5qLQ5x2.js +2 -0
  93. package/build/client/_app/immutable/entry/app.g5qLQ5x2.js.br +0 -0
  94. package/build/client/_app/immutable/entry/app.g5qLQ5x2.js.gz +0 -0
  95. package/build/client/_app/immutable/entry/start.C1uqw3sp.js +1 -0
  96. package/build/client/_app/immutable/entry/start.C1uqw3sp.js.br +2 -0
  97. package/build/client/_app/immutable/entry/start.C1uqw3sp.js.gz +0 -0
  98. package/build/client/_app/immutable/nodes/0.CD9yR-49.js +5 -0
  99. package/build/client/_app/immutable/nodes/0.CD9yR-49.js.br +0 -0
  100. package/build/client/_app/immutable/nodes/0.CD9yR-49.js.gz +0 -0
  101. package/build/client/_app/immutable/nodes/1.DztuiMqq.js +1 -0
  102. package/build/client/_app/immutable/nodes/1.DztuiMqq.js.br +0 -0
  103. package/build/client/_app/immutable/nodes/1.DztuiMqq.js.gz +0 -0
  104. package/build/client/_app/immutable/nodes/10.CWMFKPcE.js +2 -0
  105. package/build/client/_app/immutable/nodes/10.CWMFKPcE.js.br +0 -0
  106. package/build/client/_app/immutable/nodes/10.CWMFKPcE.js.gz +0 -0
  107. package/build/client/_app/immutable/nodes/11.-Y7Cu3Uv.js +1 -0
  108. package/build/client/_app/immutable/nodes/11.-Y7Cu3Uv.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/11.-Y7Cu3Uv.js.gz +0 -0
  110. package/build/client/_app/immutable/nodes/12.wxif1TtN.js +1 -0
  111. package/build/client/_app/immutable/nodes/12.wxif1TtN.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/12.wxif1TtN.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/13.CpyTaRSN.js +66 -0
  114. package/build/client/_app/immutable/nodes/13.CpyTaRSN.js.br +0 -0
  115. package/build/client/_app/immutable/nodes/13.CpyTaRSN.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/2.DwwrLLW4.js +1 -0
  117. package/build/client/_app/immutable/nodes/2.DwwrLLW4.js.br +1 -0
  118. package/build/client/_app/immutable/nodes/2.DwwrLLW4.js.gz +0 -0
  119. package/build/client/_app/immutable/nodes/3.t20GootO.js +1 -0
  120. package/build/client/_app/immutable/nodes/3.t20GootO.js.br +0 -0
  121. package/build/client/_app/immutable/nodes/3.t20GootO.js.gz +0 -0
  122. package/build/client/_app/immutable/nodes/4.CXHjkPtf.js +1 -0
  123. package/build/client/_app/immutable/nodes/4.CXHjkPtf.js.br +0 -0
  124. package/build/client/_app/immutable/nodes/4.CXHjkPtf.js.gz +0 -0
  125. package/build/client/_app/immutable/nodes/5.C9tcr5B0.js +1 -0
  126. package/build/client/_app/immutable/nodes/5.C9tcr5B0.js.br +0 -0
  127. package/build/client/_app/immutable/nodes/5.C9tcr5B0.js.gz +0 -0
  128. package/build/client/_app/immutable/nodes/7.DoT-dNUk.js +1 -0
  129. package/build/client/_app/immutable/nodes/7.DoT-dNUk.js.br +0 -0
  130. package/build/client/_app/immutable/nodes/7.DoT-dNUk.js.gz +0 -0
  131. package/build/client/_app/immutable/nodes/8.BFPkGTSl.js +1 -0
  132. package/build/client/_app/immutable/nodes/8.BFPkGTSl.js.br +0 -0
  133. package/build/client/_app/immutable/nodes/8.BFPkGTSl.js.gz +0 -0
  134. package/build/client/_app/immutable/nodes/9.Bk397TaK.js +2 -0
  135. package/build/client/_app/immutable/nodes/9.Bk397TaK.js.br +0 -0
  136. package/build/client/_app/immutable/nodes/9.Bk397TaK.js.gz +0 -0
  137. package/build/client/_app/version.json +1 -1
  138. package/build/client/_app/version.json.br +0 -0
  139. package/build/client/_app/version.json.gz +0 -0
  140. package/build/handler.js +14 -0
  141. package/build/server/chunks/{0-Cb5ytlMI.js → 0-hDOo8HzQ.js} +7 -6
  142. package/build/server/chunks/0-hDOo8HzQ.js.map +1 -0
  143. package/build/server/chunks/1-Dsw_dVjH.js +9 -0
  144. package/build/server/chunks/1-Dsw_dVjH.js.map +1 -0
  145. package/build/server/chunks/10-Xy0rxLNm.js +213 -0
  146. package/build/server/chunks/10-Xy0rxLNm.js.map +1 -0
  147. package/build/server/chunks/11-DBYsQ3ww.js +42 -0
  148. package/build/server/chunks/11-DBYsQ3ww.js.map +1 -0
  149. package/build/server/chunks/12-D4aSEhYN.js +102 -0
  150. package/build/server/chunks/12-D4aSEhYN.js.map +1 -0
  151. package/build/server/chunks/13-CNu_Hz8r.js +52 -0
  152. package/build/server/chunks/13-CNu_Hz8r.js.map +1 -0
  153. package/build/server/chunks/2-ClkERMhY.js +24 -0
  154. package/build/server/chunks/2-ClkERMhY.js.map +1 -0
  155. package/build/server/chunks/3-CTpqmxdo.js +25 -0
  156. package/build/server/chunks/3-CTpqmxdo.js.map +1 -0
  157. package/build/server/chunks/4-CUH4fZn8.js +25 -0
  158. package/build/server/chunks/4-CUH4fZn8.js.map +1 -0
  159. package/build/server/chunks/5-BSEdxfut.js +25 -0
  160. package/build/server/chunks/5-BSEdxfut.js.map +1 -0
  161. package/build/server/chunks/{2-B39zPvzn.js → 6-ifXBeMPA.js} +2 -2
  162. package/build/server/chunks/{2-B39zPvzn.js.map → 6-ifXBeMPA.js.map} +1 -1
  163. package/build/server/chunks/7-CJJMTAtJ.js +82 -0
  164. package/build/server/chunks/7-CJJMTAtJ.js.map +1 -0
  165. package/build/server/chunks/{4-DzHoLo__.js → 8-jBgxYwFg.js} +19 -10
  166. package/build/server/chunks/8-jBgxYwFg.js.map +1 -0
  167. package/build/server/chunks/{5-CCWbCDpk.js → 9-U8SAVx43.js} +7 -8
  168. package/build/server/chunks/9-U8SAVx43.js.map +1 -0
  169. package/build/server/chunks/JsonValue-B5gcBFcA.js +290 -0
  170. package/build/server/chunks/JsonValue-B5gcBFcA.js.map +1 -0
  171. package/build/server/chunks/Modal-zVnoAfFx.js +36 -0
  172. package/build/server/chunks/Modal-zVnoAfFx.js.map +1 -0
  173. package/build/server/chunks/{Panel-Bz0b85EW.js → Panel-yg5YKL4d.js} +4 -3
  174. package/build/server/chunks/Panel-yg5YKL4d.js.map +1 -0
  175. package/build/server/chunks/PrettyJson-mXYQacEL.js +137 -0
  176. package/build/server/chunks/PrettyJson-mXYQacEL.js.map +1 -0
  177. package/build/server/chunks/Tooltip-DflJLumT.js +38 -0
  178. package/build/server/chunks/Tooltip-DflJLumT.js.map +1 -0
  179. package/build/server/chunks/TooltipTable-BPMzcmqQ.js +60 -0
  180. package/build/server/chunks/TooltipTable-BPMzcmqQ.js.map +1 -0
  181. package/build/server/chunks/_layout.svelte-DMm1Ill8.js +168 -0
  182. package/build/server/chunks/_layout.svelte-DMm1Ill8.js.map +1 -0
  183. package/build/server/chunks/_page.svelte-B-dLNs2Q.js +199 -0
  184. package/build/server/chunks/_page.svelte-B-dLNs2Q.js.map +1 -0
  185. package/build/server/chunks/{_page.svelte-FLzHOuyK.js → _page.svelte-BBpDrOEz.js} +40 -22
  186. package/build/server/chunks/_page.svelte-BBpDrOEz.js.map +1 -0
  187. package/build/server/chunks/_page.svelte-C9OCv4Hv.js +204 -0
  188. package/build/server/chunks/_page.svelte-C9OCv4Hv.js.map +1 -0
  189. package/build/server/chunks/{_page.svelte-w9cxGvUf.js → _page.svelte-CvWJ35oO.js} +33 -13
  190. package/build/server/chunks/_page.svelte-CvWJ35oO.js.map +1 -0
  191. package/build/server/chunks/_page.svelte-DYHUokXG.js +297 -0
  192. package/build/server/chunks/_page.svelte-DYHUokXG.js.map +1 -0
  193. package/build/server/chunks/{_page.svelte-FIp-IsOo.js → _page.svelte-Ds1-yUh2.js} +64 -13
  194. package/build/server/chunks/_page.svelte-Ds1-yUh2.js.map +1 -0
  195. package/build/server/chunks/{_page.svelte-jxFKbZdN.js → _page.svelte-DzPMpozq.js} +9 -6
  196. package/build/server/chunks/_page.svelte-DzPMpozq.js.map +1 -0
  197. package/build/server/chunks/_server.ts-06lGoPp8.js +8 -0
  198. package/build/server/chunks/_server.ts-06lGoPp8.js.map +1 -0
  199. package/build/server/chunks/async-lVJA8xJZ.js +9 -0
  200. package/build/server/chunks/async-lVJA8xJZ.js.map +1 -0
  201. package/build/server/chunks/client-BFlyU7ZU.js +7 -0
  202. package/build/server/chunks/{client-bj7sePQc.js.map → client-BFlyU7ZU.js.map} +1 -1
  203. package/build/server/chunks/{client2-BX4-xbM4.js → client2-DYaMKWrc.js} +4 -4
  204. package/build/server/chunks/{client2-BX4-xbM4.js.map → client2-DYaMKWrc.js.map} +1 -1
  205. package/build/server/chunks/{async-BfR0vYHo.js → context-C22hLSHK.js} +2 -8
  206. package/build/server/chunks/context-C22hLSHK.js.map +1 -0
  207. package/build/server/chunks/error.svelte-BENdaVOT.js +19 -0
  208. package/build/server/chunks/error.svelte-BENdaVOT.js.map +1 -0
  209. package/build/server/chunks/event-DVH-6ISX.js.map +1 -1
  210. package/build/server/chunks/hooks.server-CagAPNr2.js +40 -0
  211. package/build/server/chunks/hooks.server-CagAPNr2.js.map +1 -0
  212. package/build/server/chunks/{index-EKt9-9bV.js → index-DFXVwu6p.js} +2 -2
  213. package/build/server/chunks/{index-EKt9-9bV.js.map → index-DFXVwu6p.js.map} +1 -1
  214. package/build/server/chunks/index-Djsj11qr.js.map +1 -1
  215. package/build/server/chunks/index-server-Bf-hP5gL.js +5 -0
  216. package/build/server/chunks/index-server-Bf-hP5gL.js.map +1 -0
  217. package/build/server/chunks/{routing-DcR4fCSD.js → index2-DBFlGzWV.js} +23 -100
  218. package/build/server/chunks/index2-DBFlGzWV.js.map +1 -0
  219. package/build/server/chunks/{index3-DquTjlmp.js → index3-CoOO2o9t.js} +6 -6
  220. package/build/server/chunks/index3-CoOO2o9t.js.map +1 -0
  221. package/build/server/chunks/jsonParser-CraFXJs8.js +174 -0
  222. package/build/server/chunks/jsonParser-CraFXJs8.js.map +1 -0
  223. package/build/server/chunks/layout.svelte-CJcHX-Na.js +10 -0
  224. package/build/server/chunks/layout.svelte-CJcHX-Na.js.map +1 -0
  225. package/build/server/chunks/logger-D71iWOkl.js +36 -0
  226. package/build/server/chunks/logger-D71iWOkl.js.map +1 -0
  227. package/build/server/chunks/{mongo-dLmCShL_.js → mongo-BogiTfnG.js} +54 -12
  228. package/build/server/chunks/mongo-BogiTfnG.js.map +1 -0
  229. package/build/server/chunks/remote-xxtqbu-BJDSUh3k.js +17 -0
  230. package/build/server/chunks/remote-xxtqbu-BJDSUh3k.js.map +1 -0
  231. package/build/server/chunks/routing-e10vGH37.js +81 -0
  232. package/build/server/chunks/routing-e10vGH37.js.map +1 -0
  233. package/build/server/chunks/{server2-BiqGvkCy.js → server2-_mGVuBoG.js} +2 -2
  234. package/build/server/chunks/{server2-BiqGvkCy.js.map → server2-_mGVuBoG.js.map} +1 -1
  235. package/build/server/chunks/servers.remote-C2HuT43p.js +690 -0
  236. package/build/server/chunks/servers.remote-C2HuT43p.js.map +1 -0
  237. package/build/server/chunks/shared-Buki-xt5.js +506 -0
  238. package/build/server/chunks/shared-Buki-xt5.js.map +1 -0
  239. package/build/server/chunks/{state.svelte-CRHA9yov.js → state.svelte-C8IWmp_n.js} +2 -2
  240. package/build/server/chunks/{state.svelte-CRHA9yov.js.map → state.svelte-C8IWmp_n.js.map} +1 -1
  241. package/build/server/chunks/{utils-DGYJFmnf.js → utils-kjxf7BZO.js} +2 -2
  242. package/build/server/chunks/{utils-DGYJFmnf.js.map → utils-kjxf7BZO.js.map} +1 -1
  243. package/build/server/index.js +189 -610
  244. package/build/server/index.js.map +1 -1
  245. package/build/server/manifest.js +45 -18
  246. package/build/server/manifest.js.map +1 -1
  247. package/package.json +13 -2
  248. package/src/api/servers.remote.ts +381 -20
  249. package/src/app.css +98 -3
  250. package/src/app.html +15 -0
  251. package/src/hooks.server.ts +18 -1
  252. package/src/lib/actions/jsonTextarea.ts +395 -0
  253. package/src/lib/components/Breadcrumbs.svelte +7 -58
  254. package/src/lib/components/JsonValue.svelte +279 -85
  255. package/src/lib/components/Modal.svelte +59 -0
  256. package/src/lib/components/OriginWarning.svelte +109 -0
  257. package/src/lib/components/PageSwitcher.svelte +37 -0
  258. package/src/lib/components/Panel.svelte +1 -1
  259. package/src/lib/components/PrettyJson.svelte +112 -36
  260. package/src/lib/components/SearchBox.svelte +161 -97
  261. package/src/lib/components/ThemeSwitcher.svelte +66 -0
  262. package/src/lib/components/Tooltip.svelte +83 -0
  263. package/src/lib/components/TooltipTable.svelte +45 -102
  264. package/src/lib/server/HostsManager.ts +4 -0
  265. package/src/lib/server/aggregation.ts +62 -0
  266. package/src/lib/server/mongo.ts +78 -15
  267. package/src/lib/types.ts +60 -0
  268. package/src/lib/utils/isEmptyObject.ts +6 -0
  269. package/src/lib/utils/jsonParser.ts +9 -1
  270. package/src/lib/utils/logger.ts +42 -0
  271. package/src/lib/utils/omit.ts +3 -0
  272. package/src/routes/+layout.server.ts +2 -1
  273. package/src/routes/+layout.svelte +15 -2
  274. package/src/routes/favicon.ico/+server.ts +8 -0
  275. package/src/routes/servers/+page.server.ts +23 -10
  276. package/src/routes/servers/+page.svelte +44 -10
  277. package/src/routes/servers/[server]/databases/+layout.ts +8 -0
  278. package/src/routes/servers/[server]/databases/+page.server.ts +15 -4
  279. package/src/routes/servers/[server]/databases/[database]/collections/+layout.ts +9 -0
  280. package/src/routes/servers/[server]/databases/[database]/collections/+page.server.ts +0 -2
  281. package/src/routes/servers/[server]/databases/[database]/collections/+page.svelte +67 -8
  282. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+layout.ts +9 -0
  283. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts +217 -0
  284. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +342 -0
  285. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.ts +10 -0
  286. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+layout.ts +9 -0
  287. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.server.ts +15 -12
  288. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.svelte +81 -7
  289. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.server.ts +88 -0
  290. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.svelte +333 -0
  291. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.ts +10 -0
  292. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.server.ts +18 -0
  293. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.svelte +378 -0
  294. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.ts +10 -0
  295. package/src/tests/api/aggregation.test.ts +125 -0
  296. package/build/client/_app/immutable/assets/0.CEsPYTp2.css +0 -1
  297. package/build/client/_app/immutable/assets/0.CEsPYTp2.css.br +0 -0
  298. package/build/client/_app/immutable/assets/0.CEsPYTp2.css.gz +0 -0
  299. package/build/client/_app/immutable/assets/6.DawdmtJd.css +0 -1
  300. package/build/client/_app/immutable/assets/6.DawdmtJd.css.br +0 -2
  301. package/build/client/_app/immutable/assets/6.DawdmtJd.css.gz +0 -0
  302. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css +0 -1
  303. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css.br +0 -0
  304. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css.gz +0 -0
  305. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css +0 -1
  306. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css.br +0 -0
  307. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css.gz +0 -0
  308. package/build/client/_app/immutable/chunks/B2-iEFN3.js +0 -2
  309. package/build/client/_app/immutable/chunks/B2-iEFN3.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/B2-iEFN3.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/B5y2vsNr.js +0 -1
  312. package/build/client/_app/immutable/chunks/B5y2vsNr.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/B5y2vsNr.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/BN_N9-2s.js +0 -1
  315. package/build/client/_app/immutable/chunks/BN_N9-2s.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/BN_N9-2s.js.gz +0 -0
  317. package/build/client/_app/immutable/chunks/C1z4TjN7.js +0 -1
  318. package/build/client/_app/immutable/chunks/C1z4TjN7.js.br +0 -0
  319. package/build/client/_app/immutable/chunks/C1z4TjN7.js.gz +0 -0
  320. package/build/client/_app/immutable/chunks/CQBaNlA9.js +0 -1
  321. package/build/client/_app/immutable/chunks/CQBaNlA9.js.br +0 -0
  322. package/build/client/_app/immutable/chunks/CQBaNlA9.js.gz +0 -0
  323. package/build/client/_app/immutable/chunks/CVoOGazw.js +0 -4
  324. package/build/client/_app/immutable/chunks/CVoOGazw.js.br +0 -0
  325. package/build/client/_app/immutable/chunks/CVoOGazw.js.gz +0 -0
  326. package/build/client/_app/immutable/chunks/CapOg2jD.js +0 -1
  327. package/build/client/_app/immutable/chunks/CapOg2jD.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/CapOg2jD.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/ChWB6xnu.js.br +0 -0
  330. package/build/client/_app/immutable/chunks/ChWB6xnu.js.gz +0 -0
  331. package/build/client/_app/immutable/chunks/CqnBT2zJ.js +0 -1
  332. package/build/client/_app/immutable/chunks/CqnBT2zJ.js.br +0 -0
  333. package/build/client/_app/immutable/chunks/CqnBT2zJ.js.gz +0 -0
  334. package/build/client/_app/immutable/chunks/D069mncP.js +0 -1
  335. package/build/client/_app/immutable/chunks/D069mncP.js.br +0 -0
  336. package/build/client/_app/immutable/chunks/D069mncP.js.gz +0 -0
  337. package/build/client/_app/immutable/chunks/DACrOfV_.js +0 -14
  338. package/build/client/_app/immutable/chunks/DACrOfV_.js.br +0 -0
  339. package/build/client/_app/immutable/chunks/DACrOfV_.js.gz +0 -0
  340. package/build/client/_app/immutable/chunks/DQkpHJGc.js.br +0 -0
  341. package/build/client/_app/immutable/chunks/DQkpHJGc.js.gz +0 -0
  342. package/build/client/_app/immutable/chunks/DSDD_hFT.js +0 -1
  343. package/build/client/_app/immutable/chunks/DSDD_hFT.js.br +0 -0
  344. package/build/client/_app/immutable/chunks/DSDD_hFT.js.gz +0 -0
  345. package/build/client/_app/immutable/chunks/D_aTX_ol.js +0 -1
  346. package/build/client/_app/immutable/chunks/D_aTX_ol.js.br +0 -0
  347. package/build/client/_app/immutable/chunks/D_aTX_ol.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/Dg3qHExF.js +0 -1
  349. package/build/client/_app/immutable/chunks/Dg3qHExF.js.br +0 -0
  350. package/build/client/_app/immutable/chunks/Dg3qHExF.js.gz +0 -0
  351. package/build/client/_app/immutable/chunks/Dt6-JRym.js +0 -2
  352. package/build/client/_app/immutable/chunks/Dt6-JRym.js.br +0 -0
  353. package/build/client/_app/immutable/chunks/Dt6-JRym.js.gz +0 -0
  354. package/build/client/_app/immutable/chunks/QoKxaG0e.js +0 -1
  355. package/build/client/_app/immutable/chunks/QoKxaG0e.js.br +0 -2
  356. package/build/client/_app/immutable/chunks/QoKxaG0e.js.gz +0 -0
  357. package/build/client/_app/immutable/chunks/rtveiEyS.js +0 -1
  358. package/build/client/_app/immutable/chunks/rtveiEyS.js.br +0 -0
  359. package/build/client/_app/immutable/chunks/rtveiEyS.js.gz +0 -0
  360. package/build/client/_app/immutable/entry/app.Cc1FNLNH.js +0 -2
  361. package/build/client/_app/immutable/entry/app.Cc1FNLNH.js.br +0 -0
  362. package/build/client/_app/immutable/entry/app.Cc1FNLNH.js.gz +0 -0
  363. package/build/client/_app/immutable/entry/start.CwqlbFyy.js +0 -1
  364. package/build/client/_app/immutable/entry/start.CwqlbFyy.js.br +0 -2
  365. package/build/client/_app/immutable/entry/start.CwqlbFyy.js.gz +0 -0
  366. package/build/client/_app/immutable/nodes/0.wBQEpdjZ.js +0 -1
  367. package/build/client/_app/immutable/nodes/0.wBQEpdjZ.js.br +0 -0
  368. package/build/client/_app/immutable/nodes/0.wBQEpdjZ.js.gz +0 -0
  369. package/build/client/_app/immutable/nodes/1.K6-n7D0b.js +0 -1
  370. package/build/client/_app/immutable/nodes/1.K6-n7D0b.js.br +0 -0
  371. package/build/client/_app/immutable/nodes/1.K6-n7D0b.js.gz +0 -0
  372. package/build/client/_app/immutable/nodes/3.DkGcIF98.js +0 -1
  373. package/build/client/_app/immutable/nodes/3.DkGcIF98.js.br +0 -0
  374. package/build/client/_app/immutable/nodes/3.DkGcIF98.js.gz +0 -0
  375. package/build/client/_app/immutable/nodes/4.C_NxbT98.js +0 -1
  376. package/build/client/_app/immutable/nodes/4.C_NxbT98.js.br +0 -0
  377. package/build/client/_app/immutable/nodes/4.C_NxbT98.js.gz +0 -0
  378. package/build/client/_app/immutable/nodes/5.CFvfYaLM.js +0 -1
  379. package/build/client/_app/immutable/nodes/5.CFvfYaLM.js.br +0 -0
  380. package/build/client/_app/immutable/nodes/5.CFvfYaLM.js.gz +0 -0
  381. package/build/client/_app/immutable/nodes/6.h34Zyorq.js +0 -1
  382. package/build/client/_app/immutable/nodes/6.h34Zyorq.js.br +0 -0
  383. package/build/client/_app/immutable/nodes/6.h34Zyorq.js.gz +0 -0
  384. package/build/client/_app/immutable/nodes/7.BVJmNbU5.js +0 -1
  385. package/build/client/_app/immutable/nodes/7.BVJmNbU5.js.br +0 -0
  386. package/build/client/_app/immutable/nodes/7.BVJmNbU5.js.gz +0 -0
  387. package/build/server/chunks/0-Cb5ytlMI.js.map +0 -1
  388. package/build/server/chunks/1-Cpb7zRtJ.js +0 -9
  389. package/build/server/chunks/1-Cpb7zRtJ.js.map +0 -1
  390. package/build/server/chunks/3-B_DkgZkc.js +0 -69
  391. package/build/server/chunks/3-B_DkgZkc.js.map +0 -1
  392. package/build/server/chunks/4-DzHoLo__.js.map +0 -1
  393. package/build/server/chunks/5-CCWbCDpk.js.map +0 -1
  394. package/build/server/chunks/6-Dok8svjB.js +0 -202
  395. package/build/server/chunks/6-Dok8svjB.js.map +0 -1
  396. package/build/server/chunks/7-CmgJSG2j.js +0 -42
  397. package/build/server/chunks/7-CmgJSG2j.js.map +0 -1
  398. package/build/server/chunks/Panel-Bz0b85EW.js.map +0 -1
  399. package/build/server/chunks/PrettyJson-CX6-dNsW.js +0 -291
  400. package/build/server/chunks/PrettyJson-CX6-dNsW.js.map +0 -1
  401. package/build/server/chunks/TooltipTable-0z4HkHlH.js +0 -17
  402. package/build/server/chunks/TooltipTable-0z4HkHlH.js.map +0 -1
  403. package/build/server/chunks/_layout.svelte-UiDiCQEz.js +0 -111
  404. package/build/server/chunks/_layout.svelte-UiDiCQEz.js.map +0 -1
  405. package/build/server/chunks/_page.svelte-FIp-IsOo.js.map +0 -1
  406. package/build/server/chunks/_page.svelte-FLzHOuyK.js.map +0 -1
  407. package/build/server/chunks/_page.svelte-jxFKbZdN.js.map +0 -1
  408. package/build/server/chunks/_page.svelte-k8avSQW1.js +0 -215
  409. package/build/server/chunks/_page.svelte-k8avSQW1.js.map +0 -1
  410. package/build/server/chunks/_page.svelte-w9cxGvUf.js.map +0 -1
  411. package/build/server/chunks/async-BfR0vYHo.js.map +0 -1
  412. package/build/server/chunks/client-bj7sePQc.js +0 -7
  413. package/build/server/chunks/error.svelte-D5sIJv3P.js +0 -18
  414. package/build/server/chunks/error.svelte-D5sIJv3P.js.map +0 -1
  415. package/build/server/chunks/hooks.server-_TKfdzGA.js +0 -26
  416. package/build/server/chunks/hooks.server-_TKfdzGA.js.map +0 -1
  417. package/build/server/chunks/index3-DquTjlmp.js.map +0 -1
  418. package/build/server/chunks/mongo-dLmCShL_.js.map +0 -1
  419. package/build/server/chunks/remote-xxtqbu-BFzaWXy0.js +0 -234
  420. package/build/server/chunks/remote-xxtqbu-BFzaWXy0.js.map +0 -1
  421. package/build/server/chunks/routing-DcR4fCSD.js.map +0 -1
  422. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+page.server.ts +0 -106
  423. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+page.svelte +0 -174
  424. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css → 7.CRKE8WvY.css} +0 -0
  425. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css.br → 7.CRKE8WvY.css.br} +0 -0
  426. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css.gz → 7.CRKE8WvY.css.gz} +0 -0
@@ -1,27 +1,36 @@
1
- import { k as escape_html } from './async-BfR0vYHo.js';
2
- import { O as ensure_array_like, T as await_block, N as attr } from './routing-DcR4fCSD.js';
3
- import './remote-xxtqbu-BFzaWXy0.js';
1
+ import './async-lVJA8xJZ.js';
2
+ import { e as ensure_array_like, d as await_block, a as attr } from './index2-DBFlGzWV.js';
3
+ import './servers.remote-C2HuT43p.js';
4
4
  import './exports-Cv9LZeD1.js';
5
- import './utils-DGYJFmnf.js';
6
- import { r as resolve } from './server2-BiqGvkCy.js';
7
- import './state.svelte-CRHA9yov.js';
8
- import { P as Panel } from './Panel-Bz0b85EW.js';
9
- import { T as TooltipTable } from './TooltipTable-0z4HkHlH.js';
5
+ import './utils-kjxf7BZO.js';
6
+ import { r as resolve } from './server2-_mGVuBoG.js';
7
+ import './state.svelte-C8IWmp_n.js';
8
+ import { P as Panel } from './Panel-yg5YKL4d.js';
9
+ import { T as TooltipTable } from './TooltipTable-BPMzcmqQ.js';
10
10
  import { s as serverName, f as formatBytes } from './filters-CbFjTNFI.js';
11
+ import { S as SvelteSet } from './index-server-Bf-hP5gL.js';
12
+ import { e as escape_html } from './context-C22hLSHK.js';
11
13
  import './event-DVH-6ISX.js';
14
+ import './shared-Buki-xt5.js';
12
15
  import './index-Djsj11qr.js';
16
+ import './jsonParser-CraFXJs8.js';
17
+ import 'esprima';
13
18
  import './JsonEncoder-jJ2OBaud.js';
14
19
  import 'mongodb';
15
- import './mongo-dLmCShL_.js';
20
+ import './mongo-BogiTfnG.js';
21
+ import './logger-D71iWOkl.js';
16
22
  import 'url';
17
23
  import 'node:fs';
18
24
  import 'node:os';
19
25
  import 'node:path';
20
26
  import 'zod';
27
+ import './routing-e10vGH37.js';
28
+ import './Tooltip-DflJLumT.js';
21
29
 
22
30
  function _page($$renderer, $$props) {
23
31
  $$renderer.component(($$renderer2) => {
24
32
  let { data } = $$props;
33
+ const retryingServers = new SvelteSet();
25
34
  {
26
35
  let actions = function($$renderer3) {
27
36
  $$renderer3.push(`<button class="btn btn-default btn-sm">${escape_html("Add Server")}</button> `);
@@ -64,7 +73,7 @@ function _page($$renderer, $$props) {
64
73
  $$renderer3,
65
74
  server.details,
66
75
  () => {
67
- $$renderer3.push(`<span class="text-gray-400">...</span>`);
76
+ $$renderer3.push(`<span style="color: var(--text-secondary);">...</span>`);
68
77
  },
69
78
  (details) => {
70
79
  if ("databases" in details && details.databases) {
@@ -95,7 +104,7 @@ function _page($$renderer, $$props) {
95
104
  $$renderer3,
96
105
  server.details,
97
106
  () => {
98
- $$renderer3.push(`<span class="text-gray-400">...</span>`);
107
+ $$renderer3.push(`<span style="color: var(--text-secondary);">...</span>`);
99
108
  },
100
109
  (details) => {
101
110
  if ("size" in details && details.size !== void 0) {
@@ -107,7 +116,18 @@ function _page($$renderer, $$props) {
107
116
  $$renderer3.push(`<!--]-->`);
108
117
  }
109
118
  );
110
- $$renderer3.push(`<!--]--></td><td style="width: 140px"><button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Remove from list</button></td></tr>`);
119
+ $$renderer3.push(`<!--]--></td><td style="width: 200px"><div class="flex gap-2 justify-end">`);
120
+ await_block($$renderer3, server.details, () => {
121
+ }, (details) => {
122
+ if ("error" in details && details.error) {
123
+ $$renderer3.push("<!--[-->");
124
+ $$renderer3.push(`<button class="btn btn-default btn-sm -my-2 hidden group-hover:inline"${attr("disabled", retryingServers.has(serverName(server.name)), true)}>${escape_html(retryingServers.has(serverName(server.name)) ? "Retrying..." : "Retry")}</button>`);
125
+ } else {
126
+ $$renderer3.push("<!--[!-->");
127
+ }
128
+ $$renderer3.push(`<!--]-->`);
129
+ });
130
+ $$renderer3.push(`<!--]--> <button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Remove from list</button></div></td></tr>`);
111
131
  }
112
132
  $$renderer3.push(`<!--]-->`);
113
133
  } else {
@@ -127,4 +147,4 @@ function _page($$renderer, $$props) {
127
147
  }
128
148
 
129
149
  export { _page as default };
130
- //# sourceMappingURL=_page.svelte-w9cxGvUf.js.map
150
+ //# sourceMappingURL=_page.svelte-CvWJ35oO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-CvWJ35oO.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_page.svelte.js"],"sourcesContent":["import \"../../../chunks/async.js\";\nimport { w as ensure_array_like, J as await_block, 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 { r as resolve } from \"../../../chunks/server2.js\";\nimport \"../../../chunks/state.svelte.js\";\nimport { P as Panel } from \"../../../chunks/Panel.js\";\nimport { T as TooltipTable } from \"../../../chunks/TooltipTable.js\";\nimport { s as serverName, f as formatBytes } from \"../../../chunks/filters.js\";\nimport { S as SvelteSet } from \"../../../chunks/index-server.js\";\nimport { e as escape_html } from \"../../../chunks/context.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n const retryingServers = new SvelteSet();\n {\n let actions = function($$renderer3) {\n $$renderer3.push(`<button class=\"btn btn-default btn-sm\">${escape_html(\"Add Server\")}</button> `);\n {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Panel($$renderer2, {\n title: \"Servers\",\n actions,\n children: ($$renderer3) => {\n $$renderer3.push(`<table class=\"table\"><thead><tr><th>Name</th><th>Databases</th><th>Size</th><th></th></tr></thead><tbody>`);\n if (data.servers && data.servers.length > 0) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<!--[-->`);\n const each_array = ensure_array_like(data.servers);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let server = each_array[$$index];\n $$renderer3.push(`<tr class=\"group\"><td>`);\n await_block(\n $$renderer3,\n server.details,\n () => {\n $$renderer3.push(`<span>${escape_html(serverName(server.name))}</span>`);\n },\n (details) => {\n if (\"error\" in details && details.error) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<span class=\"error\"><span class=\"badge badge-danger\"${attr(\"title\", details.error.message)}>Error</span> ${escape_html(serverName(server.name))}</span>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(`<a${attr(\"href\", resolve(`/servers/${encodeURIComponent(serverName(server.name))}/databases`))}>${escape_html(serverName(server.name))}</a>`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n );\n $$renderer3.push(`<!--]--></td><td>`);\n await_block(\n $$renderer3,\n server.details,\n () => {\n $$renderer3.push(`<span style=\"color: var(--text-secondary);\">...</span>`);\n },\n (details) => {\n if (\"databases\" in details && details.databases) {\n $$renderer3.push(\"<!--[-->\");\n TooltipTable($$renderer3, {\n columns: [\n { header: \"Database\", key: \"name\" },\n { header: \"Collections\", key: \"collections\" },\n { header: \"Size\", key: \"size\" }\n ],\n rows: details.databases.map((db) => ({\n name: db.name,\n collections: db.collections,\n size: formatBytes(db.size)\n })),\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(details.databases.length)}`);\n }\n });\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n );\n $$renderer3.push(`<!--]--></td><td>`);\n await_block(\n $$renderer3,\n server.details,\n () => {\n $$renderer3.push(`<span style=\"color: var(--text-secondary);\">...</span>`);\n },\n (details) => {\n if (\"size\" in details && details.size !== void 0) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`${escape_html(formatBytes(details.size))}`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n );\n $$renderer3.push(`<!--]--></td><td style=\"width: 200px\"><div class=\"flex gap-2 justify-end\">`);\n await_block($$renderer3, server.details, () => {\n }, (details) => {\n if (\"error\" in details && details.error) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-default btn-sm -my-2 hidden group-hover:inline\"${attr(\"disabled\", retryingServers.has(serverName(server.name)), true)}>${escape_html(retryingServers.has(serverName(server.name)) ? \"Retrying...\" : \"Retry\")}</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n });\n $$renderer3.push(`<!--]--> <button class=\"btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline\">Remove from list</button></div></td></tr>`);\n }\n $$renderer3.push(`<!--]-->`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(`<tr><td colspan=\"4\"><div class=\"text-center\">No servers...</div></td></tr>`);\n }\n $$renderer3.push(`<!--]--></tbody></table>`);\n }\n });\n }\n $$renderer2.push(`<!----> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AAC1B,IAAI,MAAM,eAAe,GAAG,IAAI,SAAS,EAAE;AAC3C,IAAI;AACJ,MAAM,IAAI,OAAO,GAAG,SAAS,WAAW,EAAE;AAC1C,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,uCAAuC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;AACzG,QAAQ;AACR,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACpC,MAAM,CAAC;AACP,MAAM,KAAK,CAAC,WAAW,EAAE;AACzB,QAAQ,KAAK,EAAE,SAAS;AACxB,QAAQ,OAAO;AACf,QAAQ,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,yGAAyG,CAAC,CAAC;AACvI,UAAU,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACxC,YAAY,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9D,YAAY,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AAC/F,cAAc,IAAI,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;AAC9C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC;AACxD,cAAc,WAAW;AACzB,gBAAgB,WAAW;AAC3B,gBAAgB,MAAM,CAAC,OAAO;AAC9B,gBAAgB,MAAM;AACtB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC1F,gBAAgB,CAAC;AACjB,gBAAgB,CAAC,OAAO,KAAK;AAC7B,kBAAkB,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;AAC3D,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,oDAAoD,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC/L,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnL,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9C,gBAAgB;AAChB,eAAe;AACf,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACnD,cAAc,WAAW;AACzB,gBAAgB,WAAW;AAC3B,gBAAgB,MAAM,CAAC,OAAO;AAC9B,gBAAgB,MAAM;AACtB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,sDAAsD,CAAC,CAAC;AAC5F,gBAAgB,CAAC;AACjB,gBAAgB,CAAC,OAAO,KAAK;AAC7B,kBAAkB,IAAI,WAAW,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;AACnE,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,YAAY,CAAC,WAAW,EAAE;AAC9C,sBAAsB,OAAO,EAAE;AAC/B,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE;AAC3D,wBAAwB,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE;AACrE,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;AACrD,uBAAuB;AACvB,sBAAsB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM;AAC3D,wBAAwB,IAAI,EAAE,EAAE,CAAC,IAAI;AACrC,wBAAwB,WAAW,EAAE,EAAE,CAAC,WAAW;AACnD,wBAAwB,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI;AACjD,uBAAuB,CAAC,CAAC;AACzB,sBAAsB,QAAQ,EAAE,CAAC,WAAW,KAAK;AACjD,wBAAwB,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3F,sBAAsB;AACtB,qBAAqB,CAAC;AACtB,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9C,gBAAgB;AAChB,eAAe;AACf,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACnD,cAAc,WAAW;AACzB,gBAAgB,WAAW;AAC3B,gBAAgB,MAAM,CAAC,OAAO;AAC9B,gBAAgB,MAAM;AACtB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,sDAAsD,CAAC,CAAC;AAC5F,gBAAgB,CAAC;AACjB,gBAAgB,CAAC,OAAO,KAAK;AAC7B,kBAAkB,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;AACpE,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9C,gBAAgB;AAChB,eAAe;AACf,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,0EAA0E,CAAC,CAAC;AAC5G,cAAc,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM;AAC7D,cAAc,CAAC,EAAE,CAAC,OAAO,KAAK;AAC9B,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;AACzD,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,sEAAsE,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;AACnR,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,cAAc,CAAC,CAAC;AAChB,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,gIAAgI,CAAC,CAAC;AAClK,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,0EAA0E,CAAC,CAAC;AAC1G,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;AACtD,QAAQ;AACR,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,EAAE,CAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,297 @@
1
+ import './async-lVJA8xJZ.js';
2
+ import { d as await_block, b as attr_class, s as stringify, a as attr, f as bind_props, e as ensure_array_like } from './index2-DBFlGzWV.js';
3
+ import { u as updateDocument, d as deleteDocument } from './servers.remote-C2HuT43p.js';
4
+ import './exports-Cv9LZeD1.js';
5
+ import './utils-kjxf7BZO.js';
6
+ import { r as resolve } from './server2-_mGVuBoG.js';
7
+ import './state.svelte-C8IWmp_n.js';
8
+ import { P as Panel } from './Panel-yg5YKL4d.js';
9
+ import { P as PrettyJson } from './PrettyJson-mXYQacEL.js';
10
+ import './event-DVH-6ISX.js';
11
+ import './client-BFlyU7ZU.js';
12
+ import { e as escape_html } from './context-C22hLSHK.js';
13
+ import { n as notificationStore } from './notifications.svelte-CIqkoPWX.js';
14
+ import { a as formatNumber } from './filters-CbFjTNFI.js';
15
+ import { l as logger } from './logger-D71iWOkl.js';
16
+ import { a as SvelteURLSearchParams } from './index-server-Bf-hP5gL.js';
17
+ import './shared-Buki-xt5.js';
18
+ import './index-Djsj11qr.js';
19
+ import './jsonParser-CraFXJs8.js';
20
+ import 'esprima';
21
+ import './JsonEncoder-jJ2OBaud.js';
22
+ import 'mongodb';
23
+ import './mongo-BogiTfnG.js';
24
+ import 'url';
25
+ import 'node:fs';
26
+ import 'node:os';
27
+ import 'node:path';
28
+ import 'zod';
29
+ import './routing-e10vGH37.js';
30
+ import './JsonValue-B5gcBFcA.js';
31
+ import './Tooltip-DflJLumT.js';
32
+ import './client2-DYaMKWrc.js';
33
+ import './index-DFXVwu6p.js';
34
+
35
+ function SearchBox($$renderer, $$props) {
36
+ $$renderer.component(($$renderer2) => {
37
+ let { params = void 0, editMode = false, readonly = false } = $$props;
38
+ let showOptionalFields = params.sort !== "{}" || params.project !== "{}" || params.skip !== 0 || params.limit !== 20;
39
+ let counter = Math.random();
40
+ let isAggregation = params.query?.trimStart().startsWith("[");
41
+ $$renderer2.push(`<div><form class="flex items-stretch w-full" method="GET" action="?"><div class="flex-grow"><div${attr_class(`flex items-stretch w-full ${stringify(isAggregation ? "min-h-10" : "h-10")}`)}><div${attr_class(`min-w-[100px] flex justify-center items-center border border-[var(--color-4)] ${stringify(!showOptionalFields ? "border-b rounded-bl-md" : "border-b-0")} bg-[var(--color-1)] rounded-tl-md`)}>${escape_html(isAggregation ? "Aggregation:" : "Query:")}</div> `);
42
+ if (isAggregation) {
43
+ $$renderer2.push("<!--[-->");
44
+ $$renderer2.push(`<textarea placeholder="[]" name="query" rows="5" class="flex-grow border-0 bg-[var(--color-3)] pl-2.5 font-mono py-2 resize-y svelte-1o0c7a1">`);
45
+ const $$body = escape_html(params.query);
46
+ if ($$body) {
47
+ $$renderer2.push(`${$$body}`);
48
+ }
49
+ $$renderer2.push(`</textarea>`);
50
+ } else {
51
+ $$renderer2.push("<!--[!-->");
52
+ $$renderer2.push(`<input type="text"${attr("value", params.query)} placeholder="{}" name="query" class="flex-grow border-0 bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1"/>`);
53
+ }
54
+ $$renderer2.push(`<!--]--></div> <input type="hidden"${attr("value", counter)} name="v" class="svelte-1o0c7a1"/> `);
55
+ if (showOptionalFields) {
56
+ $$renderer2.push("<!--[-->");
57
+ $$renderer2.push(`<div class="flex items-stretch w-full h-10"><div class="min-w-[100px] flex justify-center items-center border border-[var(--color-4)] border-b-0 bg-[var(--color-1)]">Sort:</div> <input type="text"${attr("value", params.sort)} name="sort" placeholder="{}" class="flex-grow border-0 border-t border-[var(--color-4)] bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1"/></div> <div class="flex items-stretch w-full h-10"><div class="min-w-[100px] flex justify-center items-center border border-[var(--color-4)] border-b-0 bg-[var(--color-1)]">Skip:</div> <input type="number"${attr("value", params.skip)} name="skip" min="0" class="flex-grow border-0 border-t border-[var(--color-4)] bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1"/></div> <div class="flex items-stretch w-full h-10"><div class="min-w-[100px] flex justify-center items-center border border-[var(--color-4)] border-b-0 bg-[var(--color-1)]">Limit:</div> <input type="number"${attr("value", params.limit)} name="limit" min="1" class="flex-grow border-0 border-t border-[var(--color-4)] bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1"/></div> <div class="flex items-stretch w-full h-10"><div class="min-w-[100px] flex justify-center items-center border border-[var(--color-4)] border-b bg-[var(--color-1)] rounded-bl-md">Project:</div> <input type="text"${attr("value", params.project)} name="project" placeholder="{}" class="flex-grow border-0 border-t border-[var(--color-4)] bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1"/></div>`);
58
+ } else {
59
+ $$renderer2.push("<!--[!-->");
60
+ }
61
+ $$renderer2.push(`<!--]--></div> <button class="btn btn-default !w-12 !rounded-none !border-r-0 text-2xl leading-none font-bold !py-1.5" type="button">${escape_html(showOptionalFields ? "−" : "+")}</button> `);
62
+ if (!readonly) {
63
+ $$renderer2.push("<!--[-->");
64
+ $$renderer2.push(`<button class="btn btn-default !w-12 !rounded-none !border-r-0 text-lg leading-none font-bold !py-1.5" type="button"${attr("title", isAggregation ? "Update not available in aggregation mode" : "Update multiple documents")}${attr("disabled", isAggregation, true)}><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"><path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path></svg></button>`);
65
+ } else {
66
+ $$renderer2.push("<!--[!-->");
67
+ }
68
+ $$renderer2.push(`<!--]--> <button class="btn btn-success !rounded-l-none !rounded-r-md font-bold !py-1.5" type="submit">GO!</button></form> `);
69
+ if (!showOptionalFields && !isAggregation && params.query === "{}") {
70
+ $$renderer2.push("<!--[-->");
71
+ $$renderer2.push(`<div class="text-xs mt-1 ml-1" style="color: var(--text-secondary);">Tip: Use <code class="bg-[var(--color-3)] px-1 py-0.5 rounded font-mono">[{...}]</code> to switch to aggregation
72
+ mode</div>`);
73
+ } else {
74
+ $$renderer2.push("<!--[!-->");
75
+ }
76
+ $$renderer2.push(`<!--]--></div>`);
77
+ bind_props($$props, { params, editMode, readonly });
78
+ });
79
+ }
80
+ function _page($$renderer, $$props) {
81
+ $$renderer.component(($$renderer2) => {
82
+ let { data } = $$props;
83
+ let params = { ...data.params };
84
+ let dataPromise = data.results;
85
+ let editMode = false;
86
+ let updateQuery = "{}";
87
+ let isUpdating = false;
88
+ let modifiedItems = null;
89
+ let items = modifiedItems ? { data: modifiedItems, error: null } : dataPromise;
90
+ async function editDocument(_id, json, items2) {
91
+ const partial = Boolean(params.project && params.project !== "{}" && Object.keys(JSON.parse(params.project)).length > 0);
92
+ const newId = json?._id?.$value;
93
+ const oldId = _id?.$value;
94
+ if (newId !== oldId) {
95
+ notificationStore.notifyError("ObjectId changed. This is not supported, update canceled.");
96
+ return;
97
+ }
98
+ if (!oldId) return;
99
+ try {
100
+ const result = await updateDocument({
101
+ server: data.server,
102
+ database: data.database,
103
+ collection: data.collection,
104
+ document: oldId,
105
+ value: json,
106
+ partial
107
+ });
108
+ if (result.ok) {
109
+ notificationStore.notifySuccess("Document updated successfully");
110
+ const index = items2.findIndex((item) => item._id?.$value === oldId);
111
+ if (index !== -1) {
112
+ items2[index] = result.update;
113
+ }
114
+ modifiedItems = items2;
115
+ }
116
+ } catch (error) {
117
+ logger.log(error);
118
+ notificationStore.notifyError(error, "Failed to update document");
119
+ }
120
+ }
121
+ async function removeDocument(_id, items2) {
122
+ const documentId = _id?.$value;
123
+ if (!documentId) return;
124
+ try {
125
+ await deleteDocument({
126
+ server: data.server,
127
+ database: data.database,
128
+ collection: data.collection,
129
+ document: documentId
130
+ });
131
+ notificationStore.notifySuccess("Document removed successfully");
132
+ modifiedItems = items2.filter((item) => item._id?.$value !== documentId);
133
+ } catch (error) {
134
+ notificationStore.notifyError(error, "Failed to remove document");
135
+ }
136
+ }
137
+ function buildUrl(skip) {
138
+ const queryParams = new SvelteURLSearchParams();
139
+ queryParams.set("query", params.query || "{}");
140
+ queryParams.set("sort", params.sort || "");
141
+ queryParams.set("project", params.project || "");
142
+ queryParams.set("skip", String(skip));
143
+ queryParams.set("limit", String(params.limit));
144
+ return `/servers/${encodeURIComponent(data.server)}/databases/${encodeURIComponent(data.database)}/collections/${encodeURIComponent(data.collection)}/documents?${queryParams.toString()}`;
145
+ }
146
+ const nextUrl = buildUrl(params.skip + params.limit);
147
+ const previousUrl = buildUrl(Math.max(0, params.skip - params.limit));
148
+ let $$settled = true;
149
+ let $$inner_renderer;
150
+ function $$render_inner($$renderer3) {
151
+ SearchBox($$renderer3, {
152
+ readonly: data.readOnly,
153
+ get params() {
154
+ return params;
155
+ },
156
+ set params($$value) {
157
+ params = $$value;
158
+ $$settled = false;
159
+ },
160
+ get editMode() {
161
+ return editMode;
162
+ },
163
+ set editMode($$value) {
164
+ editMode = $$value;
165
+ $$settled = false;
166
+ }
167
+ });
168
+ $$renderer3.push(`<!----> `);
169
+ if (editMode) {
170
+ $$renderer3.push("<!--[-->");
171
+ Panel($$renderer3, {
172
+ title: "Update Multiple Documents",
173
+ children: ($$renderer4) => {
174
+ $$renderer4.push(`<div class="p-4 space-y-4"><div><label for="update-filter" class="block text-sm font-medium mb-2">Filter (which documents to update):</label> <input type="text" id="update-filter"${attr("value", params.query || "{}")} readonly class="w-full p-2 border border-[var(--color-4)] bg-[var(--light-background)] rounded font-mono text-sm opacity-75 cursor-not-allowed"/> <p class="text-xs text-[var(--text-secondary,#888)] mt-1">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-medium mb-2">Update Operation (e.g., $set, $inc, $unset):</label> <textarea placeholder="Update operation" rows="4" class="w-full p-2 border border-[var(--color-4)] bg-[var(--color-3)] rounded font-mono text-sm">`);
175
+ const $$body = escape_html(updateQuery);
176
+ if ($$body) {
177
+ $$renderer4.push(`${$$body}`);
178
+ }
179
+ $$renderer4.push(`</textarea></div> <div class="flex gap-2"><button class="btn btn-success"${attr("disabled", isUpdating, true)}>${escape_html("Execute Update")}</button> <button class="btn btn-default">Cancel</button></div> <div class="text-sm text-[var(--text-secondary,#888)]"><p class="mb-1"><strong>Examples:</strong></p> <p class="mb-1">• Set a field: <code class="bg-[var(--color-3)] px-1 rounded">{"$set": {"status": "active"}}</code></p> <p class="mb-1">• Increment a value: <code class="bg-[var(--color-3)] px-1 rounded">{"$inc": {"count": 1}}</code></p> <p>• Unset a field: <code class="bg-[var(--color-3)] px-1 rounded">{"$unset": {"oldField": ""}}</code></p></div></div>`);
180
+ }
181
+ });
182
+ } else {
183
+ $$renderer3.push("<!--[!-->");
184
+ }
185
+ $$renderer3.push(`<!--]--> `);
186
+ await_block(
187
+ $$renderer3,
188
+ items,
189
+ () => {
190
+ {
191
+ let actions = function($$renderer4) {
192
+ {
193
+ $$renderer4.push("<!--[!-->");
194
+ }
195
+ $$renderer4.push(`<!--]-->`);
196
+ };
197
+ Panel($$renderer3, {
198
+ title: "Loading documents...",
199
+ actions
200
+ });
201
+ }
202
+ },
203
+ (resultsData) => {
204
+ const items2 = resultsData?.data ?? [];
205
+ await_block(
206
+ $$renderer3,
207
+ data.count,
208
+ () => {
209
+ {
210
+ let actions = function($$renderer4) {
211
+ if (data.params.skip > 0) {
212
+ $$renderer4.push("<!--[-->");
213
+ $$renderer4.push(`<a${attr("href", resolve(previousUrl))} class="btn btn-default btn-sm -my-2">Previous</a>`);
214
+ } else {
215
+ $$renderer4.push("<!--[!-->");
216
+ }
217
+ $$renderer4.push(`<!--]--> `);
218
+ if (items2.length >= data.params.limit) {
219
+ $$renderer4.push("<!--[-->");
220
+ $$renderer4.push(`<a${attr("href", resolve(nextUrl))} class="btn btn-default btn-sm -my-2">Next</a>`);
221
+ } else {
222
+ $$renderer4.push("<!--[!-->");
223
+ }
224
+ $$renderer4.push(`<!--]-->`);
225
+ };
226
+ Panel($$renderer3, {
227
+ title: items2.length > 0 ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} Documents (counting...)` : "No documents",
228
+ actions
229
+ });
230
+ }
231
+ },
232
+ (countData) => {
233
+ if (data.params) {
234
+ $$renderer3.push("<!--[-->");
235
+ const count = countData.data;
236
+ const hasNext = countData.error ? items2.length >= data.params.limit : data.params.skip + items2.length < count;
237
+ const hasPrevious = data.params.skip > 0;
238
+ const isTimeout = countData.error?.includes("operation exceeded time limit");
239
+ {
240
+ let actions = function($$renderer4) {
241
+ if (hasPrevious) {
242
+ $$renderer4.push("<!--[-->");
243
+ $$renderer4.push(`<a${attr("href", resolve(previousUrl))} class="btn btn-default btn-sm -my-2">Previous</a>`);
244
+ } else {
245
+ $$renderer4.push("<!--[!-->");
246
+ }
247
+ $$renderer4.push(`<!--]--> `);
248
+ if (hasNext) {
249
+ $$renderer4.push("<!--[-->");
250
+ $$renderer4.push(`<a${attr("href", resolve(nextUrl))} class="btn btn-default btn-sm -my-2">Next</a>`);
251
+ } else {
252
+ $$renderer4.push("<!--[!-->");
253
+ }
254
+ $$renderer4.push(`<!--]-->`);
255
+ };
256
+ Panel($$renderer3, {
257
+ title: items2.length > 0 ? count > 0 ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} of ${formatNumber(count)} Documents` : `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} Documents (count ${isTimeout ? "timeout" : "unavailable"})` : "No documents",
258
+ actions
259
+ });
260
+ }
261
+ } else {
262
+ $$renderer3.push("<!--[!-->");
263
+ }
264
+ $$renderer3.push(`<!--]-->`);
265
+ }
266
+ );
267
+ $$renderer3.push(`<!--]--> <!--[-->`);
268
+ const each_array = ensure_array_like(items2);
269
+ for (let index = 0, $$length = each_array.length; index < $$length; index++) {
270
+ let item = each_array[index];
271
+ PrettyJson($$renderer3, {
272
+ json: item,
273
+ autoCollapse: true,
274
+ onedit: data.isAggregation || data.readOnly ? void 0 : (json) => editDocument(item._id, json, items2),
275
+ onremove: data.isAggregation || data.readOnly ? void 0 : () => removeDocument(item._id, items2),
276
+ server: data.server,
277
+ database: data.database,
278
+ collection: data.collection,
279
+ mappings: data.mappings
280
+ });
281
+ }
282
+ $$renderer3.push(`<!--]-->`);
283
+ }
284
+ );
285
+ $$renderer3.push(`<!--]-->`);
286
+ }
287
+ do {
288
+ $$settled = true;
289
+ $$inner_renderer = $$renderer2.copy();
290
+ $$render_inner($$inner_renderer);
291
+ } while (!$$settled);
292
+ $$renderer2.subsume($$inner_renderer);
293
+ });
294
+ }
295
+
296
+ export { _page as default };
297
+ //# sourceMappingURL=_page.svelte-DYHUokXG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-DYHUokXG.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_page.svelte.js"],"sourcesContent":["import \"../../../../../../../../../chunks/async.js\";\nimport { y as attr_class, x as attr, K as bind_props, z as stringify, J as await_block, w as ensure_array_like } from \"../../../../../../../../../chunks/index2.js\";\nimport { d as deleteDocument, u as updateDocument } from \"../../../../../../../../../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 { P as Panel } from \"../../../../../../../../../chunks/Panel.js\";\nimport { P as PrettyJson } from \"../../../../../../../../../chunks/PrettyJson.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../../../../../../../../chunks/client.js\";\nimport { e as escape_html } from \"../../../../../../../../../chunks/context.js\";\nimport { n as notificationStore } from \"../../../../../../../../../chunks/notifications.svelte.js\";\nimport { a as formatNumber } from \"../../../../../../../../../chunks/filters.js\";\nimport { l as logger } from \"../../../../../../../../../chunks/logger.js\";\nimport { a as SvelteURLSearchParams } from \"../../../../../../../../../chunks/index-server.js\";\nfunction SearchBox($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { params = void 0, editMode = false, readonly = false } = $$props;\n let showOptionalFields = params.sort !== \"{}\" || params.project !== \"{}\" || params.skip !== 0 || params.limit !== 20;\n let counter = Math.random();\n let isAggregation = params.query?.trimStart().startsWith(\"[\");\n $$renderer2.push(`<div><form class=\"flex items-stretch w-full\" method=\"GET\" action=\"?\"><div class=\"flex-grow\"><div${attr_class(`flex items-stretch w-full ${stringify(isAggregation ? \"min-h-10\" : \"h-10\")}`)}><div${attr_class(`min-w-[100px] flex justify-center items-center border border-[var(--color-4)] ${stringify(!showOptionalFields ? \"border-b rounded-bl-md\" : \"border-b-0\")} bg-[var(--color-1)] rounded-tl-md`)}>${escape_html(isAggregation ? \"Aggregation:\" : \"Query:\")}</div> `);\n if (isAggregation) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<textarea placeholder=\"[]\" name=\"query\" rows=\"5\" class=\"flex-grow border-0 bg-[var(--color-3)] pl-2.5 font-mono py-2 resize-y svelte-1o0c7a1\">`);\n const $$body = escape_html(params.query);\n if ($$body) {\n $$renderer2.push(`${$$body}`);\n }\n $$renderer2.push(`</textarea>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<input type=\"text\"${attr(\"value\", params.query)} placeholder=\"{}\" name=\"query\" class=\"flex-grow border-0 bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1\"/>`);\n }\n $$renderer2.push(`<!--]--></div> <input type=\"hidden\"${attr(\"value\", counter)} name=\"v\" class=\"svelte-1o0c7a1\"/> `);\n if (showOptionalFields) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"flex items-stretch w-full h-10\"><div class=\"min-w-[100px] flex justify-center items-center border border-[var(--color-4)] border-b-0 bg-[var(--color-1)]\">Sort:</div> <input type=\"text\"${attr(\"value\", params.sort)} name=\"sort\" placeholder=\"{}\" class=\"flex-grow border-0 border-t border-[var(--color-4)] bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1\"/></div> <div class=\"flex items-stretch w-full h-10\"><div class=\"min-w-[100px] flex justify-center items-center border border-[var(--color-4)] border-b-0 bg-[var(--color-1)]\">Skip:</div> <input type=\"number\"${attr(\"value\", params.skip)} name=\"skip\" min=\"0\" class=\"flex-grow border-0 border-t border-[var(--color-4)] bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1\"/></div> <div class=\"flex items-stretch w-full h-10\"><div class=\"min-w-[100px] flex justify-center items-center border border-[var(--color-4)] border-b-0 bg-[var(--color-1)]\">Limit:</div> <input type=\"number\"${attr(\"value\", params.limit)} name=\"limit\" min=\"1\" class=\"flex-grow border-0 border-t border-[var(--color-4)] bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1\"/></div> <div class=\"flex items-stretch w-full h-10\"><div class=\"min-w-[100px] flex justify-center items-center border border-[var(--color-4)] border-b bg-[var(--color-1)] rounded-bl-md\">Project:</div> <input type=\"text\"${attr(\"value\", params.project)} name=\"project\" placeholder=\"{}\" class=\"flex-grow border-0 border-t border-[var(--color-4)] bg-[var(--color-3)] pl-2.5 font-mono svelte-1o0c7a1\"/></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></div> <button class=\"btn btn-default !w-12 !rounded-none !border-r-0 text-2xl leading-none font-bold !py-1.5\" type=\"button\">${escape_html(showOptionalFields ? \"−\" : \"+\")}</button> `);\n if (!readonly) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<button class=\"btn btn-default !w-12 !rounded-none !border-r-0 text-lg leading-none font-bold !py-1.5\" type=\"button\"${attr(\"title\", isAggregation ? \"Update not available in aggregation mode\" : \"Update multiple documents\")}${attr(\"disabled\", isAggregation, true)}><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\"><path d=\"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z\"></path><path d=\"m15 5 4 4\"></path></svg></button>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> <button class=\"btn btn-success !rounded-l-none !rounded-r-md font-bold !py-1.5\" type=\"submit\">GO!</button></form> `);\n if (!showOptionalFields && !isAggregation && params.query === \"{}\") {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"text-xs mt-1 ml-1\" style=\"color: var(--text-secondary);\">Tip: Use <code class=\"bg-[var(--color-3)] px-1 py-0.5 rounded font-mono\">[{...}]</code> to switch to aggregation\n\t\t\tmode</div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n bind_props($$props, { params, editMode, readonly });\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n let params = { ...data.params };\n let dataPromise = data.results;\n let editMode = false;\n let updateQuery = \"{}\";\n let isUpdating = false;\n let modifiedItems = null;\n let items = modifiedItems ? { data: modifiedItems, error: null } : dataPromise;\n async function editDocument(_id, json, items2) {\n const partial = Boolean(params.project && params.project !== \"{}\" && Object.keys(JSON.parse(params.project)).length > 0);\n const newId = json?._id?.$value;\n const oldId = _id?.$value;\n if (newId !== oldId) {\n notificationStore.notifyError(\"ObjectId changed. This is not supported, update canceled.\");\n return;\n }\n if (!oldId) return;\n try {\n const result = await updateDocument({\n server: data.server,\n database: data.database,\n collection: data.collection,\n document: oldId,\n value: json,\n partial\n });\n if (result.ok) {\n notificationStore.notifySuccess(\"Document updated successfully\");\n const index = items2.findIndex((item) => item._id?.$value === oldId);\n if (index !== -1) {\n items2[index] = result.update;\n }\n modifiedItems = items2;\n }\n } catch (error) {\n logger.log(error);\n notificationStore.notifyError(error, \"Failed to update document\");\n }\n }\n async function removeDocument(_id, items2) {\n const documentId = _id?.$value;\n if (!documentId) return;\n try {\n await deleteDocument({\n server: data.server,\n database: data.database,\n collection: data.collection,\n document: documentId\n });\n notificationStore.notifySuccess(\"Document removed successfully\");\n modifiedItems = items2.filter((item) => item._id?.$value !== documentId);\n } catch (error) {\n notificationStore.notifyError(error, \"Failed to remove document\");\n }\n }\n function buildUrl(skip) {\n const queryParams = new SvelteURLSearchParams();\n queryParams.set(\"query\", params.query || \"{}\");\n queryParams.set(\"sort\", params.sort || \"\");\n queryParams.set(\"project\", params.project || \"\");\n queryParams.set(\"skip\", String(skip));\n queryParams.set(\"limit\", String(params.limit));\n return `/servers/${encodeURIComponent(data.server)}/databases/${encodeURIComponent(data.database)}/collections/${encodeURIComponent(data.collection)}/documents?${queryParams.toString()}`;\n }\n const nextUrl = buildUrl(params.skip + params.limit);\n const previousUrl = buildUrl(Math.max(0, params.skip - params.limit));\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n SearchBox($$renderer3, {\n readonly: data.readOnly,\n get params() {\n return params;\n },\n set params($$value) {\n params = $$value;\n $$settled = false;\n },\n get editMode() {\n return editMode;\n },\n set editMode($$value) {\n editMode = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n if (editMode) {\n $$renderer3.push(\"<!--[-->\");\n Panel($$renderer3, {\n title: \"Update Multiple Documents\",\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"p-4 space-y-4\"><div><label for=\"update-filter\" class=\"block text-sm font-medium mb-2\">Filter (which documents to update):</label> <input type=\"text\" id=\"update-filter\"${attr(\"value\", params.query || \"{}\")} readonly class=\"w-full p-2 border border-[var(--color-4)] bg-[var(--light-background)] rounded font-mono text-sm opacity-75 cursor-not-allowed\"/> <p class=\"text-xs text-[var(--text-secondary,#888)] mt-1\">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-medium mb-2\">Update Operation (e.g., $set, $inc, $unset):</label> <textarea placeholder=\"Update operation\" rows=\"4\" class=\"w-full p-2 border border-[var(--color-4)] bg-[var(--color-3)] rounded font-mono text-sm\">`);\n const $$body = escape_html(updateQuery);\n if ($$body) {\n $$renderer4.push(`${$$body}`);\n }\n $$renderer4.push(`</textarea></div> <div class=\"flex gap-2\"><button class=\"btn btn-success\"${attr(\"disabled\", isUpdating, true)}>${escape_html(\"Execute Update\")}</button> <button class=\"btn btn-default\">Cancel</button></div> <div class=\"text-sm text-[var(--text-secondary,#888)]\"><p class=\"mb-1\"><strong>Examples:</strong></p> <p class=\"mb-1\">• Set a field: <code class=\"bg-[var(--color-3)] px-1 rounded\">{\"$set\": {\"status\": \"active\"}}</code></p> <p class=\"mb-1\">• Increment a value: <code class=\"bg-[var(--color-3)] px-1 rounded\">{\"$inc\": {\"count\": 1}}</code></p> <p>• Unset a field: <code class=\"bg-[var(--color-3)] px-1 rounded\">{\"$unset\": {\"oldField\": \"\"}}</code></p></div></div>`);\n }\n });\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--> `);\n await_block(\n $$renderer3,\n items,\n () => {\n {\n let actions = function($$renderer4) {\n {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]-->`);\n };\n Panel($$renderer3, {\n title: \"Loading documents...\",\n actions\n });\n }\n },\n (resultsData) => {\n const items2 = resultsData?.data ?? [];\n await_block(\n $$renderer3,\n data.count,\n () => {\n {\n let actions = function($$renderer4) {\n if (data.params.skip > 0) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<a${attr(\"href\", resolve(previousUrl))} class=\"btn btn-default btn-sm -my-2\">Previous</a>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (items2.length >= data.params.limit) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<a${attr(\"href\", resolve(nextUrl))} class=\"btn btn-default btn-sm -my-2\">Next</a>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]-->`);\n };\n Panel($$renderer3, {\n title: items2.length > 0 ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} Documents (counting...)` : \"No documents\",\n actions\n });\n }\n },\n (countData) => {\n if (data.params) {\n $$renderer3.push(\"<!--[-->\");\n const count = countData.data;\n const hasNext = countData.error ? items2.length >= data.params.limit : data.params.skip + items2.length < count;\n const hasPrevious = data.params.skip > 0;\n const isTimeout = countData.error?.includes(\"operation exceeded time limit\");\n {\n let actions = function($$renderer4) {\n if (hasPrevious) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<a${attr(\"href\", resolve(previousUrl))} class=\"btn btn-default btn-sm -my-2\">Previous</a>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (hasNext) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<a${attr(\"href\", resolve(nextUrl))} class=\"btn btn-default btn-sm -my-2\">Next</a>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]-->`);\n };\n Panel($$renderer3, {\n title: items2.length > 0 ? count > 0 ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} of ${formatNumber(count)} Documents` : `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} Documents (count ${isTimeout ? \"timeout\" : \"unavailable\"})` : \"No documents\",\n actions\n });\n }\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n );\n $$renderer3.push(`<!--]--> <!--[-->`);\n const each_array = ensure_array_like(items2);\n for (let index = 0, $$length = each_array.length; index < $$length; index++) {\n let item = each_array[index];\n PrettyJson($$renderer3, {\n json: item,\n autoCollapse: true,\n onedit: data.isAggregation || data.readOnly ? void 0 : (json) => editDocument(item._id, json, items2),\n onremove: data.isAggregation || data.readOnly ? void 0 : () => removeDocument(item._id, items2),\n server: data.server,\n database: data.database,\n collection: data.collection,\n mappings: data.mappings\n });\n }\n $$renderer3.push(`<!--]-->`);\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,30 +1,57 @@
1
- import { k as escape_html } from './async-BfR0vYHo.js';
2
- import { Q as stringify, O as ensure_array_like, N as attr, T as await_block } from './routing-DcR4fCSD.js';
3
- import { r as resolve } from './server2-BiqGvkCy.js';
4
- import { P as Panel } from './Panel-Bz0b85EW.js';
5
- import { T as TooltipTable } from './TooltipTable-0z4HkHlH.js';
1
+ import './async-lVJA8xJZ.js';
2
+ import { s as stringify, e as ensure_array_like, a as attr, d as await_block } from './index2-DBFlGzWV.js';
3
+ import './servers.remote-C2HuT43p.js';
4
+ import './exports-Cv9LZeD1.js';
5
+ import './utils-kjxf7BZO.js';
6
+ import { r as resolve } from './server2-_mGVuBoG.js';
7
+ import './state.svelte-C8IWmp_n.js';
8
+ import { M as Modal } from './Modal-zVnoAfFx.js';
9
+ import { P as Panel } from './Panel-yg5YKL4d.js';
10
+ import { T as TooltipTable } from './TooltipTable-BPMzcmqQ.js';
6
11
  import { a as formatNumber, f as formatBytes } from './filters-CbFjTNFI.js';
12
+ import { e as escape_html } from './context-C22hLSHK.js';
7
13
  import './event-DVH-6ISX.js';
14
+ import './shared-Buki-xt5.js';
15
+ import './index-Djsj11qr.js';
16
+ import './jsonParser-CraFXJs8.js';
17
+ import 'esprima';
18
+ import './JsonEncoder-jJ2OBaud.js';
19
+ import 'mongodb';
20
+ import './mongo-BogiTfnG.js';
21
+ import './logger-D71iWOkl.js';
22
+ import 'url';
23
+ import 'node:fs';
24
+ import 'node:os';
25
+ import 'node:path';
26
+ import 'zod';
27
+ import './routing-e10vGH37.js';
28
+ import './Tooltip-DflJLumT.js';
8
29
 
9
30
  function _page($$renderer, $$props) {
10
31
  $$renderer.component(($$renderer2) => {
11
32
  let { data } = $$props;
33
+ let showDropModal = false;
34
+ let collectionToDrop = null;
35
+ function closeDropModal() {
36
+ showDropModal = false;
37
+ collectionToDrop = null;
38
+ }
12
39
  Panel($$renderer2, {
13
40
  title: `${stringify(data.database)} collections`,
14
41
  children: ($$renderer3) => {
15
- $$renderer3.push(`<table class="table"><thead><tr><th>Name</th><th>Documents</th><th>Indexes</th><th>Size</th></tr></thead><tbody>`);
42
+ $$renderer3.push(`<table class="table"><thead><tr><th>Name</th><th>Documents</th><th>Indexes</th><th>Size</th><th></th></tr></thead><tbody>`);
16
43
  if (data.collections && data.collections.length > 0) {
17
44
  $$renderer3.push("<!--[-->");
18
45
  $$renderer3.push(`<!--[-->`);
19
46
  const each_array = ensure_array_like(data.collections);
20
47
  for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
21
48
  let collection = each_array[$$index];
22
- $$renderer3.push(`<tr><td><a${attr("href", resolve(`/servers/${encodeURIComponent(data.server)}/databases/${encodeURIComponent(data.database)}/collections/${encodeURIComponent(collection.name)}?query=${encodeURIComponent("{}")}&sort=&project=&skip=0&limit=20`))}>${escape_html(collection.name)}</a></td><td>`);
49
+ $$renderer3.push(`<tr class="group"><td><a${attr("href", resolve(`/servers/${encodeURIComponent(data.server)}/databases/${encodeURIComponent(data.database)}/collections/${encodeURIComponent(collection.name)}/documents`))}>${escape_html(collection.name)}</a></td><td>`);
23
50
  await_block(
24
51
  $$renderer3,
25
52
  collection.details,
26
53
  () => {
27
- $$renderer3.push(`<span class="text-gray-400">...</span>`);
54
+ $$renderer3.push(`<span style="color: var(--text-secondary);">...</span>`);
28
55
  },
29
56
  (details) => {
30
57
  if (details) {
@@ -42,7 +69,7 @@ function _page($$renderer, $$props) {
42
69
  $$renderer3,
43
70
  collection.details,
44
71
  () => {
45
- $$renderer3.push(`<span class="text-gray-400">...</span>`);
72
+ $$renderer3.push(`<span style="color: var(--text-secondary);">...</span>`);
46
73
  },
47
74
  (details) => {
48
75
  if (details) {
@@ -72,7 +99,7 @@ function _page($$renderer, $$props) {
72
99
  $$renderer3,
73
100
  collection.details,
74
101
  () => {
75
- $$renderer3.push(`<span class="text-gray-400">...</span>`);
102
+ $$renderer3.push(`<span style="color: var(--text-secondary);">...</span>`);
76
103
  },
77
104
  (details) => {
78
105
  if (details) {
@@ -103,18 +130,42 @@ function _page($$renderer, $$props) {
103
130
  $$renderer3.push(`<!--]-->`);
104
131
  }
105
132
  );
106
- $$renderer3.push(`<!--]--></td></tr>`);
133
+ $$renderer3.push(`<!--]--></td><td style="width: 100px"><div class="flex justify-end">`);
134
+ if (!data.readOnly) {
135
+ $$renderer3.push("<!--[-->");
136
+ $$renderer3.push(`<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>`);
137
+ } else {
138
+ $$renderer3.push("<!--[!-->");
139
+ }
140
+ $$renderer3.push(`<!--]--></div></td></tr>`);
107
141
  }
108
142
  $$renderer3.push(`<!--]-->`);
109
143
  } else {
110
144
  $$renderer3.push("<!--[!-->");
111
- $$renderer3.push(`<tr><td colspan="4"><div class="text-center">No collections...</div></td></tr>`);
145
+ $$renderer3.push(`<tr><td colspan="5"><div class="text-center">No collections...</div></td></tr>`);
112
146
  }
113
147
  $$renderer3.push(`<!--]--></tbody></table>`);
114
148
  }
115
149
  });
150
+ $$renderer2.push(`<!----> `);
151
+ {
152
+ let footer = function($$renderer3) {
153
+ $$renderer3.push(`<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm">Drop Collection</button>`);
154
+ };
155
+ Modal($$renderer2, {
156
+ show: showDropModal,
157
+ onclose: closeDropModal,
158
+ title: "Drop Collection",
159
+ footer,
160
+ children: ($$renderer3) => {
161
+ $$renderer3.push(`<p>Are you sure you want to drop the collection <strong>${escape_html(collectionToDrop?.name)}</strong>? This action cannot be
162
+ undone.</p>`);
163
+ }
164
+ });
165
+ }
166
+ $$renderer2.push(`<!---->`);
116
167
  });
117
168
  }
118
169
 
119
170
  export { _page as default };
120
- //# sourceMappingURL=_page.svelte-FIp-IsOo.js.map
171
+ //# sourceMappingURL=_page.svelte-Ds1-yUh2.js.map