On Thu, Aug 27, 2009 at 1:41 PM, Ian MacLarty<[email protected]> wrote:
> Hi,
>
> I recently upgraded to Wicket 1.4 and am now having a problem with a
> feedback panel.
>
> I have a custom feedback panel that uses custom message components (by
> overriding FeedbackPanel#newMessageDisplayComponent).  The custom
> messages have an AjaxEventBehavior on the "onclick" event.  This
> highlights the reporting component when the feedback message is
> clicked.  This all worked okay in 1.3.6, but after upgrading to 1.4
> Wicket throws a RuntimeException when the feedback message is clicked.
>  The exception is "component
> mainForm:feedback:feedbackul:messages:0:message not found on page
> axa.pfp.MainTabs".  If I look in the generated html this component
> definitely seems to be there.  Does anyone know what might have
> changed with version 1.4 to break this?
>

I suspect it is the change made in revision 796389:

Index: 
wicket/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
===================================================================
--- wicket/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java 
(revision
796388)
+++ wicket/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java 
(revision
796389)
@@ -94,6 +94,13 @@
                        listItem.add(levelModifier);
                        listItem.add(label);
                }
+
+               @Override
+               protected void onDetach()
+               {
+                       removeAll();
+                       super.onDetach();
+               }
        }

        private static final long serialVersionUID = 1L;

The removeAll is removing all the child elements of the feedback
message list, which explains why it is not finding the component.

Should I log a bug report for this?  If this is the way it's supposed
to behave then how should I go about adding an onclick behaviour to my
feedback messages?

Cheers,
Ian.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to