Compare commits

..

3 Commits

Author SHA1 Message Date
e9cf2bc849
Full track table editing 2023-05-01 14:27:56 +02:00
103ad57ddc
Added track update toasts 2023-05-01 14:25:22 +02:00
2856c5c1b7
Editing update logic 2023-05-01 14:23:25 +02:00
3 changed files with 1074 additions and 1016 deletions

View File

@ -99,8 +99,18 @@
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="ml-4">
{#if editTracks.includes(t.id)}
<input class="shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-0.5" type="text" value={t.name} />
{#if editTracks.findIndex((tr) => tr.id === t.id) !== -1}
<input
class="shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-0.5"
type="text"
value={t.name}
on:input={(e) => {
const i = editTracks.findIndex(
(tr) => tr.id === t.id
);
editTracks[i].name = e.target.value;
}}
/>
{:else}
<div class="text-sm font-medium text-gray-900">
{t.name}
@ -112,18 +122,46 @@
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="ml-4">
{#if editTracks.findIndex((tr) => tr.id === t.id) !== -1}
<input
class="shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-0.5"
type="number"
value={t.distance}
on:input={(e) => {
const i = editTracks.findIndex(
(tr) => tr.id === t.id
);
editTracks[i].distance = parseInt(e.target.value);
}}
/>
{:else}
<div class="text-sm font-medium text-gray-900">
{t.distance}
</div>
{/if}
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="ml-4">
{#if editTracks.findIndex((tr) => tr.id === t.id) !== -1}
<input
class="shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-0.5"
type="number"
value={t.minimumLapTime}
on:input={(e) => {
const i = editTracks.findIndex(
(tr) => tr.id === t.id
);
editTracks[i].minimumLapTime = parseInt(e.target.value);
}}
/>
{:else}
<div class="text-sm font-medium text-gray-900">
{t.minimumLapTime}
</div>
{/if}
</div>
</div>
</td>
@ -169,7 +207,23 @@
<button
tabindex="0"
on:click={async () => {
console.log("TODO:");
toast.loading($_("track-is-being-updated"));
const i = editTracks.findIndex(
(tr) => tr.id === t.id
);
const res = await TrackService.trackControllerPut(
t.id,
editTracks[i]
);
tracksstore.set(
$tracksstore.filter((tr) => tr.id !== t.id)
);
$tracksstore.push(res)
editTracks = editTracks.filter((tr) => {
tr.id !== t.id;
});
toast.dismiss();
toast.success($_("track-updated"));
}}
class="ml-4 text-green-600 hover:text-green-900 cursor-pointer"
>{$_("save")}</button

View File

@ -503,5 +503,7 @@
"you-have-to-provide-an-organization": "Du musst eine Organisation angeben",
"you-have-to-save-your-changes-to-generate-a-link": "Du musst deine Änderungen speichern, um einen Link zu generieren.",
"you-must-create-at-least-one-card-or-cancel": "Du musst mindestens eine Blankokarte erstellen.",
"zip-postal-code": "Postleitzahl"
"zip-postal-code": "Postleitzahl",
"track-is-being-deleted": "Track wird gelöscht",
"track-updated": "Track aktualisiert"
}

View File

@ -503,5 +503,7 @@
"you-have-to-provide-an-organization": "You have to provide an organization",
"you-have-to-save-your-changes-to-generate-a-link": "You have to save your changes to generate a link.",
"you-must-create-at-least-one-card-or-cancel": "You must create at least one card.",
"zip-postal-code": "ZIP/ postal code"
"zip-postal-code": "ZIP/ postal code",
"track-is-being-deleted": "Track is being deleted",
"track-updated": "Track deleted"
}