You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Muhammad Mohsen <m....@gmail.com> on 2010/11/02 00:00:53 UTC

Re: inject component from parent component

This is an old thread but REALLY thank you all for the concepts you
demonstrated and specially *Josh* for the code to clear everything out :)

On Wed, Aug 11, 2010 at 3:32 AM, Geoff Callender <
geoff.callender.jumpstart@gmail.com> wrote:

> It's best that the component knows nothing of what's around it. Instead,
> have it trigger an event to bubble up to its container and let the container
> decide what to do with it. Perhaps this example will help?
>
>
> http://jumpstart.doublenegative.com.au/jumpstart/examples/ajaxcomponentscrud
>
> Geoff
>
> On 11/08/2010, at 2:26 AM, Christian Koller 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 <ch...@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
> >>>> <ch...@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.koller@net-m.ch
> >>> Web:  www.net-m.ch
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> 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
> >>
> >
> > 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.koller@net-m.ch
> > Web:  www.net-m.ch
> >
> >
> > ---------------------------------------------------------------------
> > 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
>
>


-- 
*Regards,*
*Muhammad Gelbana
Java Software Programmer*