What if you have different event types that happen on a page? On Wed, Aug 25, 2010 at 10:47 AM, jcgarciam <jcgarc...@gmail.com> wrote: > > James, taking Igor example why not providing simple marking interfaces in > the Core and then something like this in the Page implementation, (i was > thinking of the Dynamic Proxy approach you mention, but i'm not seeing why > it would be needed here since all you want is to propagate the Component > re-rendering into the current AjaxRequestTarget) > > i.e: Defining a root Event named: AjaxEventResponseListener > > then defining a simple method in base page: > > > protected void propagateAjaxEvent(Class<? extends AjaxEventResponseListener> > listener, final AjaxRequestTarget target) { > getPage().visitChildren(listener, > new IVisitor<Component>() { > public Object component(Component component) { > target.addComponent(component); > return CONTINUE_TRAVERSAL_BUT_DONT_GO_DEEPER; > } > }); > } > > > > On Wed, Aug 25, 2010 at 11:08 AM, James Carman [via Apache Wicket] < > ml-node+2338298-400135988-65...@n4.nabble.com<ml-node%2b2338298-400135988-65...@n4.nabble.com> >> wrote: > >> There's an issue in trunk where they nail down the type parameter to >> extend Component on the visitChildren() method. If you're looking for >> a listener interface, that's not possible, because Component is a >> class and your listener interface can't extend that. Why the >> restriction? >> >> On Wed, Aug 25, 2010 at 9:35 AM, James Carman >> <[hidden email] <http://user/SendEmail.jtp?type=node&node=2338298&i=0>> >> wrote: >> >> > So, submit a JIRA with a patch once you get it working. It would be >> > good to have this on the Page class so that it's portable (no >> > casting). >> > >> > On Wed, Aug 25, 2010 at 9:12 AM, jcgarciam <[hidden >> > email]<http://user/SendEmail.jtp?type=node&node=2338298&i=1>> >> wrote: >> >> >> >> Thanks for expressing your help on this, im already working on it :-), >> since >> >> is not that hard to implement, but i would like to see this kind of >> >> functionality in the core . :) >> >> >> >> On Wed, Aug 25, 2010 at 10:09 AM, James Carman [via Apache Wicket] < >> >> [hidden email] >> >> <http://user/SendEmail.jtp?type=node&node=2338298&i=2><[hidden >> email] <http://user/SendEmail.jtp?type=node&node=2338298&i=3>> >> >>> wrote: >> >> >> >>> Do you want an example of how it would work or are you confident in >> >>> how to implement it yourself? >> >>> >> >>> On Wed, Aug 25, 2010 at 9:05 AM, jcgarciam <[hidden email]< >> http://user/SendEmail.jtp?type=node&node=2338212&i=0>> >> >>> wrote: >> >>> >> >>> > >> >>> > Hi James, I like the idea of having a way of automatically includes >> >>> > components in the AjaxRequestTarget without the need to do it >> explicitly >> >>> > (target.add(..)), by using a Marking Interface and the Visitor, it >> really >> >>> >> >>> > would make things easier when you want to add a new component to the >> >>> current >> >>> > Ajax Response. >> >>> > >> >>> > The idea of the DynamicProxy seems very promising and i thinks it >> >>> something >> >>> > way much better of having Pub/Sub event implementation. >> >>> > >> >>> > Just my +0.05 cents :) >> >>> > >> >>> > On Wed, Aug 25, 2010 at 9:11 AM, James Carman [via Apache Wicket] < >> >>> > [hidden email] >> >>> > <http://user/SendEmail.jtp?type=node&node=2338212&i=1><[hidden >> >> >>> email] <http://user/SendEmail.jtp?type=node&node=2338212&i=2>> >> >>> >> wrote: >> >>> > >> >>> >> What about if we modify this idea a bit? What if we use dynamic >> >>> >> proxies to make it more generic? So, your onclick method would look >> >> >>> >> like: >> >>> >> >> >>> >> public void onClick(AjaxRequestTarget target) { >> >>> >> fire(MyCustomEventListener.class).someAjaxEvent(target); >> >>> >> } >> >>> >> >> >>> >> Then, the fire() method would return an object (a dynamic proxy) >> that >> >>> >> implements the MyCustomEventListener interface. The method >> >>> >> implementation would do the visitor thing by looking for all >> >>> >> components implementing the MyCustomEventListener interface and then >> >> >>> >> call the someAjaxEvent() method. >> >>> >> >> >>> >> On Wed, Aug 25, 2010 at 5:10 AM, vladimir.kovalyuk <[hidden email]< >> >>> http://user/SendEmail.jtp?type=node&node=2338119&i=0>> >> >>> >> wrote: >> >>> >> >> >>> >> > >> >>> >> > I don't like subscriptions implementation. Somewhen it becomes >> >>> difficult >> >>> >> to >> >>> >> > realize when to add/remove observers. It depends on the order of >> >>> >> > instantiations. Visitor pattern seems to be much more reliable. >> >>> >> > -- >> >>> >> > View this message in context: >> >>> >> >> >>> >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2337874.html<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2337874.html?by-user=t> >> < >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2337874.html?by-user=t<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2337874.html?by-user=t&by-user=t>> >> >> >>> < >> >>> >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2337874.html?by-user=t<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2337874.html?by-user=t&by-user=t> >> < >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2337874.html?by-user=t&by-user=t<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2337874.html?by-user=t&by-user=t&by-user=t>>> >> >> >>> >> >>> >> > Sent from the Wicket - User mailing list archive at Nabble.com. >> >>> >> > >> >>> >> > >> --------------------------------------------------------------------- >> >>> >> > To unsubscribe, e-mail: [hidden email]< >> >>> http://user/SendEmail.jtp?type=node&node=2338119&i=1> >> >>> >> > For additional commands, e-mail: [hidden email]< >> >>> http://user/SendEmail.jtp?type=node&node=2338119&i=2> >> >>> >> > >> >>> >> > >> >>> >> >> >>> >> >> --------------------------------------------------------------------- >> >>> >> To unsubscribe, e-mail: [hidden email]< >> >>> http://user/SendEmail.jtp?type=node&node=2338119&i=3> >> >>> >> For additional commands, e-mail: [hidden email]< >> >>> http://user/SendEmail.jtp?type=node&node=2338119&i=4> >> >>> >> >> >>> >> >> >>> >> >> >>> >> ------------------------------ >> >>> >> View message @ >> >>> >> >> >>> >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338119.html<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338119.html?by-user=t> >> < >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338119.html?by-user=t<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338119.html?by-user=t&by-user=t>> >> >> >>> >> To unsubscribe from Apache Wicket, click here< >> >>> >> http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp?tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxODQyOTQ2fDEyNTYxMzc3ODY=<http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp?tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxODQyOTQ2fDEyNTYxMzc3ODY=&by-user=t> >> < >> http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp?tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxODQyOTQ2fDEyNTYxMzc3ODY=&by-user=t<http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp?tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxODQyOTQ2fDEyNTYxMzc3ODY=&by-user=t&by-user=t>>>. >> >> >>> >> >>> >> >> >>> >> >> >>> >> >> >>> > >> >>> > >> >>> > -- >> >>> > Sincerely, >> >>> > JC (http://www.linkedin.com/in/jcgarciam) >> >>> > Work smarter, not harder!. >> >>> > >> >>> > -- >> >>> > View this message in context: >> >>> >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338205.html<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338205.html?by-user=t> >> < >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338205.html?by-user=t<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338205.html?by-user=t&by-user=t>> >> >> >>> >> >>> > Sent from the Wicket - User mailing list archive at Nabble.com. >> >>> > >> >>> >> >>> --------------------------------------------------------------------- >> >>> To unsubscribe, e-mail: [hidden email]< >> http://user/SendEmail.jtp?type=node&node=2338212&i=3> >> >>> For additional commands, e-mail: [hidden email]< >> http://user/SendEmail.jtp?type=node&node=2338212&i=4> >> >>> >> >>> >> >>> >> >>> ------------------------------ >> >>> View message @ >> >>> >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338212.html<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338212.html?by-user=t> >> >>> To unsubscribe from Apache Wicket, click here< >> http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp?tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxODQyOTQ2fDEyNTYxMzc3ODY=<http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp?tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxODQyOTQ2fDEyNTYxMzc3ODY=&by-user=t>>. >> >> >>> >> >>> >> >>> >> >> >> >> >> >> -- >> >> Sincerely, >> >> JC (http://www.linkedin.com/in/jcgarciam) >> >> Work smarter, not harder!. >> >> >> >> -- >> >> View this message in context: >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338215.html<http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338215.html?by-user=t> >> >> Sent from the Wicket - User mailing list archive at Nabble.com. >> >> >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [hidden >> email]<http://user/SendEmail.jtp?type=node&node=2338298&i=4> >> For additional commands, e-mail: [hidden >> email]<http://user/SendEmail.jtp?type=node&node=2338298&i=5> >> >> >> >> ------------------------------ >> View message @ >> http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338298.html >> To unsubscribe from Apache Wicket, click >> here<http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp?tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxODQyOTQ2fDEyNTYxMzc3ODY=>. >> >> >> > > > -- > Sincerely, > JC (http://www.linkedin.com/in/jcgarciam) > Work smarter, not harder!. > > -- > View this message in context: > http://apache-wicket.1842946.n4.nabble.com/Best-practice-for-component-interaction-tp2336888p2338354.html > Sent from the Wicket - User mailing list archive at Nabble.com. >
--------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org