|
|
@@ -1,14 +1,8 @@
|
|
|
<template>
|
|
|
- <div
|
|
|
- v-if="planningStore.usingModulesFromURL"
|
|
|
- class="grid grid-cols-3 mb-5"
|
|
|
- >
|
|
|
+ <div v-if="planningStore.usingModulesFromURL" class="grid grid-cols-3 mb-5">
|
|
|
<div />
|
|
|
<div class="text-center">
|
|
|
- <h1
|
|
|
- v-if="planningStore.sharedDisplayName"
|
|
|
- class="text-3xl font-bold"
|
|
|
- >
|
|
|
+ <h1 v-if="planningStore.sharedDisplayName" class="text-3xl font-bold">
|
|
|
{{ planningStore.sharedDisplayName }}
|
|
|
</h1>
|
|
|
</div>
|
|
|
@@ -29,24 +23,12 @@
|
|
|
<tbody>
|
|
|
<tr class="border-t">
|
|
|
<td class="border-x w-14 md:w-20 bg-gray-300 dark:bg-gray-800" />
|
|
|
- <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">
|
|
|
- Mo
|
|
|
- </td>
|
|
|
- <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">
|
|
|
- Di
|
|
|
- </td>
|
|
|
- <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">
|
|
|
- Mi
|
|
|
- </td>
|
|
|
- <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">
|
|
|
- Do
|
|
|
- </td>
|
|
|
- <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">
|
|
|
- Fr
|
|
|
- </td>
|
|
|
- <td class="border-r w-1/7 bg-gray-200 dark:bg-gray-700">
|
|
|
- Sa
|
|
|
- </td>
|
|
|
+ <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">Mo</td>
|
|
|
+ <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">Di</td>
|
|
|
+ <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">Mi</td>
|
|
|
+ <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">Do</td>
|
|
|
+ <td class="border-r w-1/7 bg-gray-300 dark:bg-gray-800">Fr</td>
|
|
|
+ <td class="border-r w-1/7 bg-gray-200 dark:bg-gray-700">Sa</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
@@ -60,8 +42,8 @@
|
|
|
<table class="w-full">
|
|
|
<tr
|
|
|
v-for="row in planningStore.hourEnd -
|
|
|
- planningStore.hourStart +
|
|
|
- 1"
|
|
|
+ planningStore.hourStart +
|
|
|
+ 1"
|
|
|
:key="`hours-row-${row}`"
|
|
|
class="border-t"
|
|
|
>
|
|
|
@@ -79,7 +61,8 @@
|
|
|
2,
|
|
|
"0",
|
|
|
)
|
|
|
- }}:00</span>
|
|
|
+ }}:00</span
|
|
|
+ >
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
@@ -93,7 +76,7 @@
|
|
|
v-for="row in (planningStore.hourEnd -
|
|
|
planningStore.hourStart +
|
|
|
1) *
|
|
|
- planningStore.hourDivisions"
|
|
|
+ planningStore.hourDivisions"
|
|
|
:key="`timecell-row-${row}`"
|
|
|
class="border-t"
|
|
|
>
|
|
|
@@ -157,7 +140,7 @@
|
|
|
<p
|
|
|
v-if="
|
|
|
ce.taughtClass.teaching_type ==
|
|
|
- TeachingType.Online
|
|
|
+ TeachingType.Online
|
|
|
"
|
|
|
>
|
|
|
<TeachingTypeIcon
|
|
|
@@ -207,7 +190,8 @@
|
|
|
top: 3%;
|
|
|
transform: translate(-50%, -50%);
|
|
|
"
|
|
|
- >{{ classVersionStore.semester }}</span>
|
|
|
+ >{{ classVersionStore.semester }}</span
|
|
|
+ >
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
@@ -228,53 +212,45 @@
|
|
|
</div>
|
|
|
|
|
|
<div>
|
|
|
- <Popper
|
|
|
- :arrow="true"
|
|
|
- :hover="true"
|
|
|
- >
|
|
|
- <span class="mr-5 cursor-help">MSP: {{ planningStore.modulesWithMSP.length }}</span>
|
|
|
+ <Popper :arrow="true" :hover="true">
|
|
|
+ <span class="mr-5 cursor-help"
|
|
|
+ >MSP: {{ planningStore.modulesWithMSP.length }}</span
|
|
|
+ >
|
|
|
<template #content>
|
|
|
Module mit einer MSP:
|
|
|
<ul
|
|
|
v-if="planningStore.modulesWithMSP.length > 0"
|
|
|
class="list-disc list-inside ml-5"
|
|
|
>
|
|
|
- <li
|
|
|
- v-for="mod in planningStore.modulesWithMSP"
|
|
|
- :key="mod.short"
|
|
|
- >
|
|
|
- <span class="font-bold">{{ mod.short }}</span>:
|
|
|
+ <li v-for="mod in planningStore.modulesWithMSP" :key="mod.short">
|
|
|
+ <span class="font-bold">{{ mod.short }}</span
|
|
|
+ >:
|
|
|
<span class="text-gray-700 dark:text-gray-300">{{
|
|
|
mod.name
|
|
|
}}</span>
|
|
|
</li>
|
|
|
</ul>
|
|
|
- <span
|
|
|
- v-else
|
|
|
- class="font-bold block text-center mt-3"
|
|
|
- >Keine 🎉</span>
|
|
|
+ <span v-else class="font-bold block text-center mt-3"
|
|
|
+ >Keine 🎉</span
|
|
|
+ >
|
|
|
</template>
|
|
|
</Popper>
|
|
|
|
|
|
- <Popper
|
|
|
- :arrow="true"
|
|
|
- :hover="true"
|
|
|
- >
|
|
|
+ <Popper :arrow="true" :hover="true">
|
|
|
<span
|
|
|
class="cursor-help"
|
|
|
:class="[hasUnsureModules ? 'text-red-500' : '']"
|
|
|
- >ECTS:
|
|
|
+ >ECTS:
|
|
|
{{
|
|
|
(hasUnsureModules ? "~" : "") + planningStore.totalECTSCount.ects
|
|
|
- }}</span>
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
<template #content>
|
|
|
<table class="ml-2">
|
|
|
<tbody>
|
|
|
<tr>
|
|
|
<td />
|
|
|
- <td class="float-right font-bold">
|
|
|
- ECTS
|
|
|
- </td>
|
|
|
+ <td class="float-right font-bold">ECTS</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td><span class="font-bold mr-5">VT Klassen</span></td>
|
|
|
@@ -319,16 +295,10 @@
|
|
|
</tbody>
|
|
|
</table>
|
|
|
|
|
|
- <div
|
|
|
- v-if="hasUnsureModules"
|
|
|
- class="mt-5"
|
|
|
- >
|
|
|
+ <div v-if="hasUnsureModules" class="mt-5">
|
|
|
<span>Die folgenden Module haben keine Credits eingetragen:</span>
|
|
|
<ul class="list-disc list-inside ml-5">
|
|
|
- <li
|
|
|
- v-for="m in unsureModules"
|
|
|
- :key="m"
|
|
|
- >
|
|
|
+ <li v-for="m in unsureModules" :key="m">
|
|
|
{{ m }}
|
|
|
</li>
|
|
|
</ul>
|
|
|
@@ -338,10 +308,7 @@
|
|
|
|
|
|
<Popper :arrow="true">
|
|
|
<div class="ml-4">
|
|
|
- <button
|
|
|
- title="Module hervorheben"
|
|
|
- class="action-button"
|
|
|
- >
|
|
|
+ <button title="Module hervorheben" class="action-button">
|
|
|
<font-awesome-icon icon="fa-solid fa-eye" />
|
|
|
</button>
|
|
|
</div>
|
|
|
@@ -355,7 +322,7 @@
|
|
|
v-model="stateStore.highlightBBModules"
|
|
|
class="inline-block w-auto mr-2"
|
|
|
type="checkbox"
|
|
|
- >
|
|
|
+ />
|
|
|
<label for="only-bb-modules">BB Module</label>
|
|
|
</li>
|
|
|
<li>
|
|
|
@@ -364,7 +331,7 @@
|
|
|
v-model="stateStore.highlightVTModules"
|
|
|
class="inline-block w-auto mr-2"
|
|
|
type="checkbox"
|
|
|
- >
|
|
|
+ />
|
|
|
<label for="only-vt-modules">VT Module</label>
|
|
|
</li>
|
|
|
<li>
|
|
|
@@ -373,7 +340,7 @@
|
|
|
v-model="stateStore.highlightContextModules"
|
|
|
class="inline-block w-auto mr-2"
|
|
|
type="checkbox"
|
|
|
- >
|
|
|
+ />
|
|
|
<label for="only-context-modules">Kontext Module</label>
|
|
|
</li>
|
|
|
<li>
|
|
|
@@ -382,8 +349,10 @@
|
|
|
v-model="stateStore.highlightFirstPhaseModules"
|
|
|
class="inline-block w-auto mr-2"
|
|
|
type="checkbox"
|
|
|
+ />
|
|
|
+ <label for="only-first-phase-modules"
|
|
|
+ >Module der 1. Einschreibphase</label
|
|
|
>
|
|
|
- <label for="only-first-phase-modules">Module der 1. Einschreibphase</label>
|
|
|
</li>
|
|
|
<li>
|
|
|
<input
|
|
|
@@ -391,7 +360,7 @@
|
|
|
v-model="stateStore.highlightEnglishModules"
|
|
|
class="inline-block w-auto mr-2"
|
|
|
type="checkbox"
|
|
|
- >
|
|
|
+ />
|
|
|
<label for="only-english-modules">Module in Englisch</label>
|
|
|
</li>
|
|
|
<li>
|
|
|
@@ -400,7 +369,7 @@
|
|
|
v-model="stateStore.highlightMSPModules"
|
|
|
class="inline-block w-auto mr-2"
|
|
|
type="checkbox"
|
|
|
- >
|
|
|
+ />
|
|
|
<label for="only-msp-modules">Module mit MSP</label>
|
|
|
</li>
|
|
|
</ul>
|
|
|
@@ -414,9 +383,7 @@
|
|
|
v-if="planningStore.eventsByDay[BLOCKCOURSE_DAY_IDX].length > 0"
|
|
|
class="mt-5"
|
|
|
>
|
|
|
- <h2 class="font-bold text-xl mb-2">
|
|
|
- Blockmodule
|
|
|
- </h2>
|
|
|
+ <h2 class="font-bold text-xl mb-2">Blockmodule</h2>
|
|
|
<div class="flex flex-wrap gap-3">
|
|
|
<div
|
|
|
v-for="ce in planningStore.eventsByDay[BLOCKCOURSE_DAY_IDX]"
|
|
|
@@ -435,17 +402,12 @@
|
|
|
{{ ce.taughtClass.name }}
|
|
|
</p>
|
|
|
<p>{{ ce.taughtClass.class }}</p>
|
|
|
- <p
|
|
|
- class="absolute right-2 bottom-1 font-bold"
|
|
|
- title="MSP"
|
|
|
- >
|
|
|
+ <p class="absolute right-2 bottom-1 font-bold" title="MSP">
|
|
|
{{ ce.taughtClass.module?.hasMSP ? "M" : "" }}
|
|
|
</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-else>
|
|
|
- Invalid
|
|
|
- </div>
|
|
|
+ <div v-else>Invalid</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|