tapestry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lance (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TAP5-1404) add 'xhr' parameter to components which perform navigation - make zone parameter optional
Date Thu, 12 Jan 2012 09:50:39 GMT

    [ https://issues.apache.org/jira/browse/TAP5-1404?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13184846#comment-13184846
] 

Lance commented on TAP5-1404:
-----------------------------

I have a minor issue using the term "xhr" vs "ajax" as ajax > xhr

It is possible to perform ajax without using an XmlHttpRequest. For instance, in some browsers
it is not currently possible to ajax upload a file. Instead, you must post a form to a hidden
iframe. I haven't looked at the code but it is possible that tapestry uses this method when
posting a form to a zone. 
                
> add 'xhr' parameter to components which perform navigation - make zone parameter optional
> -----------------------------------------------------------------------------------------
>
>                 Key: TAP5-1404
>                 URL: https://issues.apache.org/jira/browse/TAP5-1404
>             Project: Tapestry 5
>          Issue Type: Improvement
>    Affects Versions: 5.3, 5.2
>            Reporter: Paul Stanton
>
> To specify that you want to perform an XHR request (EventLink, ActionLink, Form etc),
you need to supply the zone parameter. The existence of this parameter is a flag that tells
the component to use XHR. In some cases this may be useful (although I'm yet to find one).
This strikes me as bad design since there is not necessarily a known One-to-One relationship
between the event and the zone(s) updated.
> If you return a Zone or MultiZoneUpdate from your event handler, the actual zone you
supply the requesting component is irrelevant.
> Since all of my XHR event handlers return a MultiZoneUpdate, I ended up creating a dummy
zone on every page and component and supplying that to every zone parameter. The dummy zone
was always hidden and never actually updated. This hack made it easier to code and maintain
my pages because without it i would need to search for an arbitrary zone on each page when
creating callbacks.
> The solution would be to add a 'xhr' parameter to the components (EventLink, Form etc)
and for the zone parameter to be an optional if xhr is true.
> You could even hard set xhr=true if zone!=null for backwards compatibility.
> This would require Tapestry to lose the dependency on zones to create contextual XHR
requests which I think is the limiting design decision plaguing this area of tapestry.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message