Hi

I have a working setup for Clay on this and if there is an interest I can write 
a small tutorial on the Wiki.

I am going to start a fix for the Shale-validator which is the cause of this 
later to day and hopefully it will be done in a day or two.

Hermod


-----Opprinnelig melding-----
Fra: Gary VanMatre [mailto:[EMAIL PROTECTED] 
Sendt: 8. mai 2007 16:47
Til: user@shale.apache.org
Emne: Re: Shale and Sandbox inputSuggestAjax

>From: "Erik Govaers" <[EMAIL PROTECTED]> 
>
> Hello, 
> 
> I’m trying my hand at a very simple example based on the 
> example at http://www.irian.at/myfaces-sandbox/inputSuggestAjax.jsf. I get an 
> input field, but when I start typing I get no suggestions since my backing 
> bean 
> ‘suggestedItems’ method is never called. I’m using server-side saving, 
> but 
> switching to client-side makes no difference. I’ve looked at a lot of the 
> inputSuggestAjax related issues in the mailing lists, but found no solution 
> yet. 
> My guess is that is has either something to do with the fact that I'm using 
> MyFaces 1.1.3 or with the fact that the Shale/Clay ValidatorInputRenderer is 
> overwriting the InputSuggestAjax Renderer (something I noticed just now). If 
> the 
> latter is true, what can I do to prevent this? 
>

This is an open JIRA ticket [1].  We need to find a configurable option for 
specifying components in the "javax.faces.Input" family that should be excluded 
from the commons validator renderer decorator.

This looks like a cool component. You might try a workaround.  This is a 
*complete hack* but I think it should solve this problem.  The trick would be 
to change the component family and rendererType.
 
 
[1] https://issues.apache.org/struts/browse/SHALE-442
 
Consider:


// subclass the component overriding the family and renderer type.
package com.acme.InputSuggestAjax
public class InputSuggestAjax extends 
org.apache.myfaces.custom.suggestajax.inputsuggestajax.InputSuggestAjax {
   public InputSuggestAjax() {
      setRendererType("com.acme.InputSuggestAjax")
   }   
   public String getFamily() {
       return "com.acme.Input";
   }


}

// register the subclassed component in the /WEB-INF/faces-config.xml

  <component>
    <component-type>com.acme.InputSuggestAjax</component-type>
    <component-class>com.acme.InputSuggestAjax</component-class>
  </component>
 <render-kit>
    <renderer>
      <component-family>com.acme.Input</component-family>
      <renderer-type>com.acme.InputSuggestAjax</renderer-type>
      
<renderer-class>org.apache.myfaces.custom.suggestajax.inputsuggestajax.InputSuggestAjaxRenderer</renderer-class>
    </renderer>
  </render-kit>


Depending on if you are using JSP, Clay or Facelets you will need some 
additional setup. 


Gary

Reply via email to