Sprava eventu
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<script setup>
|
||||
import {onMounted} from "vue";
|
||||
import {loading, event, fetchEvent, isRequestPending} from "src/composables/objects/event";
|
||||
import {useAppStore} from "stores/App";
|
||||
import {useRoute, useRouter} from "vue-router";
|
||||
import {useEventsStore} from "stores/Events";
|
||||
import {successObject} from "src/composables/dialog";
|
||||
import {useQuasar} from "quasar";
|
||||
import EventEditSkeleton from "components/event/EventEditSkeleton.vue";
|
||||
import EventForm from "components/event/EventForm.vue";
|
||||
|
||||
const eventId = parseInt(useRoute().params.id);
|
||||
|
||||
onMounted(() => {
|
||||
fetchEvent(eventId).then(() => {
|
||||
useAppStore().setPageTitle(`${event.value.name} - editace`);
|
||||
useAppStore().setBreadcrumbs([
|
||||
{to: {name: "events"}, label: "Události"},
|
||||
{to: {name: "eventDetail", params: {id: eventId}}, label: event.value.name},
|
||||
{label: "Editace"}
|
||||
])
|
||||
})
|
||||
});
|
||||
|
||||
const $q = useQuasar();
|
||||
const $router = useRouter();
|
||||
|
||||
const handleSave = (formData) => {
|
||||
useEventsStore().update(eventId, formData).then(() => {
|
||||
$q.notify(successObject("Událost úspěšně upravena"));
|
||||
$router.push({name: "eventDetail", params: {id: eventId}});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<EventEditSkeleton v-if="loading"/>
|
||||
|
||||
<EventForm
|
||||
v-else
|
||||
:event="event"
|
||||
:is-request-pending="isRequestPending"
|
||||
@save="handleSave"
|
||||
/>
|
||||
</template>
|
||||
Reference in New Issue
Block a user