mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 05:18:11 +00:00
Poprawiono brak aktualizowania karty z widokiem rozkładu jazdy
This commit is contained in:
@@ -49,6 +49,7 @@ import TrainInfo from '@/components/TrainsView/TrainInfo.vue';
|
||||
import { DataStatus } from '@/scripts/enums/DataStatus';
|
||||
import { GETTERS } from '@/constants/storeConstants';
|
||||
import TrainTimetableCard from './TrainTimetableCard.vue';
|
||||
import { ref } from 'vue';
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
@@ -74,7 +75,6 @@ export default defineComponent({
|
||||
|
||||
defaultVehicleIcons: defaultVehicleIconsJSON,
|
||||
|
||||
chosenTrain: null as Train | null,
|
||||
}),
|
||||
|
||||
setup(props) {
|
||||
@@ -91,6 +91,9 @@ export default defineComponent({
|
||||
//.slice(currentPage.value * PAGE_CAPACITY, currentPage.value * PAGE_CAPACITY + PAGE_CAPACITY);
|
||||
});
|
||||
|
||||
const chosenTrainId = ref(null) as Ref<string | null>;
|
||||
const chosenTrain = computed(() => props.trains.find(train => train.trainNo + train.driverName === chosenTrainId.value));
|
||||
|
||||
// watch([searchedTrain, searchedDriver], () => {
|
||||
// currentPage.value = 0;
|
||||
// });
|
||||
@@ -105,6 +108,9 @@ export default defineComponent({
|
||||
searchedDriver,
|
||||
currentTrains,
|
||||
|
||||
chosenTrain,
|
||||
chosenTrainId,
|
||||
|
||||
sorterActive: inject('sorterActive') as { id: string | number; dir: number },
|
||||
trainsDataStatus: computed(() => trainsDataStatus.value),
|
||||
distanceLimitExceeded: computed(
|
||||
@@ -139,11 +145,11 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
showTrainTimetable(train: Train) {
|
||||
this.chosenTrain = train;
|
||||
this.chosenTrainId = train.trainNo + train.driverName;
|
||||
},
|
||||
|
||||
closeTimetableCard() {
|
||||
this.chosenTrain = null;
|
||||
this.chosenTrainId = null;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@@ -134,6 +134,8 @@ export const store = createStore<State>({
|
||||
},
|
||||
|
||||
async fetchOnlineData({ commit }) {
|
||||
console.log("Pobieranie danych");
|
||||
|
||||
// Pobierz dane o pociągach i rozkładach jazdy z API Stacjownika
|
||||
const trainsAPIData: { response: TrainAPIData[], errorMessage?: string } = (await axios.get(`${URLs.stacjownikAPI}/api/getActiveTrainList`)).data;
|
||||
|
||||
|
||||
@@ -47,14 +47,19 @@ const filteredTrainList = (
|
||||
searchedTrain: string,
|
||||
searchedDriver: string,
|
||||
sorterActive: { id: string; dir: number }
|
||||
) => {
|
||||
|
||||
) => {
|
||||
return trainList
|
||||
.filter(
|
||||
(train) =>
|
||||
(searchedTrain.length > 0 ? train.trainNo.toString().startsWith(searchedTrain) : true) &&
|
||||
(searchedDriver.length > 0 ? train.driverName.toLowerCase().startsWith(searchedDriver.toLowerCase()) : true)
|
||||
)
|
||||
.sort((a, b) => {
|
||||
const commentsA = a.timetableData?.followingStops.some(s => s.comments) ? 1 : 0;
|
||||
const commentsB = b.timetableData?.followingStops.some(s => s.comments) ? 1 : 0;
|
||||
|
||||
return commentsB - commentsA;
|
||||
})
|
||||
.sort((a: Train, b: Train) => {
|
||||
switch (sorterActive.id) {
|
||||
case 'mass':
|
||||
|
||||
Reference in New Issue
Block a user