From 33342345f9403a613e9c62dbe17ab9112abaff5d Mon Sep 17 00:00:00 2001 From: Tobias Zoghaib Date: Sat, 26 Oct 2024 23:52:38 +0200 Subject: [PATCH] LocationsAdminPage data table --- software/src/locales/de.json | 10 +- software/src/locales/en.json | 10 +- .../src/pages/admin/bandsAdminPage/index.vue | 115 +++++++----------- .../pages/admin/locationsAdminPage/index.vue | 66 +++++++++- software/src/stores/location.store.ts | 19 ++- 5 files changed, 148 insertions(+), 72 deletions(-) diff --git a/software/src/locales/de.json b/software/src/locales/de.json index 0f52f0a..de7bc91 100644 --- a/software/src/locales/de.json +++ b/software/src/locales/de.json @@ -14,7 +14,15 @@ "seatPlan": "Saalplan | Saalpläne", "seatSelection": "Sitzauswahl", "standingArea": "Stehbereich" - } + }, + "nrOfConcerts": "Konzerte", + "capacity": "Kapazität", + "layoutNr": "Layout Nr", + "name": "Location Name", + "address": "Adresse", + "imageIndoor": "Bild Innenraum", + "imageOutdoor": "Bild Außen", + "addLocation": "Neue Location hinzufügen" }, "concert": { "concert": "Konzert | Konzerte", diff --git a/software/src/locales/en.json b/software/src/locales/en.json index aa17ea5..f692254 100644 --- a/software/src/locales/en.json +++ b/software/src/locales/en.json @@ -14,7 +14,15 @@ "seatPlan": "Seat plan | Seat plans", "seatSelection": "Seat selection", "standingArea": "Seat area" - } + }, + "nrOfConcerts": "Concerts", + "capacity": "Capacity", + "layoutNr": "Layout Nr", + "name": "Location Name", + "address": "Adress", + "imageIndoor": "Image Indoor", + "imageOutdoor": "Image Outdoor", + "addLocation": "Add new Location" }, "concert": { "concert": "Concert | Concerts", diff --git a/software/src/pages/admin/bandsAdminPage/index.vue b/software/src/pages/admin/bandsAdminPage/index.vue index 1e49df7..1c5ca28 100644 --- a/software/src/pages/admin/bandsAdminPage/index.vue +++ b/software/src/pages/admin/bandsAdminPage/index.vue @@ -2,6 +2,7 @@ import { useBandStore } from '@/stores/band.store'; import outlinedButton from '@/components/basics/outlinedButton.vue'; import bandEditDialog from './bandEditDialog.vue'; +import adminDataLayout from '@/layouts/adminDataLayout.vue'; import { useRouter } from 'vue-router'; import { useFeedbackStore } from '@/stores/feedback.store'; @@ -24,79 +25,57 @@ bandStore.getBands() \ No newline at end of file diff --git a/software/src/pages/admin/locationsAdminPage/index.vue b/software/src/pages/admin/locationsAdminPage/index.vue index 0fd0c48..a36707e 100644 --- a/software/src/pages/admin/locationsAdminPage/index.vue +++ b/software/src/pages/admin/locationsAdminPage/index.vue @@ -1,6 +1,70 @@ \ No newline at end of file diff --git a/software/src/stores/location.store.ts b/software/src/stores/location.store.ts index 2380cdc..9692a1d 100644 --- a/software/src/stores/location.store.ts +++ b/software/src/stores/location.store.ts @@ -21,7 +21,9 @@ export const useLocationStore = defineStore("locationStore", { cities: ref>([]), /** Request to server sent, waiting for data response */ - fetchInProgress: ref(false) + fetchInProgress: ref(false), + + showEditLocation: ref(false) }), actions: { @@ -75,6 +77,21 @@ export const useLocationStore = defineStore("locationStore", { .then(result => { this.topLocations = result.data }) + }, + + + newLocation() { + this.location = new LocationDetailsApiModel() + this.showEditLocation = true + }, + + editLocation(item: LocationApiModel) { + this.location = item + this.showEditLocation = true + }, + + async deleteLocation(item: LocationApiModel) { + // todo } }, }) \ No newline at end of file