mongoku
Version:
[](https://github.com/huggingface/Mongoku/actions/workflows/ci.yml)
129 lines (126 loc) • 5.36 kB
JavaScript
import './async-DUoD1OpG.js';
import { s as stringify, b as ensure_array_like, a as attr, e as escape_html } 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 { 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 databaseToDrop = null;
let isDropping = false;
function closeDropModal() {
showDropModal = false;
databaseToDrop = null;
isDropping = false;
}
Panel($$renderer2, {
title: `Databases on ${stringify(data.server)}`,
children: ($$renderer3) => {
$$renderer3.push(`<table class="table"><thead><tr><th>Name</th><th>Collections</th><th>Size</th><th></th></tr></thead><tbody>`);
if (data.databases && data.databases.length > 0) {
$$renderer3.push("<!--[0-->");
$$renderer3.push(`<!--[-->`);
const each_array = ensure_array_like(data.databases);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let database = each_array[$$index];
$$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>${escape_html(database.nCollections)}</td><td>`);
if (database.size !== void 0) {
$$renderer3.push("<!--[0-->");
TooltipTable($$renderer3, {
hideHeader: true,
columns: [
{ header: "Metric", key: "metric", align: "left" },
{ header: "Value", key: "value", align: "right" }
],
rows: [
{ metric: "Total Size", value: database.size },
{ metric: "Data Size", value: database.dataSize },
{ metric: "Storage Size", value: database.storageSize },
{ metric: "Index Size", value: database.totalIndexSize },
{ metric: "Avg Object Size", value: database.avgObjSize },
{ metric: "Empty", value: database.empty ? "Yes" : "No" }
].map((row) => ({
...row,
value: typeof row.value === "number" ? formatBytes(row.value) : row.value
})),
children: ($$renderer4) => {
$$renderer4.push(`<!---->${escape_html(formatBytes(database.size))}`);
}
});
} else {
$$renderer3.push("<!--[-1-->");
}
$$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="4"><div class="text-center">No databases...</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 Database`);
}
$$renderer3.push(`<!--]--></button>`);
};
Modal($$renderer2, {
show: showDropModal,
onclose: closeDropModal,
title: "Drop Database",
footer,
children: ($$renderer3) => {
$$renderer3.push(`<p>Are you sure you want to drop the database <strong>${escape_html(databaseToDrop?.name)}</strong>? This action cannot be undone.</p>`);
}
});
}
$$renderer2.push(`<!---->`);
});
}
export { _page as default };
//# sourceMappingURL=_page.svelte-CAAPpbun.js.map