Hi Sven,

Actually I did not tried with wicket-6. I said it "would" answer the
use-case because this was my understanding.

> you can override #isLinkEnabled(): But returning false does not make
sense IMHO, you an easily use #setEnabled(false) for that.

Still from my understanding #isEnabledInHierarchy takes priority over
#setEnabled(false). So #setEnabled(false) won't have any effect if the
parent (a Form for instance) is disabled, AFAIS

> So I don't see a need for #isLinkEnabled() anymore.

I am figuring out this comment refer to the previous one. But just to
clarify (in case you were challenging the usefulness of #isLinkEnabled
itself):
>From the user point of view (at least mine), it make sense wishing all
*form*-components to be disabled if the parent form is disabled. But, as a
link is not considered as a form component, there is probably numerous
use-cases where we/users still want a link to be enabled even if the parent
container (the Form here) is disabled.

My 2 cents...

Thanks & best regards,
Sebastien.




On Mon, Jan 19, 2015 at 1:05 PM, Martin Grigorov <[email protected]>
wrote:

> I think the broader use case is to have disabled parent and enable just the
> link inside it.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Mon, Jan 19, 2015 at 12:32 PM, Sven Meier <[email protected]> wrote:
>
> > Hi,
> >
> > Sebastien wrote:
> >
> > >I am in a use case where my container is disabled, but still I would
> like
> > >my child link is enabled. Even #isLinkEnabled was just an helper to
> > >isEnabledInHierarchy, it used to have the advantage to not being final,
> > >so I could override it and this would answer my usecase...
> >
> > I've rechecked the code in Wicket 6 and I don't see how that usecase was
> > supported.
> >
> > Since commit f056e88453947c1377237db80adb5438ca00c693 you can override
> > #isLinkEnabled():
> > But returning false does not make sense IMHO, you an easily use
> > #setEnabled(false) for that.
> > Returning true, Ajax links will still *not* render their event handlers
> > and #canCallListenerInterface() will block any request anyway (event for
> > non-ajax links).
> >
> > So I don't see a need for #isLinkEnabled() anymore.
> >
> > Regards
> > Sven
> >
> >
> >
> > On 19.01.2015 10:57, Martin Grigorov wrote:
> >
> >> What is the problem you see ?
> >>
> >> Martin Grigorov
> >> Wicket Training and Consulting
> >> https://twitter.com/mtgrigorov
> >>
> >> On Mon, Jan 19, 2015 at 11:51 AM, Sven Meier <[email protected]> wrote:
> >>
> >>  Hi,
> >>>
> >>> the opposite is more useful:
> >>> How to enable an AjaxLink, even if it's not enabled in the hierarchy?
> >>>
> >>> Sven
> >>>
> >>>
> >>>
> >>> On 19.01.2015 10:48, Martin Grigorov wrote:
> >>>
> >>>  Hi,
> >>>>
> >>>> There are many people using #isLinkEnabled(). At least there were many
> >>>> questions about it in the mailing lists.
> >>>> I think we should override #renderHead()
> >>>> at org.apache.wicket.ajax.markup.html.AjaxLink#newAjaxEventBehavior
> and
> >>>> don't call super if the link is disabled.
> >>>> Same for AjaxFallbackLink.
> >>>>
> >>>> Martin Grigorov
> >>>> Wicket Training and Consulting
> >>>> https://twitter.com/mtgrigorov
> >>>>
> >>>> On Mon, Jan 19, 2015 at 11:35 AM, Sven Meier <[email protected]> wrote:
> >>>>
> >>>>   Hi again,
> >>>>
> >>>>> I've noticed that AbstractLink#isLinkEnabled() is broken for Ajax
> links
> >>>>> since Wicket 6.x:
> >>>>>
> >>>>> Yes, you can override #isLinkEnabled() to override
> >>>>> #isEnabledInHierarchy()
> >>>>> with true. But this does not have any effect on AjaxEventBehavior, it
> >>>>> just
> >>>>> doesn't register its event handler anyway.
> >>>>>
> >>>>> I'm not sure we should reintroduce this broken method in 7.
> >>>>>
> >>>>> Regards
> >>>>> Sven
> >>>>>
> >>>>>
> >>>>>
> >>>>> On 15.01.2015 16:20, Sven Meier wrote:
> >>>>>
> >>>>>   Hi Sebastien,
> >>>>>
> >>>>>> seems I removed that method in back-and-forth of WICKET-4904.
> >>>>>>
> >>>>>> I'll restore this functionality asap.
> >>>>>>
> >>>>>> Regards
> >>>>>> Sven
> >>>>>>
> >>>>>>
> >>>>>> On 15.01.2015 15:08, Sebastien wrote:
> >>>>>>
> >>>>>>   Hi devs,
> >>>>>>
> >>>>>>> First of all, I would like to wish you an happy coding year! :)
> >>>>>>>
> >>>>>>> I see there is some changes in AbstractLink between 6 & 7, and I am
> >>>>>>> wondering why #isLinkEnabled has been removed from there.
> >>>>>>>
> >>>>>>> I am in a use case where my container is disabled, but still I
> would
> >>>>>>> like
> >>>>>>> my child link is enabled. Even #isLinkEnabled was just an helper to
> >>>>>>> isEnabledInHierarchy, it used to have the advantage to not being
> >>>>>>> final,
> >>>>>>> so
> >>>>>>> I could override it and this would answer my usecase...
> >>>>>>>
> >>>>>>> Would you agree to restore it?
> >>>>>>>
> >>>>>>> Thanks a lot in advance,
> >>>>>>> Sebastien.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >
>

Reply via email to