Replying to myself so quickly - not a good sign. ;-)

Anyway, I found another solution which is to let the event bubble up to the 
parent component which needs to do the initialisation of the derived variable 
(which is then provided as a source for the sub-component) and do the init in 
the event handler method.

Not so bad, but it does force me to have my event handler in the component 
containing the sub-component which is actually generating the event. I'm unsure 
as to the best practice for this, I was assuming that a component should always 
handle its own events, which isn't possible in this case without session usage 
or a redundant parameter in the parent component.

I do hope this makes sense to someone out there on the list... rather than 
sounding like the babblings of a crazy man. ;-)

Thanks,

Andy


> -----Original Message-----
> From: Blower, Andy
> Sent: 27 May 2008 17:20
> To: 'Tapestry users'
> Subject: T5: Components initialising derived variables for action
> requests?
>
> How should a component initialise a derived variable from a parameter
> for the purposes of handling events?
>
> As far as I've seen so far, derived variable initialisation is usually
> done in a setupRender() method. This works for rendering, but not for
> the event handling phase. The containing page has the onActivate()
> method which sets up all required data for both the action requests as
> well as render requests, but the components setupRender() only sets up
> the component variable for render requests. Since pageAttached() fires
> before onActivate(), that can't be used. What else could be used?
>
> I know that the component variable could be made a (kinda redundant)
> parameter rather than being derived, or it could be persisted, but both
> solutions seem clumsy and inelegant since all the information is
> already available but only tied together for render requests.
>
> I find it hard to believe that Tapestry 5 has all the wonderful
> activation context for restoring state without it being held in the
> session but not have a mechanism for deriving variables on action
> requests. I'm probably going to feel silly if it's really obvious, but
> I can't figure it out.
>
> Thanks,
>
> Andy.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to