You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Nicola Vallinoto (JIRA)" <ji...@apache.org> on 2018/04/27 10:02:00 UTC
[jira] [Commented] (WICKET-1213) enable subclassing of
AjaxRequestTarget
[ https://issues.apache.org/jira/browse/WICKET-1213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16456186#comment-16456186 ]
Nicola Vallinoto commented on WICKET-1213:
------------------------------------------
@[~ivaynberg]
I'm having similar troubles with ajax. I would like to focus on feedback panel after a validation error but wicket returns the focus on the first field causing the validation error.
I tried to apply the method focusComponent (as indicated in the following code of an ajaxbutton) but it doesn't work. The focus will go to the field with the validation error.
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
.....
target.add(((AbstractUIPage)this.getPage()).getFeedbackPanel());
*target.focusComponent(((AbstractUIPage)this.getPage()).getFeedbackPanel());*
}
Perhaps you have solved in a differend and more elegant way.
Thanxs.
> 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: Igor Vaynberg
> Priority: Major
> Fix For: 1.3.0-final
>
> Attachments: AjaxRequestTarget_using_callback_interface.patch, 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 was sent by Atlassian JIRA
(v7.6.3#76005)