On Wed, Jan 22, 2020 at 8:55 AM Sven Meier <s...@meiers.net> wrote:

> Ah, our old friends 'enclosures'!
>
> Problem is that a component inside an enclosure  is really inside it only
> during rendering of its markup.
> But the strategy walking through the component hierarchy to render all
> headers doesn't know anything about that enclosure o_O
>
> As it has been written many times on this list, enclosures are best
> avoided in anything than the simplest setup.
>

The recommended solution is to use EnclosureContainer instead of
<wicket:enclosure>.


>
> Have fun
> Sven
>
> Am 21. Januar 2020 09:14:28 MEZ schrieb Rob Audenaerde <
> rob.audenae...@gmail.com>:
> >Hi Sven,
> >
> >Thanks for double-checking!
> >
> >The weird thing is that I thought this solved my problem, but when I
> >tried
> >to create the quickstart; I couldn't reproduce it either :o. I seem to
> >have
> >been mistakenly assuming it was this piece of code that fixed the
> >problem.
> >
> >So I tried to build it more towards our application and I saw a
> ><wicket:enclosure> that causes this behavior (the
> >isVisibleInHierarchy() is
> >not working there).
> >
> >I attached the quickstart for those who want to experiment with it.
> >
> >-Rob
> >
> >On Mon, Jan 20, 2020 at 7:17 PM Sven Meier <s...@meiers.net> wrote:
> >
> >> Hi Rob,
> >>
> >> actually I wasn't able to reproduce the problem on a second try (not
> >> sure what I tested before).
> >>
> >> Can you create a a quickstart showing the problem?
> >>
> >> Sven
> >>
> >> On 20.01.20 13:18, Sven Meier wrote:
> >> > Hi Rob,
> >> >
> >> >> the 'correct' way to solve this?
> >> >
> >> > the component is explicitly added to the Ajax request for an
> >update,
> >> > but decides to hide itself in onConfigure().
> >> > Perfectly valid usecase IMHO, but the head will be rendered
> >> > nevertheless :/
> >> >
> >> > Just tested with 7.x, 8.x and master, this seems to have been that
> >way
> >> > forever.
> >> > But maybe we can improve that in Wicket core?
> >> >
> >> > Sven
> >> >
> >> >
> >> > On 20.01.20 10:36, Rob Audenaerde wrote:
> >> >> Hi all,
> >> >>
> >> >> I recently got some javascript errors that came from behaviors of
> >> >> components that where triggered to be visible or invisible in the
> >dom
> >> >> (using onConfigure()) in an ajax request.
> >> >>
> >> >> Typically something like:
> >> >>
> >> >> Wicket.Ajax:  Cannot bind a listener for event "change" on element
> >> >> "format1dd" because the element is not in the DOM
> >> >>
> >> >> I solve this by adding an isVisibleInHierarchy() check in the
> >> >> renderHead()
> >> >> like this:
> >> >>
> >> >> @Override
> >> >>
> >> >> public void renderHead(final Component component, final
> >IHeaderResponse
> >> >> response) {
> >> >>      if (component.isVisibleInHierarchy()) {
> >> >>          super.renderHead(component, response);
> >> >>      }
> >> >> }
> >> >>
> >> >> I was wondering if this is the 'correct' way to solve this? Or am
> >I
> >> >> doing
> >> >> something wrong?
> >> >>
> >> >> Please advise :)
> >> >>
> >> >> -Rob
> >> >>
> >> >
> >> >
> >---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> > For additional commands, e-mail: users-h...@wicket.apache.org
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> For additional commands, e-mail: users-h...@wicket.apache.org
> >>
> >>
>

Reply via email to