You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Andy Blower (JIRA)" <de...@tapestry.apache.org> on 2008/04/10 13:08:09 UTC
[jira] Commented: (TAPESTRY-2132) Allow Blocks to render themselves
initially
[ https://issues.apache.org/jira/browse/TAPESTRY-2132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587588#action_12587588 ]
Andy Blower commented on TAPESTRY-2132:
---------------------------------------
If I understand the issue correctly, this can be done using the delegate component. I know because I needed to do the same thing.
So, you have a zone which initially has a delegate comp in it that renders the block when the page is first rendered. Then when you refresh the zone, returning the injected block comp from your action method, the zone's contents becomes another partial rendering of the block. Note that the block can be anywhere in the template - it doesn't have to be inside the zone.
<div t:type="zone" t:id="som">
<t:delegate to="somBlock"/>
<t:block t:id="somBlock">block-content</t:block>
</div>
Unless there's some limitation to this technique that I cannot see, or this is considered a bad thing for some reason, then could this bug be closed needing no further resolution?
> Allow Blocks to render themselves initially
> -------------------------------------------
>
> Key: TAPESTRY-2132
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2132
> Project: Tapestry
> Issue Type: Improvement
> Affects Versions: 5.0.10
> Reporter: Igor Drobiazko
> Fix For: 5.1
>
>
> Initially a block is not rendered. This is quite reasonable for the usecase in which you define an empty block for the Grid.
> Now consider following scenario:
> We have a Grid containing an ActionLink for every single row.
> <t:grid t:id="grid" source="users" model="model" row="user">
> <t:parameter name="deleteCell">
> <t:actionlink t:id="delete" zone="deleteZone" context="user.id">Delete</t:actionlink>
> </t:parameter>
> </t:grid>
> Clicking on the link I want to delete the user and update the table without to refresh the whole page.
> To make a partial response we have several possibilities. Two of them are to return a component or a block.
> It would be nice to wrap the table by a block which is rendered initially. This block could be returned by the action method.
> Alternatively one could put the Grid into the zone but this doesn't work well. Every second click ends in a full refresh of the page.
> The reason is that after the partial response the ActionLinks of the updated Grid are not converted into Ajax links.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org