diff --git a/src/components/runners/RunnersOverview.svelte b/src/components/runners/RunnersOverview.svelte index d8f816a1..89739a89 100644 --- a/src/components/runners/RunnersOverview.svelte +++ b/src/components/runners/RunnersOverview.svelte @@ -8,6 +8,7 @@ getCoreRowModel, getFilteredRowModel, getPaginationRowModel, + getSortedRowModel, } from "@tanstack/svelte-table"; const columns = [ @@ -19,22 +20,22 @@ { accessorKey: "firstname", header: () => "firstname", - filterFn: `includesString` + filterFn: `includesString`, }, { accessorKey: "lastname", header: () => "lastname", - filterFn: `includesString` + filterFn: `includesString`, }, { accessorKey: "group.name", header: () => "group", - filterFn: `includesString` + filterFn: `includesString`, }, { accessorKey: "distance", header: () => "distance", - filterFn: `equals` + filterFn: `equals`, }, ]; @@ -78,6 +79,7 @@ getCoreRowModel: getCoreRowModel(), getFilteredRowModel: getFilteredRowModel(), getPaginationRowModel: getPaginationRowModel(), + getSortedRowModel: getSortedRowModel(), }); const table = createSvelteTable(options); onMount(() => { @@ -127,7 +129,7 @@ {#each $table.getHeaderGroups() as headerGroup} {#each headerGroup.headers as header} - + {#if !header.isPlaceholder} - {#if header.column.getCanFilter()} -
- { - header.column.setFilterValue(e.target.value); - }} - type="text" - class="block rounded-md border-gray-200 py-2 pl-8 text-xs focus:border-blue-500 focus:ring-blue-500" - placeholder="" - /> -
- - - -
-
+ {#if header.column.getIsSorted().toString() == "asc"} + 🔼 + {:else if header.column.getIsSorted().toString() == "desc"} + 🔽 {/if} {/if} + {#if header.column.getCanFilter()} +
+ { + header.column.setFilterValue(e.target.value); + }} + type="text" + class="block rounded-md border-gray-200 py-2 pl-8 text-xs focus:border-blue-500 focus:ring-blue-500" + placeholder="" + /> +
+ + + +
+
+ {/if} {/each}