Trasa v planovaci wip

This commit is contained in:
Michal Kváček
2024-08-07 06:23:03 +02:00
parent e8dc51a80d
commit d8f11c3862
5 changed files with 18 additions and 18 deletions
+2 -2
View File
@@ -43,12 +43,12 @@ const handleMarkerClick = (marker) => {
}
const markers = ref([]);
watch(() => props.flightPlan.track, (newVal) => {
watch(() => props.flightPlan.navlog, (newVal) => {
markers.value = getMarkersFrom(props.flightPlan);
}, {immediate: true, deep: true});
const track = computed(() => markers.value.map(m => ({lat: m.gpsLatitude, lng: m.gpsLongitude})));
const trackAids = computed(() => props.flightPlan.track.map(p => ({
const trackAids = computed(() => props.flightPlan.navlog.map(p => ({
...p,
anchorPoint: 'CENTER',
bearing: p.bearing,
@@ -47,7 +47,7 @@ const columns = [
const {getDuration, getTotalDuration, getTotalDistance} = useFlightPlanCalculations();
const data = computed(() => props.flightPlan.track.map((item) => ({
const data = computed(() => props.flightPlan.navlog.map((item) => ({
from: textEllipsis(item.from.name, 30),
to: textEllipsis(item.to.name, 30),
distance: `${item.distance} km`,
@@ -48,7 +48,7 @@ const totalDistance = computed(() => getTotalDistance(props.flightPlan));
</q-item>
<q-scroll-area class="mobile-hide" style="height: 55vh">
<template v-for="(segment, i) in props.flightPlan.track" :key="segment">
<template v-for="(segment, i) in props.flightPlan.navlog" :key="segment">
<q-item dense>
<q-item-section>
<q-item-label>{{ segment.from.name }}</q-item-label>
@@ -70,7 +70,7 @@ const totalDistance = computed(() => getTotalDistance(props.flightPlan));
</q-item-section>
</q-item>
<q-item dense v-if="segment.to && i === props.flightPlan.track.length - 1">
<q-item dense v-if="segment.to && i === props.flightPlan.navlog.length - 1">
<q-item-section>
<q-item-label>
{{ segment.to.name }}
@@ -79,15 +79,15 @@ const totalDistance = computed(() => getTotalDistance(props.flightPlan));
</q-item>
</template>
<q-item>
<q-item-section v-if="flightPlan.track.length">
<q-item-section v-if="flightPlan.navlog.length">
<div>
<q-btn
@click="emits('change-insert-position', flightPlan.track.length + 1)"
@click="emits('change-insert-position', flightPlan.navlog.length + 1)"
icon="add"
size="sm"
:color="insertPosition === flightPlan.track.length + 1? 'primary' : 'grey'"
:color="insertPosition === flightPlan.navlog.length + 1? 'primary' : 'grey'"
>
<template v-if="insertPosition === flightPlan.track.length + 1">Přidávám na konec</template>
<template v-if="insertPosition === flightPlan.navlog.length + 1">Přidávám na konec</template>
</q-btn>
</div>
</q-item-section>
+8 -8
View File
@@ -10,11 +10,11 @@ export const useFlightPlanUtils = () => {
}
const getMarkersFrom = (flightPlan) => {
const segments = flightPlan.track.length;
const segments = flightPlan.navlog.length;
const markers = flightPlan.track.map(m => m.from);
if (segments > 0 && flightPlan.track[segments - 1].to) {
markers.push(flightPlan.track[segments - 1].to);
const markers = flightPlan.navlog.map(m => m.from);
if (segments > 0 && flightPlan.navlog[segments - 1].to) {
markers.push(flightPlan.navlog[segments - 1].to);
}
return markers;
@@ -27,16 +27,16 @@ export const useFlightPlanCalculations = () => {
const getDuration = (distance, speed) => Math.round(distance / speed * 60)
const getTotalDistance = (flightPlan) => {
if (!flightPlan.track.length) return null;
if (!flightPlan.navlog.length) return null;
return Math.round(flightPlan.track.map(t => t.distance).reduce((a, b) => a + b));
return Math.round(flightPlan.navlog.map(t => t.distance).reduce((a, b) => a + b));
}
const getTotalDuration = (flightPlan, plannedSpeed = undefined) => {
if (!plannedSpeed) plannedSpeed = flightPlan.plannedSpeed;
if (!flightPlan.track.length) return null;
if (!flightPlan.navlog.length) return null;
return flightPlan.track.map(t => getDuration(t.distance, plannedSpeed)).reduce((a, b) => a + b)
return flightPlan.navlog.map(t => getDuration(t.distance, plannedSpeed)).reduce((a, b) => a + b)
}
return {getDuration, getTotalDistance, getTotalDuration}
+1 -1
View File
@@ -32,7 +32,7 @@ fragment flightPlanFullInfo on FlightPlan {
thumbnailUrl
}
}
track {
navlog {
bearing
distance
from {