The Generic Picker component provides a mechanism to allow the user to define a search, show the results and then pick from those results. The component displays a simple HTML list box with a textbox for entering search text. When the user selects the Search button the component calls a query callback method which the developer will implement to return the results for the search text. The component optionally provides an Add button with action and actionListener method bindings as a hook point for interacting with the results. The component is designed to be highly flexible and most UI elements are optional and configurable.
showFilter - whether to show the optional Filter drop-down control. Default is true.
showContains - whether to show the Contains textbox search text control. Default is true.
showAddButton - whether to show the Add button control. Default is true.
filterRefresh - whether the component should immediately refresh its results when the selection in the filter drop-down control is changed. Default is false.
addButtonLabel - override for the Add button control text label. Default is to use a string from the default messages bundle.
action - command outcome action value executed when the Add button is clicked.
actionListener - command listener method binding executed when the Add button is clicked.
width - width of the results area in pixels. Default is 250.
height - height of the results area in pixels. Default is 100.
filters - bean property binding that must return an array of SelectItem objects. The objects define the list of items to be shown in the Filter drop-down control. This property is mandatory if the showFilter property is set to true.
queryCallback - bean method binding that will execute a query as appropriate for the selector. The method is passed the Contains text value entered by the user and the index of the filter drop-down selection if any. The method should return an array of SelectItem objects which represent the list of results to display to the user for selection. Method signature:
/** * Query callback method executed by the Generic Picker component. * This method is part of the contract to the Generic Picker, it is up to the backing bean * to execute whatever query is appropriate and return the results. * * @param filterIndex Index of the filter drop-down selection * @param contains Text from the contains textbox * * @return An array of SelectItem objects containing the results to display in the picker. */ public SelectItem pickerCallback(int filterIndex, String contains);
Example showing the component with basic defaults setup to get filters and execute a query and call the specified actionListener handler when the user presses the Add button: