With regards to the default setting of this value, I think we should follow whatever jquery / JS does by default (I dont know whether this is the case or not). I think events propagate by default, so any provided components that need to alter this behavior should explicitly set (false) for this value.
N On Wed, May 22, 2013 at 7:14 AM, Martin Grigorov <mgrigo...@apache.org>wrote: > On Wed, May 22, 2013 at 1:46 PM, Sven Meier <s...@meiers.net> wrote: > > > I still think we can change the default value for 'allowDefault' to true. > >> Can you think of a bad scenario when this will break ? > >> > > > > I'm not sure, but it will surely break somewhere. > > > > For 6.x I'd just restore AjaxFormValidatingBehavior's functionality with > > allowDefault=true iff a throttle is given. This could be done in 6.9.0, a > > workaround for 6.8.0 exists by copying the #addToAllFormComponents() > method. > > > > All developers using throttlingSettings in their own behaviors will have > > to set allowDefault=true for themselves to restore the old behavior. > > > > For 7.0.0 we could rename the setting to "preventDefault" (as in jquery) > > with "false" as default value. > > > > There was a reason why I named it 'allowDefault' but I don't remember it > now. > I'll make a ticket for 7.0.0 > > > > > > Sven > > > > > > > > > > On 05/22/2013 12:30 PM, Martin Grigorov wrote: > > > >> Ouch! > >> You are correct! > >> It is the same behavior in 6.7.0 and 6.6.0. > >> So, I agree that there is no need of 6.8.1. > >> > >> > >> I still think we can change the default value for 'allowDefault' to > true. > >> Can you think of a bad scenario when this will break ? > >> Since there are no user complaints I'm not keen to do the change neither > >> in > >> 6.x nor in 7.0.0 but I think the change is a good improvement. > >> > >> > >> On Wed, May 22, 2013 at 1:11 PM, Sven Meier <s...@meiers.net> wrote: > >> > >> It's been that way ever since: > >>> > >>> "keydown" with allowDefault=false -> not character input > >>> > >>> Sven > >>> > >>> > >>> On 05/22/2013 12:07 PM, Martin Grigorov wrote: > >>> > >>> The quickstart in the ticket is very simple, there is no usage of > >>>> throttling. > >>>> It's just: > >>>> > >>>> textField.add(new AjaxEventBehavior("keydown") { > >>>> @Override > >>>> protected void onEvent(AjaxRequestTarget target) { > >>>> System.err.println("event"); > >>>> } > >>>> }); > >>>> > >>>> Without explicitly allowing the default behavior the user cannot > enter a > >>>> single character in the <input type=text>. > >>>> > >>>> > >>>> On Wed, May 22, 2013 at 1:01 PM, Sven Meier <s...@meiers.net> wrote: > >>>> > >>>> AFAICS this is a problem only for behaviors which are throttled. > >>>> > >>>>> AjaxFormValidatingBehavior is the only one in Wicket, we can simple > set > >>>>> allowDefault=true for that one. And I don't think this is so urgent > to > >>>>> require a 6.8.1 release. > >>>>> > >>>>> Anyone else using ThrottlingSettings can easily set allowDefault=true > >>>>> in > >>>>> their own behavior. > >>>>> > >>>>> Changing the default for allowDefault might break many other places > in > >>>>> user's code :(. > >>>>> > >>>>> Sven > >>>>> > >>>>> > >>>>> > >>>>> On 05/22/2013 09:04 AM, Martin Grigorov wrote: > >>>>> > >>>>> Hi, > >>>>> > >>>>>> I think we need 6.8.1 because of the problem in > >>>>>> https://issues.apache.org/******jira/browse/WICKET-5194< > https://issues.apache.org/****jira/browse/WICKET-5194> > >>>>>> <https:**//issues.apache.org/**jira/**browse/WICKET-5194< > https://issues.apache.org/**jira/browse/WICKET-5194> > >>>>>> > > >>>>>> <https:**//issues.apache.org/**jira/**browse/WICKET-5194< > http://issues.apache.org/jira/**browse/WICKET-5194> > >>>>>> <http**s://issues.apache.org/jira/**browse/WICKET-5194< > https://issues.apache.org/jira/browse/WICKET-5194> > >>>>>> > > >>>>>> > >>>>>> . > >>>>>> The quickstart shows that textField.add(new > >>>>>> AjaxEventBehavior("keydown")) > >>>>>> doesn't work because the event' default behavior is prevented. > >>>>>> > >>>>>> org.apache.wicket.ajax.******attributes.****** > >>>>>> AjaxRequestAttributes#** > >>>>>> > >>>>>> > >>>>>> allowDefault > >>>>>> default value was 'false' since 6.0.0 but it seems it was not used > at > >>>>>> all > >>>>>> in many cases before the changes in WICKET-5093: > >>>>>> > >>>>>> https://git-wip-us.apache.org/******repos/asf/wicket/repo?p=**< > https://git-wip-us.apache.org/****repos/asf/wicket/repo?p=**> > >>>>>> **<https://git-wip-us.apache.**org/**repos/asf/wicket/repo?p=****< > https://git-wip-us.apache.org/**repos/asf/wicket/repo?p=**> > >>>>>> > > >>>>>> wicket.git;a=commitdiff;h=******a11ce8a7e3b575385d8f03db621305**** > >>>>>> **17a2b80d09<https://git-wip-****us.apache.org/repos/asf/** > >>>>>> wicket/repo?p=wicket.git;a=****commitdiff;h=** > >>>>>> > >>>>>> a11ce8a7e3b575385d8f03db621305****17a2b80d09<https://git-wip-** > >>>>>> > us.apache.org/repos/asf/**wicket/repo?p=wicket.git;a=**commitdiff;h=* > >>>>>> *a11ce8a7e3b575385d8f03db621305**17a2b80d09< > https://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=commitdiff;h=a11ce8a7e3b575385d8f03db62130517a2b80d09 > > > >>>>>> > > >>>>>> https://git-wip-us.apache.org/******repos/asf/wicket/repo?p=**< > https://git-wip-us.apache.org/****repos/asf/wicket/repo?p=**> > >>>>>> **<https://git-wip-us.apache.**org/**repos/asf/wicket/repo?p=****< > https://git-wip-us.apache.org/**repos/asf/wicket/repo?p=**> > >>>>>> > > >>>>>> wicket.git;a=commitdiff;h=******6eec04b135a60c31fac7b74b866d9f**** > >>>>>> **dcc862ef30<https://git-wip-****us.apache.org/repos/asf/** > >>>>>> wicket/repo?p=wicket.git;a=****commitdiff;h=** > >>>>>> > >>>>>> 6eec04b135a60c31fac7b74b866d9f****dcc862ef30<https://git-wip-** > >>>>>> > us.apache.org/repos/asf/**wicket/repo?p=wicket.git;a=**commitdiff;h=* > >>>>>> *6eec04b135a60c31fac7b74b866d9f**dcc862ef30< > https://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=commitdiff;h=6eec04b135a60c31fac7b74b866d9fdcc862ef30 > > > >>>>>> > > >>>>>> > >>>>>> I suggest to change the default value of 'allowDefault' to 'true'. > >>>>>> > >>>>>> Do you see any use cases where the value should be 'false' ? > >>>>>> The 'false' value was because AjaxFallbackLink should not execute it > >>>>>> default behavior - following its href location. But here really the > >>>>>> effective JS event property is 'stopPropagation' which has been > >>>>>> extracted > >>>>>> to its own property in AjaxRequestAttributes. > >>>>>> > >>>>>> A workaround is to use: > >>>>>> > >>>>>> getAjaxRequestTargetListeners(******).add(new AjaxRequestTarget.** > >>>>>> AbstractListener() > >>>>>> { > >>>>>> @Override > >>>>>> public void updateAjaxAttributes(******AjaxRequestAttributes > >>>>>> attributes) > >>>>>> { > >>>>>> super.updateAjaxAttributes(******attributes); > >>>>>> > >>>>>> attributes.setAllowDefault(******true); > >>>>>> > >>>>>> > >>>>>> } > >>>>>> }); > >>>>>> > >>>>>> in YourApp#init(). But we cannot ask all users to do this until > 6.9.0 > >>>>>> is > >>>>>> released. > >>>>>> > >>>>>> What do you think ? Should we fix this and release 6.8.1 as soon as > >>>>>> possible ? > >>>>>> > >>>>>> > >>>>>> > >>>>>> > > >