incubator-adffaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Winer" <awi...@gmail.com>
Subject Re: Getting the Component ID from within getOnclick()
Date Wed, 28 Feb 2007 23:57:39 GMT
Two approaches:


(1)

  protected String getOnclick(FacesBean bean)
  {
    return null;
  }

  protected String getOnclick(FacesContext context,
    UIComponent component, FacesBean bean)
  {
    String onclick = super.getOnclick(bean);
     ... perform extra  manipulation ...
    return onclick;
  }

  ... and call this new method from elsewhere in your renderer.

(2)
  protected void encodeBegin(
    FacesContext        context,
    RenderingContext arc,
    UIComponent         comp,
    FacesBean           bean) throws IOException
  {
    ... etc ...
    String clientId = comp.getClientId(context);
    // Make sure we don't have anything to save
    assert(arc.getCurrentClientId() == null);
    arc.setCurrentClientId(clientId);
     ... etc...
     arc.setCurrentClientId(null);
  }

  protected String getOnclick(FacesBean bean)
  {
    String onclick = super.getOnclick(bean);
    String clientId = RenderingContext.getCurrentInstance
().getCurrentClientId();
    etc...
  }

-- Adam



On 2/28/07, Martin Marinschek <martin.marinschek@gmail.com> wrote:
>
> Well, if the component is not passed in, you can't. The question is if
> the method signature should be changed.
>
> regards,
>
> Martin
>
> On 2/28/07, Danny Robinson <dannyjrobinson@gmail.com> wrote:
> > Sorry, I should have been clearer.  In the renderer code on the
> server-side
> > my component overrides the XhtmlRenderer.getOnclick() to insert some
> custom
> > javascript.  Within this method I'd like to be able to call
> getClientId() on
> > the component to grab the id.
> >
> > Currently I'm having to use eval combined with this.id to workaround
> this
> > issue, but it's not very clean.
> >
> > Danny
> >
> > On 2/27/07, Mike Kienenberger <mkienenb@gmail.com> wrote:
> > >
> > > Keeping in mind that I have barely a day's worth of practical
> > > javascript experience, maybe this.id or something along those lines?
> > >
> > > On 2/27/07, Danny Robinson <dannyjrobinson@gmail.com> wrote:
> > > > anyone ;-)
> > > >
> > > > On 2/23/07, Danny Robinson <dannyjrobinson@gmail.com> wrote:
> > > > >
> > > > > Guys,
> > > > >
> > > > > Any advice on how to easily retrieve the component ID from within
> an
> > > > > overridden method such as XhtmlRenderer.getOnclick().  The only
> > > parameter
> > > > > to this is FacesBean.Type, and not the component itself.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Danny
> > > > >
> > > > > --
> > > > > Chordiant Software Inc.
> > > > > www.chordiant.com
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Chordiant Software Inc.
> > > > www.chordiant.com
> > > >
> > >
> >
> >
> >
> > --
> > Chordiant Software Inc.
> > www.chordiant.com
> >
>
>
> --
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message