Exactly, It's too messy to do it that way, and hence I had to post it here to find an alternative for it.
We also need a decoupled solution. We thought of pub-sub but have no idea on how to implement it (Cant find much about this topic). So if anyone knows of such a way to do it , this would help a lot. This is one of our common requirement, cause we have many zones under multiple nested components in layout component and on action of some of the nested components in pages, those layout component needs to be updated. On Thu, Sep 4, 2014 at 12:08 AM, Geoff Callender < geoff.callender.jumpst...@gmail.com> wrote: > I think the issue here is that he'd like one deeply nested component, > let's call it Z, to be refreshed when another deeply nested component, > let's call it N, that doesn't know about Z, is refreshed. > > One way is to bubble up an event from N until it reaches a common parent, > C, which in this example is the parent of the layout. C then calls > component.doChangeOfNotifications(), which calls > componentA.doChangeOfNotifications(), which calls ... etc. .. which calls > Z.doChangeOfNotifications(). Messy, with lots of components needing new > method doChangeOfNotifications. You can see something like this in: > > > http://jumpstart.doublenegative.com.au/jumpstart7/together/ajaxcomponentscrud/persons > > where Persons, which is the page, calls list.doChangeOfSelectedPerson() in > response to several bubbled-up events. > > Ideally, a synchronous pub-sub server-side could solve it. N would publish > and Z would subscribe. Z would use AjaxResponseRenderer to add its zone to > the render list. Unfortunately, I don't know of such a mechanism. > > Any other suggestions? > > On 4 Sep 2014, at 3:51 am, Thiago H de Paula Figueiredo < > thiag...@gmail.com> wrote: > > > On Wed, 03 Sep 2014 13:40:53 -0300, Sumanth <roasteddra...@gmail.com> > wrote: > > > >> Hello Experts, > > > > Hi! > > > >> > >> I have encountered one more hurdle now regarding zones, > >> > >> I have a layout > >> component>componentA>componentB>componentC>NotificationComponent>Zone > >> > >> This zone is a count zone and is updated using a mixin > (periodiczonerefresh > >> mixin). > >> > >> I have a notification page in which i have a Zone(a table inside a zone > >> containing notifications) and an actionlink to delete the selected > >> notifications.(bulk delete). On delete of these notifications i want the > >> count which is in layout component (mentioned above) to be updated. > >> > >> How can i do it? > > > > The easiest way is to define the id of the zone to be updated and use > its addRender(String clientId, Object renderer) to update it. > > > > -- > > Thiago H. de Paula Figueiredo > > Tapestry, Java and Hibernate consultant and developer > > http://machina.com.br > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > >