You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org> on 2013/07/25 00:57:48 UTC
[jira] [Closed] (TAP5-1896) AjaxFormLoop corrupts list when
redisplayed after Remove then server-side failure
[ https://issues.apache.org/jira/browse/TAP5-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship closed TAP5-1896.
--------------------------------------
Resolution: Won't Fix
Unfortunately, Tapestry doesn't have enough information to handle cases of this complexity. AjaxFormLoop expects the data on the server side to be relatively stable. There simply isn't a way to encode all the data necessary to reconstruct the state.
Tapestry is moving away from heavily stateful UIs based on AjaxFormLoop and friends; I suggest using Backbone or AngularJS for these situations. That sounds like a cop out, but it's really the way of the future.
> AjaxFormLoop corrupts list when redisplayed after Remove then server-side failure
> ---------------------------------------------------------------------------------
>
> Key: TAP5-1896
> URL: https://issues.apache.org/jira/browse/TAP5-1896
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.3, 5.2
> Reporter: Geoff Callender
> Priority: Critical
>
> To see the effect use an AjaxFormLoop with input field(s) and at least 3 rows built from existing data. It must be in a Form.
> Remove row n.
> Submit, ensuring in some way that you get a server-side validation error.
> The redisplayed loop will have all the right output values, but the input values will be corrupted:
> - the removed row (n) will be missing (good),
> - row n+1 will be correct (good),
> - every row below that will have input values that belong to the row before it (bad).
> If you try the process again but this time remove 2 adjacent rows you'll get:
> - the removed rows (n-1 and n) will be missing (good),
> - row n+1 will be correct (good),
> - row n+2 will be correct (good),
> - every row below that will have input values that belong 2 rows before it (bad).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira