fix: scenery timetable duplicates; fix: not opening train modal for queries

This commit is contained in:
2024-05-25 16:02:20 +02:00
parent 29de1b3c4b
commit 65b159f8fd
10 changed files with 34 additions and 42 deletions
@@ -103,7 +103,7 @@ export default defineComponent({
showTimetable(timetable: API.TimetableHistory.Data, target: EventTarget | null) {
if (timetable?.terminated) return;
this.selectModalTrain(timetable.driverName + timetable.trainNo.toString(), target);
this.selectModalTrainById(`${timetable.driverName}${timetable.trainNo}`, target);
}
}
});
@@ -18,8 +18,8 @@
tabindex="0"
:key="train.id"
:data-status="status"
@click.prevent="selectModalTrain(train.id, $event.currentTarget)"
@keydown.enter="selectModalTrain(train.id, $event.currentTarget)"
@click.prevent="selectModalTrain(train, $event.currentTarget)"
@keydown.enter="selectModalTrain(train, $event.currentTarget)"
>
<span class="user_train">{{ train.trainNo }}</span>
<span class="user_name">{{ train.driverName }}</span>
@@ -39,8 +39,8 @@
<div class="timetable-list">
<transition-group name="list-anim">
<div
style="padding-bottom: 5em"
v-if="apiStore.dataStatuses.connection == 0 && sceneryTimetables.length == 0"
style="padding-bottom: 5em"
key="list-loading"
>
<Loading />
@@ -65,11 +65,11 @@
<div
class="timetable-item"
v-else
v-for="row in sceneryTimetables"
:key="row.train.id + row.checkpointStop.arrivalTimestamp"
v-for="(row, i) in sceneryTimetables"
:key="row.train.id"
tabindex="0"
@click.prevent.stop="selectModalTrain(row.train.id, $event.currentTarget)"
@keydown.enter.prevent="selectModalTrain(row.train.id, $event.currentTarget)"
@click.prevent.stop="selectModalTrain(row.train, $event.currentTarget)"
@keydown.enter.prevent="selectModalTrain(row.train, $event.currentTarget)"
>
<span class="timetable-general">
<span class="general-info">
@@ -236,8 +236,6 @@ export default defineComponent({
if (!this.station) return [];
if (!this.onlineScenery) return [];
console.log(this.onlineScenery.scheduledTrains, this.chosenCheckpoint);
return this.onlineScenery.scheduledTrains
.filter(
(ct) =>
+1 -1
View File
@@ -21,7 +21,7 @@ export default defineComponent({
computed: {
chosenTrain() {
return this.store.trainList.find((train) => train.id == this.store.chosenModalTrainId);
return this.store.trainList.find((train) => train.modalId == this.store.chosenModalTrainId);
}
},
+2 -13
View File
@@ -18,8 +18,8 @@
v-for="train in trains"
:key="train.id"
tabindex="0"
@click.stop="selectModalTrain(train.id, $event.currentTarget)"
@keydown.enter="selectModalTrain(train.id, $event.currentTarget)"
@click.stop="selectModalTrain(train, $event.currentTarget)"
@keydown.enter="selectModalTrain(train, $event.currentTarget)"
>
<TrainInfo :train="train" :extended="false" />
</li>
@@ -77,17 +77,6 @@ export default defineComponent({
return Status.Data.Loaded;
}
},
activated() {
const query = this.$route.query;
if (query.trainNo && query.driverName) {
this.searchedDriver = query.driverName.toString();
this.searchedTrain = query.trainNo.toString();
setTimeout(() => {
this.selectModalTrain(query.driverName! + query.trainNo!.toString());
}, 20);
}
}
});
</script>