<script> import BackButton from "aleksis.core/components/generic/BackButton.vue"; import CancelButton from "aleksis.core/components/generic/buttons/CancelButton.vue"; import MobileFullscreenDialog from "aleksis.core/components/generic/dialogs/MobileFullscreenDialog.vue"; import documentationPartMixin from "../documentation/documentationPartMixin"; import LessonInformation from "../documentation/LessonInformation.vue"; import SlideIterator from "aleksis.core/components/generic/SlideIterator.vue"; export default { name: "ManageStudentsDialog", extends: MobileFullscreenDialog, components: { BackButton, CancelButton, LessonInformation, MobileFullscreenDialog, SlideIterator, }, mixins: [ documentationPartMixin ], data() { return { dialog: false, search: "", selected: [], isExpanded: false, } }, computed: { items() { return this.documentation.participations; } }, }; </script> <template> <mobile-fullscreen-dialog scrollable v-bind="$attrs" v-on="$listeners" v-model="dialog" > <template #activator="activator"> <slot name="activator" v-bind="activator" /> </template> <template #title> <lesson-information v-bind="documentationPartProps" /> <v-slide-x-transition leave-absolute> <v-text-field v-show="!isExpanded" type="search" v-model="search" clearable rounded filled hide-details single-line prepend-inner-icon="$search" dense outlined :placeholder="$t('actions.search')" class="pt-4" /> </v-slide-x-transition> </template> <template #content> <slide-iterator v-model="selected" :items="items" :search="search" :item-key-getter="item => 'documentation-' + documentation.id + '-student-' + item.id" :is-expanded.sync="isExpanded" > <template #listItemContent="{ item }"> <v-list-item-title> {{ item.person.fullName }} </v-list-item-title> <v-list-item-subtitle v-if="item.absenceReason"> <v-chip dense> {{ item.absenceReason.name }} </v-chip> </v-list-item-subtitle> </template> <template #expandedItem="{ item, close }"> <v-card-title> <v-tooltip bottom> <template v-slot:activator="{ on, attrs }"> <v-btn v-bind="attrs" v-on="on" icon @click="close" > <v-icon>$prev</v-icon> </v-btn> </template> <span v-t="'actions.back_to_overview'" /> </v-tooltip> {{ item.person.fullName }} </v-card-title> <v-card-text> <v-chip>TODO</v-chip> <v-chip>TODO</v-chip> <v-chip>TODO</v-chip> </v-card-text> </template> </slide-iterator> </template> <template #actions> <cancel-button @click="dialog = false" i18n-key="actions.close" v-show="$vuetify.breakpoint.mobile" /> </template> </mobile-fullscreen-dialog> </template> <style scoped> </style>