diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-10-16 16:20:32 +0200 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-10-16 16:20:32 +0200 |
| commit | 14f555e40afe803558c1a1ccf81aeb4e135f1274 (patch) | |
| tree | 127519b159eecd07ded902b032616469ac3a6713 /resources | |
| parent | 439830f48f6d52db9e2416e636da0e9a76840d0b (diff) | |
add option to always display sem number on my courses, fixes #5957
Closes #5957
Merge request studip/studip!4555
Diffstat (limited to 'resources')
| -rw-r--r-- | resources/vue/components/my-courses/TableView.vue | 8 | ||||
| -rw-r--r-- | resources/vue/mixins/MyCoursesMixin.js | 14 |
2 files changed, 13 insertions, 9 deletions
diff --git a/resources/vue/components/my-courses/TableView.vue b/resources/vue/components/my-courses/TableView.vue index f0802d5..f8ffa85 100644 --- a/resources/vue/components/my-courses/TableView.vue +++ b/resources/vue/components/my-courses/TableView.vue @@ -5,7 +5,7 @@ <colgroup> <col style="width: 7px"> <col style="width: 25px"> - <col style="width: 70px" v-if="getConfig('sem_number') && !responsiveDisplay"> + <col style="width: 70px" v-if="displaySemNumber"> <col> <col v-if="!responsiveDisplay" :style="{width: (2 * 5 + numberOfNavElements * (iconSize + 2 * 3 + 3) - 3) + 'px'}"> <col v-if="!responsiveDisplay" style="width: 24px"> @@ -18,7 +18,7 @@ </span> </th> <th></th> - <th v-if="getConfig('sem_number') && !responsiveDisplay" :class="getOrderClasses('number')"> + <th v-if="displaySemNumber" :class="getOrderClasses('number')"> <a href="#" @click.prevent="changeOrder('number')"> {{ $gettext('Nr.') }} </a> @@ -35,7 +35,7 @@ <tbody v-for="subgroup in group.data" :key="subgroup.id" :class="{collapsed: !isGroupOpen(subgroup)}"> <tr class="header-row" v-if="subgroup.label !== false"> <th style="white-space: nowrap; text-align: left"></th> - <th class="toggle-indicator" :colspan="(getConfig('sem_number') && !responsiveDisplay) ? 3 : 2"> + <th class="toggle-indicator" :colspan="displaySemNumber ? 3 : 2"> <a href="#" @click.prevent.stop="toggleOpenGroup(subgroup)">{{ subgroup.label }}</a> </th> <th v-if="!responsiveDisplay" class="dont-hide" colspan="2"></th> @@ -52,7 +52,7 @@ <td :class="{'subcourse-indented': isChild(course)}"> <span :style="{backgroundImage: `url(${course.avatar}`}" class="my-courses-avatar course-avatar-small" :title="course.name" alt=""></span> </td> - <td v-if="getConfig('sem_number') && !responsiveDisplay" :class="{'subcourse-indented': isChild(course)}"> + <td v-if="displaySemNumber" :class="{'subcourse-indented': isChild(course)}"> {{ course.number }} </td> <td :class="{'subcourse-indented': isChild(course)}"> diff --git a/resources/vue/mixins/MyCoursesMixin.js b/resources/vue/mixins/MyCoursesMixin.js index 332bcdc..5d9f811 100644 --- a/resources/vue/mixins/MyCoursesMixin.js +++ b/resources/vue/mixins/MyCoursesMixin.js @@ -16,10 +16,7 @@ function createMixin(minimal = false) { let name = course.name; // Include sem number - if ( - this.config?.sem_number - && !this.responsiveDisplay - ) { + if (this.displaySemNumber) { name = `${course.number} ${name}`; } @@ -28,7 +25,7 @@ function createMixin(minimal = false) { name = `${name} ${$gettext('[Vertretung]')}`; } - return name; + return name.trim(); }, getCourseURL(course) { return this.urlFor('dispatch.php/course/go', {to: course.id}, true); @@ -45,6 +42,13 @@ function createMixin(minimal = false) { computed: { csrf() { return STUDIP.CSRF_TOKEN; + }, + displaySemNumber() { + return this.config?.sem_number_always + || ( + this.config?.sem_number + && !this.responsiveDisplay + ); } }, created() { |
