Newer
Older
<script setup>
import AbsenceReasonChip from "aleksis.apps.kolego/components/AbsenceReasonChip.vue";
</script>
class="d-flex align-center justify-space-between justify-md-end flex-wrap gap"
>
<v-chip dense color="success" outlined v-if="total > 0">
{{ $t("alsijil.coursebook.present_number", { present, total }) }}
<absence-reason-chip
v-for="participation in absences"
:absence-reason="participation.absenceReason"
dense
>
<template #prepend> {{ participation.person.fullName }}: </template>
<manage-students-trigger v-bind="documentationPartProps" />
import documentationPartMixin from "./documentationPartMixin";
import ManageStudentsTrigger from "../absences/ManageStudentsTrigger.vue";
components: { ManageStudentsTrigger },
mixins: [documentationPartMixin],
computed: {
total() {
return this.documentation.participations.length;
},
present() {
return this.documentation.participations.filter(
(p) => p.absenceReason === null,
).length;
},
absences() {
// Get all course attendants who have an absence reason
return this.documentation.participations.filter(
(p) => p.absenceReason !== null,
);