use of org.olat.core.gui.render.URLBuilder in project openolat by klemens.
the class MailFromCellRenderer method render.
@Override
public void render(StringOutput sb, Renderer renderer, Object val, Locale locale, int alignment, String action) {
if (val instanceof Identity) {
Identity identity = (Identity) val;
String fullName = userManager.getUserDisplayName(identity);
if (renderer == null) {
sb.appendHtmlEscaped(fullName);
} else {
Link link = LinkFactory.createLink("bp_" + counter.incrementAndGet(), container, listeningController);
link.setCustomDisplayText(StringHelper.escapeHtml(fullName));
link.setUserObject("[Identity:" + identity.getKey() + "]");
URLBuilder ubu = renderer.getUrlBuilder().createCopyFor(link);
RenderResult renderResult = new RenderResult();
link.getHTMLRendererSingleton().render(renderer, sb, link, ubu, translator, renderResult, null);
}
} else if (val instanceof String) {
sb.append("<span>").appendHtmlEscaped((String) val).append("</span>");
}
}
use of org.olat.core.gui.render.URLBuilder in project OpenOLAT by OpenOLAT.
the class ValidatingVisitor method buildURIFor.
/**
* builds a url for this window
*
* @param win the window id the new url
* @param timestampId
* @param componentId
* @param moduleUri
* @param bc the businesscontrolpath
* @return the new (relative) url as a string
*/
public String buildURIFor(Window win, String timestampId, String moduleUri) {
URLBuilder ubu = new URLBuilder(uriPrefix, win.getInstanceId(), timestampId);
StringOutput so = new StringOutput();
ubu.buildURI(so, null, null, moduleUri, 0);
return so.toString();
}
use of org.olat.core.gui.render.URLBuilder in project OpenOLAT by OpenOLAT.
the class TextElementImpl method initInlineEditing.
private void initInlineEditing(String predefinedValue) {
// init the inline editing element component.
transientValue = predefinedValue;
AbstractInlineElementComponent aiec = new AbstractInlineElementComponent(this, new ComponentRenderer() {
public void renderHeaderIncludes(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderingState rstate) {
// nothing to do here
}
public void renderBodyOnLoadJSFunctionCall(Renderer renderer, StringOutput sb, Component source, RenderingState rstate) {
// nothing to do here
}
public void render(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderResult renderResult, String[] args) {
AbstractInlineElementComponent aiec = (AbstractInlineElementComponent) source;
InlineTextElement itei = (InlineTextElement) aiec.getInlineElement();
StringBuilder htmlVal = new StringBuilder();
/**
* in case of an error show the test which caused the error which must be stored by the textelement in the transientValue.
* the last valid value is always set over setValue(..) by the textelement, and thus can be retrieved as such here.
*/
String tmpVal;
String emptyVal = (itei.isInlineEditingOn() ? "" : itei.getEmptyDisplayText());
if (itei.hasError()) {
tmpVal = StringHelper.containsNonWhitespace(transientValue) ? transientValue : emptyVal;
} else {
tmpVal = StringHelper.containsNonWhitespace(getValue()) ? getValue() : emptyVal;
}
// append the html safe value
htmlVal.append(StringEscapeUtils.escapeHtml(tmpVal));
if (!itei.isEnabled()) {
// RO view and not clickable
String id = aiec.getFormDispatchId();
sb.append("<div class='form-control-static' id=\"").append(id).append("\" ").append(" >").append(htmlVal).append("</div>");
} else {
// .......presssing ESC -> restore previous value and submit this one.
if (itei.isInlineEditingOn()) {
String id = aiec.getFormDispatchId();
// read write view
sb.append("<input type=\"").append("input").append("\" class=\"form-control\" id=\"");
sb.append(id);
sb.append("\" name=\"");
sb.append(id);
sb.append("\" size=\"");
sb.append("30");
// if(itei.maxlength > -1){
// sb.append("\" maxlength=\"");
// sb.append(itei.maxlength);
// }
sb.append("\" value=\"");
sb.append(htmlVal);
sb.append("\" ");
sb.append(" />");
// Javascript
sb.append(FormJSHelper.getJSStart());
// clicking outside or pressing enter -> OK, pressing ESC -> Cancel
FormJSHelper.getInlineEditOkCancelJS(sb, id, StringEscapeUtils.escapeHtml(getValue()), itei.getRootForm());
sb.append(FormJSHelper.getJSEnd());
} else {
// RO<->RW view which can be clicked
Translator trans = Util.createPackageTranslator(TextElementImpl.class, translator.getLocale(), translator);
String id = aiec.getFormDispatchId();
sb.append("<div id='").append(id).append("' class='form-control-static' title=\"").append(StringEscapeUtils.escapeHtml(trans.translate("inline.edit.help"))).append("\" ").append(FormJSHelper.getRawJSFor(itei.getRootForm(), id, itei.getAction())).append("> ").append(htmlVal).append(" <i class='o_icon o_icon_inline_editable'> </i></div>");
}
}
// endif
}
});
setInlineEditingComponent(aiec);
}
use of org.olat.core.gui.render.URLBuilder in project OpenOLAT by OpenOLAT.
the class MailFromCellRenderer method render.
@Override
public void render(StringOutput sb, Renderer renderer, Object val, Locale locale, int alignment, String action) {
if (val instanceof Identity) {
Identity identity = (Identity) val;
String fullName = userManager.getUserDisplayName(identity);
if (renderer == null) {
sb.appendHtmlEscaped(fullName);
} else {
Link link = LinkFactory.createLink("bp_" + counter.incrementAndGet(), container, listeningController);
link.setCustomDisplayText(StringHelper.escapeHtml(fullName));
link.setUserObject("[Identity:" + identity.getKey() + "]");
URLBuilder ubu = renderer.getUrlBuilder().createCopyFor(link);
RenderResult renderResult = new RenderResult();
link.getHTMLRendererSingleton().render(renderer, sb, link, ubu, translator, renderResult, null);
}
} else if (val instanceof String) {
sb.append("<span>").appendHtmlEscaped((String) val).append("</span>");
}
}
use of org.olat.core.gui.render.URLBuilder in project OpenOLAT by OpenOLAT.
the class QTI21ResultsExportMediaResource method createResultHTML.
private String createResultHTML(Component results) {
String pagePath = Util.getPackageVelocityRoot(this.getClass()) + "/qti21results.html";
URLBuilder ubu = new URLBuilder("auth", "1", "0");
// generate VelocityContainer and put Component
VelocityContainer mainVC = new VelocityContainer("html", pagePath, translator, null);
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());
try (StringOutput sb = new StringOutput(32000);
VelocityRenderDecorator vrdec = new VelocityRenderDecorator(renderer, mainVC, sb)) {
mainVC.contextPut("r", vrdec);
renderer.render(sb, mainVC, null);
vrdec.close();
return sb.toString();
} catch (Exception e) {
log.error("", e);
return "";
}
}
Aggregations