Example usage for org.apache.wicket.ajax AbstractDefaultAjaxBehavior getCallbackScript

List of usage examples for org.apache.wicket.ajax AbstractDefaultAjaxBehavior getCallbackScript

Introduction

In this page you can find the example usage for org.apache.wicket.ajax AbstractDefaultAjaxBehavior getCallbackScript.

Prototype

public CharSequence getCallbackScript() 

Source Link

Usage

From source file:org.hippoecm.frontend.plugins.jquery.upload.single.SingleFileUploadBar.java

License:Apache License

public SingleFileUploadBar(final String id, final FileUploadWidgetSettings settings) {
    super(id);/* w ww  .java 2  s .com*/
    setOutputMarkupId(true);

    AbstractDefaultAjaxBehavior refreshAjaxBehavior;
    add(refreshAjaxBehavior = new AbstractDefaultAjaxBehavior() {
        @Override
        protected void respond(final AjaxRequestTarget target) {
            log.debug("Received an ajax callback refreshing page");
            target.add(SingleFileUploadBar.this.getPage());
            // refresh feedback panel in EditPerspective if needed
            send(SingleFileUploadBar.this, Broadcast.BUBBLE, new UpdateFeedbackInfo(target));
        }
    });

    final AbstractDefaultAjaxBehavior onChangeAjaxBehavior;
    add(onChangeAjaxBehavior = new AbstractDefaultAjaxBehavior() {
        @Override
        protected void respond(final AjaxRequestTarget target) {
            onChange(target);
        }
    });

    add(new FileUploadBehavior(settings) {

        @Override
        protected void renderScripts(final IHeaderResponse response) {
            super.renderScripts(response);
            response.render(JavaScriptHeaderItem.forReference(
                    new JavaScriptResourceReference(SingleFileUploadBar.class, JQUERY_FILEUPLOAD_SINGLE_JS)));
        }

        @Override
        protected Map<String, Object> configureParameters(final Component component) {
            final Map<String, Object> variables = super.configureParameters(component);

            //the script to refresh page after sending file has been done
            variables.put("callbackRefreshScript", refreshAjaxBehavior.getCallbackScript());
            variables.put("callbackFileOnChangeScript", onChangeAjaxBehavior.getCallbackScript());

            onConfigureParameters(variables);
            return variables;
        }

        @Override
        protected void renderWidgetConfig(final IHeaderResponse response, final Map<String, Object> variables) {
            PackageTextTemplate jsTmpl = new PackageTextTemplate(SingleFileUploadBar.class, CONFIG_JS);
            String s = jsTmpl.asString(variables);
            // call the configuration after all DOM elements are loaded
            response.render(OnDomReadyHeaderItem.forScript(s));
        }
    });
}