Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-82

Allow Blocks to render themselves initially

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Minor
    • Resolution: Abandoned
    • 5.0.15
    • None
    • None
    • None

    Description

      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.

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            igor.drobiazko Igor Drobiazko
            Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: