Skip to content
Snippets Groups Projects
Commit d4e0ce81 authored by srosse's avatar srosse
Browse files

Merge OpenOLAT 11.4 to OpenOLAT default branch with db6c3b6daf4099743dd5f35186ca01d5bcba1ca4

parents 7d64ee50 6b481f2b
No related branches found
No related tags found
No related merge requests found
...@@ -417,7 +417,26 @@ public class BreadcrumbedStackedPanel extends Panel implements StackedPanel, Bre ...@@ -417,7 +417,26 @@ public class BreadcrumbedStackedPanel extends Panel implements StackedPanel, Bre
pushController(displayName, iconLeftCss, null, uobject); pushController(displayName, iconLeftCss, null, uobject);
} }
/**
* Push the controller in the stack. If the breadcrumb has no controller, the method
* prevent the last breadcrumb to be the same has the new one and be same, it's mean
* the same uobject.
*
* @param displayName
* @param iconLeftCss
* @param controller
* @param uobject
*/
public void pushController(String displayName, String iconLeftCss, Controller controller, Object uobject) { public void pushController(String displayName, String iconLeftCss, Controller controller, Object uobject) {
//deduplicate last crumb
if(uobject != null && controller == null && stack.size() > 0) {
Link lastLink = stack.get(stack.size() - 1);
BreadCrumb lastCrumb = (BreadCrumb)lastLink.getUserObject();
if(lastCrumb.getController() == null && lastCrumb.getUserObject() != null && lastCrumb.getUserObject().equals(uobject)) {
stack.remove(lastLink);
}
}
Link link = LinkFactory.createLink("crumb_" + stack.size(), (Translator)null, this); Link link = LinkFactory.createLink("crumb_" + stack.size(), (Translator)null, this);
link.setCustomDisplayText(StringHelper.escapeHtml(displayName)); link.setCustomDisplayText(StringHelper.escapeHtml(displayName));
if(StringHelper.containsNonWhitespace(iconLeftCss)) { if(StringHelper.containsNonWhitespace(iconLeftCss)) {
......
...@@ -183,6 +183,10 @@ public class CompareEvaluationsFormController extends FormBasicController { ...@@ -183,6 +183,10 @@ public class CompareEvaluationsFormController extends FormBasicController {
private List<EvaluationFormElementWrapper> forgeTextInput(TextInput element) { private List<EvaluationFormElementWrapper> forgeTextInput(TextInput element) {
List<EvaluationFormResponse> responses = identifierToResponses.get(element.getId()); List<EvaluationFormResponse> responses = identifierToResponses.get(element.getId());
if (responses == null) {
// in review - selbstreview ??
return new ArrayList<EvaluationFormElementWrapper>();
}
List<EvaluationFormElementWrapper> inputWrappers = new ArrayList<>(responses.size()); List<EvaluationFormElementWrapper> inputWrappers = new ArrayList<>(responses.size());
for(EvaluationFormResponse response:responses) { for(EvaluationFormResponse response:responses) {
if(StringHelper.containsNonWhitespace(response.getStringuifiedResponse())) { if(StringHelper.containsNonWhitespace(response.getStringuifiedResponse())) {
......
...@@ -238,7 +238,7 @@ public class EvaluationFormController extends FormBasicController implements Val ...@@ -238,7 +238,7 @@ public class EvaluationFormController extends FormBasicController implements Val
if(element.getRows() > 0) { if(element.getRows() > 0) {
rows = element.getRows(); rows = element.getRows();
} }
TextElement textEl = uifactory.addTextAreaElement("textinput_" + (count++), rows, 72, initialValue, flc); TextElement textEl = uifactory.addTextAreaElement("textinput_" + (count++), null, Integer.MAX_VALUE, rows, 72, false, initialValue, flc);
textEl.setEnabled(!readOnly); textEl.setEnabled(!readOnly);
FormLink saveButton = uifactory.addFormLink("save_" + (count++), "save", null, flc, Link.BUTTON); FormLink saveButton = uifactory.addFormLink("save_" + (count++), "save", null, flc, Link.BUTTON);
saveButton.setVisible(!readOnly); saveButton.setVisible(!readOnly);
......
...@@ -72,14 +72,18 @@ item.deleted=Frage wurde gel\u00F6scht. ...@@ -72,14 +72,18 @@ item.deleted=Frage wurde gel\u00F6scht.
item.level=Level item.level=Level
item.pooled=Frage {0} wurde zum Pool hinzugef\u00FCgt. item.pooled=Frage {0} wurde zum Pool hinzugef\u00FCgt.
item.shared=Frage {0} wurde freigegeben. item.shared=Frage {0} wurde freigegeben.
item.type.drawing=Zeichnen
item.type.essay=Essay item.type.essay=Essay
item.type.fib=Fill-in-Blank item.type.fib=Fill-in-Blank
item.type.hotspot=Hotspot item.type.hotspot=Hotspot
item.type.hottext=Hottext
item.type.kprim=KPrim item.type.kprim=KPrim
item.type.match=Matrix
item.type.mc=Multiple-Choice item.type.mc=Multiple-Choice
item.type.numerical=Numerische Eingabe item.type.numerical=Numerische Eingabe
item.type.sc=Single-Choice item.type.sc=Single-Choice
item.type.unkown=Unbekannt item.type.unkown=Unbekannt
item.type.upload=Datei hochladen
lifecycle=Lebenszyklus lifecycle=Lebenszyklus
lifecycle.status=Status lifecycle.status=Status
lifecycle.status.draft=Draft lifecycle.status.draft=Draft
......
...@@ -72,14 +72,18 @@ item.deleted=Question has been deleted. ...@@ -72,14 +72,18 @@ item.deleted=Question has been deleted.
item.level=Level item.level=Level
item.pooled=Question {0} has been added to the pool. item.pooled=Question {0} has been added to the pool.
item.shared=Question {0} has been shared. item.shared=Question {0} has been shared.
item.type.drawing=Drawing
item.type.essay=Essay item.type.essay=Essay
item.type.fib=Fill-in-Blank item.type.fib=Fill-in-Blank
item.type.hotspot=Hotspot item.type.hotspot=Hotspot
item.type.hottext=Hottext
item.type.kprim=KPrim item.type.kprim=KPrim
item.type.match=Match
item.type.mc=Multiple-Choice item.type.mc=Multiple-Choice
item.type.numerical=Numerical input item.type.numerical=Numerical input
item.type.sc=Single-Choice item.type.sc=Single-Choice
item.type.unkown=Unkown item.type.unkown=Unkown
item.type.upload=Upload file
lifecycle=Lifecycle lifecycle=Lifecycle
lifecycle.status=Status lifecycle.status=Status
lifecycle.status.draft=Draft lifecycle.status.draft=Draft
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment