> 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