[ 
https://issues.apache.org/jira/browse/WICKET-1213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12549710
 ] 

Peter Ertl commented on WICKET-1213:
------------------------------------

Johan,

I don't think there is such a thing as a 'global ajax request target' as it is 
always(!) bound to a page. think about it, how else should the response be 
processed if there wasn't a call from within the corresponding page first? so I 
think it's even more logical that way.


> what does page has to do with request processing.. Page is just a component. 
the ajax request is sent asynchronously from the page, and the response will be 
processed by that same page.

What would be the meaning of having new AjaxRequestTarget(null) ?

When scanning throught the 'wicket' and 'wicket-extensions' project I found 
there's no other place except the 'onRequest()' where AjaxRequestTarget is 
instantiated (except BaseWicketTester). so there are no place where 
AjaxRequestTarget is used in a 'global' context so far, also there should be no 
side effects when applying this patch.

> enable subclassing of AjaxRequestTarget
> ---------------------------------------
>
>                 Key: WICKET-1213
>                 URL: https://issues.apache.org/jira/browse/WICKET-1213
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc1
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.4.0-alpha
>
>         Attachments: AjaxRequestTarget_with_subclassing.patch
>
>
> In my wicket programming experience so far I always didn't feel quite 
> comfortable with the ajax part.
> I had some issues in particular with these as an example:
> - "Always include a common feedback panel from my template page"
>    --> add 'target.addComponent(feedbackPanel)' just _everywhere_ (very 
> cumbersome and not elegant at all)
> - add a listener using AjaxRequestTarget#addListener
>   --> not possible without subclassing the request cycle (which is *yuk* if 
> you ask me) to catch the short moment in between AjaxRequestTarget is 
> instantiated and AjaxRequestTarget#onRespond() is called
> - automatically set focus on the first form component with errors
>    --> add bulky code into all onSubmit() and onError() to check for errrors 
> and call AjaxRequestTarget#setFocus
> - add some common function like AjaxRequestTarget#yellowFade(FormComponent)
>   --> have some utility method and call it like this: 
> AjaxUtil.yellowFade(target) -- not nice as functionality like this should 
> really belong to the request target
> I found that all these issues can be solved very elegantly if you could just 
> catch the moment where AjaxRequestTarget is instantiated.
> I attached a very little patch (!) which solves all that issues and makes 
> ajax just a lot more powerful inside wicket *imho*
> also, it will not break current code but is just an enhancement you will not 
> notice unless you need it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to