Packagefeathers.controls
Classpublic class AutoComplete
InheritanceAutoComplete Inheritance TextInput Inheritance FeathersControl Inheritance starling.display.Sprite

A text input that provides a pop-up list with suggestions as you type.

The following example creates an AutoComplete with a local collection of suggestions:

     var input:AutoComplete = new AutoComplete();
     input.source = new LocalAutoCompleteSource( new ListCollection(new <String>
     [
         "Apple",
         "Banana",
         "Cherry",
         "Grape",
         "Lemon",
         "Orange",
         "Watermelon"
     ]));
     this.addChild( input );

See also

How to use the Feathers AutoComplete component
feathers.controls.TextInput


Public Properties
 PropertyDefined By
  autoCompleteDelay : Number
The time, in seconds, after the text has changed before requesting suggestions from the IAutoCompleteSource.
AutoComplete
 InheritedbackgroundDisabledSkin : DisplayObject
The skin used for the input's disabled state.
TextInput
 InheritedbackgroundEnabledSkin : DisplayObject
The skin used for the input's enabled state.
TextInput
 InheritedbackgroundFocusedSkin : DisplayObject
The skin used for the input's focused state.
TextInput
 InheritedbackgroundSkin : DisplayObject
The skin used when no other skin is defined for the current state.
TextInput
 Inheritedbaseline : Number
[read-only] The baseline measurement of the text, in pixels.
TextInput
  customListStyleName : String
A style name to add to the list sub-component of the AutoComplete.
AutoComplete
 InheriteddefaultIcon : DisplayObject
The icon used when no other icon is defined for the current state.
TextInput
 InheriteddefaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
 InheriteddefaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheriteddepth : int
[read-only] The component's depth in the display list, relative to the stage.
FeathersControl
 InheriteddisabledIcon : DisplayObject
The icon used for the input's disabled state.
TextInput
 InheriteddisplayAsPassword : Boolean
Determines if the entered text will be masked so that it cannot be seen, such as for a password input.
TextInput
 InheritedenabledIcon : DisplayObject
The icon used for the input's enabled state.
TextInput
 InheritedfocusedIcon : DisplayObject
The icon used for the input's focused state.
TextInput
 InheritedfocusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 InheritedfocusManager : IFocusManager
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
FeathersControl
 InheritedfocusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 InheritedfocusPaddingBottom : Number
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingLeft : Number
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingRight : Number
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingTop : Number
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
FeathersControl
 Inheritedgap : Number
The space, in pixels, between the icon and the text editor, if an icon exists.
TextInput
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all AutoComplete components.
AutoComplete
 InheritedhasFocus : Boolean
[read-only] When the FocusManager isn't enabled, hasFocus can be used instead of FocusManager.focus == textInput to determine if the text input has focus.
TextInput
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
 InheritedisCreated : Boolean
[read-only] Determines if the component has been initialized and validated for the first time.
FeathersControl
 InheritedisEditable : Boolean
Determines if the text input is editable.
TextInput
 InheritedisEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFocusEnabled : Boolean
FeathersControl
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
  listFactory : Function
A function used to generate the pop-up list sub-component.
AutoComplete
  listProperties : Object
An object that stores properties for the auto-complete's pop-up list sub-component, and the properties will be passed down to the pop-up list when the auto-complete validates.
AutoComplete
 InheritedmaxChars : int
The maximum number of characters that may be entered.
TextInput
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
  minimumAutoCompleteLength : Number
The minimum number of entered characters required to request suggestions from the IAutoCompleteSource.
AutoComplete
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritednativeFocus : InteractiveObject
[read-only] A text editor may be an INativeFocusOwner, so we need to return the value of its nativeFocus property.
TextInput
 InheritednextTabFocus : IFocusDisplayObject
FeathersControl
 Inheritedpadding : Number
Quickly sets all padding properties to the same value.
TextInput
 InheritedpaddingBottom : Number
The minimum space, in pixels, between the input's bottom edge and the input's content.
TextInput
 InheritedpaddingLeft : Number
The minimum space, in pixels, between the input's left edge and the input's content.
TextInput
 InheritedpaddingRight : Number
The minimum space, in pixels, between the input's right edge and the input's content.
TextInput
 InheritedpaddingTop : Number
The minimum space, in pixels, between the input's top edge and the input's content.
TextInput
  popUpContentManager : IPopUpContentManager
A manager that handles the details of how to display the pop-up list.
AutoComplete
 InheritedpreviousTabFocus : IFocusDisplayObject
FeathersControl
 Inheritedprompt : String
The prompt, hint, or description text displayed by the input when the value of its text is empty.
TextInput
 InheritedpromptFactory : Function
A function used to instantiate the prompt text renderer.
TextInput
 InheritedpromptProperties : Object
An object that stores properties for the input's prompt text renderer sub-component, and the properties will be passed down to the text renderer when the input validates.
TextInput
 Inheritedrestrict : String
Limits the set of characters that may be entered.
TextInput
 InheritedselectionBeginIndex : int
[read-only] The index of the first character of the selection.
TextInput
 InheritedselectionEndIndex : int
[read-only] The index of the last character of the selection.
TextInput
  source : IAutoCompleteSource
The source of the suggestions that appear in the pop-up list.
AutoComplete
 InheritedstateToIconFunction : Function
Returns an icon for the current state.
TextInput
 InheritedstateToSkinFunction : Function
Returns a skin for the current state.
TextInput
 InheritedstyleName : String
The concatenated styleNameList, with values separated by spaces.
FeathersControl
 InheritedstyleNameList : TokenList
[read-only] Contains a list of all "styles" assigned to this control.
FeathersControl
 InheritedstyleProvider : IStyleProvider
When a component initializes, a style provider may be used to set properties that affect the component's visual appearance.
FeathersControl
 Inheritedtext : String
The text displayed by the text input.
TextInput
 InheritedtextEditorFactory : Function
A function used to instantiate the text editor.
TextInput
 InheritedtextEditorProperties : Object
An object that stores properties for the input's text editor sub-component, and the properties will be passed down to the text editor when the input validates.
TextInput
 InheritedtypicalText : String
The text used to measure the input when the dimensions are not set explicitly (in addition to using the background skin for measurement).
TextInput
 InheritedverticalAlign : String
The location where the text editor is aligned vertically (on the y-axis).
TextInput
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
Protected Properties
 PropertyDefined By
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
 InheritedcurrentBackground : DisplayObject
The currently selected background, based on state.
TextInput
 InheritedcurrentIcon : DisplayObject
The currently visible icon.
TextInput
 InheritedcurrentState : String
The current state of the input.
TextInput
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the globalStyleProvider property is set to this value.
FeathersControl
 InheritedexplicitHeight : Number = NaN
The height value explicitly set by calling the height setter or setSize().
FeathersControl
 InheritedexplicitWidth : Number = NaN
The width value explicitly set by calling the width setter or setSize().
FeathersControl
  list : List
The list sub-component.
AutoComplete
  listStyleName : String = feathers-auto-complete-list
The default value added to the styleNameList of the pop-up list.
AutoComplete
 InheritedpromptTextRenderer : ITextRenderer
The prompt text renderer sub-component.
TextInput
 InheritedstateNames : Vector.<String>
[read-only] A list of all valid state names for use with currentState.
TextInput
 InheritedtextEditor : ITextEditor
The text editor sub-component.
TextInput
Public Methods
 MethodDefined By
  
Constructor.
AutoComplete
 Inherited
clearFocus():void
Manually removes focus from the text input control.
TextInput
  
closeList():void
Closes the pop-up list, if it is open.
AutoComplete
  
dispose():void
[override] Disposes the display object.
AutoComplete
 Inherited
hideFocus():void
If the visual indicator of focus has been displayed by showFocus(), call this function to hide it.
FeathersControl
 Inherited
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending.
FeathersControl
 Inherited
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not.
FeathersControl
 Inherited
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single function call.
FeathersControl
  
openList():void
Opens the pop-up list, if it isn't already open.
AutoComplete
 Inherited
selectRange(beginIndex:int, endIndex:int = -1):void
Sets the range of selected characters.
TextInput
 Inherited
setFocus():void
Focuses the text input control so that it may be edited.
TextInput
 Inherited
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single function call.
FeathersControl
 Inherited
showFocus():void
[override] If the object has focus, an additional visual indicator may optionally be displayed to highlight the object.
TextInput
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
 Inherited
If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself.
TextInput
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
  
createList():void
Creates and adds the list sub-component and removes the old instance, if one exists.
AutoComplete
 Inherited
Creates and adds the textEditor sub-component and removes the old instance, if one exists.
TextInput
 Inherited
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
 Inherited
focusInHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_IN that may be overridden in subclasses to perform additional actions when the component receives focus.
FeathersControl
 Inherited
focusOutHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_OUT that may be overridden in subclasses to perform additional actions when the component loses focus.
FeathersControl
 Inherited
initialize():void
Called the first time that the UI control is added to the stage, and you should override this function to customize the initialization process.
FeathersControl
 Inherited
Positions and sizes the text input's children.
TextInput
 Inherited
Sets the currentBackground property.
TextInput
 Inherited
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
Sets the currentIcon property.
TextInput
 Inherited
setInvalidationFlag(flag:String):void
Sets an invalidation flag.
FeathersControl
 Inherited
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
Events
 Event Summary Defined By
 InheritedDispatched when the text input's text property changes.TextInput
  Dispatched when the pop-up list is closed.AutoComplete
 InheritedDispatched after the component has validated for the first time.FeathersControl
 InheritedDispatched when the user presses the Enter key while the text input has focus.TextInput
 InheritedDispatched when the text input receives focus.TextInput
 InheritedDispatched when the text input loses focus.TextInput
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
  Dispatched when the pop-up list is opened.AutoComplete
 InheritedDispatched when the width or height of the control changes.FeathersControl
 InheritedDispatched when the soft keyboard is activated by the text editor.TextInput
 InheritedDispatched when the soft keyboard is deactivated by the text editor.TextInput
Public Constants
 ConstantDefined By
 InheritedALTERNATE_NAME_SEARCH_TEXT_INPUT : String = feathers-search-text-input
[static] DEPRECATED: Replaced by TextInput.ALTERNATE_STYLE_NAME_SEARCH_TEXT_INPUT.
TextInput
 InheritedALTERNATE_STYLE_NAME_SEARCH_TEXT_INPUT : String = feathers-search-text-input
[static] An alternate style name to use with TextInput to allow a theme to give it a search input style.
TextInput
  DEFAULT_CHILD_STYLE_NAME_LIST : String = feathers-auto-complete-list
[static] The default value added to the styleNameList of the pop-up list.
AutoComplete
 InheritedINVALIDATION_FLAG_ALL : String = all
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
 InheritedINVALIDATION_FLAG_DATA : String = data
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_FOCUS : String = focus
[static] Invalidation flag to indicate that the focus of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_LAYOUT : String = layout
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SCROLL : String = scroll
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SELECTED : String = selected
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SIZE : String = size
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SKIN : String = skin
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STATE : String = state
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STYLES : String = styles
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
 InheritedSTATE_DISABLED : String = disabled
[static] The TextInput is disabled.
TextInput
 InheritedSTATE_ENABLED : String = enabled
[static] The TextInput is enabled and does not have focus.
TextInput
 InheritedSTATE_FOCUSED : String = focused
[static] The TextInput is enabled and has focus.
TextInput
 InheritedVERTICAL_ALIGN_BOTTOM : String = bottom
[static] The text editor, icon, and prompt will be aligned vertically to the bottom edge of the text input.
TextInput
 InheritedVERTICAL_ALIGN_JUSTIFY : String = justify
[static] The text editor will fill the full height of the text input (minus top and bottom padding).
TextInput
 InheritedVERTICAL_ALIGN_MIDDLE : String = middle
[static] The text editor, icon, and prompt will be aligned vertically to the middle of the text input.
TextInput
 InheritedVERTICAL_ALIGN_TOP : String = top
[static] The text editor, icon, and prompt will be aligned vertically to the top edge of the text input.
TextInput
Property Detail
autoCompleteDelayproperty
autoCompleteDelay:Number

The time, in seconds, after the text has changed before requesting suggestions from the IAutoCompleteSource.

In the following example, the delay is changed to 1.5 seconds:

         input.autoCompleteDelay = 1.5;

The default value is 0.5.


Implementation
    public function get autoCompleteDelay():Number
    public function set autoCompleteDelay(value:Number):void

See also

customListStyleNameproperty 
customListStyleName:String

A style name to add to the list sub-component of the AutoComplete. Typically used by a theme to provide different styles to different AutoComplete instances.

In the following example, a custom list style name is passed to the AutoComplete:

         input.customListStyleName = "my-custom-list";

In your theme, you can target this sub-component style name to provide different styles than the default:

         getStyleProviderForClass( List ).setFunctionForStyleName( "my-custom-list", setCustomListStyles );

The default value is null.


Implementation
    public function get customListStyleName():String
    public function set customListStyleName(value:String):void

See also

globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all AutoComplete components. If null, falls back to using TextInput.globalStyleProvider instead.

The default value is null.

See also

listproperty 
protected var list:List

The list sub-component.

For internal use in subclasses.

See also

listFactoryproperty 
listFactory:Function

A function used to generate the pop-up list sub-component. The list must be an instance of List. This factory can be used to change properties on the list when it is first created. For instance, if you are skinning Feathers components without a theme, you might use this factory to set skins and other styles on the list.

The function should have the following signature:

function():List

In the following example, a custom list factory is passed to the AutoComplete:

         input.listFactory = function():List
         {
             var popUpList:List = new List();
             popUpList.backgroundSkin = new Image( texture );
             return popUpList;
         };

The default value is null.


Implementation
    public function get listFactory():Function
    public function set listFactory(value:Function):void

See also

listPropertiesproperty 
listProperties:Object

An object that stores properties for the auto-complete's pop-up list sub-component, and the properties will be passed down to the pop-up list when the auto-complete validates. For a list of available properties, refer to feathers.controls.List.

If the subcomponent has its own subcomponents, their properties can be set too, using attribute @ notation. For example, to set the skin on the thumb which is in a SimpleScrollBar, which is in a List, you can use the following syntax:

list.verticalScrollBarProperties.@thumbProperties.defaultSkin = new Image(texture);

Setting properties in a listFactory function instead of using listProperties will result in better performance.

In the following example, the list properties are passed to the auto complete:

         input.listProperties.backgroundSkin = new Image( texture );

The default value is null.


Implementation
    public function get listProperties():Object
    public function set listProperties(value:Object):void

See also

listStyleNameproperty 
protected var listStyleName:String = feathers-auto-complete-list

The default value added to the styleNameList of the pop-up list. This variable is protected so that sub-classes can customize the list style name in their constructors instead of using the default style name defined by DEFAULT_CHILD_STYLE_NAME_LIST.

To customize the pop-up list name without subclassing, see customListStyleName.

See also

minimumAutoCompleteLengthproperty 
minimumAutoCompleteLength:Number

The minimum number of entered characters required to request suggestions from the IAutoCompleteSource.

In the following example, the minimum number of characters is changed to 3:

         input.minimumAutoCompleteLength = 3;

The default value is 2.


Implementation
    public function get minimumAutoCompleteLength():Number
    public function set minimumAutoCompleteLength(value:Number):void

See also

popUpContentManagerproperty 
popUpContentManager:IPopUpContentManager

A manager that handles the details of how to display the pop-up list.

In the following example, a pop-up content manager is provided:

         input.popUpContentManager = new CalloutPopUpContentManager();

The default value is null.


Implementation
    public function get popUpContentManager():IPopUpContentManager
    public function set popUpContentManager(value:IPopUpContentManager):void
sourceproperty 
source:IAutoCompleteSource

The source of the suggestions that appear in the pop-up list.

In the following example, a source of suggestions is provided:

         input.source = new LocalAutoCompleteSource( new ListCollection(new <String>
         [
             "Apple",
             "Banana",
             "Cherry",
             "Grape",
             "Lemon",
             "Orange",
             "Watermelon"
         ]));

The default value is null.


Implementation
    public function get source():IAutoCompleteSource
    public function set source(value:IAutoCompleteSource):void
Constructor Detail
AutoComplete()Constructor
public function AutoComplete()

Constructor.

Method Detail
closeList()method
public function closeList():void

Closes the pop-up list, if it is open.

createList()method 
protected function createList():void

Creates and adds the list sub-component and removes the old instance, if one exists.

Meant for internal use, and subclasses may override this function with a custom implementation.

See also

dispose()method 
override public function dispose():void

Disposes the display object.

openList()method 
public function openList():void

Opens the pop-up list, if it isn't already open.

Event Detail
close Event
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.CLOSE

Dispatched when the pop-up list is closed.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

open Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.OPEN

Dispatched when the pop-up list is opened.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

Constant Detail
DEFAULT_CHILD_STYLE_NAME_LISTConstant
public static const DEFAULT_CHILD_STYLE_NAME_LIST:String = feathers-auto-complete-list

The default value added to the styleNameList of the pop-up list.

See also