Thanks Kris, for the great explanation!!! It also thaught me the use of the delegate and block components. I've taken the liberty to add your example to the T5 Wiki (attributed to you, of course), http://wiki.apache.org/tapestry/Tapestry5HowToCreateATabPanel. If you see any mistakes, please feel free to correct them (or point them out to me)...
Cheers Erik On 6/11/07, Kristian Marinkovic <[EMAIL PROTECTED]> wrote:
Hi Erik, in T5 its very easy to create a tab component. Just create a component for every tab you have. Then add a Delegate to the page that should display the tab and bind the "to" parameter of the Delegate to a method. This method then returns the respective tab component example code: template: <t:delegate to="selectedTab"/> <a t:id="tab1_link">tab1</a> <a t:id="tab2_link">tab2</a> <t:block> <div t:id="tab1" /> <div t:id="tab2" /> </t:block> java class: // dont forget getter methods @Component private Tab tab1_link @Component private Tab tab2_link // because of redirect @Persist("flash") private int selectedComponent; public void onActionFromTab1_link() { selectedComponent = 1;} public void onActionFromTab2_link() { selectedComponent = 2;} public Object selectedTab() { if(selectedComponent == 1) return tab1; if(selectedComponent == 2) return tab2; return tab1; } g, kris "Erik Vullings" <[EMAIL PROTECTED]> 10.06.2007 11:54 Bitte antworten an "Tapestry users" <users@tapestry.apache.org> An "Tapestry users" <users@tapestry.apache.org> Kopie Thema T5 tab-like component Hi all, Since there does not seem to be a T5 tab component, should I use the Dojo one? Furthermore, what's the best way to use it for offering multiple views on the same object. For example, when choosing a user in a list, I would like to use a tab-like view to show business details, personal details, etc. However, I would like to separate the development of these views as much as possible, and would prefer not to put everything in one view/page, i.e. I would prefer not to create one page, and have something like <t:if "Tab1">Generate tab 1 content</t:if> <t:if "Tab2">Generate tab 2 content</t:if> etc. What would be the best way to achieve this separation of concern? Thanks Erik