Example usage for org.apache.wicket Component getRequestCycle

List of usage examples for org.apache.wicket Component getRequestCycle

Introduction

In this page you can find the example usage for org.apache.wicket Component getRequestCycle.

Prototype

public final RequestCycle getRequestCycle() 

Source Link

Document

Gets the active request cycle for this component

Usage

From source file:com.comcast.cdn.traffic_control.traffic_monitor.wicket.behaviors.AbstractMultiAjaxBehavior.java

License:Apache License

/**
 * @see org.apache.wicket.behavior.AbstractAjaxBehavior#renderHead(Component,
 *      org.apache.wicket.markup.head.IHeaderResponse)
 *///  w ww . java2  s  .c  om
@Override
public void renderHead(final Component component, final IHeaderResponse response) {
    super.renderHead(component, response);

    CoreLibrariesContributor.contributeAjax(component.getApplication(), response);

    final RequestCycle requestCycle = component.getRequestCycle();
    final Url baseUrl = requestCycle.getUrlRenderer().getBaseUrl();
    final CharSequence ajaxBaseUrl = Strings.escapeMarkup(baseUrl.toString());
    response.render(JavaScriptHeaderItem.forScript("Wicket.Ajax.baseUrl=\"" + ajaxBaseUrl + "\";",
            "wicket-ajax-base-url"));

    renderExtraHeaderContributors(component, response);
}

From source file:com.googlecode.wicket.jquery.core.JQueryAbstractBehavior.java

License:Apache License

@Override
public void renderHead(Component component, IHeaderResponse response) {
    // Gets the library settings //
    IJQueryLibrarySettings settings = getJQueryLibrarySettings();

    // jQuery UI resource reference //
    if (settings.getJQueryUIReference() != null) {
        response.render(/*from w  w w.  j a v  a  2  s  . com*/
                new PriorityHeaderItem(JavaScriptHeaderItem.forReference(settings.getJQueryUIReference())));
    }

    // jQuery Globalize resource reference //
    if (settings.getJQueryGlobalizeReference() != null) {
        response.render(new PriorityHeaderItem(
                JavaScriptHeaderItem.forReference(settings.getJQueryGlobalizeReference())));
    }

    // Additional resource references //
    for (ResourceReference reference : this.references) {
        if (reference instanceof CssResourceReference) {
            response.render(new PriorityHeaderItem(CssHeaderItem.forReference(reference)));
        }

        if (reference instanceof JavaScriptResourceReference) {
            response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(reference)));
        }
    }

    // Adds the statement //
    AjaxRequestTarget target = component.getRequestCycle().find(AjaxRequestTarget.class);

    if (target != null) {
        target.appendJavaScript(this.toString());
    } else {
        this.renderScript(JavaScriptHeaderItem.forScript(this.toString(), this.getToken()), response);
    }
}

From source file:name.martingeisse.wicket.component.select.SelectableElementsBehavior.java

License:Open Source License

@Override
public void renderHead(final Component component, final IHeaderResponse response) {
    super.renderHead(component, response);
    WicketHeadUtil.includeClassJavascript(response, SelectableElementsBehavior.class);

    final CallbackParameter[] parameters = new CallbackParameter[] { CallbackParameter.explicit("interaction"),
            CallbackParameter.explicit("selectedValues"), CallbackParameter.explicit("data"), };

    final StringBuilder builder = new StringBuilder();
    builder.append("\t$('#").append(component.getMarkupId()).append("').selectableElements({\n");
    builder.append("\t\telementSelector: '" + elementSelector + "',\n");
    builder.append("\t\tvalueExtractor: function(element) {return " + valueExpression + ";},\n");
    builder.append("\t\tajaxCallback: ").append(getCallbackFunction(parameters).toString().replace("\n", " "))
            .append(",");
    builder.append("\t\tnotSelectedStyle: {'background-color': ''},\n");
    builder.append("\t\tselectedStyle: {'background-color': '#f00'},\n");
    builder.append("\t\tcontextMenuData: ");
    if (contextMenu != null) {
        ContextMenu.renderHead(response);
        contextMenu.buildCreateExpression(builder, "#" + component.getMarkupId(), this);
    } else {//w ww .  j av  a 2s  . c o m
        builder.append("null");
    }
    builder.append(",\n");
    builder.append("\t});\n");

    final AjaxRequestTarget target = component.getRequestCycle().find(AjaxRequestTarget.class);
    if (target == null) {
        response.render(OnDomReadyHeaderItem.forScript(builder.toString()));
    } else {
        target.appendJavaScript(builder);
    }

}

From source file:org.efaps.ui.wicket.behaviors.update.AbstractRemoteUpdateBehavior.java

License:Apache License

@Override
public void renderHead(final Component _component, final IHeaderResponse _response) {
    super.renderHead(_component, _response);

    if (_component.isEnabledInHierarchy()) {
        final CharSequence js = getCallbackScript(_component);

        final AjaxRequestTarget target = _component.getRequestCycle().find(AjaxRequestTarget.class);
        if (target == null) {
            _response.render(JavaScriptHeaderItem.forScript(js.toString(), getClass().getName()));
        } else {/*  ww w  .  jav  a 2s  . c o  m*/
            target.appendJavaScript(js);
        }
    }
}

From source file:org.efaps.ui.wicket.components.menu.ajax.AbstractItemBehavior.java

License:Apache License

@Override
public void renderHead(final Component _component, final IHeaderResponse _response) {
    if (_component.isEnabledInHierarchy()) {
        final CharSequence js = getCallbackScript(_component);

        final AjaxRequestTarget target = _component.getRequestCycle().find(AjaxRequestTarget.class);
        if (target == null) {
            _response.render(OnDojoReadyHeaderItem.forScript(js.toString()));
        } else {//from w  ww .  j  a  v a 2 s. c  om
            target.appendJavaScript(js);
        }
    }
}

From source file:org.opensingular.form.wicket.util.WicketFormProcessing.java

License:Apache License

public static void refreshComponentOrCellContainer(AjaxRequestTarget target, Component component) {
    if (target != null && component != null) {
        component.getRequestCycle().setMetaData(MDK_FIELD_UPDATED, Boolean.TRUE);
        target.add(WicketFormUtils.resolveRefreshingComponent(
                ObjectUtils.defaultIfNull(WicketFormUtils.getCellContainer(component), component)));
    }/*from  ww  w  .  ja  va2  s.co  m*/
}

From source file:org.wicketstuff.datetime.extensions.yui.calendar.DatePicker.java

License:Apache License

/**
 * {@inheritDoc}//from  w w  w  . jav a2 s  . c o  m
 */
@Override
public void renderHead(Component component, IHeaderResponse response) {
    super.renderHead(component, response);

    if (includeYUILibraries()) {
        YuiLib.load(response);
    }

    renderHeadInit(response);

    // variables for the initialization script
    Map<String, Object> variables = new HashMap<>();
    String widgetId = getEscapedComponentMarkupId();
    variables.put("componentId", getComponentMarkupId());
    variables.put("widgetId", widgetId);
    variables.put("datePattern", getDatePattern());
    variables.put("fireChangeEvent", notifyComponentOnDateSelected());
    variables.put("alignWithIcon", alignWithIcon());
    variables.put("hideOnSelect", hideOnSelect());
    variables.put("showOnFieldClick", showOnFieldClick());
    variables.put("autoHide", autoHide());
    variables.put("closeLabel", closeLabel());

    String script = getAdditionalJavaScript();
    if (script != null) {
        variables.put("additionalJavascript",
                Strings.replaceAll(script, "${calendar}", "YAHOO.wicket." + widgetId + "DpJs"));
    }

    // print out the initialization properties
    Map<String, Object> p = new LinkedHashMap<>();
    configure(p, response, variables);
    if (!p.containsKey("navigator") && enableMonthYearSelection()) {
        p.put("navigator", Boolean.TRUE);
    }

    if (enableMonthYearSelection() && p.containsKey("pages") && Objects.longValue(p.get("pages")) > 1) {
        throw new IllegalStateException("You cannot use a CalendarGroup with month/year selection!");
    }

    // ${calendarInit}
    StringBuilder calendarInit = new StringBuilder();
    appendMapping(p, calendarInit);
    variables.put("calendarInit", calendarInit.toString());

    // render initialization script with the variables interpolated
    TextTemplate datePickerJs = new PackageTextTemplate(DatePicker.class, "DatePicker.js");
    datePickerJs.interpolate(variables);
    response.render(OnDomReadyHeaderItem.forScript(datePickerJs.asString()));

    // remove previously generated markup (see onRendered) via javascript in
    // ajax requests to not render the yui calendar multiple times
    component.getRequestCycle().find(IPartialPageRequestHandler.class).ifPresent(target -> {
        String escapedComponentMarkupId = getEscapedComponentMarkupId();
        String javascript = "var e = Wicket.$('" + escapedComponentMarkupId + "Dp"
                + "'); if (e != null && typeof(e.parentNode) != 'undefined' && "
                + "typeof(e.parentNode.parentNode != 'undefined')) {"
                + "e.parentNode.parentNode.removeChild(e.parentNode);" + "YAHOO.wicket."
                + escapedComponentMarkupId + "DpJs.destroy(); delete YAHOO.wicket." + escapedComponentMarkupId
                + "DpJs;}";

        target.prependJavaScript(javascript);
    });
}

From source file:sf.wicklet.gwt.server.ajax.impl.AbstractGwtAjaxResponse.java

License:Apache License

/**
 * @param response/*www  .  j a  v  a2 s  .c  o  m*/
 *      the response to write to
 * @param component
 *      to component which will contribute to the header
 */
protected void writeHeaderContribution(final Response response, final Component component) {
    headerRendering = true;
    // create the htmlheadercontainer if needed
    if (header == null) {
        header = new AjaxHtmlHeaderContainer(this);
        final Page parentPage = component.getPage();
        parentPage.addOrReplace(header);
    }
    final RequestCycle requestCycle = component.getRequestCycle();
    // save old response, set new
    final Response oldResponse = requestCycle.setResponse(encodingHeaderResponse);
    try {
        encodingHeaderResponse.reset();
        // render the head of component and all it's children
        component.renderHead(header);
        if (component instanceof MarkupContainer) {
            ((MarkupContainer) component).visitChildren(new IVisitor<Component, Void>() {
                @Override
                public void component(final Component component, final IVisit<Void> visit) {
                    if (component.isVisibleInHierarchy()) {
                        component.renderHead(header);
                    } else {
                        visit.dontGoDeeper();
                    }
                }
            });
        }
    } finally {
        // revert to old response
        requestCycle.setResponse(oldResponse);
    }
    writeHeaderContribution(response);
    headerRendering = false;
}

From source file:sf.wicklet.gwt.server.behavior.WickletGwtAjaxBehavior.java

License:Apache License

@Override
public void renderHead(final Component component, final IHeaderResponse response) {
    final RequestCycle requestCycle = component.getRequestCycle();
    final String baseUrl = requestCycle.getUrlRenderer().getBaseUrl().toString();
    final CharSequence ajaxBaseUrl = Strings.escapeMarkup(baseUrl);
    response.render(JavaScriptHeaderItem.forScript(TextUtil.joinln("window.Wicket = {", //
            "  Ajax : {", "    baseUrl : '" + ajaxBaseUrl + "',", "}};"), "wicket-ajax-base-url"));
    response.render(JavaScriptHeaderItem.forScript(
            TextUtil.joinln("window.Wicklet = {", "  GwtAjaxBehavior : {", //
                    "    url : '" + Strings.escapeMarkup(getCallbackUrl()) + "',", "}};"),
            "WickletGwtAjaxBehavior"));
}