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} -- { - const newstate = !current_runners.some( - (r) => r.is_selected === true - ); - current_runners = current_runners.map((r) => { - r.is_selected = newstate; - return r; - }); - }} - class="underline cursor-pointer select-none" - >{#if current_runners.some((r) => r.is_selected === true)} - {$_("deselect-all")} - {:else}{$_("select-all")}{/if} - - | -- {$_("name")} - | -- {$_("contact-information")} - | -- {$_("group")} - | -- {$_("distance-in-km")} - | -- {$_("action")} - | -|
---|---|---|---|---|---|---|
- - | -
-
-
-
-
-
- {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} -
+ + | +ID | +First Name | +Middle Name | +Last Name | +Gruppe | +Distanz | +{$_("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 | ++ + |