44 lines
1.0 KiB
Vue
44 lines
1.0 KiB
Vue
<template>
|
|
<SidebarLines />
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
definePageMeta({ key: "lines" });
|
|
</script>
|
|
|
|
<script setup lang="ts">
|
|
const router = useRoute();
|
|
const store = useMresoStore();
|
|
watch(
|
|
[
|
|
() => router.params.line_id,
|
|
() => store.linesById,
|
|
() => store.routesById,
|
|
],
|
|
() => {
|
|
const lineId = router.params.line_id;
|
|
console.log(lineId);
|
|
if (lineId === undefined) {
|
|
store.selectedLines = [];
|
|
|
|
return;
|
|
}
|
|
if (typeof lineId !== "string") {
|
|
store.selectedLines = [];
|
|
return;
|
|
}
|
|
const lineClone = structuredClone(
|
|
toRaw(store.linesById[lineId.replace(":", "_")]),
|
|
);
|
|
if (!lineClone) {
|
|
console.log(store.linesById, lineId.replace(":", "_"));
|
|
return;
|
|
}
|
|
lineClone.properties = { route: store.routesById[lineId] };
|
|
store.selectedLines = [lineClone];
|
|
console.log(store.selectedLines);
|
|
},
|
|
{ immediate: true },
|
|
);
|
|
</script>
|