you need to add the feedbackpanel to the ajaxrequesttarget like:
target.addComponent(indicator);
gerolf
On Jan 22, 2008 12:20 PM, Jean-Baptiste Bellet <[EMAIL PROTECTED]> wrote:
> Hello all,
> This is my first wicket message, so first of all, I would like to
> gongrats the whole team for the great job !
> Now, my problem :
> I have created a NewFeedbackPanel which extends FeedbackPanel and
> override OnBeforeRender(). This NewFeedbackPanel is created into a class
> and added to a target :
>
> final NewFeedbackPanel indicator = new NewFeedbackPanel("indicator",
> 30000, true);
> final NewAjaxButton link = new NewAjaxButton(DOWNLOAD_NEW, new
> ResourceModel("preferences.downloadNew"))
> {
> @Override
> public void onClick(AjaxRequestTarget target)
> {
> ..........
> // log successful message and refresh target
> feedback
> this.info(getLocalizer().getString("
> preferences.downloadSuccess", this));
> target.addComponent(indicator);
> target.addComponent(PhoneDetails.this);
> }
> };
> add(link);
> add(indicator);
>
>
> When I test, i can't see any feedback, and the method OnBeforeRender()
> of the class NewFeedbackPanel is never called.
> Any idea ?
> Thanks,
> jb
>
>
> Code for NewFeedbackPanel.java :
> public class NewFeedbackPanel extends FeedbackPanel
> {
>
> private static final int DEFAULT_TIME = 1000;
>
> private boolean _blocker;
>
> private int _displayTime;
>
> public NewFeedbackPanel(String id)
> {
> this(id, DEFAULT_TIME, false);
> }
>
> public NewFeedbackPanel(String id, int displayTime)
> {
> this(id, displayTime, false);
> }
>
> public NewFeedbackPanel(String id, int displayTime, boolean blocker)
> {
> super(id);
> _blocker = blocker;
> setOutputMarkupPlaceholderTag(true);
> add(HeaderContributor.forCss(NewFeedbackPanel.class,
> "feedback.css"));
> setVisible(false);
> _displayTime = displayTime > 0 ? displayTime : DEFAULT_TIME;
> if (_blocker)
> {
> add(new AttributeAppender("class", new Model("hidder"), " "));
> }
> }
>
> @Override
> protected void onBeforeRender()
> {
> super.onBeforeRender();
> IRequestTarget target = RequestCycle.get().getRequestTarget();
> if (anyMessage())
> {
> if (target instanceof AjaxRequestTarget)
> {
> String javascript =
> "window.setTimeout(function(){window.document.getElementById('" +
> getMarkupId()
> + "').style.display = 'none'}, " + _displayTime
> + ");";
> ((AjaxRequestTarget) target).appendJavascript(javascript);
>
> }
> }
> else
> {
> setVisible(false);
> }
> }
>
>
> }
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>