From 60f5498651a541a9b833f1d5f43c7bc7ca3d8b0c Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Wed, 27 Mar 2019 10:34:27 +0100 Subject: [PATCH] OO-3989: wait 1.5s before printing, fix issues in statistics as well --- .../olat/ims/qti21/ui/_content/assessment_results.html | 10 ++++++---- .../QTI21AssessmentItemStatisticsController.java | 1 + .../qti21/ui/statistics/QTI21ItemBodyController.java | 8 +++++++- .../olat/ims/qti21/ui/statistics/_content/print.html | 7 ++++++- .../qti21/ui/statistics/_content/statistics_item.html | 2 ++ 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/olat/ims/qti21/ui/_content/assessment_results.html b/src/main/java/org/olat/ims/qti21/ui/_content/assessment_results.html index a1c2dd0df19..6c0851006af 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_content/assessment_results.html +++ b/src/main/java/org/olat/ims/qti21/ui/_content/assessment_results.html @@ -555,10 +555,12 @@ <script type="text/javascript"> /* <![CDATA[ */ // execute after radial score rendering - setTimeout(function() { - window.focus(); - window.print(); - },110); + jQuery(function() { + setTimeout(function() { + window.focus(); + window.print(); + },1500); + }); /* ]]> */ </script> #end diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21AssessmentItemStatisticsController.java b/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21AssessmentItemStatisticsController.java index 717441bc856..922f20ecc05 100644 --- a/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21AssessmentItemStatisticsController.java +++ b/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21AssessmentItemStatisticsController.java @@ -123,6 +123,7 @@ public class QTI21AssessmentItemStatisticsController extends BasicController { itemBodyCtrl = new QTI21ItemBodyController(ureq, getWindowControl(), itemRef, resolvedAssessmentItem, resourceResult); listenTo(itemBodyCtrl); mainVC.put("question", itemBodyCtrl.getInitialComponent()); + mainVC.contextPut("questionComponentId", itemBodyCtrl.getInteractionsComponentId()); mapperUri = itemBodyCtrl.getMapperUri(); putInitialPanel(mainVC); diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21ItemBodyController.java b/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21ItemBodyController.java index c618543627c..71694663ca2 100644 --- a/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21ItemBodyController.java +++ b/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21ItemBodyController.java @@ -67,6 +67,8 @@ public class QTI21ItemBodyController extends FormBasicController { private final ItemSessionController itemSessionController; private final ResolvedAssessmentItem resolvedAssessmentItem; + private ItemBodyResultFormItem questionItem; + @Autowired private QTI21Service qtiService; @@ -92,10 +94,14 @@ public class QTI21ItemBodyController extends FormBasicController { public String getMapperUri() { return mapperUri; } + + public String getInteractionsComponentId() { + return questionItem.getComponent().getDispatchID(); + } @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - ItemBodyResultFormItem questionItem = new ItemBodyResultFormItem("question", resolvedAssessmentItem); + questionItem = new ItemBodyResultFormItem("question", resolvedAssessmentItem); questionItem.setItemSessionState(itemSessionController.getItemSessionState()); questionItem.setCandidateSessionContext(new TerminatedStaticCandidateSessionContext(new InMemoryAssessmentTestSession())); questionItem.setResourceLocator(inputResourceLocator); diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/print.html b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/print.html index d30bd838cf0..05da0a70d46 100644 --- a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/print.html +++ b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/print.html @@ -10,6 +10,11 @@ <script type='text/javascript'> /* <![CDATA[ */ ## Execute deferred. Gives browser the time to finish the page rendering first before executing the print dialog. - jQuery(function() {window.print();}); + jQuery(function() { + setTimeout(function() { + window.focus(); + window.print(); + },1500); + }); /* ]]> */ </script> \ No newline at end of file diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/statistics_item.html b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/statistics_item.html index 2160d3f7192..a83211bc834 100644 --- a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/statistics_item.html +++ b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/statistics_item.html @@ -1,3 +1,4 @@ +<div id="o_c$questionComponentId"> #if($r.available("filter")) <div class="o_button_group o_button_group_right"> $r.render("filter") @@ -53,3 +54,4 @@ $r.render($interactionId) #end </div> +</div> \ No newline at end of file -- GitLab