IAjaxIndicatorAware simply takes the html id of the element you want to show/hide; it can be placed anywhere in html...
alternatively there are clientside javascript callbacks you can hook into to create gmail-like busy indicator, see wicket-ajax.js -igor On Jan 29, 2008 11:11 AM, Martin Makundi <[EMAIL PROTECTED]> wrote: > Hi! > > I can get the default behaviour to work. However, I do not want the > ajax indicator icon to be appended after the button. Instead, I want > to simply mark it elsewhere in my html file to position it suitably. I > have not found a way to separate the button from the icon in the > markup. I am new to Wicket, so I haven't got my mind wrapped around > this the right way yet. > > To put it in swing, I would set the icon visible on default render. > Then I would set it visible for the duration of the processing and set > it invisible again after that. At least this is what it should look > like, but I cannot seem to get the pieces together nicely. Anybody can > help? Anyone have boilerplate code for the same problem? > > ** > Martin > > 2008/1/29, Michael Sparer <[EMAIL PROTECTED]>: > > > > > Take a look at IndicatingAjaxButton in the extensions-project and adapt it > > for your form. > > If you don't mind taking the default indicator, you can use > > WicketAjaxIndicatorAppender just like in the mentioned class > > > > > > > > Martin Makundi wrote: > > > > > > Hi! > > > > > > Can anyone help? I am having difficulties showing a bysy indicator > > > besides the submit button, while the form is being submitted and > > > processed. I have only found pieces of varying examples and I have > > > tried to put them work together, but it just does not seem want to > > > show the indicator. Here is my code: > > > > > > public class Login extends WebPage { > > > // ... default constructor contents: > > > final Form loginForm = new Form(LOGIN_FORM, new Model()); > > > final AjaxIndicatorContainer indicatorContainer = new > > > AjaxIndicatorContainer(); > > > indicatorContainer.setOutputMarkupId(true); > > > loginForm.add(indicatorContainer); > > > final SubmitLink loginButton = new SubmitLink(LOGIN_BUTTON, new > > > Model()) { > > > /** > > > * @see org.apache.wicket.markup.html.form.SubmitLink#onSubmit() > > > */ > > > @Override > > > public void onSubmit() { > > > super.onSubmit(); > > > Thread.sleep(5000); // Simulate form processing > > > } > > > }; > > > abstract class AjaxFormSubmitIndicator extends > > > AjaxFormSubmitBehavior implements IAjaxIndicatorAware { > > > /** > > > * Constructor for TODO > > > * > > > */ > > > public AjaxFormSubmitIndicator() { > > > super("onchange"); // I have tried "onchange" and "onclick" > > > } > > > } > > > loginButton.add(new AjaxFormSubmitIndicator() { > > > @Override > > > protected void onError(AjaxRequestTarget arg0) { > > > // TODO Auto-generated method stub > > > } > > > > > > @Override > > > protected void onSubmit(AjaxRequestTarget arg0) { > > > loginButton.onSubmit(); > > > } > > > > > > public String getAjaxIndicatorMarkupId() { > > > return indicatorContainer.getMarkupId(); > > > } > > > }); > > > loginForm.add(loginButton); > > > > > > // ... etc.. > > > > > > add(new FeedbackPanel("feedback")); > > > add(loginForm); > > > } > > > > > > > > > > > > > > > public class AjaxIndicatorContainer extends WebMarkupContainer { > > > /** > > > * > > > */ > > > private static final long serialVersionUID = 5573778050703849297L; > > > /** > > > * > > > */ > > > public static final String INDICATOR_MARKUP_ID = "ajaxIndicator"; > > > > > > /** > > > * Constructor for TODO > > > */ > > > public AjaxIndicatorContainer() { > > > super(INDICATOR_MARKUP_ID); > > > } > > > > > > /** > > > * @see > > > org.apache.wicket.Component#onComponentTag(org.apache.wicket.markup.ComponentTag) > > > */ > > > @Override > > > protected void onComponentTag(ComponentTag tag) { > > > super.onComponentTag(tag); > > > tag.put("src",urlFor(AbstractDefaultAjaxBehavior.INDICATOR)); > > > } > > > > > > > > > > > > > > > <body> > > > <wicket:extend> > > > <h1>Login</h1> > > > Feedback messages will be here. > > > <form wicket:id="loginForm"> > > > <table border="0" cellspacing="0" cellpadding="2" align="center"> > > > <tr><td NOWRAP width="80" align="right"> > > > Username: > > > </td> > > > <td><input type="text" wicket:id="userId"></td></tr> > > > <tr><td NOWRAP align="right"> > > > Password: </td><td><input type="password" wicket:id="password"></td></tr> > > > <tr><td align="right"> # </td><td NOWRAP> > > > <input type="submit" value="Sign in" wicket:id="loginButton"> > > > </td></tr> > > > </table> > > > </form> > > > </wicket:extend> > > > </body> > > > > > > > > > ** > > > Martin > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > ----- > > Michael Sparer > > http://talk-on-tech.blogspot.com > > -- > > View this message in context: > > http://www.nabble.com/Ajax-Busy-Indicator-tp15153150p15160382.html > > Sent from the Wicket - User mailing list archive at Nabble.com. > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]