public class AjaxAutoComplete extends AjaxComponent
This is a component that looks like a text field, where when you start entering value, it starts giving you a menu of options related to what you type. Think about the auto-completion feature of many IDE (XCode / Eclipse) inside a textField.
The scriptaculous library has 2 versions of the autocompleter combo-box: a local version and an ajax version.
isLocal
binding. Then the list
binding will
need to provide all the objects needed to be found. Filtering of the list as
you type will be done client-side, all javascript.
Name | Description |
---|---|
list | bound to a method that should return the whole list of object to be displayed. When used in an Ajax context, the component will push first to the value binding, giving you the chance to narrow the list of elements displayed. When used in a local context, the list should contain all possible objects. The list will be filtered by the scriptaculous engine. |
value | string that will hold the text entered in the field. It is continuously updated. |
item | pushed and pulled the current element of the list. This can be used to customized the string representation (in conjunction with the displayString binding) of the object. |
displayString | optional custom string representation of the current element. |
escapeHTML | pass false to prevent escaping of HTML in the
displayString value, defaults to true . This is applied
only when isLocal is false. |
isLocal | boolean indicating if you want the list to be completely client-side. Binding a true value, would mean that the list will be filtered on the client. |
isLocalSharedList | boolean indicating if the list needs to be shared. |
localSharedVarName | the name of the javascript variable to use to store the list in. The list is stored in the userInfo dictionary on the server side to allow for shared use by multiple auto complete components. |
token | token |
frequency | Look at the scriptaculous documentation. |
minChars | Look at the scriptaculous documentation. |
indicator | Look at the scriptaculous documentation. |
updateElement | Look at the scriptaculous documentation. |
afterUpdateElement | Look at the scriptaculous documentation. Also, a value of "observe" will generate javascript to submit change to server when item selected from list. Provided because {@link AjaxObserveField} doesn't work on {@link AjaxAutoComplete} fields. |
select | Look at the scriptaculous documentation. |
onShow | Look at the scriptaculous documentation. |
fullSearch | Look at the scriptaculous documentation. |
partialSearch | Look at the scriptaculous documentation. |
choices | Look at the scriptaculous documentation (Local only) |
partialChars | Look at the scriptaculous documentation (Local only) |
ignoreCase | Look at the scriptaculous documentation (Local only) |
accesskey | hot key that should activate the text field (optional) |
tabindex | tab index of the text field (optional) |
default | hint for the text field, when used together with {@link AjaxTextHinter}. |
selection | if set, if the text field's string matches the displayString of one of the objects in the provided list, that object will be bound back as the selection. currently this only supports displayString renderers and not child templates |
class | class attribute of the text field |
style | class attribute of the text field |
onblur | onblur attribute of the text field |
onfocus | onfocus attribute of the text field |
onchange | onchange attribute of the text field |
onmouseup | onmouseup attribute of the text field |
onmousedown | onmousedown attribute of the text field |
onclick | onclick attribute of the text field |
activateOnFocus | activate when text field gets focus |
containerId | tag id for the container of the popup div (default is body) |
com.webobjects.appserver.WOComponent._EventLoggingEnabler, com.webobjects.appserver.WOComponent.Event
com.webobjects.foundation.NSKeyValueCodingAdditions.DefaultImplementation, com.webobjects.foundation.NSKeyValueCodingAdditions.Utility
com.webobjects.foundation.NSKeyValueCoding._BooleanFieldBinding, com.webobjects.foundation.NSKeyValueCoding._BooleanMethodBinding, com.webobjects.foundation.NSKeyValueCoding._FieldBinding, com.webobjects.foundation.NSKeyValueCoding._ForwardingBinding, com.webobjects.foundation.NSKeyValueCoding._KeyBinding, com.webobjects.foundation.NSKeyValueCoding._KeyBindingCreation, com.webobjects.foundation.NSKeyValueCoding._MethodBinding, com.webobjects.foundation.NSKeyValueCoding._NumberFieldBinding, com.webobjects.foundation.NSKeyValueCoding._NumberMethodBinding, com.webobjects.foundation.NSKeyValueCoding._ReflectionKeyBindingCreation, com.webobjects.foundation.NSKeyValueCoding.ErrorHandling, com.webobjects.foundation.NSKeyValueCoding.MapImplementation, com.webobjects.foundation.NSKeyValueCoding.Null<T>, com.webobjects.foundation.NSKeyValueCoding.UnknownKeyException, com.webobjects.foundation.NSKeyValueCoding.ValueAccessor
com.webobjects.foundation.NSValidation._MethodBinding, com.webobjects.foundation.NSValidation._ValidationBinding, com.webobjects.foundation.NSValidation.DefaultImplementation, com.webobjects.foundation.NSValidation.Utility, com.webobjects.foundation.NSValidation.ValidationException
Modifier and Type | Field and Description |
---|---|
String |
divName |
String |
fieldName |
String |
indicatorName |
_Extension, _IsEventLoggingEnabled, _keyAssociations
Constructor and Description |
---|
AjaxAutoComplete(com.webobjects.appserver.WOContext context) |
Modifier and Type | Method and Description |
---|---|
protected void |
addRequiredWebResources(com.webobjects.appserver.WOResponse res)
Adds all required resources.
|
protected void |
appendItemToResponse(Object value,
com.webobjects.appserver.WOElement child,
boolean hasItem,
com.webobjects.appserver.WOResponse response,
com.webobjects.appserver.WOContext context) |
void |
appendToResponse(com.webobjects.appserver.WOResponse res,
com.webobjects.appserver.WOContext ctx)
Overridden to add the initialization javascript for the auto completer.
|
void |
awake()
Overridden to set the IDs for the field and the div tag.
|
protected NSDictionary<String,String> |
createAjaxOptions() |
protected String |
displayStringForValue(Object value) |
com.webobjects.appserver.WOActionResults |
handleRequest(com.webobjects.appserver.WORequest request,
com.webobjects.appserver.WOContext context)
Handles the Ajax request.
|
String |
indicator() |
boolean |
isStateless()
Overridden because the component is stateless
|
protected String |
listeJS() |
protected int |
maxItems() |
void |
setStringValue(String strValue) |
void |
sleep() |
String |
stringValue() |
String |
zcontainerName() |
_containerID, addScriptResourceInHead, addScriptResourceInHead, addStylesheetResourceInHead, addStylesheetResourceInHead, appendTagAttributeToResponse, booleanValueForBinding, invokeAction, safeElementID, shouldHandleRequest, valueForBinding, valueForBinding, valueForBinding
__valueForBinding, _associationWithName, _awakeInContext, _childTemplate, _cleanUpStatelessComponent, _componentDefinition, _componentUnroll, _isPage, _setContext, _setIsPage, _setParent, _setSubcomponent, _sleepInContext, _subcomponentForElementWithID, _templateNameForClass, _unroll, application, baseURL, bindingKeys, canAccessFieldsDirectly, canGetValueForBinding, canSetValueForBinding, clone, context, debugString, descriptionForResponse, ensureAwakeInContext, frameworkName, generateResponse, handleQueryWithUnboundKey, handleTakeValueForUnboundKey, hasBinding, hasSession, isCachingEnabled, isEventLoggingEnabled, logString, name, pageWithName, parent, path, pathURL, performParentAction, pullValuesFromParent, pushValuesToParent, reset, session, set_componentUnroll, set_unroll, setCachingEnabled, setValueForBinding, setVariableValueForName, synchronizesVariablesWithBindings, takeValueForKey, takeValueForKeyPath, takeValuesFromRequest, template, templateWithHTMLString, templateWithHTMLString, templateWithHTMLString, templateWithName, toString, unableToSetNullForKey, validateTakeValueForKeyPath, validateValueForKey, validationFailedWithException, valueForBinding, valueForBooleanBinding, valueForIntegerBinding, valueForKey, valueForKeyPath, valueForNSArrayBindings, valueForNSDictionaryBindings, valueForNumberBinding, valueForStringBinding, variableValueForName, variableWithName
public String divName
public String fieldName
public String indicatorName
public AjaxAutoComplete(com.webobjects.appserver.WOContext context)
public void awake()
awake
in class com.webobjects.appserver.WOComponent
public void sleep()
sleep
in class com.webobjects.appserver.WOComponent
public boolean isStateless()
isStateless
in class com.webobjects.appserver.WOComponent
public String indicator()
protected NSDictionary<String,String> createAjaxOptions()
public void appendToResponse(com.webobjects.appserver.WOResponse res, com.webobjects.appserver.WOContext ctx)
appendToResponse
in class AjaxComponent
res
- the HTTP response that an application returns to a Web server to complete a cycle of the request-response loopctx
- context of a transactionprotected String listeJS()
protected void addRequiredWebResources(com.webobjects.appserver.WOResponse res)
addRequiredWebResources
in class AjaxComponent
res
- the response to write topublic String stringValue()
protected int maxItems()
public void setStringValue(String strValue)
protected void appendItemToResponse(Object value, com.webobjects.appserver.WOElement child, boolean hasItem, com.webobjects.appserver.WOResponse response, com.webobjects.appserver.WOContext context)
public com.webobjects.appserver.WOActionResults handleRequest(com.webobjects.appserver.WORequest request, com.webobjects.appserver.WOContext context)
handleRequest
in interface IAjaxElement
handleRequest
in class AjaxComponent
request
- the requestcontext
- the contextpublic String zcontainerName()
Copyright © 2002 – 2020 Project Wonder.