Have you looked at http://tawus.wordpress.com/2011/04/20/tapestry-magic-3-plugin-blocks/
On Wed, Sep 28, 2011 at 6:13 PM, Muhammad Gelbana <m.gelb...@gmail.com> wrote: > I know you mean I should use components but in what way ? > I retracted the inheritance approache and replaced it with the > switching<http://tapestry.apache.org/switching-cases.html>idea which > is marvelous. This way I won't get into the messy "t:if" tree. > > I'm trying to figure out *every possible way* of composing pages from > components, that's why I asked you what do you mean :) > And this way I'll learn more about components till hopefully reach the point > when I say "Now I get it !" :) > > For example consider this case, what if I want to have the blocks in the > switching example, to be in a separate .tml file ? Just to reduce the page's > size and make it easier to maintain. > > Actually I can apply this idea to the common test fields part. It's a bean > editor declaration in the page's .tml file: > * <t:CommonTestDataBeanEditor t:id="commonTestDataEditor" > object="commonTestData">* > * <t:parameter name="prefix">* > * <t:label for="**prefix**" />* > * <t:textfield t:id="**prefix**" value="commonTestData.**prefix**"/>* > * </t:parameter>* > * </t:CommonTestDataBeanEditor>* > > Is it possible to get this bean-editor's declaration from another .tml file > ? I tried extending the bean editor component, but I couldn't figure out > what to put in the .tml file ! Can mixins fit in ? > > I'm all about trying everything and mastering this very flexible and nice > framework, that's why I'm asking too many questions :) > > Thank you for your time :) > > On Wed, Sep 28, 2011 at 1:37 PM, Taha Hafeez <tawus.tapes...@gmail.com>wrote: > >> Use components :) >> >> >> On Wed, Sep 28, 2011 at 5:03 PM, Muhammad Gelbana <m.gelb...@gmail.com> >> wrote: >> > Thank you Taha :) >> > >> > But what do you mean by "You can always re-factor your code by >> composition." >> > >> > >> > On Wed, Sep 28, 2011 at 1:11 PM, Taha Hafeez <tawus.tapes...@gmail.com >> >wrote: >> > >> >> Hi Muhammad >> >> >> >> I don't think inheritance is the best approach with tapestry. You can >> >> always re-factor your code by composition. Using components is always >> >> a better approach. >> >> >> >> If you have a child page trying to access a component in parent page, >> >> IMHO, you should reconsider your refactoring. >> >> >> >> On Wed, Sep 28, 2011 at 3:58 PM, Muhammad Gelbana <m.gelb...@gmail.com> >> >> wrote: >> >> > This is a new approach I'm taking to compose pages. I'm trying to >> convert >> >> an >> >> > existing application to tapestry but one page turned out to be really >> big >> >> > and hard to maintain. This page has many form fields. Some fields >> should >> >> > always exists, and conditionally show other fields depending on a >> >> condition, >> >> > let's say a "test type". >> >> > >> >> > I used to do this in one page template, then conditionally showing the >> >> > fields I want using the "t:if" component and a configured bean-editor >> >> > inside. >> >> > Then I decided to go more scalable so I decided to make a page for >> each >> >> > "test" and inherit the page with the common fields. This will release >> me >> >> for >> >> > the messy "t:if" "p:else" tags all over the center of the page. >> >> > >> >> > Now I'm facing an issue that my parent page has injected components >> >> > (@InjectComponent) and when displaying the child page, it complains: >> >> > Component tests/DNSTest does not contain embedded component >> >> 'gatewayField'. >> >> > The "gatewayField" variable exists in the parent page as: >> >> > @InjectComponent >> >> > private TextField gatewayField >> >> > >> >> > ..and there are other fields. I tried adding @Property, and >> >> getters\setters >> >> > my self, still didn't work. It only worked when I commented these >> fields >> >> and >> >> > code referring to them. >> >> > >> >> > How can I resolve this ? And is this the best approach to dynamically >> >> > construct a page ? >> >> > >> >> > Thank you all for your time :) >> >> > >> >> > -- >> >> > *Regards,* >> >> > *Muhammad Gelbana >> >> > Java Developer* >> >> > >> >> >> >> >> >> >> >> -- >> >> Regards >> >> >> >> Taha Hafeez Siddiqi (tawus) >> >> http://tawus.wordpress.com >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >> >> >> > >> > >> > -- >> > *Regards,* >> > *Muhammad Gelbana >> > Java Developer* >> > >> >> >> >> -- >> Regards >> >> Taha Hafeez Siddiqi (tawus) >> http://tawus.wordpress.com >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > > > -- > *Regards,* > *Muhammad Gelbana > Java Developer* > -- Regards Taha Hafeez Siddiqi (tawus) http://tawus.wordpress.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org