What is being returned from your form's success event handler?

You want to return a Block that contains your Form.

You could even return the Form itself.

If you return the Zone, it renders its <div> and then its content.

In 5.0.15-SNAPSHOT you could return the zone's body property.

On Thu, Sep 11, 2008 at 2:19 AM, Webmaster Bébé Nounou
<[EMAIL PROTECTED]> wrote:
> I would like to get your thoughts about the necessity for the form component
> to output its own Zone when one already exists ...
>
> I work on a component wish should be able to show the user a piece of data
> (an article) but with different views according to the use case :
> - The user can read an extract of the article,
> - The user can read the whole article,
> - The user can edit/create the article.
> The idea is to permit the user to switch from one view to the other without
> rerendering the whole page (which show a list of articles) using Tapestry
> Ajax possibilities.
>
> So i started by putting all the output of the article in a global zone
> called ArticleZone with Links (where the zone parameter is set to the
> ArticleZone) to switch between the views.
>
> <t:zone t:id="ArticleZone">
>   <t:delegate to="view"/>
> </t:zone>
>
> <t:block id="ResumeView">
>   <t:eventlink t:event="detail" t:zone="ArticleZone">Detail</t:eventlink>
>   ...
> </t:block>
>
> <t:block id="DetailView">
>   <t:eventlink t:event="resume" t:zone="ArticleZone">Resume</t:eventlink>
>   ...
> </t:block>
>
> All that stuff works fine.
>
> The problem raises up with the edit view. In this view, the data is shown in
> a Form and i just set the zone parameter of the form to the ArticleZone (as
> i did with the links).
>
> <t:block id="EditView">
>   <t:form t:id="articleForm" t:zone="ArticleZone">
>       ...
>   </t:form>
> </t:block>
>
> I thought that the ArticleZone would be rerendered when the submit is
> triggered and for the end user, it looks like it is done. But if one look at
> the HTML code rendered to the client, he can see that Tapestry rendered 2
> Zones ! The ArticleZone and a second ArticleZone (renamed by the framework
> to avoid the duplication of the name) for the Form to use ...
>
> <div id="ArticleZone" class="t-zone">
>   <div id="ArticleZone:11c50af13af" class="t-zone">
>       <form id="articleForm:11c50af13af" name="articleForm:11c50af13af"
> method="post" action="/backoffice/testad.adbloc.articleform">
>         ...
>       </form>
>   </div>
> </div>
>
> So why doesn't Tapestry use the existing Zone when this one already exists
> like Links do ... (and creates the Zone defined in the zone parameter of the
> Form only if this one doesn't exist) ?
>
> Stephane
>
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to