use of org.apache.wicket.extensions.ajax.AjaxDownloadBehavior in project wicket by apache.
the class AjaxDownloadPage method initDownloadInNewWindow.
private void initDownloadInNewWindow() {
IResource resource = new ExampleResource("downloaded via ajax in a new browser window").setContentDisposition(ContentDisposition.INLINE);
final AjaxDownloadBehavior download = new AjaxDownloadBehavior(resource) {
@Override
protected void onBeforeDownload(AjaxRequestTarget target) {
downloadingContainer.setVisible(true);
target.add(downloadingContainer);
}
@Override
protected void onDownloadSuccess(AjaxRequestTarget target) {
downloadingContainer.setVisible(false);
target.add(downloadingContainer);
}
@Override
protected void onDownloadFailed(AjaxRequestTarget target) {
downloadingContainer.setVisible(false);
target.add(downloadingContainer);
target.appendJavaScript("alert('Download failed');");
}
@Override
protected void onDownloadCompleted(AjaxRequestTarget target) {
downloadingContainer.setVisible(false);
target.add(downloadingContainer);
}
};
download.setLocation(AjaxDownloadBehavior.Location.NewWindow);
add(download);
add(new AjaxLink<Void>("downloadInNewWindow") {
@Override
public void onClick(AjaxRequestTarget target) {
download.initiate(target);
}
});
}
Aggregations