From 5217332bfb1bcaf3dec0940f7cc5cd3b9e8ad5b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michaela=20Br=C3=BCckner?= Date: Mon, 23 Feb 2026 13:02:33 +0100 Subject: nested array for questionnaire questions --- app/views/questionnaire/answer.php | 26 ++++++++++++++++ .../apps/questionnaires/QuestionnaireAnswer.vue | 26 ++++++++-------- .../questionnaires/AutomatedDataAnswer.vue | 15 +++++----- .../vue/components/questionnaires/HeadlineView.vue | 14 ++++----- .../components/questionnaires/PagebreakView.vue | 35 ++++++++++++++++++---- .../components/questionnaires/RangescaleAnswer.vue | 15 +++++----- 6 files changed, 92 insertions(+), 39 deletions(-) diff --git a/app/views/questionnaire/answer.php b/app/views/questionnaire/answer.php index 80e20d4..38e6551 100644 --- a/app/views/questionnaire/answer.php +++ b/app/views/questionnaire/answer.php @@ -44,7 +44,33 @@ $questionnaire_data = [ 'stopdate' => $questionnaire->stopdate, 'title' => $questionnaire->title, ]; + +$grouped = collect(); +$current = collect(); +$page = 1; + +foreach ($questionnaire_data['questions'] as $question) { + $current->push($question); + $current['page'] = $page; + + if ($question['questiontype'] === 'Pagebreak') { + $grouped->push($current); + $current = collect(); + $page++; + } +} + +if ($current->isNotEmpty()) { + $grouped->push($current); +} + +$questionnaire_data['questions'] = $grouped->values(); + + ?> + + + withProps(['questionnaireData' => $questionnaire_data]) ?> diff --git a/resources/vue/apps/questionnaires/QuestionnaireAnswer.vue b/resources/vue/apps/questionnaires/QuestionnaireAnswer.vue index 96548c1..e954fb0 100644 --- a/resources/vue/apps/questionnaires/QuestionnaireAnswer.vue +++ b/resources/vue/apps/questionnaires/QuestionnaireAnswer.vue @@ -8,20 +8,20 @@ :data-secure="activateFormSecure" > -
-
- {{ question.questiontype }} - - - - - +
+ Seite {{ data.page }}: +
- - - - - + + + + + + + + + +
diff --git a/resources/vue/components/questionnaires/AutomatedDataAnswer.vue b/resources/vue/components/questionnaires/AutomatedDataAnswer.vue index d71c2ba..8932da0 100644 --- a/resources/vue/components/questionnaires/AutomatedDataAnswer.vue +++ b/resources/vue/components/questionnaires/AutomatedDataAnswer.vue @@ -6,11 +6,12 @@ - diff --git a/resources/vue/components/questionnaires/HeadlineView.vue b/resources/vue/components/questionnaires/HeadlineView.vue index 746fd4a..fe0b40c 100644 --- a/resources/vue/components/questionnaires/HeadlineView.vue +++ b/resources/vue/components/questionnaires/HeadlineView.vue @@ -2,13 +2,13 @@

- diff --git a/resources/vue/components/questionnaires/PagebreakView.vue b/resources/vue/components/questionnaires/PagebreakView.vue index 63cf316..0c8683e 100644 --- a/resources/vue/components/questionnaires/PagebreakView.vue +++ b/resources/vue/components/questionnaires/PagebreakView.vue @@ -1,11 +1,36 @@ - + - - + diff --git a/resources/vue/components/questionnaires/RangescaleAnswer.vue b/resources/vue/components/questionnaires/RangescaleAnswer.vue index 7b375ba..8932da0 100644 --- a/resources/vue/components/questionnaires/RangescaleAnswer.vue +++ b/resources/vue/components/questionnaires/RangescaleAnswer.vue @@ -6,11 +6,12 @@ - -- cgit v1.0