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
>
>