diff --git a/package.json b/package.json index 7a8212d3..0b6d2cf1 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "license": "CC-BY-NC-SA-4.0", "devDependencies": { + "@vincjo/datatables": "^1.1.0", "@odit/lfk-client-js": "0.13.1", "@odit/license-exporter": "0.0.11", "@sveltejs/vite-plugin-svelte": "1.0.0-next.6", diff --git a/src/components/runners/RunnersOverview.svelte b/src/components/runners/RunnersOverview.svelte index 8263eff3..51496409 100644 --- a/src/components/runners/RunnersOverview.svelte +++ b/src/components/runners/RunnersOverview.svelte @@ -47,12 +47,10 @@ RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => { orgs = val; }); - function should_display_based_on_id(id) { - if (searchvalue.toString().slice(-1) === "*") { - return id.toString().startsWith(searchvalue.replace("*", "")); - } - return id.toString() === searchvalue; - } + // === + import { DataHandler, Datatable, Th, ThFilter } from "@vincjo/datatables"; + const handler = new DataHandler(current_runners, { rowsPerPage: 50 }); + const rows = handler.getRows(); {#if store.state.jwtinfo.userdetails.permissions.includes("RUNNER:GET")} @@ -65,228 +63,139 @@

{$_("this-might-take-a-moment")}

{:then} - {#if current_runners.length === 0} - - {:else} - + + + -
- - - - -
-
-
- {runner.firstname} - {runner.middlename || ""} - {runner.lastname} -
-
-
- - - {#if runner.email} -
{runner.email}
- {/if} - {#if runner.phone} -
{runner.phone}
- {/if} - {#if runner.address.address1 !== null} - {runner.address.address1}
- {runner.address.address2 || ""}
- {runner.address.postalcode} - {runner.address.city} - {runner.address.country} - {/if} - - - {#if runner.group.responseType === "RUNNERTEAM"} - {runner.group.parentGroup.name} > {runner.group - .name} - {/if} - {#if runner.group.responseType === "RUNNERORGANIZATION"} - {runner.group.name} - {/if} - - - {runner.distance / 1000} km - - {#if active_deletes[runner.id] === true} - - - - - {:else} - - {$_("details")} - {#if store.state.jwtinfo.userdetails.permissions.includes("RUNNER:DELETE")} - - {/if} - - {/if} - - {/if} - {/if} - {/each} - - -
- {/if} - {:catch error} -
- - {$_("general_promise_error")} - {error} -
+ + + + + + + + + + + + + + + + + + {#each $rows as row} + + + + + + + + + + {/each} + +
+ + IDFirst NameMiddle NameLast NameGruppeDistanz{$_("action")}
+ + + + + + + +
+ + {row.id}{row.firstname}{row.middlename || ""}{row.lastname}{#if row.group.responseType === "RUNNERTEAM"} + {row.group.parentGroup.name} > {row.group.name} + {/if} + {#if row.group.responseType === "RUNNERORGANIZATION"} + {row.group.name} + {/if}{row.distance / 1000} km + +
+
{/await} {/if} + +