mongoku
Version:
[](https://github.com/huggingface/Mongoku/actions/workflows/ci.yml)
187 lines (184 loc) • 7.77 kB
JavaScript
import './async-DUoD1OpG.js';
import { s as stringify, b as ensure_array_like, a as attr, e as escape_html, i as await_block } from './root-otUAnOAR.js';
import './servers.remote-CGenkEHX.js';
import './utils-BQzn9ikS.js';
import { r as resolve } from './server2-D_y4YbpC.js';
import './exports-B5ORJhfK.js';
import './state.svelte-Bj5yxNNk.js';
import { M as Modal } from './Modal-D2E5OLRi.js';
import { P as Panel } from './Panel-C6VWd6JD.js';
import { T as TooltipTable } from './TooltipTable-CLglfpck.js';
import { a as formatNumber, f as formatBytes } from './filters-B3U8Nh9P.js';
import './shared-server-BmU87nph.js';
import './shared-DlqhoNLb.js';
import './index-NcxaM188.js';
import './jsonParser-C3QUcODD.js';
import 'esprima';
import './JsonEncoder-Dgtqxb_U.js';
import 'mongodb';
import './logger-PfH_grbh.js';
import 'async_hooks';
import 'node:util';
import './mongo-B92d7zNj.js';
import 'dns/promises';
import 'url';
import 'node:fs';
import 'node:os';
import 'node:path';
import './schema-BZonjzNJ.js';
import 'zod';
import './server-Crjo4w1q.js';
import './routing-EDfUNu8L.js';
import './Tooltip-OVylvwfb.js';
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data } = $$props;
let showDropModal = false;
let collectionToDrop = null;
let isDropping = false;
function closeDropModal() {
showDropModal = false;
collectionToDrop = null;
isDropping = false;
}
Panel($$renderer2, {
title: `${stringify(data.database)} collections`,
children: ($$renderer3) => {
$$renderer3.push(`<table class="table"><thead><tr><th>Name</th><th>Documents</th><th>Indexes</th><th>Size</th><th></th></tr></thead><tbody>`);
if (data.collections && data.collections.length > 0) {
$$renderer3.push("<!--[0-->");
$$renderer3.push(`<!--[-->`);
const each_array = ensure_array_like(data.collections);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let collection = each_array[$$index];
$$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>`);
await_block(
$$renderer3,
collection.details,
() => {
$$renderer3.push(`<span style="color: var(--text-secondary);">...</span>`);
},
(details) => {
if (details) {
$$renderer3.push("<!--[0-->");
$$renderer3.push(`${escape_html(formatNumber(details.count))}`);
} else {
$$renderer3.push("<!--[-1-->");
$$renderer3.push(`<span title="Failed to load">❌</span>`);
}
$$renderer3.push(`<!--]-->`);
}
);
$$renderer3.push(`<!--]--></td><td>`);
await_block(
$$renderer3,
collection.details,
() => {
$$renderer3.push(`<span style="color: var(--text-secondary);">...</span>`);
},
(details) => {
if (details) {
$$renderer3.push("<!--[0-->");
TooltipTable($$renderer3, {
columns: [
{ header: "Index", key: "definition", align: "left" },
{ header: "Size", key: "size", align: "right" }
],
rows: details.indexes.map((index) => ({
definition: index.key ? JSON.stringify(index.key, null, 1) : index.name,
size: formatBytes(index.size)
})),
children: ($$renderer4) => {
$$renderer4.push(`<!---->${escape_html(formatNumber(details.nIndexes))}`);
}
});
} else {
$$renderer3.push("<!--[-1-->");
$$renderer3.push(`<span title="Failed to load">❌</span>`);
}
$$renderer3.push(`<!--]-->`);
}
);
$$renderer3.push(`<!--]--></td><td>`);
await_block(
$$renderer3,
collection.details,
() => {
$$renderer3.push(`<span style="color: var(--text-secondary);">...</span>`);
},
(details) => {
if (details) {
$$renderer3.push("<!--[0-->");
TooltipTable($$renderer3, {
hideHeader: true,
columns: [
{ header: "Label", key: "label", align: "left" },
{ header: "Value", key: "value", align: "right" }
],
rows: [
{ label: "Average obj. size", value: details.avgObjSize },
{ label: "Data size", value: details.dataSize },
{ label: "Storage size", value: details.storageSize },
{ label: "Index size", value: details.totalIndexSize }
].map((row) => ({
...row,
value: typeof row.value === "number" ? formatBytes(row.value) : row.value
})),
children: ($$renderer4) => {
$$renderer4.push(`<!---->${escape_html(formatBytes(details.size))}`);
}
});
} else {
$$renderer3.push("<!--[-1-->");
$$renderer3.push(`<span title="Failed to load">❌</span>`);
}
$$renderer3.push(`<!--]-->`);
}
);
$$renderer3.push(`<!--]--></td><td style="width: 100px"><div class="flex justify-end">`);
if (!data.readOnly) {
$$renderer3.push("<!--[0-->");
$$renderer3.push(`<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>`);
} else {
$$renderer3.push("<!--[-1-->");
}
$$renderer3.push(`<!--]--></div></td></tr>`);
}
$$renderer3.push(`<!--]-->`);
} else {
$$renderer3.push("<!--[-1-->");
$$renderer3.push(`<tr><td colspan="5"><div class="text-center">No collections...</div></td></tr>`);
}
$$renderer3.push(`<!--]--></tbody></table>`);
},
$$slots: { default: true }
});
$$renderer2.push(`<!----> `);
{
let footer = function($$renderer3) {
$$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)}>`);
if (isDropping) {
$$renderer3.push("<!--[0-->");
$$renderer3.push(`Dropping...`);
} else {
$$renderer3.push("<!--[-1-->");
$$renderer3.push(`Drop Collection`);
}
$$renderer3.push(`<!--]--></button>`);
};
Modal($$renderer2, {
show: showDropModal,
onclose: closeDropModal,
title: "Drop Collection",
footer,
children: ($$renderer3) => {
$$renderer3.push(`<p>Are you sure you want to drop the collection <strong>${escape_html(collectionToDrop?.name)}</strong>? This action cannot be
undone.</p>`);
}
});
}
$$renderer2.push(`<!---->`);
});
}
export { _page as default };
//# sourceMappingURL=_page.svelte-BeiSosXN.js.map