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:
1 parent
fea605dfe5
commit
229e6d9e53
2 files changed
+15
-3
No files matched your search
@@ -67,11 +67,22 @@ public static class DatabaseExplorerEndpoint
|
|||||||
// Pagination
|
// Pagination
|
||||||
var page = 1;
|
var page = 1;
|
||||||
var pageSize = 1000;
|
var pageSize = 1000;
|
||||||
if (ctx.Request.Query.TryGetValue("page", out var pageStr) && int.TryParse(pageStr, out var p) && p > 0)
|
if (ctx.Request.Query.TryGetValue("page", out var pageStr) && int.TryParse(pageStr, out var p))
|
||||||
page = 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)
|
if (ctx.Request.Query.TryGetValue("pageSize", out var psStr) && int.TryParse(psStr, out var ps) && ps > 0 && ps <= 10000)
|
||||||
pageSize = ps;
|
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;
|
var offset = (page - 1) * pageSize;
|
||||||
|
|
||||||
// Spalten-Info
|
// Spalten-Info
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ registerPage('db-explorer', {
|
|||||||
tr.appendChild(tdRows);
|
tr.appendChild(tdRows);
|
||||||
|
|
||||||
tr.addEventListener('click', function() {
|
tr.addEventListener('click', function() {
|
||||||
loadTableData(t.name, 1);
|
loadTableData(t.name, -1);
|
||||||
});
|
});
|
||||||
|
|
||||||
tbody.appendChild(tr);
|
tbody.appendChild(tr);
|
||||||
@@ -77,6 +77,7 @@ registerPage('db-explorer', {
|
|||||||
try {
|
try {
|
||||||
var resp = await fetch('/api/admin/db/tables/' + encodeURIComponent(name) + '?page=' + page + '&pageSize=1000');
|
var resp = await fetch('/api/admin/db/tables/' + encodeURIComponent(name) + '?page=' + page + '&pageSize=1000');
|
||||||
var data = await resp.json();
|
var data = await resp.json();
|
||||||
|
page = data.pagination.page;
|
||||||
|
|
||||||
contentEl.innerHTML = '';
|
contentEl.innerHTML = '';
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user