| | |
| | | |
| | | import {useRoute} from 'vue-router' |
| | | import {onMounted, reactive, ref} from "vue" |
| | | import {getKurs, getKursItems, getKursTn, iliasBase, routerBase} from "../lib/api.js" |
| | | import {getKurs, getKursItems, getKursRoles, getKursTn, getKursTnByRole, iliasBase, routerBase} from "../lib/api.js" |
| | | import LinkExtern from "../components/LinkExtern.vue" |
| | | import dayjs from "dayjs" |
| | | import KursItems from '../components/KursItems.vue' |
| | | import KursRoles from '../components/KursRoles.vue' |
| | | import KursMembers from '../components/KursMembers.vue' |
| | | import KursTnByRole from '../components/KursTnByRole.vue' |
| | | |
| | | |
| | | const route = useRoute() |
| | | const kursId = route.params.kursId |
| | | document.title = `Kurs ${kursId} | globus-ilias-rest` |
| | | |
| | | const kurs = ref(null) |
| | | const kursItems = ref(null) |
| | | const kursTn = ref(null) |
| | | const kursTnByRolle = ref(null) |
| | | const kursRoles = ref(null) |
| | | const error = ref(null) |
| | | |
| | | onMounted(init) |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | |
| | | async function init () { |
| | | |
| | | const dataKurs = await getKurs(kursId) |
| | | console.log(dataKurs) |
| | | kurs.value = dataKurs |
| | |
| | | const dataKursTn = await getKursTn(kursId) |
| | | console.log(dataKursTn) |
| | | kursTn.value = dataKursTn |
| | | |
| | | const dataKursTnByRolle = await getKursTnByRole(kursId) |
| | | console.log(dataKursTnByRolle) |
| | | kursTnByRolle.value = dataKursTnByRolle |
| | | |
| | | const dataKursRoles = await getKursRoles(kursId) |
| | | console.log(dataKursRoles) |
| | | kursRoles.value = dataKursRoles |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | </div> |
| | | |
| | | <h2> |
| | | KursItems |
| | | <small>({{ kursItems?.length }})</small> |
| | | </h2> |
| | | <table> |
| | | <thead> |
| | | <tr> |
| | | <th>parent_id</th> |
| | | <th>ref_id</th> |
| | | <th>obj_id</th> |
| | | <th>title</th> |
| | | <th>type</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <!-- TODO verlinken auf Ziel in ILAS | goto.php?target=crs_ID --> |
| | | <tr v-for="item in kursItems"> |
| | | <td>{{ item.parent_id }}</td> |
| | | <td> |
| | | <a :href="`${iliasBase}/goto.php?target=${item.type}_${item.ref_id}`" target="_blank"> |
| | | {{ item.ref_id }} |
| | | <LinkExtern /> |
| | | </a> |
| | | </td> |
| | | <td>{{ item.obj_id }}</td> |
| | | <td>{{ item.title }}</td> |
| | | <td>{{ item.type }}</td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | <div class="cols"> |
| | | |
| | | <h2> |
| | | KursTn |
| | | <small>({{ kursTn?.length }})</small> |
| | | </h2> |
| | | <div :style="{columns: kursTn?.length > 16 ? 2 : 1}"> |
| | | <table> |
| | | <thead> |
| | | <tr> |
| | | <th>usr_id</th> |
| | | <th>login</th> |
| | | <th>firstname</th> |
| | | <th>lastname</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr v-for="tn in kursTn"> |
| | | <td> |
| | | <RouterLink :to="`${routerBase}/ui/user/${tn.usr_id}`">{{ tn.usr_id }}</RouterLink> |
| | | </td> |
| | | <td>{{ tn.login }}</td> |
| | | <td>{{ tn.firstname }}</td> |
| | | <td>{{ tn.lastname }}</td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | <div> |
| | | <h2>KursItems <small>({{ kursItems?.length }})</small></h2> |
| | | <KursItems :kursItems="kursItems" /> |
| | | </div> |
| | | |
| | | <div> |
| | | <h2>KursRoles <small>({{ kursRoles?.length }})</small></h2> |
| | | <KursRoles :kursRoles="kursRoles" /> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <div class="cols"> |
| | | <div> |
| | | <h2>KursTn by Members <small>({{ kursTn?.length }})</small></h2> |
| | | <KursMembers :kursTn="kursTn" /> |
| | | </div> |
| | | |
| | | <div> |
| | | <h2>KursTnByRole <small>({{ kursTnByRolle?.length }})</small></h2> |
| | | <KursTnByRole :kursTnByRolle="kursTnByRolle" /> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </template> |
| | | |
| | | <style scoped> |
| | | <style scoped lang="stylus"> |
| | | |
| | | .cols |
| | | display flex; |
| | | gap 2em |
| | | |
| | | </style> |