From a2f48ed1adf4aded694b29121e93c94dbde32e8d Mon Sep 17 00:00:00 2001
From: Thilo Wischmeyer <thwischm@gmail.com>
Date: Mon, 1 Feb 2021 12:28:39 +0100
Subject: [PATCH] Fixed broken slots due to v-slot only working with <template>

---
 .../submission_notes/SubmissionCorrection.vue | 55 +++++------
 .../src/pages/reviewer/ReviewerLayout.vue     | 37 ++++----
 frontend/src/pages/student/StudentLayout.vue  | 91 +++++++++----------
 .../pages/student/StudentSubmissionPage.vue   | 21 +++--
 frontend/src/pages/tutor/TutorLayout.vue      | 33 +++----
 5 files changed, 121 insertions(+), 116 deletions(-)

diff --git a/frontend/src/components/submission_notes/SubmissionCorrection.vue b/frontend/src/components/submission_notes/SubmissionCorrection.vue
index 08c2a98f..41bcdfbf 100644
--- a/frontend/src/components/submission_notes/SubmissionCorrection.vue
+++ b/frontend/src/components/submission_notes/SubmissionCorrection.vue
@@ -1,17 +1,18 @@
 <template>
   <div>
     <base-annotated-submission>
-      <annotated-submission-top-toolbar
-        #header
-        :of-student="submissionObj && submissionObj.ofStudent"
-        :show-clipboard="true"
-        :show-correction-help="true"
-        :source-code-available="sourceCodeAvailable"
-        :submission="submission"
-        :submission-type="submission.type"
-        :feedback="feedback"
-        :is-markdown="isMarkdown"
-      />
+      <template #header>
+        <annotated-submission-top-toolbar
+          :of-student="submissionObj && submissionObj.ofStudent"
+          :show-clipboard="true"
+          :show-correction-help="true"
+          :source-code-available="sourceCodeAvailable"
+          :submission="submission"
+          :submission-type="submission.type"
+          :feedback="feedback"
+          :is-markdown="isMarkdown"
+        />
+      </template>
       <template
         id="sub-lines"
         #table-content
@@ -56,21 +57,23 @@
           </submission-line>
         </tr>
       </template>
-      <label-selector
-        id="feedback-label-selector"
-        #labels
-        :assigned-to-feedback="true"
-        class="mt-1 elevation-1"
-      />
-      <annotated-submission-bottom-toolbar
-        #footer
-        class="mt-1 elevation-1"
-        :loading="loading"
-        :full-score="submissionObj['fullScore']"
-        :skippable="assignment !== undefined"
-        :feedback="feedbackObj ? feedbackObj : {}"
-        @submitFeedback="submitFeedback"
-      />
+      <template #labels>
+        <label-selector
+          id="feedback-label-selector"
+          :assigned-to-feedback="true"
+          class="mt-1 elevation-1"
+        />
+      </template>
+      <template #footer>
+        <annotated-submission-bottom-toolbar
+          class="mt-1 elevation-1"
+          :loading="loading"
+          :full-score="submissionObj['fullScore']"
+          :skippable="assignment !== undefined"
+          :feedback="feedbackObj ? feedbackObj : {}"
+          @submitFeedback="submitFeedback"
+        />
+      </template>
     </base-annotated-submission>
   </div>
 </template>
diff --git a/frontend/src/pages/reviewer/ReviewerLayout.vue b/frontend/src/pages/reviewer/ReviewerLayout.vue
index abc3dd55..18767de2 100644
--- a/frontend/src/pages/reviewer/ReviewerLayout.vue
+++ b/frontend/src/pages/reviewer/ReviewerLayout.vue
@@ -1,24 +1,25 @@
 <template>
   <tutor-reviewer-base-layout>
-    <v-list
-      #above-subscriptions
-      dense
-    >
-      <v-list-item
-        v-for="(item, i) in subGeneralNavItems"
-        :key="i"
-        :to="item.route"
+    <template #above-subscriptions>
+      <v-list
+        dense
       >
-        <v-list-item-action>
-          <v-icon>{{ item.icon }}</v-icon>
-        </v-list-item-action>
-        <v-list-item-content>
-          <v-list-item-title>
-            {{ item.name }}
-          </v-list-item-title>
-        </v-list-item-content>
-      </v-list-item>
-    </v-list>
+        <v-list-item
+          v-for="(item, i) in subGeneralNavItems"
+          :key="i"
+          :to="item.route"
+        >
+          <v-list-item-action>
+            <v-icon>{{ item.icon }}</v-icon>
+          </v-list-item-action>
+          <v-list-item-content>
+            <v-list-item-title>
+              {{ item.name }}
+            </v-list-item-title>
+          </v-list-item-content>
+        </v-list-item>
+      </v-list>
+    </template>
   </tutor-reviewer-base-layout>
 </template>
 
diff --git a/frontend/src/pages/student/StudentLayout.vue b/frontend/src/pages/student/StudentLayout.vue
index f54de0b5..a1138119 100644
--- a/frontend/src/pages/student/StudentLayout.vue
+++ b/frontend/src/pages/student/StudentLayout.vue
@@ -4,54 +4,53 @@
       {{ moduleReference }}
     </template>
 
-    <v-list
-      #sidebar-content
-      dense
-    >
-      <v-list-item
-        v-for="(item, i) in generalNavItems"
-        :key="i"
-        exact
-        :to="item.route"
-      >
-        <v-list-item-action>
-          <v-icon>{{ item.icon }}</v-icon>
-        </v-list-item-action>
-        <v-list-item-content>
-          <v-list-item-title>
-            {{ item.name }}
-          </v-list-item-title>
-        </v-list-item-content>
-      </v-list-item>
+    <template #sidebar-content>
+      <v-list dense>
+        <v-list-item
+          v-for="(item, i) in generalNavItems"
+          :key="i"
+          exact
+          :to="item.route"
+        >
+          <v-list-item-action>
+            <v-icon>{{ item.icon }}</v-icon>
+          </v-list-item-action>
+          <v-list-item-content>
+            <v-list-item-title>
+              {{ item.name }}
+            </v-list-item-title>
+          </v-list-item-content>
+        </v-list-item>
 
-      <v-divider />
+        <v-divider />
 
-      <exam-information
-        v-if="!mini"
-        :exam="exam"
-        class="elevation-1 exam-info ma-1"
-      />
-      <v-list-item
-        v-for="item in submissionNavItems"
-        :key="item.route"
-        exact
-        :to="item.route"
-      >
-        <v-list-item-action>
-          <v-icon v-if="!visited[item.id]">
-            assignment
-          </v-icon>
-          <v-icon v-else>
-            check
-          </v-icon>
-        </v-list-item-action>
-        <v-list-item-content>
-          <v-list-item-title>
-            {{ item.name }}
-          </v-list-item-title>
-        </v-list-item-content>
-      </v-list-item>
-    </v-list>
+        <exam-information
+          v-if="!mini"
+          :exam="exam"
+          class="elevation-1 exam-info ma-1"
+        />
+        <v-list-item
+          v-for="item in submissionNavItems"
+          :key="item.route"
+          exact
+          :to="item.route"
+        >
+          <v-list-item-action>
+            <v-icon v-if="!visited[item.id]">
+              assignment
+            </v-icon>
+            <v-icon v-else>
+              check
+            </v-icon>
+          </v-list-item-action>
+          <v-list-item-content>
+            <v-list-item-title>
+              {{ item.name }}
+            </v-list-item-title>
+          </v-list-item-content>
+        </v-list-item>
+      </v-list>
+    </template>
   </base-layout>
 </template>
 
diff --git a/frontend/src/pages/student/StudentSubmissionPage.vue b/frontend/src/pages/student/StudentSubmissionPage.vue
index fe9745de..34d75249 100644
--- a/frontend/src/pages/student/StudentSubmissionPage.vue
+++ b/frontend/src/pages/student/StudentSubmissionPage.vue
@@ -16,16 +16,17 @@
         :class="{ md6: !solutionHidden, md12: solutionHidden }"
       >
         <base-annotated-submission :key="mathRerender">
-          <annotated-submission-top-toolbar
-            v-if="feedback"
-            #header
-            :score="feedback.score"
-            :notebook-available="notebookAvailable"
-            :submission="submission"
-            :submission-type="submissionType"
-            :feedback="feedback"
-            :is-markdown="isMarkdown"
-          />
+          <template #header>
+            <annotated-submission-top-toolbar
+              v-if="feedback"
+              :score="feedback.score"
+              :notebook-available="notebookAvailable"
+              :submission="submission"
+              :submission-type="submissionType"
+              :feedback="feedback"
+              :is-markdown="isMarkdown"
+            />
+          </template>
           <template #table-content>
             <tr
               v-for="(code, lineNo) in submissionText"
diff --git a/frontend/src/pages/tutor/TutorLayout.vue b/frontend/src/pages/tutor/TutorLayout.vue
index 32317f7f..3ca162a6 100644
--- a/frontend/src/pages/tutor/TutorLayout.vue
+++ b/frontend/src/pages/tutor/TutorLayout.vue
@@ -1,21 +1,22 @@
 <template>
   <tutor-reviewer-base-layout>
-    <v-list
-      v-if="isInExerciseMode"
-      #above-subscriptions
-      dense
-    >
-      <v-list-item :to="'/participant-overview'">
-        <v-list-item-action>
-          <v-icon> people </v-icon>
-        </v-list-item-action>
-        <v-list-item-content>
-          <v-list-item-title>
-            {{ "Participants" }}
-          </v-list-item-title>
-        </v-list-item-content>
-      </v-list-item>
-    </v-list>
+    <template #above-subscriptions>
+      <v-list
+        v-if="isInExerciseMode"
+        dense
+      >
+        <v-list-item :to="'/participant-overview'">
+          <v-list-item-action>
+            <v-icon> people </v-icon>
+          </v-list-item-action>
+          <v-list-item-content>
+            <v-list-item-title>
+              {{ "Participants" }}
+            </v-list-item-title>
+          </v-list-item-content>
+        </v-list-item>
+      </v-list>
+    </template>
   </tutor-reviewer-base-layout>
 </template>
 
-- 
GitLab