Oracle Fusion Middleware Tag Reference for Oracle ADF Faces 12c (12.2.1.4.0) E81455-03

# <af:suggestionsSection>

af:suggestionsSection suggestionsSection suggestions section

UIComponent class: oracle.adf.view.rich.component.rich.data.RichSuggestionsSection
Component type: oracle.adf.RichSuggestionsSection

The component manages a list of preferred suggestions based on various factors on the client. The parent inputSearch component retrieves the list managed by this component and displays it in UI. The preferred suggestions list managed by this component is a subset of the suggestions retrieved via the REST service. Implementation Details:

- Ordering of suggestions in the UI is implementation specific. The current implementation scores the suggestions based on recency, number of times the suggestions item is selected and time based decay.
- The preferred suggestions list represented by af:suggestionsSection may not be displayed by af:inputSearch component if the master list of suggestions managed by af:inputSerch is small. Determining if the master list is small is an implementation detail.
- Determining the master list length is small could lag e.g. the first time the suggestions popup is launched, the master list length will be determined, and in such cases, the preferred suggestions list will displayed even if the suggestions list length is small.

## Code Example(s)

    <af:inputSearch label="Label" valueAttribute="id">
                  <af:searchSection type="default" dataUrl="/rest/employees" />
                  <af:suggestionsSection />
                </af:inputSearch>

## Events

Type | Phases | Description
--- | --- | ---
org.apache.myfaces.trinidad.event.AttributeChangeEvent | Invoke, Application, Apply, Request, Values | Event delivered to describe an attribute change. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change event might include the width of a column that supported client-side resizing.

## Supported Facets

Name | Description
--- | ---
header | HTML template to be used as per section header. Mustache is the templating system supported by the component.

## Attributes

Name | Type | Supports EL? | Description
attributeChangeListener | javax.el.MethodExpression | Only EL | a method reference to an attribute change listener. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change events might include the width of a column that supported client-side resizing.
binding | oracle.adf.view.rich.component.rich.data.RichSuggestionsSection | Only EL | an EL reference that will store the component instance on a bean. This can be used to give programmatic access to a component from a backing bean, or to move creation of the component to a backing bean.
cacheKeyGenerator | String | Yes | The attribute holds the name of a JS function. The return value of this function will be used as the key for client storage. The normalized URL of the default searchSection is passed as a parameter to the function, and the function's "this" keyword will refer to the parent inputSearch component instance. Sample JS method:
    function privateList(normalizedUrl)
            {
              // "this" refers to parent inputSearch component
              return this.getClientId();
            }
displayCount | int | Yes | Default Value: 5 Max number of suggestions to be displayed in the UI
dontCache | java.util.Set | Yes | A set of attribute names, whose values from the row data shouldn't be cached on the client
id | String | No | the identifier for the component. Every component may be named by a component identifier that must conform to the following rules: They must start with a letter (as defined by the Character.isLetter() method) or underscore ( _ ). Subsequent characters must be letters (as defined by the Character.isLetter() method), digits as defined by the Character.isDigit() method, dashes ( - ), or underscores ( _ ). To minimize the size of responses generated by JavaServer Faces, it is recommended that component identifiers be as short as possible. If a component has been given an identifier, it must be unique in the namespace of the closest ancestor to that component that is a NamingContainer (if any).
rendered | boolean | Yes | Default Value: true whether the component is rendered. When set to false, no output will be delivered for this component (the component will not in any way be rendered, and cannot be made visible on the client). If you want to change a component's rendered attribute from false to true using PPR, set the partialTrigger attribute of its parent component so the parent refreshes and in turn will render this component.