List of usage examples for org.apache.wicket.ajax AbstractDefaultAjaxBehavior getCallbackScript
public CharSequence getCallbackScript()
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)); } }); }