Search in sources :

Example 26 with URLBuilder

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>");
    }
}
Also used : RenderResult(org.olat.core.gui.render.RenderResult) Identity(org.olat.core.id.Identity) Link(org.olat.core.gui.components.link.Link) URLBuilder(org.olat.core.gui.render.URLBuilder)

Example 27 with URLBuilder

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();
}
Also used : StringOutput(org.olat.core.gui.render.StringOutput) URLBuilder(org.olat.core.gui.render.URLBuilder)

Example 28 with URLBuilder

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);
}
Also used : RenderingState(org.olat.core.gui.render.RenderingState) RenderResult(org.olat.core.gui.render.RenderResult) StringOutput(org.olat.core.gui.render.StringOutput) URLBuilder(org.olat.core.gui.render.URLBuilder) InlineTextElement(org.olat.core.gui.components.form.flexible.elements.InlineTextElement) ComponentRenderer(org.olat.core.gui.components.ComponentRenderer) Translator(org.olat.core.gui.translator.Translator) ComponentRenderer(org.olat.core.gui.components.ComponentRenderer) Renderer(org.olat.core.gui.render.Renderer) Component(org.olat.core.gui.components.Component)

Example 29 with URLBuilder

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>");
    }
}
Also used : RenderResult(org.olat.core.gui.render.RenderResult) Identity(org.olat.core.id.Identity) Link(org.olat.core.gui.components.link.Link) URLBuilder(org.olat.core.gui.render.URLBuilder)

Example 30 with URLBuilder

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 "";
    }
}
Also used : Renderer(org.olat.core.gui.render.Renderer) RenderResult(org.olat.core.gui.render.RenderResult) StringOutput(org.olat.core.gui.render.StringOutput) IOException(java.io.IOException) URLBuilder(org.olat.core.gui.render.URLBuilder) VelocityContainer(org.olat.core.gui.components.velocity.VelocityContainer) VelocityRenderDecorator(org.olat.core.gui.render.velocity.VelocityRenderDecorator)

Aggregations

URLBuilder (org.olat.core.gui.render.URLBuilder)36 StringOutput (org.olat.core.gui.render.StringOutput)30 RenderResult (org.olat.core.gui.render.RenderResult)24 Renderer (org.olat.core.gui.render.Renderer)20 IOException (java.io.IOException)10 Translator (org.olat.core.gui.translator.Translator)10 ArrayList (java.util.ArrayList)6 Component (org.olat.core.gui.components.Component)6 ComponentRenderer (org.olat.core.gui.components.ComponentRenderer)6 Window (org.olat.core.gui.components.Window)6 Link (org.olat.core.gui.components.link.Link)6 ChiefController (org.olat.core.gui.control.ChiefController)6 RenderingState (org.olat.core.gui.render.RenderingState)6 VelocityRenderDecorator (org.olat.core.gui.render.velocity.VelocityRenderDecorator)6 GlobalSettings (org.olat.core.gui.GlobalSettings)4 DelegatingComponent (org.olat.core.gui.components.delegating.DelegatingComponent)4 InvalidRequestParameterException (org.olat.core.gui.components.form.flexible.impl.InvalidRequestParameterException)4 VelocityContainer (org.olat.core.gui.components.velocity.VelocityContainer)4 Command (org.olat.core.gui.control.winmgr.Command)4 JSCommand (org.olat.core.gui.control.winmgr.JSCommand)4