aboutsummaryrefslogtreecommitdiff
path: root/resources/vue/components/tree/TreeCourseTable.vue
diff options
context:
space:
mode:
Diffstat (limited to 'resources/vue/components/tree/TreeCourseTable.vue')
-rw-r--r--resources/vue/components/tree/TreeCourseTable.vue69
1 files changed, 69 insertions, 0 deletions
diff --git a/resources/vue/components/tree/TreeCourseTable.vue b/resources/vue/components/tree/TreeCourseTable.vue
new file mode 100644
index 0000000..6a1f1b4
--- /dev/null
+++ b/resources/vue/components/tree/TreeCourseTable.vue
@@ -0,0 +1,69 @@
+<template>
+ <table v-if="courses.length > 0"
+ class="default studip-tree-courses-table"
+ >
+ <colgroup>
+ <col>
+ <col>
+ </colgroup>
+ <thead>
+ <tr v-if="$slots.pagination">
+ <td colspan="3">
+ <slot name="pagination"></slot>
+ </td>
+ </tr>
+ <tr>
+ <th>{{ $gettext('Name') }}</th>
+ <th>{{ $gettext('Information') }}</th>
+ </tr>
+ </thead>
+ <tbody role="listbox">
+ <tr v-for="(course) in courses" :key="course.id" class="studip-tree-child studip-tree-course">
+ <td>
+ <a :href="courseUrl(course.id)" tabindex="0"
+ :title="$gettext(
+ 'Zur Veranstaltung %{ title }',
+ { title: course.attributes.title },
+ true
+ )"
+ >
+ <studip-icon shape="seminar" :size="26"></studip-icon>
+
+ <template v-if="course.attributes['course-number']">
+ {{ course.attributes['course-number'] }}
+ </template>
+ {{ course.attributes.title }}
+ </a>
+ <div :id="'course-dates-' + course.id" class="course-dates"></div>
+ </td>
+ <td>
+ <tree-course-details :course="course"></tree-course-details>
+ </td>
+ </tr>
+ </tbody>
+ <tfoot v-if="$slots.pagination">
+ <tr>
+ <td colspan="3">
+ <slot name="pagination"></slot>
+ </td>
+ </tr>
+ </tfoot>
+ </table>
+</template>
+<script>
+import StudipIcon from "../StudipIcon.vue";
+import TreeCourseDetails from "./TreeCourseDetails.vue";
+
+export default {
+ name: 'TreeCourseTable',
+ components: {TreeCourseDetails, StudipIcon},
+ props: {
+ courses: Array,
+ },
+ methods: {
+ courseUrl(courseId) {
+ return STUDIP.URLHelper.getURL('dispatch.php/course/details/index/' + courseId)
+ }
+ }
+}
+</script>