fix: default sorting on tables (#299)

Co-authored-by: Elias Schneider <login@eliasschneider.com>
This commit is contained in:
Kyle Mendell
2025-03-06 10:42:31 -06:00
committed by GitHub
parent 91f254c7bb
commit ff34e3b925
7 changed files with 88 additions and 10 deletions

View File

@@ -1,9 +1,24 @@
import { ACCESS_TOKEN_COOKIE_NAME } from '$lib/constants';
import OIDCService from '$lib/services/oidc-service';
import type { SearchPaginationSortRequest } from '$lib/types/pagination.type';
import type { PageServerLoad } from './$types';
export const load: PageServerLoad = async ({ cookies }) => {
const oidcService = new OIDCService(cookies.get(ACCESS_TOKEN_COOKIE_NAME));
const clients = await oidcService.listClients();
// Create request options with default sorting
const requestOptions: SearchPaginationSortRequest = {
sort: {
column: 'name',
direction: 'asc'
},
pagination: {
page: 1,
limit: 10
}
};
const clients = await oidcService.listClients(requestOptions);
return clients;
};

View File

@@ -11,10 +11,20 @@
import { toast } from 'svelte-sonner';
import OneTimeLinkModal from './client-secret.svelte';
let { clients: initialClients }: { clients: Paginated<OidcClient> } = $props();
let {
clients: initialClients
}: {
clients: Paginated<OidcClient>;
} = $props();
let clients = $state<Paginated<OidcClient>>(initialClients);
let oneTimeLink = $state<string | null>(null);
let requestOptions: SearchPaginationSortRequest | undefined = $state();
let requestOptions: SearchPaginationSortRequest | undefined = $state({
sort: { column: 'name', direction: 'asc' },
pagination: {
page: initialClients.pagination.currentPage,
limit: initialClients.pagination.itemsPerPage
}
});
$effect(() => {
clients = initialClients;
@@ -46,6 +56,7 @@
<AdvancedTable
items={clients}
{requestOptions}
defaultSort={{ column: 'name', direction: 'asc' }}
onRefresh={async (o) => (clients = await oidcService.listClients(o))}
columns={[
{ label: 'Logo' },