mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
refactor(moodle Event Info):adds the component for moodle event information to the rendered components from the moodle Event
This commit is contained in:
@@ -10,13 +10,6 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
LV_TYPES: function () {
|
||||
return {
|
||||
lehreinheit: "lehreinheit",
|
||||
reservierung: "reservierung",
|
||||
moodle: "moodle",
|
||||
};
|
||||
},
|
||||
lektorenLinks: function () {
|
||||
if (!this.event || !Array.isArray(this.event.lektor) || !this.event.lektor.length) return "a";
|
||||
|
||||
@@ -56,49 +49,6 @@ export default {
|
||||
},
|
||||
template:/*html*/`
|
||||
<table class="table table-hover mb-4">
|
||||
<template v-if="event.type == LV_TYPES.moodle">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{{
|
||||
$p.t('global','datum')?
|
||||
$p.t('global','datum')+':'
|
||||
:''
|
||||
}}</th>
|
||||
<td>{{methodFormatDate(event.datum)}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{$p.t('global','aktivitaet')}}:</th>
|
||||
<td v-html="event?.assignment"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{$p.t('global','typ')}}:</th>
|
||||
<td><img v-if="event?.activityIcon" class="me-1" :src="event?.activityIcon" />{{event?.purpose}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{$p.t('fristenmanagement','frist')}}:</th>
|
||||
<td>{{start_time}}</td>
|
||||
</tr>
|
||||
<tr v-if="event?.actionname">
|
||||
<th>{{$p.t('lvinfo','actionname')}}:</th>
|
||||
<td>
|
||||
{{event?.actionname}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="event?.overdue">
|
||||
<th>{{$p.t('lvinfo','overdue')}}:</th>
|
||||
<td>
|
||||
{{$p.t('lvinfo','overdueEvent')}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr >
|
||||
<th>{{$p.t('lvinfo','moodleLink')}}</th>
|
||||
<td>
|
||||
<a :href="event?.url" target="_blank"><i class="fa fa-arrow-up-right-from-square me-1"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</template>
|
||||
<template v-else>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{{
|
||||
@@ -157,7 +107,6 @@ export default {
|
||||
<td>{{event.organisationseinheit}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</template>
|
||||
</table>
|
||||
`
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ export default {
|
||||
{{$p.t('lvinfo','lehrveranstaltungsinformationen')}}
|
||||
</template>
|
||||
</h3>
|
||||
<lv-info :event="event"></lv-info>
|
||||
<slot name="info"></slot>
|
||||
<template v-if="showMenu && this.menu">
|
||||
<h3>{{$p.t('lehre','lehrveranstaltungsmenue')}}</h3>
|
||||
<lv-menu :menu="menu"></lv-menu>
|
||||
|
||||
@@ -113,6 +113,12 @@ const Stundenplan = {
|
||||
default: return !this.renderers? null : Vue.defineAsyncComponent(() => import(this.renderers[name]))
|
||||
}
|
||||
},
|
||||
renderComponentInfo(name) {
|
||||
switch (name) {
|
||||
case 'moodleEvent': return !this.renderers? null: Vue.defineAsyncComponent(() => import(this.renderers[name]));
|
||||
default: return LvInfo;
|
||||
}
|
||||
},
|
||||
fetchStudiensemesterDetails: async function (date) {
|
||||
return this.$api.call(ApiStundenplan.studiensemesterDateInterval(date));
|
||||
},
|
||||
@@ -262,7 +268,11 @@ const Stundenplan = {
|
||||
<span style="padding-left: 0.5em;" v-show="propsViewData?.lv_id && lv"> {{ $p.user_language.value === 'German' ? lv?.bezeichnung : lv?.bezeichnung_english}}</span>
|
||||
</h2>
|
||||
<hr>
|
||||
<lv-modal v-if="currentlySelectedEvent" :event="currentlySelectedEvent" ref="lvmodal" />
|
||||
<lv-modal v-if="currentlySelectedEvent" :event="currentlySelectedEvent" ref="lvmodal" >
|
||||
<template #info>
|
||||
<component :is="renderComponentInfo(currentlySelectedEvent.type+'Event')" :event="currentlySelectedEvent" ></component>
|
||||
</template>
|
||||
</lv-modal>
|
||||
<fhc-calendar
|
||||
ref="calendar"
|
||||
@selectedEvent="setSelectedEvent"
|
||||
|
||||
Reference in New Issue
Block a user