mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 21:38:13 +00:00
Naprawiono odnośnik do pociągu na liście rozkładów scenerii
This commit is contained in:
@@ -38,7 +38,6 @@ export default defineComponent({
|
||||
|
||||
setup() {
|
||||
const { t } = useI18n();
|
||||
const queryTrain = inject('queryTrain') as Ref<string>;
|
||||
|
||||
const sorterOptions = [
|
||||
{
|
||||
@@ -72,36 +71,18 @@ export default defineComponent({
|
||||
|
||||
return {
|
||||
translatedSorterOptions,
|
||||
queryTrain,
|
||||
searchedTrain: inject('searchedTrain') as string,
|
||||
searchedDriver: inject('searchedDriver') as string,
|
||||
sorterActive: inject('sorterActive') as { id: string | number; dir: number },
|
||||
};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
if (this.queryTrain) {
|
||||
this.searchedTrain = this.queryTrain;
|
||||
this.searchedDriver = '';
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
changeSorter(item: { id: string | number; value: string }) {
|
||||
this.sorterActive.id = item.id;
|
||||
this.sorterActive.dir = -1;
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
queryTrain(train: string) {
|
||||
if (!train) return;
|
||||
if (train == '') return;
|
||||
|
||||
this.searchedTrain = train;
|
||||
this.searchedDriver = '';
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<div class="train-table">
|
||||
<div class="traffic-warning" v-if="distanceLimitExceeded">
|
||||
{{ $t('trains.distance-exceeded') }}
|
||||
</div>
|
||||
|
||||
<transition name="train-list-anim" mode="out-in">
|
||||
<div :key="timetableLoaded + searchedDriver + searchedTrain + sorterActive.id + currentPage">
|
||||
<div :key="Number(timetableLoaded) + currentPage">
|
||||
<div class="traffic-warning" v-if="distanceLimitExceeded">
|
||||
{{ $t('trains.distance-exceeded') }}
|
||||
</div>
|
||||
|
||||
<div class="table-info no-trains" v-if="trains.length == 0 && timetableLoaded">
|
||||
{{ $t('trains.no-trains') }}
|
||||
</div>
|
||||
@@ -57,17 +57,6 @@
|
||||
<span style="color: gold"> {{ train.timetableData.routeDistance }} km </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 class="timetable_route">
|
||||
@@ -150,50 +139,52 @@
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
<div class="paginator" v-if="timetableLoaded && currentTrains.length > 0">
|
||||
<span
|
||||
class="paginator_item"
|
||||
:tabindex="currentPage == 0 ? -1 : 0"
|
||||
:class="{ disabled: currentPage == 0 }"
|
||||
@click="changePageTo(0)"
|
||||
@keydown.enter="changePageTo(0)"
|
||||
>
|
||||
1<
|
||||
</span>
|
||||
<transition name="train-list-anim">
|
||||
<div class="paginator" v-if="timetableLoaded && currentTrains.length > 0">
|
||||
<span
|
||||
class="paginator_item"
|
||||
:tabindex="currentPage == 0 ? -1 : 0"
|
||||
:class="{ disabled: currentPage == 0 }"
|
||||
@click="changePageTo(0)"
|
||||
@keydown.enter="changePageTo(0)"
|
||||
>
|
||||
1<
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="paginator_item"
|
||||
:tabindex="currentPage == 0 ? -1 : 0"
|
||||
:class="{ disabled: currentPage == 0 }"
|
||||
@click="changePageTo(currentPage - 1)"
|
||||
@keydown.enter="changePageTo(currentPage - 1)"
|
||||
>
|
||||
<
|
||||
</span>
|
||||
<span
|
||||
class="paginator_item"
|
||||
:tabindex="currentPage == 0 ? -1 : 0"
|
||||
:class="{ disabled: currentPage == 0 }"
|
||||
@click="changePageTo(currentPage - 1)"
|
||||
@keydown.enter="changePageTo(currentPage - 1)"
|
||||
>
|
||||
<
|
||||
</span>
|
||||
|
||||
<span class="paginator_item page-number">
|
||||
{{ currentPage + 1 }}
|
||||
</span>
|
||||
<span class="paginator_item page-number">
|
||||
{{ currentPage + 1 }}
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="paginator_item"
|
||||
:tabindex="currentPage == paginatorPageCount - 1 ? -1 : 0"
|
||||
:class="{ disabled: currentPage == paginatorPageCount - 1 }"
|
||||
@click="changePageTo(currentPage + 1)"
|
||||
@keydown.enter="changePageTo(currentPage + 1)"
|
||||
>
|
||||
>
|
||||
</span>
|
||||
<span
|
||||
class="paginator_item"
|
||||
:tabindex="currentPage == paginatorPageCount - 1 ? -1 : 0"
|
||||
:class="{ disabled: currentPage == paginatorPageCount - 1 }"
|
||||
@click="changePageTo(paginatorPageCount - 1)"
|
||||
@keydown.enter="changePageTo(paginatorPageCount - 1)"
|
||||
>
|
||||
>{{ paginatorPageCount }}
|
||||
</span>
|
||||
</div>
|
||||
<span
|
||||
class="paginator_item"
|
||||
:tabindex="currentPage == paginatorPageCount - 1 ? -1 : 0"
|
||||
:class="{ disabled: currentPage == paginatorPageCount - 1 }"
|
||||
@click="changePageTo(currentPage + 1)"
|
||||
@keydown.enter="changePageTo(currentPage + 1)"
|
||||
>
|
||||
>
|
||||
</span>
|
||||
<span
|
||||
class="paginator_item"
|
||||
:tabindex="currentPage == paginatorPageCount - 1 ? -1 : 0"
|
||||
:class="{ disabled: currentPage == paginatorPageCount - 1 }"
|
||||
@click="changePageTo(paginatorPageCount - 1)"
|
||||
@keydown.enter="changePageTo(paginatorPageCount - 1)"
|
||||
>
|
||||
>{{ paginatorPageCount }}
|
||||
</span>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -660,7 +651,6 @@ img.train-image {
|
||||
&.page-number {
|
||||
font-weight: bold;
|
||||
color: gold;
|
||||
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
|
||||
+2
-2
@@ -404,7 +404,7 @@ export const store = createStore<State>({
|
||||
&& station.generalInfo.checkpoints
|
||||
&& station.generalInfo.checkpoints.length > 0
|
||||
&& station.generalInfo.checkpoints.some(cp => cp.checkpointName.toLowerCase().includes(stop.stopNameRAW.toLowerCase())))
|
||||
|
||||
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -471,7 +471,7 @@ export const store = createStore<State>({
|
||||
...station.onlineInfo,
|
||||
scheduledTrains
|
||||
} : undefined
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
state.trainList = state.trainList.reduce((acc, train) => {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</template>
|
||||
|
||||
<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 Train from '@/scripts/interfaces/Train';
|
||||
@@ -80,7 +80,6 @@ export default defineComponent({
|
||||
data: () => ({
|
||||
statsIcon: require('@/assets/icon-stats.svg'),
|
||||
trainStatsOpen: false,
|
||||
queryTrain: '',
|
||||
}),
|
||||
|
||||
setup(props) {
|
||||
@@ -94,12 +93,9 @@ export default defineComponent({
|
||||
const searchedDriver = ref('');
|
||||
const searchedTrain = ref('');
|
||||
|
||||
const queryTrain = ref(props.train) as Ref<string>;
|
||||
|
||||
provide('searchedTrain', searchedTrain);
|
||||
provide('searchedDriver', searchedDriver);
|
||||
provide('sorterActive', sorterActive);
|
||||
provide('queryTrain', queryTrain);
|
||||
|
||||
const computedTrains: ComputedRef<Train[]> = computed(() => {
|
||||
if (timetableDataStatus.value != DataStatus.Loaded) return [];
|
||||
@@ -120,6 +116,20 @@ export default defineComponent({
|
||||
chosenTrainCategories,
|
||||
};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
if (this.train) {
|
||||
this.searchedTrain = this.train;
|
||||
this.searchedDriver = '';
|
||||
}
|
||||
},
|
||||
|
||||
activated() {
|
||||
if (this.train) {
|
||||
this.searchedTrain = this.train;
|
||||
this.searchedDriver = '';
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user