You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Christian Gorbach <ch...@gmx.at> on 2008/04/09 15:48:06 UTC

T5: Zone on/off, delegate Id

hi group, hi howard,

tricky problem here - I need some kind of conditinal zone 
rendering...(=T5 ajaxification on/off)

My current solution: custom component, which - depending on a condition 
- does delegate to a zone component (or not).
<t:aZoneDelegate t:id="conditinalZone"....>
body here - should always be rendered.
<t:aZoneDelegate/>

Depending on that condition, I have an actionlink component, pointing to 
the zone above
<t:actionlink ....t:zone="conditinalZone" />

The problem is that the actionlink's zone parameter points to the 
delegates id and not to the (embedded) zone component  - resulting in 
javascript errors.
It would be nice if the delegateComponent could forward the id, too. But 
I have not found an solution yet, because tapestry id's are static.

Any suggestions? I also tried to subclass the original zone component 
but this approach was not successfull because of the method's package 
visibility.

tia & best regards
c)hristian



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T5: Zone on/off, delegate Id

Posted by Peter Beshai <pe...@gmail.com>.
Just so you know, you can check for that sort of thing by looking at the
component reference:

http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry/corelib/components/ActionLink.html

For the parameter zone the type is String (not
org.apache.tapestry.corelib.components.Zone), so it must be the id of the
zone :-)

Glad I could help!
Peter

On Wed, Apr 9, 2008 at 11:39 AM, Christian Gorbach <ch...@gmx.at>
wrote:

> hi peter,
> thanks! works like a charm...
> I wasn't aware of the fact that I can pass an id as zone parameter..
> regards,
> c)hristian
>
>
>  I think it would be easiest if the Zone component had a clientId
> > parameter,
> > which you could just set to context.propertyId (from
> > PropertyEditContext).
> > Unfortunately, it does not. Maybe this will work:
> >
> > aZoneDelegate.tml:
> > ...
> > <t:zone t:id="zone"/>
> > ...
> >
> > aZoneDelegate.java:
> > @Component
> > private Zone _zone;
> >
> > public String getZoneClientId()
> > {
> >     return _zone.getClientId();
> > }
> >
> >
> > Then when you want to use it
> >
> > <t:actionlink ... t:zone="prop:conditionalZone.zoneClientId"/>
> >
> > Peter Beshai
> >
> > On Wed, Apr 9, 2008 at 9:48 AM, Christian Gorbach <
> > christian.gorbach@gmx.at>
> > wrote:
> >
> >
> >
> > > hi group, hi howard,
> > >
> > > tricky problem here - I need some kind of conditinal zone
> > > rendering...(=T5
> > > ajaxification on/off)
> > >
> > > My current solution: custom component, which - depending on a
> > > condition -
> > > does delegate to a zone component (or not).
> > > <t:aZoneDelegate t:id="conditinalZone"....>
> > > body here - should always be rendered.
> > > <t:aZoneDelegate/>
> > >
> > > Depending on that condition, I have an actionlink component, pointing
> > > to
> > > the zone above
> > > <t:actionlink ....t:zone="conditinalZone" />
> > >
> > > The problem is that the actionlink's zone parameter points to the
> > > delegates id and not to the (embedded) zone component  - resulting in
> > > javascript errors.
> > > It would be nice if the delegateComponent could forward the id, too.
> > > But I
> > > have not found an solution yet, because tapestry id's are static.
> > >
> > > Any suggestions? I also tried to subclass the original zone component
> > > but
> > > this approach was not successfull because of the method's package
> > > visibility.
> > >
> > > tia & best regards
> > > c)hristian
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> > >
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: T5: Zone on/off, delegate Id

Posted by Christian Gorbach <ch...@gmx.at>.
hi peter,
thanks! works like a charm...
I wasn't aware of the fact that I can pass an id as zone parameter..
regards,
c)hristian

> I think it would be easiest if the Zone component had a clientId parameter,
> which you could just set to context.propertyId (from PropertyEditContext).
> Unfortunately, it does not. Maybe this will work:
>
> aZoneDelegate.tml:
> ...
> <t:zone t:id="zone"/>
> ...
>
> aZoneDelegate.java:
> @Component
> private Zone _zone;
>
> public String getZoneClientId()
> {
>      return _zone.getClientId();
> }
>
>
> Then when you want to use it
>
> <t:actionlink ... t:zone="prop:conditionalZone.zoneClientId"/>
>
> Peter Beshai
>
> On Wed, Apr 9, 2008 at 9:48 AM, Christian Gorbach <ch...@gmx.at>
> wrote:
>
>   
>> hi group, hi howard,
>>
>> tricky problem here - I need some kind of conditinal zone rendering...(=T5
>> ajaxification on/off)
>>
>> My current solution: custom component, which - depending on a condition -
>> does delegate to a zone component (or not).
>> <t:aZoneDelegate t:id="conditinalZone"....>
>> body here - should always be rendered.
>> <t:aZoneDelegate/>
>>
>> Depending on that condition, I have an actionlink component, pointing to
>> the zone above
>> <t:actionlink ....t:zone="conditinalZone" />
>>
>> The problem is that the actionlink's zone parameter points to the
>> delegates id and not to the (embedded) zone component  - resulting in
>> javascript errors.
>> It would be nice if the delegateComponent could forward the id, too. But I
>> have not found an solution yet, because tapestry id's are static.
>>
>> Any suggestions? I also tried to subclass the original zone component but
>> this approach was not successfull because of the method's package
>> visibility.
>>
>> tia & best regards
>> c)hristian
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>>     
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T5: Zone on/off, delegate Id

Posted by Peter Beshai <pe...@gmail.com>.
I think it would be easiest if the Zone component had a clientId parameter,
which you could just set to context.propertyId (from PropertyEditContext).
Unfortunately, it does not. Maybe this will work:

aZoneDelegate.tml:
...
<t:zone t:id="zone"/>
...

aZoneDelegate.java:
@Component
private Zone _zone;

public String getZoneClientId()
{
     return _zone.getClientId();
}


Then when you want to use it

<t:actionlink ... t:zone="prop:conditionalZone.zoneClientId"/>

Peter Beshai

On Wed, Apr 9, 2008 at 9:48 AM, Christian Gorbach <ch...@gmx.at>
wrote:

> hi group, hi howard,
>
> tricky problem here - I need some kind of conditinal zone rendering...(=T5
> ajaxification on/off)
>
> My current solution: custom component, which - depending on a condition -
> does delegate to a zone component (or not).
> <t:aZoneDelegate t:id="conditinalZone"....>
> body here - should always be rendered.
> <t:aZoneDelegate/>
>
> Depending on that condition, I have an actionlink component, pointing to
> the zone above
> <t:actionlink ....t:zone="conditinalZone" />
>
> The problem is that the actionlink's zone parameter points to the
> delegates id and not to the (embedded) zone component  - resulting in
> javascript errors.
> It would be nice if the delegateComponent could forward the id, too. But I
> have not found an solution yet, because tapestry id's are static.
>
> Any suggestions? I also tried to subclass the original zone component but
> this approach was not successfull because of the method's package
> visibility.
>
> tia & best regards
> c)hristian
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>