Ajax auto-suggest with adf

Hi..
I am trying to implement ajax auto-suggest using the example @ http://www.oracle.com/technology/products/jdev/tips/mills/AjaxAutoSuggest/AjaxAutoSuggest.html
After trying it, i realised the auto-suggest component does not work in firefox, but only in IE. Also when using IE 7, the auto-suggest pop up.screen. does not display directly under the textbox.. but rather away from it..unlike what we see in the example.
Is there any other ways to implement autosuggest that work in both firefox and IE using ADF?
thanks

The limitation on browsers is a function of the ajax library used, namely https://blueprints.dev.java.net/bpcatalog/distDrops.html, not ADF. I would suggest finding a similar library that supports the browsers you wish to use.
--RiC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Similar Messages

  • Need to implement auto suggest with multiple select in a input text field

    Hi,
    Jdev Ver: 11.1.1.4
    My requirement is to create an input field where i can provide auto suggest and user can enter multiple email ids. It is similar to current "To" field while composing a mail in Gmail.
    Problem:
    I have implemented input box with auto suggest. For the first entry it works fine. when i enter 2nd value(i have used ',' (comma) as separator and handled it in 'suggestItems' bean method to take sub-string after comma for providing the suggestion) , after selection.... the first value get lost. So at a time only one value is selected in the input text.
    Input text:
    <af:inputText label="Names" id="it21" rows="2"
    columns="50" simple="true"
    valueChangeListener="#{VisitBackingBean.visitMembersInputBoxCL}"
    binding="#{VisitBackingBean.visitMembersInputBox}">
    <af:autoSuggestBehavior suggestItems="#{VisitBackingBean.onSuggest}"/>
    </af:inputText>
    Bean Method:
    public List onSuggest(FacesContext facesContext,
    AutoSuggestUIHints autoSuggestUIHints) {
    BindingContext bctx = BindingContext.getCurrent();
    BindingContainer bindings = bctx.getCurrentBindingsEntry();
    String inputNamevalue = autoSuggestUIHints.getSubmittedValue().trim();
    if(inputNamevalue.contains(",")) {
    inputNamevalue = inputNamevalue.substring(inputNamevalue.lastIndexOf(",")+1).trim();
    //create suggestion list
    List<SelectItem> items = new ArrayList<SelectItem>();
    // if (autoSuggestUIHints.getSubmittedValue().length() > 3) {
    OperationBinding setVariable =
    (OperationBinding)bindings.get("setnameSearch");
    setVariable.getParamsMap().put("value",
    inputNamevalue);
    setVariable.execute();
    //the data in the suggest list is queried by a tree binding.
    JUCtrlHierBinding hierBinding =
    (JUCtrlHierBinding)bindings.get("AutoSuggestName_TUserROView1");
    //re-query the list based on the new bind variable values
    hierBinding.executeQuery();
    //The rangeSet, the list of queries entries, is of type //JUCtrlValueBndingRef.
    List<JUCtrlValueBindingRef> displayDataList =
    hierBinding.getRangeSet();
    for (JUCtrlValueBindingRef displayData : displayDataList) {
    Row rw = displayData.getRow();
    //populate the SelectItem list
    items.add(new SelectItem(rw.getAttribute("UsrUserName").toString().trim() +
    "<" +
    rw.getAttribute("UsrMailId").toString().trim() +
    ">",
    rw.getAttribute("UsrUserName").toString().trim() +
    "<" +
    rw.getAttribute("UsrMailId").toString().trim() +
    ">"));
    return items;
    Please suggest how can i achieve the mentioned functionality.

    Hi,
    doesn't work this way as the suggest list returns a single value. You can actually use the existing values as a prefix to the new value in which case the suggest list would look a bit odd. Beside of this all you can do is to create a user lookup field with auto suggest and once a name is selected, update another field with the value returned from this action
    Frank

  • Auto Suggest with multiple fields?

    Hello,
    I am planning on using the autosuggest on a project I'm
    working on, and was surprised by the lack of support for multiple
    fields. Correct me if I'm wrong, but right now you can only search
    for the 'name' field or 'age' etc. I would like to be able to enter
    some text in the textinput field, and it would search both 'name'
    and 'username' in the dataset. Is this possible with the current
    widget?
    Thanks,
    Maquelly

    Hello Maquelly,
    Indeed the Auto Suggest widget do not support filtering the
    data against multiple fields simultaneously if the data is filtered
    on the client side. I will add this as an enhancement request for
    this brand new widget. We have only support for multiple fields to
    be displayed in the suggestion list which is a spry:region, you can
    insert the values of multiple fields concatenated through the
    spryLsuggest tag buy we are not able to check multiple fields,
    We have implemented also the ability to send the value typed
    on the server and expect a new XML with the filtered data. This
    method allow you to achieve your goak as you can control
    completelly the filtering algorithm that sends the data back in
    browser. We have some samples in the Spry 1.5 preview.
    Regards,
    Cristian MARIN

  • Ajax Auto Suggest

    Hi,
    I tried to create an application from tutorial and it seem to be working fine. However, when I add Textfield.jar to my existing application, my application stop working. When I am trying to access any page, it throws an error page not found on the browser, and no exception in the server log (inside JDev). When this jar is removed (jdev restarted) my application is working again. What could be the problem?
    Thanks,
    Mike

    Thanks for your reply. I just want to make sure I understand for you are saying. Do I have to build this component myself or is there particular part that will solve my problem?

  • Auto Suggest Special characters

    Hi!
    I would like to known if you can use the Auto suggest widget
    from the Spry framework with special character typed in the text
    box.
    In JSONDataSet with loadFromServer:true contains information
    with special characters and spry:region appear correctly, but when
    i type "Etc fóo" the spry url is ...?parameter=Etc%20f%C3%B3o
    but server side value of parameter=Etc fóo,
    when i send form url ?parameter=Etc+f%F3o server side value
    of parameter is Etc fóo.
    I try with charset ISO-8859-1, UTF-8 and i can´t fix
    this.
    The same error when i type "É" spry url
    ...?parameter=%C3%89 and server side value of parameter is Ã?,
    when i sent form url is ..?parameter=%C9 and i´ts works,
    server side is É
    Version Spry_1_6_1_022408
    same problem
    Auto
    suggest with special characters
    Changes for Spry 1.6.1 - 2008/02/23
    Auto Suggest
    Fixed a bug for dynamic URL loading where some special
    characters like + and & where not sent correctly to the server.
    Fixed a bug with suggestion list showing when pressing some
    special characters

    Hello,
    I must admit that we didn't include into our test matrix such
    a scenario so I don't know the answer. However I would like to
    clear me a question before starting the investigation.
    Do you mean that if you type the 'a' character the widget
    should display the values that also starts with "â" or
    "à" ? Because this scenario is really not supported.
    Cristian

  • LOV with auto suggest and multiple check boxes

    Is it possible to implement LOV with auto suggest and multiple check boxes using ADF faces components?. Any alternative implementation/pointers are appreciated.
    Regards,
    Surya

    Hi,
    build it yourself as a task flow opened in a popup. see: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/69-custom-lov-with-btf-276178.pdf
    Frank

  • Anybody can suggest quick sample 'Hello World' with ADF/JSF to deploy on WC

    We are using JDeveloper 11g, and Web Center 10.1.3.2.
    We have Oracle Portals 10.1.2.0.2
    We want to develop a portlet and deploy it to WC 10.1.3.2 to use it in Portals 10.1.2.0.2.
    Could anybody suggest any working "Hello World' sample with ADF/JSF to deploy on WC 10.1.3.2 WSRP.
    TIA

    Just to clarify. Oracle Portal 10.12.0.2 did not support WSRP based portlets (this was introduced in 10.1.4 or Portal) as such you would need to develop a JPDK based portlet in order to use it in both Portal 10.1.2.0.2 and WebCenter. If you upgrade the portal to 10.1.4 you will be able to use a WSRP 1.0 based portlet in both products (WebCenter also supports the draft WSRP2.0 extensions so make sure that you register the correct WSDL file)
    If you are trying to use JSF components within the Portlet itself you will need to use the JSF Portlet Bridge which accounts for the differences in lifecycle between JSF and WSRP.

  • How to create  Auto suggestion component by using of ADF tag

    Hi ,
    In my project, I am using the ADF frame work and I need to use the auto suggestion component.
    Can any body suggest me how to create Auto suggestion component by using of ADF tag.
    Waiting for your valuable suggestions...

    Try this forum:
    JDeveloper and ADF
    You might get a lot more response.
    Jan Kettenis

  • AJAX Integration with ADF Components

    Please help me integrate AJAX with ADf Components
    Thanks in advance
    A sample code would be useful.

    Hi,
    Hope these links can help you
    http://www.oracle.com/technology/pub/articles/cioroianu-ajax-data.html
    http://www.oracle.com/technology/pub/articles/vohra-ajax.html
    http://www.oracle.com/technology/pub/articles/nimphius-ajax.html
    http://www.oracle.com/technology/products/jdev/tips/mills/AjaxAutoSuggest/AjaxAutoSuggest.html
    EronYang

  • Implement auto suggest behaviour with af:selectOneChoise

    Hi
    I'm using jdeveloper 11.1.2.3.0
    I would like to know how could I Implement auto suggest behaviour with af:selectOneChoise?

    Hi,
    Drop a af:autoSuggestBehavior from component pallet to the SOC component and bind it to a backing bean method as below
    private List<SelectItem> items = new ArrayList<SelectItem>();
    public List getSuggestions(String input) {
    if (input!=null && input.length()>3) {
    ViewObject vo = util.getViewObject("XYZ1Iterator");
    vo.setNamedWhereClauseParam("bindx]Xyz", input);
    vo.executeQuery();
    System.out.println("Row count is " + vo.getRowCount());
    // autoSuggestItemBeanList.clear();
    RowSetIterator itr = vo.createRowSetIterator(null);
    while (itr.hasNext()) {
    Row row = itr.next();
    items.add(new SelectItem(row.getAttribute("FirstName")));
    return items;
    If you don't want your db to be queried for each and every character, then create a bean and set each and every attribute value of that bean from the db after your page gets rendered. So each character hit from the keyboard will look into your bean rather than hitting the db.
    Thanks,
    Sanjeeb

  • Creating new Auto-Suggest Component

    Hi,
    I am new to ADF and looking for Auto-Suggest options. Found Franks code and it was really heplful.
    We tried to create a new component based on this but not able to use multiple components of the type on the same page/form.The problem we are thinking of is because of the popup having the same id for all the components we embed in.If we attach 3 components of this type to a form then one of the random ones work as per logic and other 2 not doing any pop ups at all.
    Could you please help us to resolve this please?
    Thanks
    Subha
    CODE
    suggestComponentModel.java
    package com.dstintl.ic.ui.component.suggestbox;
    import java.util.List;
    public interface SuggestComponentModel{
    * Method called to filter data shown in the suggest list. Initial
    * request is made with inMemory = false. If in memory sorting is
    * enabled then all subsequent calls are made passing trues as the
    * value for the inMemory parameter. Implementations may decid to
    * ignore the inMemory argument and always query the data source.
    public List<String> filteredValues(String filterCriteria,
    boolean inMemory);
    SuggestBoxTag.java+
    package com.dstintl.ic.ui.component.suggestbox;
    import javax.el.ValueExpression;
    import oracle.adf.view.rich.component.rich.fragment.RichDeclarativeComponent;
    import oracle.adfinternal.view.faces.taglib.region.RichDeclarativeComponentTag;
    import org.apache.myfaces.trinidad.bean.FacesBean;
    * ICDateComponent tag class.
    public class SuggestBoxTag extends RichDeclarativeComponentTag {
         /*input text properties*/
    private ValueExpression styleClass;
    private ValueExpression label;
    private ValueExpression required;
    private ValueExpression displayWidth;
    private ValueExpression maximumLength;
    private ValueExpression tooltip;
    private ValueExpression disabled;
    /*popup properties*/
    private ValueExpression itemList;
    * {@inheritDoc}
    @Override
    protected String getViewId() {
    return "/component/SuggestBox.jspx";
    * {@inheritDoc}
    @Override
    protected RichDeclarativeComponent createComponent() {
    return new SuggestBox();
    * {@inheritDoc}
    @Override
    public void release() {
    super.release();
    label = null;
    * {@inheritDoc}
    @Override
    protected void setProperties(final FacesBean bean) {
    super.setProperties(bean);
    /*Input text box properties*/
    if (label != null) {
    bean.setValueExpression(SuggestBox.LABEL_KEY, label);
    if (styleClass != null) {
    bean.setValueExpression(SuggestBox.STYLE_CLASS_KEY, styleClass);
    if (required != null) {
    bean.setValueExpression(SuggestBox.REQUIRED_KEY, required);
    if (displayWidth != null) {
    bean.setValueExpression(SuggestBox.DISPLAY_WIDTH_KEY, displayWidth);
    if (maximumLength != null) {
    bean.setValueExpression(SuggestBox.MAXIMUM_LENGTH_KEY, maximumLength);
    if (tooltip != null) {
    bean.setValueExpression(SuggestBox.TOOLTIP_KEY, tooltip);
    if (disabled != null) {
    bean.setValueExpression(SuggestBox.DISABLED_KEY, disabled);
    if (itemList != null) {
    bean.setValueExpression(SuggestBox.POPUP_SELECTITEMLIST_KEY, itemList);
    * @return label
    public ValueExpression getLabel() {
    return label;
    * @param label
    * label
    public void setLabel(ValueExpression label) {
    this.label = label;
    * @return style class.
    public ValueExpression getStyleClass() {
    return styleClass;
    * @param styleClass
    * style class.
    public void setStyleClass(ValueExpression styleClass) {
    this.styleClass = styleClass;
    * @param required
    * required.
         public void setrequired(ValueExpression required) {
              this.required = required;
    * @return required .
         public ValueExpression getrequired() {
              return required;
    * @param displayWidth
    * displayWidth.
         public void setDisplayWidth(ValueExpression displayWidth) {
              this.displayWidth = displayWidth;
    * @return displayWidth .
         public ValueExpression getDisplayWidth() {
              return displayWidth;
    * @param maximumLength
    * maximumLength.
         public void setmaximumLength(ValueExpression maximumLength) {
              this.maximumLength = maximumLength;
    * @return maximumLength .
         public ValueExpression getmaximumLength() {
              return maximumLength;
    * @param tooltip
    * tooltip.
         public void setTooltip(ValueExpression tooltip) {
              this.tooltip = tooltip;
    * @return tooltip .
         public ValueExpression getTooltip() {
              return tooltip;
    * @param disabled
    * disabled.
         public void setDisabled(ValueExpression disabled) {
              this.disabled = disabled;
    * @return disabled .
         public ValueExpression getDisabled() {
              return disabled;
    * @param itemList
    * itemList.
         public void setItemList(ValueExpression itemList) {
              this.itemList = itemList;
    * @return itemList .
         public ValueExpression getItemList() {
              return itemList;
    SuggestBox.java+
    package com.dstintl.ic.ui.component.suggestbox;
    import java.util.ArrayList;
    import java.util.List;
    import javax.faces.component.UIComponent;
    import javax.faces.model.SelectItem;
    import oracle.adf.view.rich.component.rich.fragment.RichDeclarativeComponent;
    import oracle.adf.view.rich.component.rich.input.RichSelectOneListbox;
    import oracle.adf.view.rich.context.AdfFacesContext;
    import oracle.adf.view.rich.render.ClientEvent;
    import org.apache.myfaces.trinidad.bean.PropertyKey;
    * suggestBox.
    public class SuggestBox extends RichDeclarativeComponent {
    /** label. **/
    public static final PropertyKey LABEL_KEY = PropertyKey.createPropertyKey("label");
    /** styleClass **/
    public static final PropertyKey STYLE_CLASS_KEY = PropertyKey.createPropertyKey("styleClass");
    /** required **/
    public static final PropertyKey REQUIRED_KEY = PropertyKey.createPropertyKey("required");
    /** displayWidth **/
    public static final PropertyKey DISPLAY_WIDTH_KEY = PropertyKey.createPropertyKey("displayWidth");
    /** precision **/
    public static final PropertyKey MAXIMUM_LENGTH_KEY = PropertyKey.createPropertyKey("maximumLength");
    /** toolTip **/
    public static final PropertyKey TOOLTIP_KEY = PropertyKey.createPropertyKey("tooltip");
    /**disabled **/
    public static final PropertyKey DISABLED_KEY = PropertyKey.createPropertyKey("disabled");
    /** itemList **/
    public static final PropertyKey POPUP_SELECTITEMLIST_KEY = PropertyKey.createPropertyKey("itemList");
    * Constructor.
    public SuggestBox() {
    * Gets the value set to the <code>label</code> attribute.
    * @return String label.
    public String getLabel() {
    String t = (String) getAttributes().get("label");
    return t;
    * Gets the value set to the <code>styleClass</code> attribute.
    * @return String styleClass.
    public String getStyleClass() {
    String t = (String) getAttributes().get("styleClass");
    return t;
    * Gets the value set to the <code>required</code> attribute.
    * @return b.
    public boolean getrequired() {
    Boolean b = (Boolean) getAttributes().get("required");
    return b;
    * Gets the value set to the <code>displayWidth</code> attribute.
    * @return String displayWidth.
    public String getDisplayWidth() {
    String t = (String) getAttributes().get("displayWidth");
    return t;
    * Gets the value set to the <code>precision</code> attribute.
    * @return String precision.
    public String getMaximumLength() {
    String t = (String) getAttributes().get("maximumLength");
    return t;
    * Gets the value set to the <code>toolTip</code> attribute.
    * @return String styleClass.
    public String getToolTip() {
    String t = (String) getAttributes().get("tooltip");
    return t;
    * Gets the value set to the <code>disabled</code> attribute.
    * @return b.
    public boolean getDisabled() {
    Boolean b = (Boolean) getAttributes().get("disabled");
    return b;
    * Main popUp functionality.
         /**Get popUpId label */
    private String popUpLabel;
    public void setPopUpLabel(String popUpLabel) {
              this.popUpLabel = popUpLabel;
         public String getPopUpLabel() {
              this.popUpLabel =(String) getAttributes().get("label");
              return popUpLabel;
    /** fullitemList from the binding **/
    private List<SelectItem> fullitemList;
    /** suggestedList - to populate list of suggestions squeezed from the fullitemList **/
    private List<SelectItem> suggestedList = new ArrayList<SelectItem>();
    /** suggestListBox - attached to the Main popUp RichSelectOneListbox**/
    private RichSelectOneListbox suggestListBox;
    * sets suggestListBox
         public void setSuggestListBox(RichSelectOneListbox suggestListBox) {
              this.suggestListBox = suggestListBox;
    * gets suggestListBox
    * @return suggestListBox
         public RichSelectOneListbox getSuggestListBox() {
              return suggestListBox;
    * Sets suggested list on the selectOneListbox component
    * @param suggestedList
    * suggestedList.
         public void setSuggestedList(List<SelectItem> suggestedList) {
              this.suggestedList = suggestedList;
    * Retrieves the list from the bindings and
    * initialise suggestedList with the full list(only done during initialisation)
    * @return suggestedList.
         public List<SelectItem> getSuggestedList() {
              if(fullitemList == null){
                   fullitemList = new ArrayList<SelectItem>();
         List<SelectItem> result = (List<SelectItem>) getAttributes().get("itemList");
         this.fullitemList.addAll(result);
         this.suggestedList.addAll(result);
              return suggestedList;
    * doFilterList - On Every user keystroke in the suggest input field, the browser client calls
    * the doFilterList method through the af:serverListerner component
    * af:selectoneListbox (popup) is refreshed at the end of each call to the doFileterList so that
    * new list value is populated.
    * @param clientEvent
    public void doFilterList(ClientEvent clientEvent) {
         if(suggestListBox == null) {
              UIComponent uic = clientEvent.getComponent();
              suggestListBox = (RichSelectOneListbox) uic.getChildren().get(0);
    // set the content for the suggest list
    String srchString = (String)clientEvent.getParameters().get("filterString");
    this.suggestedList.clear();
    for(SelectItem item : fullitemList) {
         if( item.getLabel().contains(srchString)){
         this.suggestedList.add(item);
    AdfFacesContext.getCurrentInstance().addPartialTarget(suggestListBox);
    SuggestBox.jspx+
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
         xmlns:f="http://java.sun.com/jsf/core"
         xmlns:h="http://java.sun.com/jsf/html"
         xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
         <jsp:directive.page contentType="text/html;charset=windows-1252" />
         <af:componentDef var="attrs" componentVar="component">
    <af:document>
    <f:facet name="metaContainer">
    <af:group>
    <![CDATA[
    <script>
    function handleKeyUpOnSuggestField(evt){
    // start the popup aligned to the component that launched it
    suggestPopup = evt.getSource().findComponent("suggestPopup");
    inputField = evt.getSource();
    //don't open when user "tabs" into field
    if (suggestPopup.isShowing() == false &&
    evt.getKeyCode()!= AdfKeyStroke.TAB_KEY){
    hints = {align:AdfRichPopup.ALIGN_AFTER_START, alignId:evt.getSource().getClientId()+"::content"};
    suggestPopup.show(hints);
    //disable popup hide to avoid popup to flicker on
    //key press
    suggestPopup.hide = function(){}
    //suppress server access for the following keys
    //for better performance
    if (evt.getKeyCode() == AdfKeyStroke.ARROWLEFT_KEY ||
    evt.getKeyCode() == AdfKeyStroke.ARROWRIGHT_KEY ||
    evt.getKeyCode() == AdfKeyStroke.ARROWDOWN_KEY ||
    evt.getKeyCode() == AdfKeyStroke.SHIFT_MASK ||
    evt.getKeyCode() == AdfKeyStroke.END_KEY ||
    evt.getKeyCode() == AdfKeyStroke.ALT_KEY ||
    evt.getKeyCode() == AdfKeyStroke.HOME_KEY) {
    return false;
    if (evt.getKeyCode() == AdfKeyStroke.ESC_KEY){
    hidePopup(evt);
    return false;
    // get the user typed values
    valueStr = inputField.getSubmittedValue();
    // query suggest list on the server
    AdfCustomEvent.queue(suggestPopup,"suggestServerListener",
    // Send single parameter
    {filterString:valueStr},true);
    // put focus back to the input text field
    setTimeout("inputField.focus();",400);
    //TAB and ARROW DOWN keys navigate to the suggest popup
    //we need to handle this in the key down event as otherwise
    //the TAB doesn't work
    function handleKeyDownOnSuggestField(evt){               
    if (evt.getKeyCode() == AdfKeyStroke.ARROWDOWN_KEY) {                   
    selectList = evt.getSource().findComponent("suggestListBox");
    selectList.focus();
    return false;
    else{
    return false;
    //method called when pressing a key or a mouse button
    //on the list
    function handleListSelection(evt){
    if(evt.getKeyCode() == AdfKeyStroke.ENTER_KEY ||
    evt.getType() == AdfUIInputEvent.CLICK_EVENT_TYPE){                                          
    var list = evt.getSource();
    evt.cancel();
    var listValue = list.getProperty("value");
    hidePopup(evt);
    inputField = evt.getSource().findComponent("suggestField");
    inputField.setValue(listValue);
    //cancel dialog
    else if (evt.getKeyCode() == AdfKeyStroke.ESC_KEY){
    hidePopup(evt);
    //function that re-implements the node functionality for the
    //popup to then call it
    function hidePopup(evt){
    var suggestPopup = evt.getSource().findComponent("suggestPopup");
    //re-implement close functionality
    suggestPopup.hide = AdfRichPopup.prototype.hide;
    suggestPopup.hide();
    </script>
    ]]>
    </af:group>
    </f:facet>
    <af:messages/>
    </af:document>
         <!-- START Suggest Field -->
         <af:inputText id="suggestField"
         clientComponent="true"
         disabled="#{attrs.disabled}"
         label="#{attrs.label}"
         required="#{attrs.required}"
         columns="#{attrs.displayWidth}"
         maximumLength="#{attrs.maximumLength}"
         styleClass="#{attrs.styleClass}"
         shortDesc="#{attrs.tooltip}">
         <af:clientListener method="handleKeyUpOnSuggestField"
                             type="keyUp"/>
         <af:clientListener method="handleKeyDownOnSuggestField"
         type="keyDown"/>
         </af:inputText>
         <!-- END Suggest Field -->
         <!-- START Suggest popUp -->
    <af:popup id="suggestPopup" contentDelivery="immediate" animate="false" clientComponent="true" >
         <af:selectOneListbox id="suggestListBox" contentStyle="width: 250px;"
         size="5" valuePassThru="true">
         <f:selectItems value="#{component.suggestedList}"/>
         <af:clientListener method="handleListSelection" type="keyUp"/>
         <af:clientListener method="handleListSelection" type="click"/>
         </af:selectOneListbox>
         <af:serverListener type="suggestServerListener"
         method="#{component.doFilterList}"/>
    </af:popup>
         <!-- END Suggest popUp -->
    <af:xmlContent>
                   <component xmlns="http://xmlns.oracle.com/adf/faces/rich/component">
    <display-name>suggestBox</display-name>
    <attribute>
    <attribute-name>id</attribute-name>
    </attribute>
                        <attribute>
    <attribute-name>label</attribute-name>
    </attribute>
    <component-extension>
    <component-tag-namespace>com.dstintl.ic.ui.component</component-tag-namespace>
    <component-taglib-uri>/com/dstintl/ic/ui/component</component-taglib-uri>
    </component-extension>
    </component>
    </af:xmlContent>
    </af:componentDef>
    </jsp:root>
    component.tld+
    <?xml version="1.0" encoding="windows-1252"?>
    <taglib xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1" xmlns="http://java.sun.com/xml/ns/javaee">
         <display-name>component</display-name>
         <tlib-version>1.0</tlib-version>
         <short-name>component</short-name>
         <uri>/com/dstintl/ic/ui/component</uri>
         <!--
              Component Name: SuggestBox Description: AutoSuggest or AutoComplete - shows a list of vales
              in a drop down list that is filtered by the user input in the input text field.
         -->
         <tag>
              <name>SuggestBox</name>
              <tag-class>com.dstintl.ic.ui.component.suggestbox.SuggestBoxTag</tag-class>
              <body-content>JSP</body-content>
              <attribute>
                   <name>label</name>
                   <required>false</required>
                   <deferred-value/>
              </attribute>
              <attribute>
                   <name>styleClass</name>
                   <required>false</required>
                   <deferred-value/>
              </attribute>
              <attribute>
                   <name>disabled</name>
                   <required>false</required>
                   <deferred-value/>
              </attribute>
              <attribute>
                   <name>required</name>
                   <required>false</required>
                   <deferred-value>
                        <type>boolean</type>
                   </deferred-value>
              </attribute>
              <attribute>
                   <name>displayWidth</name>
                   <required>false</required>
                   <deferred-value/>
              </attribute>
              <attribute>
                   <name>maximumLength</name>
                   <required>false</required>
                   <deferred-value/>
              </attribute>
              <attribute>
                   <name>tooltip</name>
                   <required>false</required>
                   <deferred-value/>
              </attribute>
              <attribute>
                   <name>itemList</name>
                   <required>false</required>
                   <deferred-value/>
              </attribute>
         </tag>
    </taglib>

    Hi Subha,
    you can distinct the different components using clientAttribute tag with clientListener
    <af:inputText id="suggestField" .....>
    <af:clientListener method="handleKeyUpOnSuggestField" type="keyUp"/>
    <af:clientListener ......"/>
    <af:*clientAttribute* name="eventName" value="myCustomEvent"/>
    <af:*clientAttribute* name="popupId" value="......"/>
    </af:inputText>
    in javascript you get the eventName or PopuId from the attribute
    component = event.getSource();
    var eventName = component.*getProperty* ("eventName");
    // Call the server
    AdfCustomEvent.queue(popup, *eventName*, ......);
    var popupId = component.*getProperty* ("popuId");
    var popup = AdfPage.PAGE.findComponent(popupId);
    Hope this help,
    Maroun

  • Auto suggest behavior for af:query component LOV fields.

    Hi,
    I am new to ADF development and need help on implementing auto suggest behavior to the LOV fields generated by af:query component. For inputList and inputCombo.. fields we can add af:autosuggestbehavior tag to enable this. How do we enable the same for af:query generated LOV fields.
    Regards,
    C.R

    Thanks Timo for such a quick response.
    JDev version we are using is 11.1.1.6.0
    Unfortunately, we have gone too far with the AF:Query and Everything else is working apart from Auto-Suggest on AF:Query. Now will take a lot of time to implement and test. Also, users will have to spend considerable time to test it again.
    Thanks and Regards,
    Satya

  • F:ajax auto refresh

    Hello,
    I am new to JSF and I am starting with JSF 2.0 + Facelets. I need to implement ajax auto refresh (I need some part of my page to refresh every 3 seconds), I guess using f:ajax. I don't know if it is possible and if I should use any approach different from straighforward and simple f:ajax tag.
    Thanks for any help/directions,
    Ignacio

    Hi harry5,
    According to your description, my understanding is that you want to switch the view of the custom list when one field is changed. Is it right?
    I suggest you use InfoPath to achieve it. You can customize the custom list with InfoPath by clicking ‘Customize Form’, then create multiple views for the form based on your requirement. After that, click Data->Form Load, then click rules based on the
    values of the status field to switch views.
    More information, please refer to the last section of the article:
    http://office.microsoft.com/en-001/infopath-help/add-delete-and-switch-views-pages-in-a-form-HA101732801.aspx
    I hope this helps.
    Thanks,
    Wendy
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Wendy Li
    TechNet Community Support

  • Error implementing Auto Suggest Behaviour (JDeveloper Tutorial)

    Hi,
    I'm using JDev 11g R2 on Mac OSX. In the JDeveloper Tutorial "Developing Rich Web Applications with Oracle ADF", Part 3, Step 3, I don't get the "Insert Auto Suggest Behavior dialog box", so I used the property inspector to enter "#{bindings.JobId.suggestedItems}" in the "SuggestedItems" property.
    When I run the application, and type a value in the JobId, I get the error:
    suggestedItems="#{bindings.JobId.suggestedItems}": Method not found: 0.suggestedItems(java.lang.String)
    I checked the bindings in "query.jsf", and they're all set.
    Does anyone have an idea what could be wrong?
    Kind regards,
    Philip

    The tutorial (http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_55/jdtut_11r2_55_3.html) suggests that you can drag and drop the auto suggest behavior onto the JobId. But you cannot.
    By default, the JobId item is not created as an element that can accept an auto suggest behavior. The source for the item should resemble:
                <af:inputComboboxListOfValues id="jobId1Id"
                                              popupTitle="Search and Select: #{bindings.JobId1.hints.label}"
                                              value="#{bindings.JobId1.inputValue}"
                                              label="#{bindings.JobId1.hints.label}"
                                              model="#{bindings.JobId1.listOfValuesModel}"
                                              required="#{bindings.JobId1.hints.mandatory}"
                                              columns="#{bindings.JobId1.hints.displayWidth}"
                                              shortDesc="#{bindings.JobId1.hints.tooltip}">
                    <f:validator binding="#{bindings.JobId1.validator}"/>
                    <af:autoSuggestBehavior suggestedItems="#{bindings.JobId1.suggestedItems}"/>
                </af:inputComboboxListOfValues>However, when the form itself is dropped onto the page, the JobId is created as a selectOneChoice.
    This seems to be an error with the tutorial (http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_55/jdtut_11r2_55_2.html).
    Edited by: Dolphin on Sep 29, 2012 2:37 PM

  • Help required with ADFS 3.0 client certificate authentication

    Hi,
    I am currently working on integrating ADFS 3.o for Single Sign On to some 3rd party services along with PKI solution. The basic requirement is that I should be able to choose client authentication certificate as an authentication method in ADFS and then
    federate user credentials to 3rd party trust for single-sign-on.
    I had done this successfully with ADFS 2.0 and that setup is working fine. I have the setup as ADFS 3.0 client authentication method enabled. When I open browser to logon, the ADFS 3.0 page displays a message as "Select a certificate that you want to
    use for authentication. If you cancel the operation, please close your browser and try again." but the certificates are not displayed for selection.
    The certificates are valid and have valid chaining to CA. Could someone help me resolve this issue?
    Thanks!
    -Chinmaya Karve

    Hi Yan,
    Thanks for your response. I have gone through the posts that you have suggested, and my setup looks pretty much as expected.
    So, as I mentioned earlier, I have 2 parallel setups with 3rd party service(SalesForce). Once of them is running ADFS 2.0 and another one has ADFS 3.0. I can logon to the third-party services, from both the setups using username/format. I can logon to SF
    using client authentication certificate from ADFS 2.0 setup, but from the same client machine, when I try to logon SF via ADFS 3.0, the browser just does not pick up any certificate. The page just shows message of "Select a certificate that you want to use
    for authentication. If you cancel the operation, please close your browser and try again.".
    I have checked the browser, and it has the right certificates. Also, the same browser/machine is used to logon to SF through ADFS 2.0 via client certificate, which works just fine !
    I am really confused now, as to whose issue this really is...
    Just to confirm, I am using Certificate Authentication from ADFS 3.0 Authentication Methods for both Intranet and Extranet.
    Any suggestion or inputs where I could have gone wrong in the setup?
    Thanks!

Maybe you are looking for