From 431becb07a7c73837ffdc3ff0409fd6aaa8ae019 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Tue, 26 Jul 2022 00:12:36 +0200
Subject: [PATCH] Register components locally, and top component with router

---
 .../alsijil/assets/components/alsijil/CourseBook.vue   | 10 +++++++---
 .../assets/components/alsijil/LessonDocumentation.js   |  5 +++++
 aleksis/apps/alsijil/assets/index.js                   | 10 +---------
 .../templates/alsijil/class_register/coursebook.html   |  2 +-
 4 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/aleksis/apps/alsijil/assets/components/alsijil/CourseBook.vue b/aleksis/apps/alsijil/assets/components/alsijil/CourseBook.vue
index 633f4b2b6..87cc4dc20 100644
--- a/aleksis/apps/alsijil/assets/components/alsijil/CourseBook.vue
+++ b/aleksis/apps/alsijil/assets/components/alsijil/CourseBook.vue
@@ -1,7 +1,7 @@
 <template>
   <ApolloQuery
     :query="require('./CourseBook.graphql')"
-    :variables="{ lessonId }"
+    :variables="{ lessonId: $route.params.lessonId }"
   >
     <template v-slot="{ result: { loading, error, data } }">
         <!-- Error -->
@@ -54,8 +54,14 @@
 
 <script>
 import {CHANGES, SAVED, UPDATING} from "../../UpdateStatuses.js";
+import UpdateIndicator from "./UpdateIndicator.js";
+import LessonDocumentation from "./LessonDocumentation.js";
 
 export default {
+    components: {
+        UpdateIndicator,
+        LessonDocumentation
+    },
     methods: {
         processDataChange(event) {
             this.status = CHANGES;
@@ -78,13 +84,11 @@ export default {
             }, 500)
         }
     },
-    props: ["lessonId"],
     name: "course-book",
     data: () => {
         return {
             ping: "ping",
             status: SAVED,
-            // lessonId: 352
         }
     }
 }
diff --git a/aleksis/apps/alsijil/assets/components/alsijil/LessonDocumentation.js b/aleksis/apps/alsijil/assets/components/alsijil/LessonDocumentation.js
index 1e0115b07..5056fc1b3 100644
--- a/aleksis/apps/alsijil/assets/components/alsijil/LessonDocumentation.js
+++ b/aleksis/apps/alsijil/assets/components/alsijil/LessonDocumentation.js
@@ -1,4 +1,9 @@
+import PersonalNotes from "./PersonalNotes.js";
+
 export default {
+    components: {
+        PersonalNotes
+    },
     props: [
         "id",
         "date",
diff --git a/aleksis/apps/alsijil/assets/index.js b/aleksis/apps/alsijil/assets/index.js
index 0846fd516..6de7cf0f3 100644
--- a/aleksis/apps/alsijil/assets/index.js
+++ b/aleksis/apps/alsijil/assets/index.js
@@ -1,11 +1,3 @@
-import Vue from "vue"
-
-import UpdateIndicator from "./components/alsijil/UpdateIndicator.js";
-import PersonalNotes from "./components/alsijil/PersonalNotes.js";
-import LessonDocumentation from "./components/alsijil/LessonDocumentation.js";
 import CourseBook from './components/alsijil/CourseBook.vue'
 
-Vue.component(UpdateIndicator.name, UpdateIndicator);
-Vue.component(PersonalNotes.name, PersonalNotes);
-Vue.component(LessonDocumentation.name, LessonDocumentation);
-Vue.component(CourseBook.name, CourseBook);
+window.router.addRoute({ path: "/app/alsijil/coursebook/:lessonId", component: CourseBook });
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/coursebook.html b/aleksis/apps/alsijil/templates/alsijil/class_register/coursebook.html
index 98627239d..efb2effa5 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/coursebook.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/coursebook.html
@@ -9,7 +9,7 @@
 {% endblock %}
 {% block browser_title %}{% trans "Coursebook" %} {{ lesson }}{% endblock %}
 {% block content %}
-<course-book lesson-id="{{ lesson.id }}"></course-book>
+<router-view/>
 {% endblock %}
 
 {% block extra_body %}
-- 
GitLab