restruct: move internal corrections to the separate json file

This commit is contained in:
2025-01-25 18:49:44 +01:00
parent a5275b7f25
commit b67635886d
2 changed files with 133 additions and 73 deletions
+11 -73
View File
@@ -1,6 +1,6 @@
<template>
<div class="overflow-hidden max-h-screen max-w-[800px] mx-auto">
<div class="grid p-3 h-screen grid-rows-[auto_1fr] ">
<div class="grid p-3 h-screen grid-rows-[auto_1fr]">
<select name="trains" id="trains-select" class="mb-2 bg-zinc-800 p-1 rounded-md" v-model="selectedTrainId">
<option :value="train.id" v-for="train in timetableTrains">
{{ train.driverName }} | {{ train.timetable?.category }} {{ train.trainNo }}
@@ -199,65 +199,7 @@
import { defineComponent } from 'vue';
import { useGlobalStore } from './stores/global.store';
const routeCorrections: Record<string, { departureSpeed: Record<string, number>; departureTracks: Record<string, number> }> = {
Wielichowo: {
departureSpeed: {
'WW-Br': 120,
'WG-WG(gt)': 100,
'WG(gt)-Żak': 120,
},
departureTracks: {
'WW-Br': 2,
},
},
'LCS Żywiec': {
departureSpeed: {
'CI-WG': 60,
'CD-CI': 70,
'RW-CD': 110,
'BLp-BBL': 120,
'WB-ŁG': 70,
'Ło-PŻ': 60,
'Że-RW': 120,
},
departureTracks: {
'BLp-BBL': 2,
'WB-ŁG': 1,
'Że-RW': 1,
},
},
'LCS Kleszczów': {
departureSpeed: {
it1587_1606: 160,
it1551_1568: 160,
},
departureTracks: {},
},
'LCS Perzów': {
departureSpeed: {
'Pz-Ow': 120,
},
departureTracks: {
'Pz-Ow': 2,
},
},
'LCS Sandomierz': {
departureSpeed: {
'Sn-ZG': 90,
},
departureTracks: {
'Sn-ZG': 1,
},
},
'Włoszczowa Północ': {
departureSpeed: {
it19: 100,
},
departureTracks: {
it19: 1,
},
},
};
import sceneryCorrections from './data/corrections.json';
interface StopRow {
pointName: string;
@@ -322,11 +264,11 @@ export default defineComponent({
return {
sceneryName,
sceneryData: sceneryData ?? null,
speedCorrections: routeCorrections[sceneryName] ?? null,
arrivalLine: arrivalLine ?? '',
arrivalLineData,
departureLine: departureLine ?? '',
departureLineData,
lineCorrections: sceneryCorrections.find((sc) => sc.sceneryName == sceneryName)?.lineCorrections ?? [],
};
});
@@ -360,18 +302,15 @@ export default defineComponent({
let correctedDepartureSpeed = 0,
correctedDepartureTracks = 0;
if (stop.departureLine && currentPath.speedCorrections?.departureSpeed !== undefined) {
if (currentPath.speedCorrections?.departureSpeed[stop.departureLine] !== undefined) {
correctedDepartureSpeed = currentPath.speedCorrections?.departureSpeed[stop.departureLine];
departureSpeed = correctedDepartureSpeed;
}
}
const lineCorrection =
stop.departureLine != null ? currentPath.lineCorrections.find((corr) => corr.lineName == stop.departureLine) : undefined;
if (stop.departureLine && currentPath.speedCorrections?.departureTracks !== undefined) {
if (currentPath.speedCorrections?.departureTracks[stop.departureLine] !== undefined) {
correctedDepartureTracks = currentPath.speedCorrections?.departureTracks[stop.departureLine];
departureTracks = correctedDepartureTracks;
}
if (lineCorrection) {
correctedDepartureSpeed = lineCorrection.departureSpeed;
departureSpeed = lineCorrection.departureSpeed;
correctedDepartureTracks = lineCorrection.departureTracks;
departureTracks = lineCorrection.departureTracks;
}
let rowData: StopRow = {
@@ -436,7 +375,6 @@ export default defineComponent({
</script>
<style scoped>
.app_container {
grid-template-rows: auto 1fr;
}
+122
View File
@@ -0,0 +1,122 @@
[
{
"sceneryName": "Wielichowo",
"lineCorrections": [
{
"lineName": "WW-Br",
"departureSpeed": 120,
"departureTracks": 2
},
{
"lineName": "WG-WG(gt)",
"departureSpeed": 120,
"departureTracks": 2
},
{
"lineName": "WG(gt)-Żak",
"departureSpeed": 120,
"departureTracks": 2
}
]
},
{
"sceneryName": "LCS Żywiec",
"lineCorrections": [
{
"lineName": "CI-WG",
"departureSpeed": 60,
"departureTracks": 1
},
{
"lineName": "CD-CI",
"departureSpeed": 70,
"departureTracks": 1
},
{
"lineName": "RW-CD",
"departureSpeed": 110,
"departureTracks": 1
},
{
"lineName": "BLp-BBL",
"departureSpeed": 120,
"departureTracks": 2
},
{
"lineName": "WB-ŁG",
"departureSpeed": 70,
"departureTracks": 1
},
{
"lineName": "Ło-PŻ",
"departureSpeed": 60,
"departureTracks": 1
},
{
"lineName": "Że-RW",
"departureSpeed": 120,
"departureTracks": 1
}
]
},
{
"sceneryName": "LCS Kleszczów",
"lineCorrections": [
{
"lineName": "it1587_1606",
"departureSpeed": 160,
"departureTracks": 2
},
{
"lineName": "it1551_1568",
"departureSpeed": 160,
"departureTracks": 2
},
{
"lineName": "it1619_1632",
"departureSpeed": 160,
"departureTracks": 2
}
]
},
{
"sceneryName": "LCS Perzów",
"lineCorrections": [
{
"lineName": "Pz-Ow",
"departureSpeed": 120,
"departureTracks": 2
}
]
},
{
"sceneryName": "LCS Sandomierz",
"lineCorrections": [
{
"lineName": "Sn-ZG",
"departureSpeed": 90,
"departureTracks": 1
}
]
},
{
"sceneryName": "Włoszczowa Północ",
"lineCorrections": [
{
"lineName": "it19",
"departureSpeed": 100,
"departureTracks": 1
}
]
},
{
"sceneryName": "Żory",
"lineCorrections": [
{
"lineName": "Żo-Kls",
"departureSpeed": 120,
"departureTracks": 2
}
]
}
]