From 54e5afd330bb11ee691d36e0bbabc34b328a5d08 Mon Sep 17 00:00:00 2001
From: Michael Bauer <michael-bauer@posteo.de>
Date: Thu, 13 Jun 2024 17:20:26 +0200
Subject: [PATCH] Pass state to absence-creation-form

---
 .../absences/AbsenceCreationDialog.vue        |  8 +++++-
 .../absences/AbsenceCreationForm.vue          | 27 +++++++++++++++++++
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue
index 9383fa7dc..7d36f94f7 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue
@@ -21,6 +21,11 @@
     </template>
     <template #content>
     <absence-creation-form v-if="form"
+      :persons="persons"
+      :start-date="startDate"
+      :end-date="endDate"
+      :comment="comment"
+      :absence-reason="absenceReason"
       @persons="persons = $event"
       @start-date="startDate = $event"
       @end-date="endDate = $event"
@@ -85,7 +90,7 @@ export default {
       startDate: "",
       endDate: "",
       comment: "",
-      absenceReason: null,
+      absenceReason: "",
     };
   },
   methods: {
@@ -95,6 +100,7 @@ export default {
     },
     confirm() {
       // TODO: Send mutation (shown in absence-creation-summary)
+      //       Clear form fields
       popup = false;
     },
   },
diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue
index 1febcd686..297b3185c 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue
@@ -7,6 +7,7 @@
         item-text="fullName"
         return-object
         multiple
+        :value="persons"
         @input="$emit('persons', $event)"
       />
     </v-row>
@@ -19,6 +20,7 @@
         <date-field
           :label="$t('forms.labels.start')"
           :max="endDate"
+          :value="startDate"
           @input="$emit('start-date', $event)"
           />
       </v-col>
@@ -29,6 +31,7 @@
         <date-field
           :label="$t('forms.labels.end')"
           :min="startDate"
+          :value="endDate"
           @input="$emit('end-date', $event)"
           />
       </v-col>
@@ -36,11 +39,13 @@
     <v-row>
       <v-text-field
         :label="$t('forms.labels.comment')"
+        :value="comment"
         @input="$emit('comment', $event)"
       />
     </v-row>
     <v-row>
       <absence-reason-group-select
+        :value="absenceReason"
         @input="$emit('absence-reason', $event)"
       />
     </v-row>
@@ -65,5 +70,27 @@ export default {
     // KolegoAbsences for!
     allPersons: persons,
   },
+  props: {
+    persons: {
+      type: Array,
+      required: true,
+    },
+    startDate: {
+      type: String,
+      required: true,
+    },
+    endDate: {
+      type: String,
+      required: true,
+    },
+    comment: {
+      type: String,
+      required: true,
+    },
+    absenceReason: {
+      type: String,
+      required: true,
+    },
+  },
 };
 </script>
-- 
GitLab