Hi,

Consider the following scenario:

<ul id="items">
  <li>an item</li>
  <li>an item</li>
  <li>an item</li>
</ul>
Add new item 

I want the Add new item button to add another li element to the items list,
but only requesting the new item to the server (something similar to what
ajaxForLoop/addRowLink does, but not within a Form). The only solution I see
(maybe i'm missing something obvious) is to link the Add new item button to
an "auxiliary" Zone and return, as the Ajax request result, a Block and a
script that removes the content of the updated Zone and place it where I
want it to be (at the bottom of the ul list). This is not a very good
solution, so I was wondering if maybe a new param to MultiZoneUpdate could
be added: position. That way, I could make the ul list as a Zone and return
new MultiZoneUpdate(zoneId, blockToRender, MZUPositions.BOTTOM) to put the
blockToRender HTML not as a content replacement but at the bottom of the
content (and in a similar way with others Prototype's Element.insert()
position options).

This could be useful not only in this case, but also when developing a chat
board or a list of new messages in a messaging system.

In terms of Tapestry, this could be accomplished by returning another
optional JSON attribute in the Ajax response: position. When the ZoneManager
process the reply instead of just replacing the Zone content with the
arrived content, it can use Element.insert() to insert it at the right
position, if position was specified.

If all of these makes sense to more people, I could post it in Jira, but
first it would be helpful to know another opinion.

Regards,
Raul.
-- 
View this message in context: 
http://tapestry-users.832.n2.nabble.com/MultiZoneUpdate-position-param-tp5792773p5792773.html
Sent from the Tapestry Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to