You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Massimo Lusetti (JIRA)" <ji...@apache.org> on 2009/05/15 10:34:45 UTC

[jira] Commented: (TAP5-705) Let a page choose its layout

    [ https://issues.apache.org/jira/browse/TAP5-705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12709760#action_12709760 ] 

Massimo Lusetti commented on TAP5-705:
--------------------------------------

As suggested in mailing list this could be achieved with a combination of a Layout component and a bunch of Delegate components.

We could start to debate where the framework should come to user of where user should come to the framework way of doing things.

> Let a page choose its layout
> ----------------------------
>
>                 Key: TAP5-705
>                 URL: https://issues.apache.org/jira/browse/TAP5-705
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.0.18
>            Reporter: Borut Bolcina
>
> It would be great if a page could dynamically choose its layout. In some cases the page would use Layout1 component and in some cases Layout2.
> The t:type="${layout}" does not get expanded to whatever I set in Index.java.
> PageWithLayout.tml
> ===============
> <div t:type="${layout}" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
>     <p>page with ${layout}</p>
> </div>
> PageWithLayout.java
> ===============
> public class PageWithLayout {
>     private String layout;
>    
>     public String getLayout() {
>         return layout;
>     }
>     public void setLayout(String layout) {
>         this.layout = layout;
>     }
> }
> Index.tml
> =======
> <t:actionlink t:id="PageWithLayout1">layout1</t:actionlink><br/>
> <t:actionlink t:id="PageWithLayout2">layout2</t:actionlink>
> Index.java
> =======
> public class Index {
>     @InjectPage
>     private PageWithLayout pageWithLayout;
>    
>     Object onActionFromPageWithLayout1() {
>         pageWithLayout.setLayout("layout1");
>         return pageWithLayout;
>     }
>    
>     Object onActionFromPageWithLayout2() {
>         pageWithLayout.setLayout("layout2");
>         return pageWithLayout;
>     }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.