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

Reply via email to