> The Zone is just a component:
>
> MyPage.java:
>
> �...@injectcomponent @Property private Zone myZone;
>
> MyPage.tml:
>
>  <t:yourcomponent zoneid="myZone.clientId" .../>
>

myZone.clientId is null until Zone.beginRender is called. If
<t:yourcomponent> is rendered before the zone then zoneid will be
null.

Josh

On Tue, Aug 10, 2010 at 12:34 PM, Howard Lewis Ship <hls...@gmail.com> wrote:
> The Zone is just a component:
>
> MyPage.java:
>
> �...@injectcomponent @Property private Zone myZone;
>
> MyPage.tml:
>
>  <t:yourcomponent zoneid="myZone.clientId" .../>
>
> This passes the client element id of the Zone to your component.
> Alternately, you could pass the Zone itself (so that an ActionLink
> inside YourComponent could return zone.getBody() to re-render the
> Zone).
>
> On Tue, Aug 10, 2010 at 9:26 AM, Christian Koller
> <christian.kol...@net-m.ch> wrote:
>> Hi
>>
>> I'm not sure how I can pass an embedded zone in the template as a parameter. 
>> I tried for several hours but wasn't able to do that.
>> I can inject the zone to the page but then, how can I handle the zone down 
>> to the sub component as parameter?
>>
>> I know about the publish params and inherit params, but it does not work 
>> with a zone as parameter or maybe I do something wrong.
>>
>> I'm considering to put the zone to the session as a sso and then grab for it 
>> in the needed sub component. What do you think about this solution?
>>
>>
>> On 08.08.2010, at 18:33, Josh Canfield wrote:
>>
>>> It's generally not considered good design for a component to have knowledge 
>>> of the design of it's container. This would be a universal design 
>>> principle, not limited to tapestry.
>>>
>>> So if all you want to do is update a zone then couldn't you just pass the 
>>> zone or zone id as a parameter to your component?
>>>
>>> -- Josh
>>>
>>> On Aug 8, 2010, at 7:49 AM, Christian Koller <christian.kol...@net-m.ch> 
>>> wrote:
>>>
>>>> In an inner component I handle an ajax request from an action link and 
>>>> want to update a zone in a outer component.
>>>>
>>>> As a work around I use the ComponentSource like:
>>>>
>>>> Object onActionFromMark(long wishedStartTime) {
>>>> this.wishedStartTime = wishedStartTime;
>>>> CalendarComponent cal = (CalendarComponent) 
>>>> componentSource.getComponent("AppointmentPage:calendarCollection.cal0");
>>>> return cal;
>>>>
>>>> Unfortunately I have to give the full id here with page name and so on.
>>>> Is there no way to get an outer component to update a zone there?
>>>>
>>>>
>>>> On 08.08.2010, at 16:37, Igor Drobiazko wrote:
>>>>
>>>>> Nope, this is not possible. What are you trying to do?
>>>>>
>>>>> On Sun, Aug 8, 2010 at 4:28 PM, Christian Koller
>>>>> <christian.kol...@net-m.ch>wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> With the annotation @Component I can inject components which are defined 
>>>>>> in
>>>>>> the component's template, for example:
>>>>>> @Component(id="myComponent")
>>>>>> private ActionLink link;
>>>>>>
>>>>>> Is there a way to inject a component from the parent component? Something
>>>>>> like:
>>>>>> @Component(id="../myComponent")
>>>>>> private ActionLink mark;
>>>>>>
>>>>>> Thank you
>>>>>> chris
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best regards,
>>>>>
>>>>> Igor Drobiazko
>>>>> http://tapestry5.de
>>>>
>>>> Christian Koller
>>>> Sofwareentwickler
>>>>
>>>> net mobile Schweiz AG
>>>> Seestrasse 45
>>>> CH ñ 8702 Zollikon
>>>>
>>>> Tel:     + 41 (0) 44 918 99 99
>>>> Fax:     + 41 (0) 44 918 99 98
>>>> Direkt:  + 41 (0) 44 918 99 72
>>>>
>>>> Mail: christian.kol...@net-m.ch
>>>> Web:  www.net-m.ch
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>
>>
>> Christian Koller
>> Sofwareentwickler
>>
>> net mobile Schweiz AG
>> Seestrasse 45
>> CH ñ 8702 Zollikon
>>
>> Tel:     + 41 (0) 44 918 99 99
>> Fax:     + 41 (0) 44 918 99 98
>> Direkt:  + 41 (0) 44 918 99 72
>>
>> Mail: christian.kol...@net-m.ch
>> Web:  www.net-m.ch
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>



-- 
--
http://www.bodylabgym.com - a private, by appointment only, one-on-one
health and fitness facility.
--
http://www.ectransition.com - Quality Electronic Cigarettes at a
reasonable price!
--
TheDailyTube.com. Sign up and get the best new videos on the internet
delivered fresh to your inbox.

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

Reply via email to