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

OO-1575: fix wrong for attribute some disabled element, for date chooser,...

OO-1575: fix wrong for attribute some disabled element, for date chooser, render hour and minute for disabled date chooser element, escape blank in Confluence URL...
parent ac4f42a8
No related branches found
No related tags found
No related merge requests found
......@@ -55,7 +55,7 @@ public class ConfluenceLinkSPI implements HelpLinkSPI {
String version = Settings.getVersion();
sb.append(generateSpace(version, locale));
if (page != null) {
sb.append(page);
sb.append(page.replace(" ", "%20"));
}
return sb.toString();
}
......
......@@ -86,10 +86,17 @@ public class JSDateChooser extends TextElementImpl implements DateChooser {
dateComponent = (TextElementComponent) super.getFormItemComponent();
}
@Override
public String getForId() {
return dateComponent.getFormDispatchId();
}
@Override
public void setDisplaySize(int dispSize){
displaySize = dispSize;
}
@Override
protected Component getFormItemComponent() {
return jscomponent;
}
......
......@@ -141,7 +141,7 @@ class JSDateChooserRenderer extends DefaultComponentRenderer {
sb.append("</div>");
}
} else{
renderTextElementReadonly(sb, teC, maxlength);
renderTextElementReadonly(sb, jsdcc, maxlength);
}
sb.append("</div>");
}
......@@ -154,7 +154,8 @@ class JSDateChooserRenderer extends DefaultComponentRenderer {
return dc;
}
private void renderTextElementReadonly(StringOutput sb, TextElementComponent teC, int maxlength) {
private void renderTextElementReadonly(StringOutput sb, JSDateChooserComponent jsdcc, int maxlength) {
TextElementComponent teC = jsdcc.getTextElementComponent();
TextElementImpl te = teC.getTextElementImpl();
//display size cannot be bigger the maxlenght given by dateformat
te.displaySize = te.displaySize <= maxlength ? te.displaySize : maxlength;
......@@ -166,7 +167,7 @@ class JSDateChooserRenderer extends DefaultComponentRenderer {
value = "";
}
value = StringEscapeUtils.escapeHtml(value);
sb.append("<span\" id=\"").append(id).append("\" ")
sb.append("<span id='").append(id).append("_wp' ")
.append(FormJSHelper.getRawJSFor(te.getRootForm(), id, te.getAction()))
.append("title=\"").append(value).append("\">");
String shorter;
......@@ -181,9 +182,30 @@ class JSDateChooserRenderer extends DefaultComponentRenderer {
shorter += "&nbsp;";
}
}
sb.append("<input disabled=\"disabled\" class=\"o_form_element_disabled\" size=\"")
sb.append("<input id='").append(id).append("' disabled='disabled' class='o_form_element_disabled' size=\"")
.append(te.displaySize)
.append("\" value=\"").append(shorter).append("\" /></span>");
if (jsdcc.isDateChooserTimeEnabled()) {
int hour, minute;
Date currentDate = jsdcc.getDate();
if(currentDate == null) {
hour = minute = 0;
} else {
Calendar cal = Calendar.getInstance();
cal.setTime(currentDate);
hour = cal.get(Calendar.HOUR_OF_DAY);
minute = cal.get(Calendar.MINUTE);
}
sb.append("<span class='o_form_element_disabled'> ")
.append(hour)
.append(" : ");
if(minute < 10) {
sb.append("0");
}
sb.append(minute)
.append("</span>");
}
}
private void renderTextElement(StringOutput sb, TextElementComponent teC, int maxlength) {
......
......@@ -88,13 +88,13 @@ class TextElementRenderer extends DefaultComponentRenderer {
FormJSHelper.appendFlexiFormDirty(sb, te.getRootForm(), teC.getFormDispatchId());
} else {
//read only view
sb.append("<span id=\"").append(id).append("\" ")
sb.append("<span id=\"").append(id).append("_wp\" ")
.append(FormJSHelper.getRawJSFor(te.getRootForm(), id, te.getAction()))
.append(" title=\"").append(htmlVal) //the uncutted value in tooltip
.append("\" ").append(" >");
// use the longer from display size or real value length
int size = (te.displaySize > value.length() ? te.displaySize : value.length());
sb.append("<input type=\"").append(te.getHtmlInputType())
sb.append("<input id=\"").append(id).append("\" type=\"").append(te.getHtmlInputType())
.append("\" disabled=\"disabled\" class=\"form-control o_disabled\" size=\"")
.append(size)
.append("\" value=\"").append(htmlVal).append("\" />")
......
......@@ -91,6 +91,11 @@ public class RichTextElementImpl extends AbstractTextElement implements
configuration = new RichTextConfiguration(getFormDispatchId(), rootForm.getDispatchFieldId());
}
@Override
public String getForId() {
return isEnabled() ? super.getForId() : null;
}
/**
* @see org.olat.core.gui.components.form.flexible.impl.elements.AbstractTextElement#getValue()
* The returned value is XSS save and
......
......@@ -77,7 +77,7 @@ class RichTextElementRenderer extends DefaultComponentRenderer {
sb.append(FormJSHelper.getRawJSFor(te.getRootForm(), domID, te.getAction()));
sb.append(" id=\"");
sb.append(domID);
sb.append("_disabled\" readonly class='form-control-static o_disabled' style=\"");
sb.append("_disabled\" class='form-control-static o_disabled' style=\"");
if (rows != -1) {
sb.append(" min-height:").append(rows).append("em;");
}
......
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