diff --git a/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java b/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java index 983ba95e76e87f1522c7dbdefbfd15456de048da..28948bd0cc5b07ac3c796f85a49409984ca33140 100644 --- a/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java +++ b/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java @@ -343,6 +343,16 @@ public class VelocityRenderDecorator implements Closeable { return sb; } + public StringOutput mathJaxCdnFullUrl() { + StringOutput sb = new StringOutput(100); + if(WebappHelper.getMathJaxCdn().startsWith("http")) { + sb.append(WebappHelper.getMathJaxCdn()); + } else { + sb.append("https:").append(WebappHelper.getMathJaxCdn()); + } + return sb; + } + public StringOutput contextPath() { StringOutput sb = new StringOutput(100); sb.append(Settings.getServerContextPath()); diff --git a/src/main/java/org/olat/ims/qti/resultexport/_content/qti21results.html b/src/main/java/org/olat/ims/qti/resultexport/_content/qti21results.html deleted file mode 100644 index f5e4a281298bfac2c905695642a6d5b282994e63..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/ims/qti/resultexport/_content/qti21results.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE HTML> -<html> -<head> - <title>$rootTitle</title> - <link rel='stylesheet' href='../../../css/offline/qti/theme.css' /> - <meta http-equiv="Content-type" content="text/html; charset=utf-8"> -</head> -<body class="o_page_margins"> - <div id="o_main">$r.render("results")</div> -</body> -</html> \ No newline at end of file diff --git a/src/main/java/org/olat/ims/qti21/resultexport/QTI21ResultsExportMediaResource.java b/src/main/java/org/olat/ims/qti21/resultexport/QTI21ResultsExportMediaResource.java index bc73ecc11005f63c1bf7ad32ce11ade29b148358..4ffdf43c70b5af820b8c2101ae5b9dbde7f68bdb 100644 --- a/src/main/java/org/olat/ims/qti21/resultexport/QTI21ResultsExportMediaResource.java +++ b/src/main/java/org/olat/ims/qti21/resultexport/QTI21ResultsExportMediaResource.java @@ -53,6 +53,7 @@ import org.olat.core.gui.render.Renderer; import org.olat.core.gui.render.StringOutput; import org.olat.core.gui.render.URLBuilder; import org.olat.core.gui.render.velocity.VelocityHelper; +import org.olat.core.gui.render.velocity.VelocityRenderDecorator; import org.olat.core.gui.translator.Translator; import org.olat.core.gui.util.WindowControlMocker; import org.olat.core.id.Identity; @@ -328,9 +329,10 @@ public class QTI21ResultsExportMediaResource implements MediaResource { mainVC.contextPut("rootTitle", translator.translate("table.grading")); mainVC.put("results", results); - //render VelocityContainer to StringOutPut - Renderer renderer = Renderer.getInstance(mainVC, translator, ubu, new RenderResult(), new EmptyGlobalSettings()); + Renderer renderer = Renderer.getInstance(mainVC, translator, ubu, new RenderResult(), new EmptyGlobalSettings()); + VelocityRenderDecorator vrdec = new VelocityRenderDecorator(renderer, mainVC, sb); + mainVC.contextPut("r", vrdec); renderer.render(sb, mainVC, null); return sb.toString(); } diff --git a/src/main/java/org/olat/ims/qti21/resultexport/_content/qti21results.html b/src/main/java/org/olat/ims/qti21/resultexport/_content/qti21results.html index c9cb7e638f26fdc9750966c750cd22647dcd37ac..8440db543e322e61088dd7958d1b83e2c3051505 100644 --- a/src/main/java/org/olat/ims/qti21/resultexport/_content/qti21results.html +++ b/src/main/java/org/olat/ims/qti21/resultexport/_content/qti21results.html @@ -1,3 +1,4 @@ + <!DOCTYPE HTML> <html> <head> @@ -24,6 +25,45 @@ function setFlexiFormDirtyByListener(e){ // } +function o_mathjax() { + jQuery.ajax("${r.mathJaxCdnFullUrl()}MathJax.js?config=TeX-AMS-MML_HTMLorMML", { + cache: true, + dataType: "script", + success: function() { + MathJax.Hub.Config({ + extensions: ["jsMath2jax.js"], + messageStyle: 'none', + showProcessingMessages: false, + showMathMenu: false, + menuSettings: { }, + jsMath2jax: { + preview: "none" + }, + tex2jax: { + ignoreClass: "math" + }, + "HTML-CSS": { + EqnChunk: 5, EqnChunkFactor: 1, EqnChunkDelay: 100 + }, + "fast-preview": { + disabled: true + } + }); + } + }); +} +var BFormatter = { + // format on load + formatLatexFormulas : function(domId) {} +}; +jQuery(function() { + if ((window.unsafeWindow == null ? window : unsafeWindow).MathJax == null) { + var count = jQuery('div.math,span.math,math,div.mathEntryInteraction').length; + if (count > 0) { + o_mathjax(); + } + } +}); /* ]]> */ </script> </head>