On Thu, Oct 28, 2021 at 1:26 PM Nathan Quirynen <nat...@pensionarchitects.be> wrote:
> Thank you for your reply. > My pleasure to (at least try to) help! > Are you sure this should work as I thought it would? I just cannot get > it to work even in a simple case. > I've given some more thought to it and I discovered I was wrong. It shouldn't work. The component triggering the event isn't actually a Layout child, since the former wasn't declared inside the latter's template, and that explains why the event isn't triggered there. It's instead a direct page child. You can catch the event on the page and trigger a similar one to Layout by using componentResources.getEmbeddedComopnent("layout" /* t:id value */).getComponentResources().triggerEvent(...). > PS: Tapestry version 5.7.1 > You should definitely upgrade to 5.7.3 due to a couple of security fixes, by the way. > > Op 28/10/2021 om 15:44 schreef Thiago H. de Paula Figueiredo: > > Hello! > > > > Events do bubble up in the component hierarchy/tree until they're > handled, > > so the situation is a bit weird. Have you checked whether there's some > > other component in between which is catching this event and thereby > > avoiding Layout from receiving it? > > > > On Wed, Oct 27, 2021 at 3:38 PM Nathan Quirynen < > nat...@pensionarchitects.be> > > wrote: > > > >> Hi, > >> > >> I want to bubble up an event from a component, which is deeply nested in > >> other components, to an outer component, but it only bubbles up to the > >> page and not further to the component defined as t:type="***" in the > page. > >> > >> Some simplified example code to clarify: > >> > >> > >> Page: > >> > >> <html t:type="layout" ...> > >> ... > >> <t:deeplynestedcomponent /> > >> ... > >> </html> > >> > >> > >> DeeplyNestedComponent: > >> > >> componentResources.triggerEvent("someEvent", null, null); > >> > >> > >> Following works up to the Page class, but not if I add it in the Layout > >> component: > >> > >> @OnEvent(value = "someEvent") > >> void doSomething() {} > >> > >> > >> Is there anyway to catch this event in the Layout component? > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> For additional commands, e-mail: users-h...@tapestry.apache.org > >> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Thiago