Skip to content
Snippets Groups Projects
Commit fd13a3d9 authored by Ron Lucke's avatar Ron Lucke Committed by David Siegfried
Browse files

Courseware Lesezeichen BIESTer

Closes #3075, #3074, and #3083

Merge request studip/studip!2062
parent 718eb953
No related branches found
No related tags found
No related merge requests found
<template> <template>
<select v-model="bookmarkFilter" class="sidebar-selectlist"> <select v-model="bookmarkFilter" class="sidebar-selectlist">
<option value="all"> <option value="all">
<translate>alle</translate> {{ $gettext('alle') }}
</option>
<option value="contents">
{{ $gettext('Arbeitsplatz') }}
</option> </option>
<option v-for="course in courses" :key="course.id" :value="course.id"> <option v-for="course in courses" :key="course.id" :value="course.id">
{{ course.attributes.title }} {{ course.attributes.title }}
......
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
:style="getChildStyle(bookmark)" :style="getChildStyle(bookmark)"
></div> ></div>
<div class="description"> <div class="description">
<header <header>
:class="[bookmark.attributes.purpose !== '' ? 'description-icon-' + bookmark.attributes.purpose : '']"
>
{{ bookmark.attributes.title }} {{ bookmark.attributes.title }}
</header> </header>
<div class="description-text-wrapper"> <div class="description-text-wrapper">
...@@ -27,7 +25,7 @@ ...@@ -27,7 +25,7 @@
<studip-icon shape="seminar" role="info_alt"/> {{ getCourseName(bookmark.relationships.course.data.id) }} <studip-icon shape="seminar" role="info_alt"/> {{ getCourseName(bookmark.relationships.course.data.id) }}
</span> </span>
<span v-if="bookmark.relationships.user"> <span v-if="bookmark.relationships.user">
<studip-icon shape="headache" role="info_alt"/> {{ getUserName(bookmark.relationships.user.data.id) }} <studip-icon shape="content2" role="info_alt"/> {{ $gettext('Arbeitsplatz') }}
</span> </span>
</footer> </footer>
</div> </div>
...@@ -58,8 +56,13 @@ export default { ...@@ -58,8 +56,13 @@ export default {
if (this.bookmarkFilter === 'all') { if (this.bookmarkFilter === 'all') {
return this.bookmarks; return this.bookmarks;
} }
if (this.bookmarkFilter === 'contents') {
return this.bookmarks.filter(bookmark => {
return bookmark.relationships.user?.data;
});
}
return this.bookmarks.filter(bookmark => { return this.bookmarks.filter(bookmark => {
return bookmark.relationships.course.data.id === this.bookmarkFilter; return bookmark.relationships.course?.data?.id === this.bookmarkFilter;
}); });
} }
return []; return [];
...@@ -81,12 +84,14 @@ export default { ...@@ -81,12 +84,14 @@ export default {
return user.attributes['formatted-name']; return user.attributes['formatted-name'];
}, },
getElementUrl(element) { getElementUrl(element) {
if (element.relationships.course.data) { const unitId = element.relationships.unit.data.id;
let cid = element.relationships.course.data.id;
return STUDIP.URLHelper.base_url + 'dispatch.php/course/courseware/?cid='+ cid +'#/structural_element/' + element.id; if (element.relationships?.course?.data) {
const cid = element.relationships.course.data.id;
return STUDIP.URLHelper.base_url + 'dispatch.php/course/courseware/courseware/' + unitId + '?cid='+ cid +'#/structural_element/' + element.id;
} }
return STUDIP.URLHelper.base_url + 'dispatch.php/contents/courseware/courseware#/structural_element/' + element.id; return STUDIP.URLHelper.base_url + 'dispatch.php/contents/courseware/courseware/' + unitId + '#/structural_element/' + element.id;
}, },
getChildStyle(element) { getChildStyle(element) {
let url = element.relationships?.image?.meta?.['download-url']; let url = element.relationships?.image?.meta?.['download-url'];
......
...@@ -21,7 +21,7 @@ const mountApp = (STUDIP, createApp, element) => { ...@@ -21,7 +21,7 @@ const mountApp = (STUDIP, createApp, element) => {
...mapResourceModules({ ...mapResourceModules({
names: [ names: [
'activities', 'activities',
'users', 'file-refs',
'courses', 'courses',
'course-memberships', 'course-memberships',
'courseware-blocks', 'courseware-blocks',
...@@ -30,14 +30,15 @@ const mountApp = (STUDIP, createApp, element) => { ...@@ -30,14 +30,15 @@ const mountApp = (STUDIP, createApp, element) => {
'courseware-containers', 'courseware-containers',
'courseware-instances', 'courseware-instances',
'courseware-structural-elements', 'courseware-structural-elements',
'courseware-units',
'courseware-user-data-fields', 'courseware-user-data-fields',
'courseware-user-progresses', 'courseware-user-progresses',
'users',
'institutes', 'institutes',
'semesters', 'semesters',
'sem-classes', 'sem-classes',
'sem-types', 'sem-types',
'status-groups', 'status-groups',
'users',
], ],
httpClient, httpClient,
}), }),
...@@ -78,4 +79,4 @@ const mountApp = (STUDIP, createApp, element) => { ...@@ -78,4 +79,4 @@ const mountApp = (STUDIP, createApp, element) => {
return app; return app;
} }
export default mountApp; export default mountApp;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment