Skip to content
Snippets Groups Projects

Draft: Resolve "Include class register in calendar dialog"

Open Julian requested to merge 269-include-class-register-in-calendar-dialog into master
4 files
+ 181
1
Compare changes
  • Side-by-side
  • Inline
Files
4
<script>
import lessonEventAdditionalDetailsMixin from "aleksis.apps.chronos/components/calendar_feeds/mixins/lessonEventAdditionalDetailsMixin.js";
import { documentationsForLessonEvents } from "./documentations.graphql";
import MobileFullscreenDialog from "aleksis.core/components/generic/dialogs/MobileFullscreenDialog.vue";
import Documentation from "../../coursebook/documentation/Documentation.vue";
export default {
name: "DocumentationForLessonEvent",
components: { Documentation, MobileFullscreenDialog },
mixins: [lessonEventAdditionalDetailsMixin],
apollo: {
documentations: {
query: documentationsForLessonEvents,
skip() {
return this.dialogOpen;
},
variables() {
return {
lessonEvents: [this.lesson.meta.id],
start: this.lesson.start,
end: this.lesson.end,
};
},
update: (data) => data.items,
},
},
data() {
return {
dialogOpen: false,
dirty: false,
documentations: [],
extraMarks: [],
absenceReasons: [],
subjects: [],
};
},
};
</script>
<template>
<mobile-fullscreen-dialog
v-model="dialogOpen"
max-width="500px"
:persistent="dirty"
>
<template #activator="activator">
<div>
<documentation
v-for="documentation in documentations"
:key="documentation.id"
compact
hide-info
:elevation="0"
:documentation="documentation"
:affected-query="$apollo.queries.documentations"
:dialog-activator="activator"
:extra-marks="extraMarks"
:absence-reasons="absenceReasons"
:subjects="subjects"
/>
</div>
</template>
<div />
<!-- dialog view -> deactivate dialog -->
<!-- cancel | save (through lesson-summary) -->
<documentation
v-for="documentation in documentations"
:key="documentation.id"
:affected-query="$apollo.queries.documentations"
:documentation="documentation"
:extra-marks="extraMarks"
:absence-reasons="absenceReasons"
:subjects="subjects"
@close="dialogOpen = false"
@dirty="dirty = $event"
/>
</mobile-fullscreen-dialog>
</template>
Loading