You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Peter Ertl (JIRA)" <ji...@apache.org> on 2010/08/25 23:31:17 UTC

[jira] Commented: (WICKET-2991) Ajax Fallback LInk should pass a NullAjaxRequestTarget when javascript not supported

    [ https://issues.apache.org/jira/browse/WICKET-2991?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12902639#action_12902639 ] 

Peter Ertl commented on WICKET-2991:
------------------------------------

I am against that because:

- adding to a NullAjaxRequestTarget will still be an computational overhead
- AjaxRequestTarget is not only about updating components but also about invoking javascript on the client side

Just filling a dummy object, then dropping it, is no replacement for correctly handing [regular request] vs. [asynchronous request]

@Don: If you want to avoid null checks all the time why not try something like that:

public abstract class DonAjaxFallbackLink<T> extends AjaxFallbackLink<T>
{
	protected DonAjaxFallbackLink(String id)
	{
		super(id);
	}

	protected DonAjaxFallbackLink(String id, IModel<T> tiModel)
	{
		super(id, tiModel);
	}

	@Override
	public void onClick(AjaxRequestTarget target)
	{
		if (target == null)
			onFallbackClick();
		else
			onAjaxClick(target);
	}

	public abstract void onFallbackClick();

	public abstract void onAjaxClick(AjaxRequestTarget target);
}


> Ajax Fallback LInk should pass a NullAjaxRequestTarget when javascript not supported
> ------------------------------------------------------------------------------------
>
>                 Key: WICKET-2991
>                 URL: https://issues.apache.org/jira/browse/WICKET-2991
>             Project: Wicket
>          Issue Type: Improvement
>            Reporter: Don Ferguson
>
> When javascript is not supported, AjaxFallbackLink calls onClick(target) with target = null.  I propose that instead it should pass a NullAjaxRequestTarget whose addComponent() method is a noop (since the whole page is going to be re-rendered anyway).
> This will make it possible to call write the onClick() method without a null check, as in:
>    @Override
>    public void onClick(AjaxRequestTarget target) {
>          target.addComponent(...);
>    }
> rather than always worrying about whether javascript is enabled by the browser, and wrapping a null check around the target,

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