myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Winer" <awi...@gmail.com>
Subject Re: [Trinidad] Renderer Listeners
Date Sat, 14 Jul 2007 16:29:36 GMT
On 7/13/07, William Hoover <whoover@nemours.org> wrote:
> As you guessed it, there are links within each table row that contain a f:param that
holds data for that row. When the user clicks on that row I need to update a separate input
field (outside the table- inside the same form) with the value from the f:param. I need this
to happen on the client side before the page submits.
>

That, I don't get.  Is the intent to track selection in some way?
Couldn't you just stick a tr:inputHidden in the row and grab that
value on the client, copying it into that separate input field?   Or,
for example, running some post-processing in JS (search for fields in
the table that match a pattern).  Etc.,  there's gotta be a better way
of handling this.

Alternatively, you could write a simple component of your own that
doesn't render anything, but gets inserted into the table;  you
implement its encodeBegin() to
do your stuff.

-- Adam


> I know that I can make this happen using EL in the link's onclick attribute based upon
the current row data and the separate input field id (i.e. onclick="javascript: setInputValue('separateInputFieldId',#{row.someValue}';"),
but I have a table view that gets reused quite a bit that may or may not need this feature
based upon individual needs. Also, I'm not sure that it's a good idea to capture the client
id for the separate input field in this manner due to the client id dependency on naming containers.
That's why I'm looking for a programmatic solution that will add the needed javascript call
on an as needed basis before the link/param are rendered outside the jsf page.
>
> -----Original Message-----
> From: Adam Winer [mailto:awiner@gmail.com]
> Sent: Friday, July 13, 2007 3:24 PM
> To: MyFaces Discussion
> Subject: Re: [Trinidad] Renderer Listeners
>
>
> Well, that's what you're doing, but doesn't quite explain
> (A) why the value is null until the link is rendered (though
> I'm guessing that's because its value comes from the
> table data)
> (B) why you need to get the param value for this specific
> command link within this table (or a specific row
> of the table?)
>
> -- Adam
>
>
> On 7/13/07, William Hoover <whoover@nemours.org> wrote:
> > I am trying to get a f:param value from a CoreCommandLink, but the value is null
until the link has been rendered.
> >
> > The link is inside a tr:column- if that helps.
> >
> > -----Original Message-----
> > From: Adam Winer [mailto:awiner@gmail.com]
> > Sent: Friday, July 13, 2007 2:42 PM
> > To: MyFaces Discussion
> > Subject: Re: [Trinidad] Renderer Listeners
> >
> >
> > There's no event listener, but there is that ResponseWriter
> > API, which will get passed components on startElement().
> > 99% works (necessarily, because PPR relies on that!).
> > What functionality are you trying to get here?
> >
> > -- Adam
> >
> >
> > On 7/13/07, William Hoover <whoover@nemours.org> wrote:
> > > I don't suppose there are any event listeners that can detect when components
are being rendered? It would be nice if there was a way to be able to...
> > >
> > > component.addRendererListener(new RendererListener() {
> > >         public void processRenderBegin(RenderEvent event) {
> > >                 ...
> > >         }
> > >         public void processRenderEnd(RenderEvent event) {
> > >                 ...
> > >         }
> > > });
> > >
> > >
> >
> >
>
>

Mime
View raw message