From d59f550fcc94491f2230c01406d2d4a463ad74c8 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 24 Aug 2016 09:47:14 +0200 Subject: [PATCH] OO-1593: render ul / ol / li which are special cases --- .../AssessmentObjectComponentRenderer.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java index e46c64074d1..bac7828fba8 100644 --- a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java +++ b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java @@ -108,6 +108,9 @@ import uk.ac.ed.ph.jqtiplus.node.content.variable.PrintedVariable; import uk.ac.ed.ph.jqtiplus.node.content.variable.RubricBlock; import uk.ac.ed.ph.jqtiplus.node.content.variable.TextOrVariable; import uk.ac.ed.ph.jqtiplus.node.content.xhtml.image.Img; +import uk.ac.ed.ph.jqtiplus.node.content.xhtml.list.Li; +import uk.ac.ed.ph.jqtiplus.node.content.xhtml.list.Ol; +import uk.ac.ed.ph.jqtiplus.node.content.xhtml.list.Ul; import uk.ac.ed.ph.jqtiplus.node.content.xhtml.text.Br; import uk.ac.ed.ph.jqtiplus.node.content.xhtml.text.Div; import uk.ac.ed.ph.jqtiplus.node.item.AssessmentItem; @@ -315,6 +318,18 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent -> renderFlow(renderer, sb, component, resolvedAssessmentItem, itemSessionState, flow, ubu, translator)); renderEndTag(sb, block); break; + case Ul.QTI_CLASS_NAME: + renderStartHtmlTag(sb, component, resolvedAssessmentItem, block, null); + ((Ul)block).getLis().forEach((li) + -> renderLi(renderer, sb, component, resolvedAssessmentItem, itemSessionState, li, ubu, translator)); + renderEndTag(sb, block); + break; + case Ol.QTI_CLASS_NAME: + renderStartHtmlTag(sb, component, resolvedAssessmentItem, block, null); + ((Ol)block).getLis().forEach((li) + -> renderLi(renderer, sb, component, resolvedAssessmentItem, itemSessionState, li, ubu, translator)); + renderEndTag(sb, block); + break; default: { renderStartHtmlTag(sb, component, resolvedAssessmentItem, block, null); if(block instanceof AtomicBlock) { @@ -332,6 +347,14 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent } } + public void renderLi(AssessmentRenderer renderer, StringOutput sb, AssessmentObjectComponent component, + ResolvedAssessmentItem resolvedAssessmentItem, ItemSessionState itemSessionState, Li li, URLBuilder ubu, Translator translator) { + renderStartHtmlTag(sb, component, resolvedAssessmentItem, li, null); + li.getFlows().forEach((flow) + -> renderFlow(renderer, sb, component, resolvedAssessmentItem, itemSessionState, flow, ubu, translator)); + renderEndTag(sb, li); + } + public void renderInline(AssessmentRenderer renderer, StringOutput sb, AssessmentObjectComponent component, ResolvedAssessmentItem resolvedAssessmentItem, ItemSessionState itemSessionState, Inline inline, URLBuilder ubu, Translator translator) { -- GitLab