Module org.apache.wicket.extensions
Class AbstractAutoCompleteRenderer<T>
java.lang.Object
org.apache.wicket.extensions.ajax.markup.html.autocomplete.AbstractAutoCompleteRenderer<T>
- Type Parameters:
T-
- All Implemented Interfaces:
Serializable,IAutoCompleteRenderer<T>,IDetachable,org.apache.wicket.util.io.IClusterable
- Direct Known Subclasses:
AbstractAutoCompleteTextRenderer
public abstract class AbstractAutoCompleteRenderer<T>
extends Object
implements IAutoCompleteRenderer<T>
A renderer that abstracts auto-assist specific details and allows subclasses to only render the
visual part of the assist instead of having to also render the necessary auto-assist javascript
hooks.
- Since:
- 1.2
- Author:
- Igor Vaynberg (ivaynberg)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected CharSequenceAllows the execution of a custom javascript expression when an item is selected in the autocompleter popup (either by clicking on it or hitting enter on the current selection).protected abstract StringgetTextValue(T object) Retrieves the text value that will be set on the textbox if this assist is selectedvoidRender the html fragment for the given completion object.protected abstract voidrenderChoice(T object, org.apache.wicket.request.Response response, String criteria) Render the visual portion of the assist.voidrenderFooter(org.apache.wicket.request.Response response, int count) Render the html footer fragment for the completion.voidrenderHeader(org.apache.wicket.request.Response response) Render the html header fragment for the completion.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.wicket.extensions.ajax.markup.html.autocomplete.IAutoCompleteRenderer
detach
-
Constructor Details
-
AbstractAutoCompleteRenderer
public AbstractAutoCompleteRenderer()
-
-
Method Details
-
render
Description copied from interface:IAutoCompleteRendererRender the html fragment for the given completion object. Usually the html is written out by callingResponse.write(CharSequence).- Specified by:
renderin interfaceIAutoCompleteRenderer<T>- Parameters:
object- completion choice objectresponse- response objectcriteria- text entered by user so far
-
renderHeader
Description copied from interface:IAutoCompleteRendererRender the html header fragment for the completion. Usually the html is written out by callingResponse.write(CharSequence).- Specified by:
renderHeaderin interfaceIAutoCompleteRenderer<T>
-
renderChoice
protected abstract void renderChoice(T object, org.apache.wicket.request.Response response, String criteria) Render the visual portion of the assist. Usually the html representing the assist choice object is written out to the response useResponse.write(CharSequence)- Parameters:
object- current assist choiceresponse-criteria-
-
getTextValue
Retrieves the text value that will be set on the textbox if this assist is selected- Parameters:
object- assist choice object- Returns:
- the text value that will be set on the textbox if this assist is selected
-
getOnSelectJavaScriptExpression
Allows the execution of a custom javascript expression when an item is selected in the autocompleter popup (either by clicking on it or hitting enter on the current selection). The javascript to execute must be a javascript expression that will be processed using javascript's eval(). The function should return the textvalue to copy it into the corresponding form input field (the default behavior). the current text value will be in variable 'input'. If the function returnsnullthe chosen text value will be ignored. example 1:protected CharSequence getOnSelectJavaScript(Address address) { final StringBuilder js = new StringBuilder(); js.append("Wicket.DOM.get('street').value ='" + address.getStreet() + "';"); js.append("Wicket.DOM.get('zipcode').value ='" + address.getZipCode() + "';"); js.append("Wicket.DOM.get('city').value ='" + address.getCity() + "';"); js.append("arguments[0]"); // <-- do not use return statement here! return js.toString(); }example 2:protected CharSequence getOnSelectJavaScript(Currency currency) { final StringBuilder js = new StringBuilder(); js.append("val rate = ajaxGetExchangeRateForCurrency(currencySymbol);"); js.append("if(rate == null) alert('exchange rate service currently not available');"); js.append("rate"); return js.toString(); }Then the autocompleter popup will be closed.- Parameters:
item- the autocomplete item to get a custom javascript expression for- Returns:
- javascript to execute on selection or
nullif default behavior is intended
-