DB Explorer: Standardmäßig zur letzten Seite springen

- Backend: page=-1 wird als 'letzte Seite' interpretiert (COUNT + Berechnung)
- Frontend: Tabellen-Klick ruft page=-1 auf statt page=1
- Aufgelöster page-Wert aus API-Response für korrekte Anzeige (34/34 statt -1/34)
This commit is contained in:
Meleki committed 2026-03-15 10:20:59 +01:00
1 parent fea605dfe5
commit 229e6d9e53
2 files changed
+15 -3

No files matched your search

+13 -2
View File
@@ -67,11 +67,22 @@ public static class DatabaseExplorerEndpoint
// Pagination
var page = 1;
var pageSize = 1000;
if (ctx.Request.Query.TryGetValue("page", out var pageStr) && int.TryParse(pageStr, out var p) && p > 0)
page = p;
if (ctx.Request.Query.TryGetValue("page", out var pageStr) && int.TryParse(pageStr, out var p))
page = p; // p == -1 → letzte Seite
if (ctx.Request.Query.TryGetValue("pageSize", out var psStr) && int.TryParse(psStr, out var ps) && ps > 0 && ps <= 10000)
pageSize = ps;
// Bei page == -1 → letzte Seite berechnen
if (page == -1)
{
var count = conn.ExecuteScalar<long>($"SELECT COUNT(*) FROM \"{name}\"");
page = Math.Max(1, (int)Math.Ceiling((double)count / pageSize));
}
else if (page < 1)
{
page = 1;
}
var offset = (page - 1) * pageSize;
// Spalten-Info
+2 -1
View File
@@ -51,7 +51,7 @@ registerPage('db-explorer', {
tr.appendChild(tdRows);
tr.addEventListener('click', function() {
loadTableData(t.name, 1);
loadTableData(t.name, -1);
});
tbody.appendChild(tr);
@@ -77,6 +77,7 @@ registerPage('db-explorer', {
try {
var resp = await fetch('/api/admin/db/tables/' + encodeURIComponent(name) + '?page=' + page + '&pageSize=1000');
var data = await resp.json();
page = data.pagination.page;
contentEl.innerHTML = '';