aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/lib/questionnaire.js
diff options
context:
space:
mode:
authorDavid Siegfried <david.siegfried@uni-vechta.de>2023-11-15 17:46:47 +0000
committerDavid Siegfried <david.siegfried@uni-vechta.de>2023-11-15 17:46:47 +0000
commit3f5fa2d88adbf3cb036c24f06715d0c686d2f5b8 (patch)
tree428ac62973e8f3e4c05acd899894ba4aebae995d /resources/assets/javascripts/lib/questionnaire.js
parentf935453e29ae20a61d19f7125b64214c9743d47c (diff)
fixes #3462
Closes #3462 Merge request studip/studip!2362
Diffstat (limited to 'resources/assets/javascripts/lib/questionnaire.js')
-rw-r--r--resources/assets/javascripts/lib/questionnaire.js33
1 files changed, 31 insertions, 2 deletions
diff --git a/resources/assets/javascripts/lib/questionnaire.js b/resources/assets/javascripts/lib/questionnaire.js
index 16ee461..8fbbbb0 100644
--- a/resources/assets/javascripts/lib/questionnaire.js
+++ b/resources/assets/javascripts/lib/questionnaire.js
@@ -441,12 +441,20 @@ const Questionnaire = {
let pdf = new pdfExporter({
orientation: 'portrait'
});
+
$(".questionnaire_results").addClass('print-view');
let title = $(".questionnaire_results").data('title');
+ let formattedDate = new Intl.DateTimeFormat(String.locale, {
+ year: "numeric",
+ month: "long",
+ day: "numeric",
+ hour: "numeric",
+ minute: "numeric"
+ }).format(new Date());
let splitTitle = pdf.splitTextToSize(title, 180);
- pdf.text(splitTitle, 25, 20);
+
let count_questions = $(".questionnaire_results .question").length;
let questions_rendered = 0;
@@ -474,7 +482,7 @@ const Questionnaire = {
let height = Math.floor(160 / canvasses[i].width * canvasses[i].height);
if (height_sum + height > 240 && height < 240) {
pdf.addPage();
- height_sum = 0;
+ height_sum = 15;
}
pdf.addImage(imgData, 'JPEG',
25,
@@ -487,6 +495,27 @@ const Questionnaire = {
);
height_sum += height + 10;
}
+
+ const pages = pdf.internal.getNumberOfPages();
+
+ for (let i = 1; i <= pages; i++) {
+ let pageSize = pdf.internal.pageSize;
+ let pageHeight = pageSize.getHeight();
+ pdf.setPage(i);
+ pdf.setFontSize(16);
+ pdf.text(splitTitle, 25, 20);
+ pdf.setFontSize(8);
+ pdf.text(
+ String(formattedDate),
+ 30,
+ pageHeight - 8
+ )
+ pdf.text(
+ String(i) + ' / ' + String(pages),
+ pageSize.getWidth() - 30,
+ pageHeight - 8
+ );
+ }
pdf.save(title + '.pdf');
}
});