mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-04 22:08:12 +00:00
refactor: left & right track speed limits for routes in active train's timetable
This commit is contained in:
@@ -57,7 +57,14 @@
|
|||||||
<span>{{ stop.departureLine }}</span>
|
<span>{{ stop.departureLine }}</span>
|
||||||
|
|
||||||
<span v-if="stop.departureLineInfo">
|
<span v-if="stop.departureLineInfo">
|
||||||
<span> | {{ stop.departureLineInfo.routeSpeed }}</span>
|
<span>
|
||||||
|
|
|
||||||
|
{{
|
||||||
|
stop.departureLineInfo.routeSpeedExit
|
||||||
|
? `${stop.departureLineInfo.routeSpeedExit} (${stop.departureLineInfo.routeSpeed})`
|
||||||
|
: stop.departureLineInfo.routeSpeed
|
||||||
|
}}</span
|
||||||
|
>
|
||||||
|
|
||||||
<img
|
<img
|
||||||
:src="
|
:src="
|
||||||
@@ -85,13 +92,13 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
v-if="stop.sceneryName != scheduleStops[i + 1]?.sceneryName"
|
v-if="stop.nextPointRef && stop.sceneryName != stop.nextPointRef.sceneryName"
|
||||||
class="scenery-change-name"
|
class="scenery-change-name"
|
||||||
>
|
>
|
||||||
<span>{{ scheduleStops[i + 1].sceneryName }}</span>
|
<span>{{ stop.nextPointRef.sceneryName }}</span>
|
||||||
|
|
||||||
<i
|
<i
|
||||||
v-if="!scheduleStops[i + 1].isSceneryOnline"
|
v-if="!stop.nextPointRef.isSceneryOnline"
|
||||||
class="fa-solid fa-ban fa-sm"
|
class="fa-solid fa-ban fa-sm"
|
||||||
data-tooltip-type="BaseTooltip"
|
data-tooltip-type="BaseTooltip"
|
||||||
:data-tooltip-content="$t('app.tooltip-scenery-offline')"
|
:data-tooltip-content="$t('app.tooltip-scenery-offline')"
|
||||||
@@ -101,30 +108,33 @@
|
|||||||
|
|
||||||
<div
|
<div
|
||||||
class="scenery-route"
|
class="scenery-route"
|
||||||
v-if="stop.sceneryName != scheduleStops[i + 1]?.sceneryName"
|
v-if="stop.nextPointRef && stop.sceneryName != stop.nextPointRef.sceneryName"
|
||||||
>
|
>
|
||||||
<span> {{ scheduleStops[i + 1].arrivalLine }}</span>
|
<span> {{ stop.nextPointRef.arrivalLine }}</span>
|
||||||
|
|
||||||
<span v-if="scheduleStops[i + 1].arrivalLineInfo">
|
<span v-if="stop.nextPointRef.arrivalLineInfo">
|
||||||
<span> | {{ scheduleStops[i + 1].arrivalLineInfo!.routeSpeed }} </span>
|
<span> | {{ stop.nextPointRef.arrivalLineInfo!.routeSpeed }}</span>
|
||||||
|
<span v-if="stop.nextPointRef.arrivalLineInfo!.routeSpeedExit"
|
||||||
|
>({{ stop.nextPointRef.arrivalLineInfo!.routeSpeedExit }})</span
|
||||||
|
>
|
||||||
|
|
||||||
<img
|
<img
|
||||||
:src="
|
:src="
|
||||||
scheduleStops[i + 1].arrivalLineInfo?.isElectric
|
stop.nextPointRef.arrivalLineInfo?.isElectric
|
||||||
? '/images/icon-catenary.svg'
|
? '/images/icon-catenary.svg'
|
||||||
: '/images/icon-we4a.png'
|
: '/images/icon-we4a.png'
|
||||||
"
|
"
|
||||||
data-tooltip-type="BaseTooltip"
|
data-tooltip-type="BaseTooltip"
|
||||||
:data-tooltip-content="
|
:data-tooltip-content="
|
||||||
$t(
|
$t(
|
||||||
`trains.${!scheduleStops[i + 1].arrivalLineInfo?.isElectric ? 'no-' : ''}catenary-tooltip`
|
`trains.${!stop.nextPointRef.arrivalLineInfo?.isElectric ? 'no-' : ''}catenary-tooltip`
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
width="14"
|
width="14"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<img
|
<img
|
||||||
v-if="scheduleStops[i + 1].arrivalLineInfo!.isRouteSBL"
|
v-if="stop.nextPointRef.arrivalLineInfo!.isRouteSBL"
|
||||||
src="/images/icon-sbl-transparent.svg"
|
src="/images/icon-sbl-transparent.svg"
|
||||||
width="14"
|
width="14"
|
||||||
data-tooltip-type="BaseTooltip"
|
data-tooltip-type="BaseTooltip"
|
||||||
@@ -228,7 +238,7 @@ export default defineComponent({
|
|||||||
departureLineInfo = pathData.departureLineData;
|
departureLineInfo = pathData.departureLineData;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const stop of followingStops) {
|
followingStops.forEach((stop, i) => {
|
||||||
let isExternal = false;
|
let isExternal = false;
|
||||||
|
|
||||||
if (stop.arrivalLine === currentPath.arrivalRouteExt) {
|
if (stop.arrivalLine === currentPath.arrivalRouteExt) {
|
||||||
@@ -287,7 +297,9 @@ export default defineComponent({
|
|||||||
status: stop.confirmed ? 'confirmed' : stop.stopped ? 'stopped' : 'unconfirmed',
|
status: stop.confirmed ? 'confirmed' : stop.stopped ? 'stopped' : 'unconfirmed',
|
||||||
|
|
||||||
sceneryName: currentPath.stationName,
|
sceneryName: currentPath.stationName,
|
||||||
isSceneryOnline: pathData?.isOnline ?? false
|
isSceneryOnline: pathData?.isOnline ?? false,
|
||||||
|
|
||||||
|
nextPointRef: null
|
||||||
};
|
};
|
||||||
|
|
||||||
if (internalRouteInfo) {
|
if (internalRouteInfo) {
|
||||||
@@ -309,6 +321,11 @@ export default defineComponent({
|
|||||||
|
|
||||||
stopRows.push(rowData);
|
stopRows.push(rowData);
|
||||||
|
|
||||||
|
// Assign this row data object to the last one as reference
|
||||||
|
if (i != 0) {
|
||||||
|
stopRows[i - 1].nextPointRef = rowData;
|
||||||
|
}
|
||||||
|
|
||||||
if (stop.departureLine === currentPath.departureRouteExt) {
|
if (stop.departureLine === currentPath.departureRouteExt) {
|
||||||
// Reverse search for last scenery checkpoint
|
// Reverse search for last scenery checkpoint
|
||||||
if (pathData?.departureLineData) {
|
if (pathData?.departureLineData) {
|
||||||
@@ -328,7 +345,7 @@ export default defineComponent({
|
|||||||
currentPath = timetablePath[++currentPathIndex];
|
currentPath = timetablePath[++currentPathIndex];
|
||||||
pathData = this.getPathSceneryData(currentPath);
|
pathData = this.getPathSceneryData(currentPath);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
return stopRows;
|
return stopRows;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -196,4 +196,6 @@ export interface TrainSchedulePoint {
|
|||||||
isSBL: boolean;
|
isSBL: boolean;
|
||||||
sceneryName: string | null;
|
sceneryName: string | null;
|
||||||
isSceneryOnline: boolean;
|
isSceneryOnline: boolean;
|
||||||
|
|
||||||
|
nextPointRef: TrainSchedulePoint | null;
|
||||||
}
|
}
|
||||||
@@ -142,6 +142,7 @@ export interface StationRoutesInfo {
|
|||||||
isRouteSBL: boolean;
|
isRouteSBL: boolean;
|
||||||
routeLength: number;
|
routeLength: number;
|
||||||
routeSpeed: number;
|
routeSpeed: number;
|
||||||
|
routeSpeedExit?: number;
|
||||||
routeTracks: number;
|
routeTracks: number;
|
||||||
hidden?: boolean;
|
hidden?: boolean;
|
||||||
realLineNo?: number;
|
realLineNo?: number;
|
||||||
|
|||||||
Reference in New Issue
Block a user