From 0a83654f60f6d11da95a60560085cc6156eeab18 Mon Sep 17 00:00:00 2001 From: Michael Bauer <michael-bauer@posteo.de> Date: Wed, 31 Jan 2024 19:19:13 +0100 Subject: [PATCH] Implement saveTopic and wire documentation mutation up --- .../documentation/Documentation.vue | 20 ++++++++++++++----- .../documentation/LessonSummary.vue | 8 ++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/aleksis/apps/alsijil/frontend/components/documentation/Documentation.vue b/aleksis/apps/alsijil/frontend/components/documentation/Documentation.vue index eead50e48..5b169d037 100644 --- a/aleksis/apps/alsijil/frontend/components/documentation/Documentation.vue +++ b/aleksis/apps/alsijil/frontend/components/documentation/Documentation.vue @@ -1,15 +1,17 @@ <template> <div class="full-width d-flex flex-column flex-md-row align-stretch"> <lesson-information - :documentation="documentation" + :documentation="documentation" /> <lesson-summary - :documentation="documentation" - class="flex-grow-1" + class="flex-grow-1" + :documentation="documentation" + :is-create="false" + :gql-patch-mutation="updateDocumentationsMutation" /> <lesson-notes - :documentation="documentation" - class="flex-grow-1" + class="flex-grow-1" + :documentation="documentation" /> </div> </template> @@ -19,6 +21,9 @@ import LessonInformation from "./LessonInformation.vue"; import LessonSummary from "./LessonSummary.vue"; import LessonNotes from "./LessonNotes.vue"; +// or pass from Coursebook? +import { gqlCreateOrUpdateDocumentations } from "../coursebook.graphql"; + export default { name: "Documentation", components: { @@ -32,5 +37,10 @@ export default { required: true, }, }, + data() { + return { + updateDocumentationsMutation: gqlCreateOrUpdateDocumentations, + }; + }, }; </script> diff --git a/aleksis/apps/alsijil/frontend/components/documentation/LessonSummary.vue b/aleksis/apps/alsijil/frontend/components/documentation/LessonSummary.vue index c4d5a905f..9fe76adb2 100644 --- a/aleksis/apps/alsijil/frontend/components/documentation/LessonSummary.vue +++ b/aleksis/apps/alsijil/frontend/components/documentation/LessonSummary.vue @@ -37,8 +37,12 @@ </template> <script> +import createOrPatchMixin from "aleksis.core/mixins/createOrPatchMixin.js"; +// TODO: Update createOrPatchMixin to handle createOrPatch update of cache + export default { name: "LessonSummary", + mixins: [createOrPatchMixin], props: { documentation: { type: Object, @@ -57,6 +61,10 @@ export default { }, methods: { saveTopic() { + this.createOrPatch([{ + id: this.documentation.id, + topic: this.topic, + }]); }, truncate(str) { return str ? -- GitLab