Skip to content
Snippets Groups Projects

Resolve "Add simple course book list"

Merged Hangzhi Yu requested to merge 256-add-simple-course-book-list into master
Compare and Show latest version
41 files
+ 5413
3556
Compare changes
  • Side-by-side
  • Inline
Files
41
<template>
<v-card class="my-2 full-width">
<!-- flex-md-row zeile ab medium -->
<!-- align-stretch - stretch full-width -->
<div
class="full-width d-flex flex-column align-stretch"
:class="{ 'flex-md-row': 'compact' in $attrs }"
<v-card :class="{ 'my-1 full-width': true, 'd-flex flex-column': !compact }">
<v-card-title v-if="!compact">
<lesson-information v-bind="documentationPartProps" />
</v-card-title>
<v-card-text
class="full-width main-body"
:class="{
vertical: !compact || $vuetify.breakpoint.mobile,
'pa-2': compact,
}"
>
<lesson-information
class="flex-grow-1"
:documentation="$attrs.documentation"
/>
<lesson-information v-if="compact" v-bind="documentationPartProps" />
<lesson-summary
class="flex-grow-1"
ref="summary"
v-bind="$attrs"
v-bind="{ ...$attrs, ...documentationPartProps }"
:is-create="false"
:gql-patch-mutation="documentationsMutation"
@open="$emit('open')"
@loading="loading = $event"
@save="$emit('close')"
/>
<lesson-notes class="flex-grow-1" :documentation="$attrs.documentation" />
</div>
<lesson-notes v-bind="documentationPartProps" />
</v-card-text>
<v-spacer />
<v-divider />
<v-card-actions v-if="!('compact' in $attrs)">
<v-card-actions v-if="!compact">
<v-spacer />
<cancel-button @click="$emit('close')" :disabled="loading" />
<save-button @click="save" :loading="loading" />
<cancel-button
v-if="documentation.canEdit"
@click="$emit('close')"
:disabled="loading"
/>
<save-button
v-if="documentation.canEdit"
@click="save"
:loading="loading"
/>
<cancel-button
v-if="!documentation.canEdit"
i18n-key="actions.close"
@click="$emit('close')"
/>
</v-card-actions>
</v-card>
</template>
@@ -41,6 +56,8 @@ import CancelButton from "aleksis.core/components/generic/buttons/CancelButton.v
import { createOrUpdateDocumentations } from "../coursebook.graphql";
import documentationPartMixin from "./documentationPartMixin";
export default {
name: "Documentation",
components: {
@@ -51,6 +68,7 @@ export default {
CancelButton,
},
emits: ["open", "close"],
mixins: [documentationPartMixin],
data() {
return {
loading: false,
@@ -65,3 +83,14 @@ export default {
},
};
</script>
<style scoped>
.main-body {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1em;
}
.vertical {
grid-template-columns: 1fr;
}
</style>
Loading