From da4dd4fa0723bc1a59a23be640075d603f3b8385 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 16 Apr 2018 09:11:41 +0200
Subject: [PATCH] OO-3432: load the auto save plugin in the preview tab for
 essay

---
 .../AssessmentItemComponentRenderer.java       |  6 +++---
 .../AssessmentItemPreviewController.java       | 18 +++++++++++++-----
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentItemComponentRenderer.java b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentItemComponentRenderer.java
index b825600880f..2cfa1a044ce 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentItemComponentRenderer.java
+++ b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentItemComponentRenderer.java
@@ -76,10 +76,10 @@ public class AssessmentItemComponentRenderer extends AssessmentObjectComponentRe
             renderTerminated(sb, translator);
         } else {
             /* Look up most recent event */
-            final CandidateEvent latestEvent = candidateSessionContext.getLastEvent();// assertSessionEntered(candidateSession);
+            final CandidateEvent latestEvent = candidateSessionContext.getLastEvent();
 
             /* Load the ItemSessionState */
-            final ItemSessionState itemSessionState = cmp.getItemSessionController().getItemSessionState();// candidateDataService.loadItemSessionState(latestEvent);
+            final ItemSessionState itemSessionState = cmp.getItemSessionController().getItemSessionState();
 
             /* Touch the session's duration state if appropriate */
             if (itemSessionState.isEntered() && !itemSessionState.isEnded() && !itemSessionState.isSuspended()) {
@@ -162,7 +162,7 @@ public class AssessmentItemComponentRenderer extends AssessmentObjectComponentRe
 		sb.append("<h4 class='itemTitle'>");
 		renderItemStatus(renderer, sb, itemSessionState, translator);
 		sb.append(StringHelper.escapeHtml(assessmentItem.getTitle())).append("</h4>")
-		  .append("<div id='itemBody' class='clearfix'>");
+		  .append("<div id='itemBody' class='o_qti_item_body clearfix'>");
 		
 		//TODO prompt
 		
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentItemPreviewController.java b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentItemPreviewController.java
index c6b376e0c94..682422b92c6 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentItemPreviewController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentItemPreviewController.java
@@ -27,6 +27,7 @@ import java.util.Map;
 
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent;
 import org.olat.core.gui.components.velocity.VelocityContainer;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
@@ -74,7 +75,14 @@ public class AssessmentItemPreviewController extends BasicController {
 		mainVC = createVelocityContainer("assessment_item_preview");
 		mainVC.contextPut("outcomes", new ArrayList<>());
 		mainVC.contextPut("responses", new ArrayList<>());
-		mainVC.contextPut("showOutcomes", new Boolean(showOutcomes));
+		mainVC.contextPut("showOutcomes", Boolean.valueOf(showOutcomes));
+		
+		String[] jss = new String[] {
+				"js/jquery/qti/jquery.qtiAutosave.js"
+		};
+		JSAndCSSComponent js = new JSAndCSSComponent("js", jss, null);
+		mainVC.put("js", js);
+		
 		putInitialPanel(mainVC);
 	}
 	
@@ -110,10 +118,10 @@ public class AssessmentItemPreviewController extends BasicController {
 	protected void event(UserRequest ureq, Component source, Event event) {
 		if("show".equals(event.getCommand())) {
 			showOutcomes = true; 
-			ureq.getUserSession().putEntryInNonClearedStore(DEBUG_OUTCOMES, new Boolean(showOutcomes));
+			ureq.getUserSession().putEntryInNonClearedStore(DEBUG_OUTCOMES, Boolean.valueOf(showOutcomes));
 		} else if("hide".equals(event.getCommand())) {
 			showOutcomes = false;
-			ureq.getUserSession().putEntryInNonClearedStore(DEBUG_OUTCOMES, new Boolean(showOutcomes));
+			ureq.getUserSession().putEntryInNonClearedStore(DEBUG_OUTCOMES, Boolean.valueOf(showOutcomes));
 		}
 	}
 	
@@ -129,7 +137,7 @@ public class AssessmentItemPreviewController extends BasicController {
 			}
 			Collections.sort(responses);
 			mainVC.contextPut("responses", responses);
-			mainVC.contextPut("showOutcomes", new Boolean(showOutcomes));
+			mainVC.contextPut("showOutcomes", Boolean.valueOf(showOutcomes));
 			mainVC.setDirty(true);
 		}
 
@@ -143,7 +151,7 @@ public class AssessmentItemPreviewController extends BasicController {
 			}
 			Collections.sort(outcomes);
 			mainVC.contextPut("outcomes", outcomes);
-			mainVC.contextPut("showOutcomes", new Boolean(showOutcomes));
+			mainVC.contextPut("showOutcomes", Boolean.valueOf(showOutcomes));
 			mainVC.setDirty(true);
 		}
 	}
-- 
GitLab