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