1. WICKET AJAX BUSY INDICATOR
Per visualizzare un immagine, un popup a qualunque cosa ci interessi è
sufficiente
implementare al componente l'interfaccia IAjaxIndicatorAware che prevede un
unico
metodo:
public abstract String getAjaxIndicatorMarkupId();
Il componente può essere qualcunque: un pulsante, link, form, campo testo,
pagina, ... I componenti nidificati ereditano l'indicatore.
Il metodo getAjaxIndicatorMarkupId deve restituire l'id (dom) dell'oggetto da
visualizzare
durante l'operazione ajax. Non deve essere necessariamente appartenere alla
gerarchia
wicket della pagina (cioè non deve necessariamente essere mappato).
Se un componente nidificato non richiede il busy indicator allora è sufficiente
fargli
implementare l'interfaccia getAjaxIndicatorMarkupId e fare restituire la stringa
""
al metodo getAjaxIndicatorMarkupId ().
--------------------------------------------------------------------------------
--------------------------------
ESEMPIO
In questo esempio si mostra come aggiungere una ajax busy indicator a livello di
pagina (quindi verrà mostrato per
ogni aggiornamento ajax).
public class BasePage extends WebPage implements IAjaxIndicatorAware {
public BasePage(final PageParameters parameters) {
// Home link
AjaxLink<Page> homeLink = new AjaxLink<Page>("homeLink") {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
setResponsePage(HomePage.class);
}
};
add(homeLink);
}
@Override
public String getAjaxIndicatorMarkupId() {
return "indicator";
}
<div id="indicator" style="display: none;">
<div class="indicator-content">
Please wait... <wicket:link><img src="images/loading.gif" width="16"
height="16" alt="loading" /></wicket:link>
</div>
</div>