Naprawiono odnośnik do pociągu na liście rozkładów scenerii

This commit is contained in:
2022-01-16 18:05:05 +01:00
parent c086c4fd09
commit 562b9a64ca
4 changed files with 65 additions and 84 deletions
@@ -38,7 +38,6 @@ export default defineComponent({
setup() { setup() {
const { t } = useI18n(); const { t } = useI18n();
const queryTrain = inject('queryTrain') as Ref<string>;
const sorterOptions = [ const sorterOptions = [
{ {
@@ -72,36 +71,18 @@ export default defineComponent({
return { return {
translatedSorterOptions, translatedSorterOptions,
queryTrain,
searchedTrain: inject('searchedTrain') as string, searchedTrain: inject('searchedTrain') as string,
searchedDriver: inject('searchedDriver') as string, searchedDriver: inject('searchedDriver') as string,
sorterActive: inject('sorterActive') as { id: string | number; dir: number }, sorterActive: inject('sorterActive') as { id: string | number; dir: number },
}; };
}, },
mounted() {
if (this.queryTrain) {
this.searchedTrain = this.queryTrain;
this.searchedDriver = '';
}
},
methods: { methods: {
changeSorter(item: { id: string | number; value: string }) { changeSorter(item: { id: string | number; value: string }) {
this.sorterActive.id = item.id; this.sorterActive.id = item.id;
this.sorterActive.dir = -1; this.sorterActive.dir = -1;
}, },
}, },
watch: {
queryTrain(train: string) {
if (!train) return;
if (train == '') return;
this.searchedTrain = train;
this.searchedDriver = '';
},
},
}); });
</script> </script>
+4 -14
View File
@@ -1,11 +1,11 @@
<template> <template>
<div class="train-table"> <div class="train-table">
<transition name="train-list-anim" mode="out-in">
<div :key="Number(timetableLoaded) + currentPage">
<div class="traffic-warning" v-if="distanceLimitExceeded"> <div class="traffic-warning" v-if="distanceLimitExceeded">
{{ $t('trains.distance-exceeded') }} {{ $t('trains.distance-exceeded') }}
</div> </div>
<transition name="train-list-anim" mode="out-in">
<div :key="timetableLoaded + searchedDriver + searchedTrain + sorterActive.id + currentPage">
<div class="table-info no-trains" v-if="trains.length == 0 && timetableLoaded"> <div class="table-info no-trains" v-if="trains.length == 0 && timetableLoaded">
{{ $t('trains.no-trains') }} {{ $t('trains.no-trains') }}
</div> </div>
@@ -57,17 +57,6 @@
<span style="color: gold"> {{ train.timetableData.routeDistance }} km </span> <span style="color: gold"> {{ train.timetableData.routeDistance }} km </span>
</span> </span>
</span> </span>
<span class="timetable_srjp g-tooltip">
<span class="activator">
SRJP
<img
:src="chosenSchedule == train.timetableData.timetableId ? icons.arrowAsc : icons.arrowDesc"
alt="arrow-icon"
/>
</span>
<span class="content"> {{ $t('trains.detailed-timetable') }} {{ train.trainNo }} </span>
</span>
</div> </div>
<div class="timetable_route"> <div class="timetable_route">
@@ -150,6 +139,7 @@
</div> </div>
</transition> </transition>
<transition name="train-list-anim">
<div class="paginator" v-if="timetableLoaded && currentTrains.length > 0"> <div class="paginator" v-if="timetableLoaded && currentTrains.length > 0">
<span <span
class="paginator_item" class="paginator_item"
@@ -194,6 +184,7 @@
&gt;{{ paginatorPageCount }} &gt;{{ paginatorPageCount }}
</span> </span>
</div> </div>
</transition>
</div> </div>
</template> </template>
@@ -660,7 +651,6 @@ img.train-image {
&.page-number { &.page-number {
font-weight: bold; font-weight: bold;
color: gold; color: gold;
} }
&.disabled { &.disabled {
+15 -5
View File
@@ -13,7 +13,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { computed, ComputedRef, defineComponent, provide, reactive, Ref, ref } from 'vue'; import { computed, ComputedRef, defineComponent, provide, reactive, Ref, ref, watch } from 'vue';
import { DataStatus } from '@/scripts/enums/DataStatus'; import { DataStatus } from '@/scripts/enums/DataStatus';
import Train from '@/scripts/interfaces/Train'; import Train from '@/scripts/interfaces/Train';
@@ -80,7 +80,6 @@ export default defineComponent({
data: () => ({ data: () => ({
statsIcon: require('@/assets/icon-stats.svg'), statsIcon: require('@/assets/icon-stats.svg'),
trainStatsOpen: false, trainStatsOpen: false,
queryTrain: '',
}), }),
setup(props) { setup(props) {
@@ -94,12 +93,9 @@ export default defineComponent({
const searchedDriver = ref(''); const searchedDriver = ref('');
const searchedTrain = ref(''); const searchedTrain = ref('');
const queryTrain = ref(props.train) as Ref<string>;
provide('searchedTrain', searchedTrain); provide('searchedTrain', searchedTrain);
provide('searchedDriver', searchedDriver); provide('searchedDriver', searchedDriver);
provide('sorterActive', sorterActive); provide('sorterActive', sorterActive);
provide('queryTrain', queryTrain);
const computedTrains: ComputedRef<Train[]> = computed(() => { const computedTrains: ComputedRef<Train[]> = computed(() => {
if (timetableDataStatus.value != DataStatus.Loaded) return []; if (timetableDataStatus.value != DataStatus.Loaded) return [];
@@ -120,6 +116,20 @@ export default defineComponent({
chosenTrainCategories, chosenTrainCategories,
}; };
}, },
mounted() {
if (this.train) {
this.searchedTrain = this.train;
this.searchedDriver = '';
}
},
activated() {
if (this.train) {
this.searchedTrain = this.train;
this.searchedDriver = '';
}
},
}); });
</script> </script>