feature: nawigacja URL w widoku scenerii

This commit is contained in:
2023-11-13 15:32:02 +01:00
parent a79ca78781
commit 08d3a2a03a
3 changed files with 22 additions and 11 deletions
@@ -18,9 +18,9 @@
<tbody>
<tr v-for="historyItem in historyList" :key="historyItem.id">
<td>
<router-link :to="`/journal/timetables?timetableId=${historyItem.id}`"
>#{{ historyItem.id }}</router-link
>
<router-link :to="`/journal/timetables?timetableId=${historyItem.id}`">
#{{ historyItem.id }}
</router-link>
</td>
<td>
<b class="text--primary">{{ historyItem.trainCategoryCode }}</b> <br />
+2 -1
View File
@@ -61,7 +61,8 @@ const routes: Array<RouteRecordRaw> = [
const router = createRouter({
scrollBehavior(to, from, savedPosition) {
if (to.name == 'SceneryView' && from.name) return { el: `.app_main` };
if (to.name == 'SceneryView' && from.name && from.query['view'] === undefined)
return { el: `.app_main` };
if (savedPosition) return savedPosition;
+17 -7
View File
@@ -27,7 +27,7 @@
:key="i"
class="btn btn--option"
@click="setViewMode(viewMode.component)"
:data-checked="currentViewCompontent == viewMode.component"
:data-checked="currentMode == viewMode.component"
>
{{ $t(viewMode.id) }}
</button>
@@ -35,10 +35,10 @@
<keep-alive>
<component
:is="currentViewCompontent"
:is="currentMode"
:onlineScenery="onlineSceneryInfo"
:station="stationInfo"
:key="currentViewCompontent"
:key="currentMode"
></component>
</keep-alive>
</div>
@@ -113,9 +113,9 @@ export default defineComponent({
onlineFrom: -1
}),
activated() {
this.loadSelectedCheckpoint();
},
// activated() {
// this.loadSelectedCheckpoint();
// },
setup() {
const route = useRoute();
@@ -128,6 +128,10 @@ export default defineComponent({
},
computed: {
currentMode() {
return this.$route.query.view ?? 'SceneryTimetable';
},
stationInfo() {
return this.store.stationList.find(
(station) => station.name === this.station?.toString().replace(/_/g, ' ')
@@ -145,7 +149,13 @@ export default defineComponent({
methods: {
setViewMode(componentName: string) {
this.currentViewCompontent = componentName;
this.$router.push({
path: this.$route.path,
query: {
...this.$route.query,
view: componentName
}
});
},
loadSelectedCheckpoint() {