fix pagination on user search
This commit is contained in:
parent
56aa3c2673
commit
6eb44cc33b
@ -20,7 +20,7 @@
|
|||||||
let userFilter = { name: null, edition: null };
|
let userFilter = { name: null, edition: null };
|
||||||
let userTableContainerElement: HTMLDivElement;
|
let userTableContainerElement: HTMLDivElement;
|
||||||
|
|
||||||
function fetchPageUsers(page: number, filter: any) {
|
function fetchPageUsers(page: number) {
|
||||||
if (!browser) return;
|
if (!browser) return;
|
||||||
|
|
||||||
if (userTableContainerElement) userTableContainerElement.scrollTop = 0;
|
if (userTableContainerElement) userTableContainerElement.scrollTop = 0;
|
||||||
@ -29,7 +29,7 @@
|
|||||||
currentPageUsersRequest = new Promise(async (resolve, reject) => {
|
currentPageUsersRequest = new Promise(async (resolve, reject) => {
|
||||||
const response = await fetch(`${env.PUBLIC_BASE_PATH}/admin/users`, {
|
const response = await fetch(`${env.PUBLIC_BASE_PATH}/admin/users`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: JSON.stringify({ ...filter, limit: usersPerPage, from: usersPerPage * page })
|
body: JSON.stringify({ ...userFilter, limit: usersPerPage, from: usersPerPage * page })
|
||||||
});
|
});
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
currentPageUsers = await response.json();
|
currentPageUsers = await response.json();
|
||||||
@ -40,7 +40,10 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$: fetchPageUsers(userPage, userFilter);
|
$: fetchPageUsers(userPage);
|
||||||
|
// prettier-ignore
|
||||||
|
function fetchFilterPageUsers(_: any) { userPage == 0 ? fetchPageUsers(0) : userPage = 0 }
|
||||||
|
$: fetchFilterPageUsers(userFilter);
|
||||||
|
|
||||||
let sortKey: string | null = null;
|
let sortKey: string | null = null;
|
||||||
let sortAsc = false;
|
let sortAsc = false;
|
||||||
@ -207,7 +210,7 @@
|
|||||||
</table>
|
</table>
|
||||||
<div class="flex justify-center items-center mb-2 mt-4 w-full">
|
<div class="flex justify-center items-center mb-2 mt-4 w-full">
|
||||||
<div class="join">
|
<div class="join">
|
||||||
{#each Array(Math.ceil(data.count / usersPerPage) || 1) as _, i}
|
{#each Array(currentPageUsers.length === usersPerPage || userPage > 0 ? Math.ceil(data.count / usersPerPage) || 1 : 1) as _, i}
|
||||||
<button
|
<button
|
||||||
class="join-item btn"
|
class="join-item btn"
|
||||||
class:btn-active={i === userPage}
|
class:btn-active={i === userPage}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user