Dodano rozwijanie RJ przy przenoszeniu z innej zakładki

This commit is contained in:
2021-06-11 13:46:42 +02:00
parent e90911dd98
commit c5b781de86
5 changed files with 30 additions and 30 deletions
+16 -3
View File
@@ -251,7 +251,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Vue, Component, Prop } from "vue-property-decorator"; import { Vue, Component, Prop, Emit, Watch } from "vue-property-decorator";
import Train from "@/scripts/interfaces/Train"; import Train from "@/scripts/interfaces/Train";
import TrainStop from "@/scripts/interfaces/TrainStop"; import TrainStop from "@/scripts/interfaces/TrainStop";
@@ -265,6 +265,7 @@ import { DataStatus } from "@/scripts/enums/DataStatus";
export default class TrainTable extends Vue { export default class TrainTable extends Vue {
@Prop() computedTrains!: Train[]; @Prop() computedTrains!: Train[];
@Prop() timetableDataStatus!: DataStatus; @Prop() timetableDataStatus!: DataStatus;
@Prop() queryTrain!: string;
showedSchedule = 0; showedSchedule = 0;
@@ -307,6 +308,17 @@ export default class TrainTable extends Vue {
}); });
} }
@Watch("queryTrain")
onSearchedTrainChange(trainNo: string) {
const timetableId = this.computedTrains.find(
(train) => train.trainNo == parseInt(trainNo)
)?.timetableData?.timetableId;
if (!timetableId) return;
this.changeScheduleShowState(timetableId);
}
onImageError(e: Event) { onImageError(e: Event) {
const imageEl = e.target as HTMLImageElement; const imageEl = e.target as HTMLImageElement;
this.missingLocoImages.push(imageEl.src); this.missingLocoImages.push(imageEl.src);
@@ -314,6 +326,7 @@ export default class TrainTable extends Vue {
generateStopList(stops: any): string | undefined { generateStopList(stops: any): string | undefined {
if (!stops) return ""; if (!stops) return "";
return stops return stops
.reduce((acc, stop: TrainStop, i) => { .reduce((acc, stop: TrainStop, i) => {
if (stop.stopType.includes("ph")) if (stop.stopType.includes("ph"))
@@ -455,13 +468,13 @@ export default class TrainTable extends Vue {
&-loco { &-loco {
width: 100%; width: 100%;
text-align: center; text-align: center;
}
&-loco img { & img {
width: 200px; width: 200px;
max-width: 200px; max-width: 200px;
} }
} }
}
.stats { .stats {
display: flex; display: flex;
-16
View File
@@ -1,16 +0,0 @@
export default interface Timetable {
trainNo: number;
driverName: string;
category: string;
stopName: string;
stopType: string;
arrivalTime: number;
arrivalDelay: number;
departureTime: number;
departureDelay: number;
confirmed: boolean;
stopped: boolean;
stopTime: number;
beginsHere: boolean;
terminatesHere: boolean;
}
+5 -3
View File
@@ -71,11 +71,13 @@ const parseSpawns = (spawnString: string) => {
const getTimestamp = (date: string | null) => (date ? new Date(date).getTime() : 0); const getTimestamp = (date: string | null) => (date ? new Date(date).getTime() : 0);
const timestampToString = (timestamp: number) => const timestampToString = (timestamp: number | null) =>
new Date(timestamp).toLocaleTimeString("pl-PL", { timestamp
? new Date(timestamp).toLocaleTimeString("pl-PL", {
hour: "2-digit", hour: "2-digit",
minute: "2-digit" minute: "2-digit"
}); })
: "";
const getTrainStopStatus = (stopInfo: TrainStop, timetableData: { currentStationName: string }, station: Station) => { const getTrainStopStatus = (stopInfo: TrainStop, timetableData: { currentStationName: string }, station: Station) => {
let stopStatus: string = "", let stopStatus: string = "",
+4 -4
View File
@@ -302,16 +302,16 @@ export default class Store extends VuexModule {
mainStop: point.pointName.includes("strong"), mainStop: point.pointName.includes("strong"),
arrivalLine: point.arrivalLine, arrivalLine: point.arrivalLine,
arrivalTimeString: point.arrivalTime, arrivalTimeString: utils.timestampToString(arrivalTimestamp),
arrivalTimestamp: arrivalTimestamp, arrivalTimestamp: arrivalTimestamp,
arrivalRealTimeString: point.arrivalRealTime, arrivalRealTimeString: utils.timestampToString(arrivalRealTimestamp),
arrivalRealTimestamp: arrivalRealTimestamp, arrivalRealTimestamp: arrivalRealTimestamp,
arrivalDelay: point.arrivalDelay, arrivalDelay: point.arrivalDelay,
departureLine: point.departureLine, departureLine: point.departureLine,
departureTimeString: point.departureTime, departureTimeString: utils.timestampToString(departureTimestamp),
departureTimestamp: departureTimestamp, departureTimestamp: departureTimestamp,
departureRealTimeString: point.departureRealTime, departureRealTimeString: utils.timestampToString(departureRealTimestamp),
departureRealTimestamp: departureRealTimestamp, departureRealTimestamp: departureRealTimestamp,
departureDelay: point.departureDelay, departureDelay: point.departureDelay,
+1
View File
@@ -15,6 +15,7 @@
<TrainTable <TrainTable
:computedTrains="computedTrains" :computedTrains="computedTrains"
:timetableDataStatus="timetableDataStatus" :timetableDataStatus="timetableDataStatus"
:queryTrain="queryTrain"
/> />
</div> </div>
</section> </section>