Files
app/src/pages/profile/forms/EditAircraftPage.vue
T
2023-05-31 20:44:10 +02:00

48 lines
1.3 KiB
Vue

<script setup>
import AircraftForm from "components/aircrafts/AircraftForm.vue";
import {useAircraftsStore} from "stores/Aircrafts";
import {useRoute, useRouter} from "vue-router";
import {useQuasar} from "quasar";
import {onMounted, reactive, ref} from "vue";
let isRequestPending = ref(false);
const $q = useQuasar();
const router = useRouter();
const aircraftId = parseInt(useRoute().params.id);
const handleSave = (formData) => {
isRequestPending.value = true;
useAircraftsStore().update(aircraftId, formData).then(() => {
$q.notify({message: "Letadlo uspesne upraveno", position: "top", color: "positive"});
router.push({name: "aircrafts"});
}).finally(() => {
isRequestPending.value = true;
})
}
let loadedAircraft = ref(null);
onMounted(() => {
useAircraftsStore().fetchDetail(aircraftId).then((data) => {
console.log("data ", data);
loadedAircraft.value = data;
} ).catch(err => {
console.error(err);
})
});
</script>
<template>
<q-skeleton v-if="!loadedAircraft" />
<template v-if="loadedAircraft">
<h1>Editace letadla {{ loadedAircraft.name}}</h1>
loaded aircraft: {{ loadedAircraft }}
<AircraftForm @save="handleSave" :default-values="loadedAircraft" :is-request-pending="isRequestPending"/>
</template>
</template>