PRADO Component Framework for PHP 5
  • Home
  • About
  • Testimonials
  • Demos
  • Download
  • Documentation
  • Forum
  • Development
  • Tutorials
  • Class Docs
  • API Manual
  • Wiki

Packages

  • None
  • System
    • Caching
    • Collections
    • Data
      • ActiveRecord
        • Relations
        • Scaffold
          • InputBuilder
      • Commom
        • Sqlite
      • Common
        • Mssql
        • Mysql
        • Oracle
        • Pgsql
        • Sqlite
      • DataGateway
      • SqlMap
        • Configuration
        • Statements
    • Exceptions
    • I18N
    • IO
    • Security
    • Util
    • Web
      • Javascripts
      • Services
      • UI
        • ActiveControls
        • WebControls
    • Xml
  • Wsat
    • pages
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo

Class TAutoComplete

TAutoComplete class.

TAutoComplete is a textbox that provides a list of suggestion on the current partial word typed in the textbox. The suggestions are requested using callbacks, and raises the onSuggestion OnSuggestion event. The events of the TActiveText (from which TAutoComplete is extended from) and onSuggestion OnSuggestion are mutually exculsive. That is, if onTextChange OnTextChange and/or onCallback OnCallback events are raise, then onSuggestion OnSuggestion will not be raise, and vice versa.

The list of suggestions should be set in the onSuggestion OnSuggestion event handler. The partial word to match the suggestion is in the TCallbackEventParameter::getCallbackParameter TCallbackEventParameter::CallbackParameter property. The datasource of the TAutoComplete must be set using TAutoComplete::setDataSource() method. This sets the datasource for the suggestions repeater, available through the getSuggestions Suggestions property. Header, footer templates and other properties of the repeater can be access via the getSuggestions Suggestions property and its sub-properties.

The setTextCssClass TextCssClass property if set is used to find the element within the Suggestions.ItemTemplate and Suggestions.AlternatingItemTemplate that contains the actual text for the suggestion selected. That is, only text inside elements with CSS class name equal to setTextCssClass TextCssClass will be used as suggestions.

To return the list of suggestions back to the browser, supply a non-empty data source and call databind. For example,

function autocomplete_suggestion($sender, $param)
{
  $token = $param->getToken(); //the partial word to match
  $sender->setDataSource($this->getSuggestionsFor($token)); //set suggestions
  $sender->dataBind();
}

The suggestion will be rendered when the TAutoComplete::dataBind() method is called <strong>during a callback request</strong>.

When an suggestion is selected, that is, when the use has clicked, pressed the "Enter" key, or pressed the "Tab" key, the onSuggestionSelected OnSuggestionSelected event is raised. The TCallbackEventParameter::getCallbackParameter TCallbackEventParameter::CallbackParameter property contains the index of the selected suggestion.

TAutoComplete allows multiple suggestions within one textbox with each word or phrase separated by any characters specified in the setSeparator Separator property. The setFrequency Frequency and setMinChars MinChars properties sets the delay and minimum number of characters typed, respectively, before requesting for sugggestions.

Use onTextChange OnTextChange and/or onCallback OnCallback events to handle post backs due to setAutoPostBack AutoPostBack.

In the getSuggestions Suggestions TRepater item template, all HTML text elements are considered as text for the suggestion. Text within HTML elements with CSS class name "informal" are ignored as text for suggestions.

TComponent
Extended by TApplicationComponent
Extended by TControl implements IRenderable, IBindable
Extended by TWebControl implements IStyleable
Extended by TTextBox implements IPostBackDataHandler, IValidatable, IDataRenderer
Extended by TActiveTextBox implements ICallbackEventHandler, IActiveControl
Extended by TAutoComplete implements INamingContainer
Package: System\Web\UI\ActiveControls
Copyright: Copyright © 2005-2014 PradoSoft
License: http://www.pradosoft.com/license/
Author: Wei Zhuo <weizhuo[at]gmail[dot]com>
Since: 3.1
Located at Web/UI/ActiveControls/TAutoComplete.php
Methods summary
public string
# getSeparator( )

Returns

string
word or token separators (delimiters).
public string
# setSeparator( mixed $value )

Returns

string
word or token separators (delimiters).
public float
# getFrequency( )

Returns

float
maximum delay (in seconds) before requesting a suggestion.
public
# setFrequency( float $value )

Parameters

$value
float
maximum delay (in seconds) before requesting a suggestion. Default is 0.4.
public integer
# getMinChars( )

Returns

integer
minimum number of characters before requesting a suggestion.
public
# setMinChars( integer $value )

Parameters

$value
integer
minimum number of characters before requesting a suggestion.
public
# setTextCssClass( string $value )

Parameters

$value
string
Css class name of the element to use for suggestion.
public string
# getTextCssClass( )

Returns

string
Css class name of the element to use for suggestion.
public
# raiseCallbackEvent( TCallbackEventParameter $param )

Raises the callback event. This method is overrides the parent implementation. If setAutoPostBack AutoPostBack is enabled it will raise onTextChanged OnTextChanged event event and then the onCallback OnCallback event. The onSuggest OnSuggest event is raise if the request is to find sugggestions, the onTextChanged OnTextChanged and onCallback OnCallback events are NOT raised. This method is mainly used by framework and control developers.

Raises the callback event. This method is overrides the parent implementation. If setAutoPostBack AutoPostBack is enabled it will raise onTextChanged OnTextChanged event event and then the onCallback OnCallback event. The onSuggest OnSuggest event is raise if the request is to find sugggestions, the onTextChanged OnTextChanged and onCallback OnCallback events are NOT raised. This method is mainly used by framework and control developers.

Parameters

$param
TCallbackEventParameter
the event parameter

Overrides

TActiveTextBox::raiseCallbackEvent()
public
# onSuggest( TCallbackEventParameter $param )

This method is invoked when an autocomplete suggestion is requested. The method raises 'OnSuggest' event. If you override this method, be sure to call the parent implementation so that the event handler can be invoked.

This method is invoked when an autocomplete suggestion is requested. The method raises 'OnSuggest' event. If you override this method, be sure to call the parent implementation so that the event handler can be invoked.

Parameters

$param
TCallbackEventParameter
event parameter to be passed to the event handlers
public
# onSuggestionSelected( TCallbackEventParameter $param )

This method is invoked when an autocomplete suggestion is selected. The method raises 'OnSuggestionSelected' event. If you override this method, be sure to call the parent implementation so that the event handler can be invoked.

This method is invoked when an autocomplete suggestion is selected. The method raises 'OnSuggestionSelected' event. If you override this method, be sure to call the parent implementation so that the event handler can be invoked.

Parameters

$param
TCallbackEventParameter
event parameter to be passed to the event handlers
public
# setDataSource( array $data )

Parameters

$data
array
data source for suggestions.
public
# dataBind( )

Overrides parent implementation. Callback TAutoComplete::renderSuggestions() when page's IsCallback property is true.

Overrides parent implementation. Callback TAutoComplete::renderSuggestions() when page's IsCallback property is true.

Overrides

TControl::dataBind()
public TPanel
# getResultPanel( )

Returns

TPanel
suggestion results panel.
protected TPanel
# createResultPanel( )

Returns

TPanel
new instance of result panel. Default uses TPanel.
public TRepeater
# getSuggestions( )

Returns

TRepeater
suggestion list repeater
protected TRepeater
# createRepeater( )

Returns

TRepeater
new instance of TRepater to render the list of suggestions.
public
# renderEndTag( THtmlWriter $writer )

Renders the end tag and registers javascript effects library.

Renders the end tag and registers javascript effects library.

Parameters

$writer
THtmlWriter
the writer used for the rendering purpose

Overrides

TWebControl::renderEndTag()
protected
# renderResultPanel( THtmlWriter $writer )

Renders the result panel.

Renders the result panel.

Parameters

$writer
THtmlWriter
the renderer.
public
# renderCallback( THtmlWriter $writer )

Renders the suggestions during a callback respones.

Renders the suggestions during a callback respones.

Parameters

$writer
THtmlWriter
the renderer.
public
# renderSuggestions( THtmlWriter $writer )

Renders the suggestions repeater.

Renders the suggestions repeater.

Parameters

$writer
THtmlWriter
the renderer.
protected array
# getPostBackOptions( )

Returns

array
list of callback options.

Overrides

TTextBox::getPostBackOptions()
protected
# renderClientControlScript( mixed $writer )

Override parent implementation, no javascript is rendered here instead the javascript required for active control is registered in TActiveTextBox::addAttributesToRender().

Override parent implementation, no javascript is rendered here instead the javascript required for active control is registered in TActiveTextBox::addAttributesToRender().

Overrides

TActiveTextBox::renderClientControlScript()
protected string
# getClientClassName( )

Returns

string
corresponding javascript class name for this TActiveButton.

Overrides

TActiveTextBox::getClientClassName()
Methods inherited from TActiveTextBox
__construct(), addAttributesToRender(), getActiveControl(), getClientSide(), onCallback(), setText()
Methods inherited from TTextBox
getAutoCompleteType(), getAutoPostBack(), getAutoTrim(), getCausesValidation(), getColumns(), getData(), getDataChanged(), getEnableClientScript(), getIsValid(), getMaxLength(), getPersistPassword(), getReadOnly(), getRows(), getSafeText(), getSafeTextParser(), getTagName(), getText(), getTextMode(), getValidationGroup(), getValidationPropertyValue(), getWrap(), loadPostData(), onTextChanged(), raisePostDataChangedEvent(), renderBeginTag(), renderContents(), setAutoCompleteType(), setAutoPostBack(), setAutoTrim(), setCausesValidation(), setColumns(), setData(), setEnableClientScript(), setIsValid(), setMaxLength(), setPersistPassword(), setReadOnly(), setRows(), setTextMode(), setValidationGroup(), setWrap()
Methods inherited from TWebControl
clearStyle(), copyBaseAttributes(), createStyle(), getAccessKey(), getBackColor(), getBorderColor(), getBorderStyle(), getBorderWidth(), getCssClass(), getDecorator(), getDisplay(), getEnsureId(), getFont(), getForeColor(), getHasStyle(), getHeight(), getStyle(), getTabIndex(), getToolTip(), getWidth(), onPreRender(), render(), setAccessKey(), setBackColor(), setBorderColor(), setBorderStyle(), setBorderWidth(), setCssClass(), setDisplay(), setEnsureId(), setForeColor(), setHeight(), setStyle(), setTabIndex(), setToolTip(), setWidth()
Methods inherited from TControl
__get(), addParsedObject(), addToPostDataLoader(), addedControl(), applyStyleSheetSkin(), autoBindProperty(), autoDataBindProperties(), bindProperty(), broadcastEvent(), bubbleEvent(), clearChildState(), clearControlState(), clearNamingContainer(), clearViewState(), convertUniqueIdToClientId(), createChildControls(), createControlCollection(), dataBindChildren(), dataBindProperties(), ensureChildControls(), findControl(), findControlsByID(), findControlsByType(), focus(), getAdapter(), getAllowChildControls(), getAttribute(), getAttributes(), getChildControlsCreated(), getClientID(), getControlStage(), getControlState(), getControls(), getCustomData(), getEnableTheming(), getEnableViewState(), getEnabled(), getHasAdapter(), getHasAttributes(), getHasChildInitialized(), getHasControls(), getHasInitialized(), getHasLoaded(), getHasLoadedPostData(), getHasPreRendered(), getID(), getIsSkinApplied(), getNamingContainer(), getPage(), getParent(), getRegisteredObject(), getSkinID(), getSourceTemplateControl(), getTemplateControl(), getUniqueID(), getViewState(), getVisible(), hasAttribute(), initRecursive(), isDescendentOf(), isObjectRegistered(), loadRecursive(), loadState(), loadStateRecursive(), onDataBinding(), onInit(), onLoad(), onUnload(), preRenderRecursive(), raiseBubbleEvent(), registerObject(), removeAttribute(), removedControl(), renderChildren(), renderControl(), saveState(), saveStateRecursive(), setAdapter(), setAttribute(), setChildControlsCreated(), setControlStage(), setControlState(), setCustomData(), setEnableTheming(), setEnableViewState(), setEnabled(), setID(), setPage(), setSkinID(), setTemplateControl(), setViewState(), setVisible(), trackViewState(), traverseChildControls(), unbindProperty(), unloadRecursive(), unregisterObject()
Methods inherited from TApplicationComponent
getApplication(), getRequest(), getResponse(), getService(), getSession(), getUser(), publishAsset(), publishFilePath()
Methods inherited from TComponent
__call(), __destruct(), __isset(), __set(), __sleep(), __unset(), __wakeup(), asa(), attachBehavior(), attachBehaviors(), attachClassBehavior(), attachEventHandler(), canGetProperty(), canSetProperty(), clearBehaviors(), createdOnTemplate(), detachBehavior(), detachBehaviors(), detachClassBehavior(), detachEventHandler(), disableBehavior(), disableBehaviors(), enableBehavior(), enableBehaviors(), evaluateExpression(), evaluateStatements(), fxAttachClassBehavior(), fxDetachClassBehavior(), getAutoGlobalListen(), getBehaviorsEnabled(), getClassHierarchy(), getEventHandlers(), getListeningToGlobalEvents(), getSubProperty(), hasEvent(), hasEventHandler(), hasProperty(), isa(), listen(), raiseEvent(), setSubProperty(), unlisten()
Constants inherited from TTextBox
DEFAULT_COLUMNS, DEFAULT_ROWS
Constants inherited from TControl
AUTOMATIC_ID_PREFIX, CLIENT_ID_SEPARATOR, CS_CHILD_INITIALIZED, CS_CONSTRUCTED, CS_INITIALIZED, CS_LOADED, CS_PRERENDERED, CS_STATE_LOADED, ID_FORMAT, ID_SEPARATOR, IS_CHILD_CREATED, IS_CREATING_CHILD, IS_DISABLE_THEMING, IS_DISABLE_VIEWSTATE, IS_ID_SET, IS_SKIN_APPLIED, IS_STYLESHEET_APPLIED, RF_ADAPTER, RF_AUTO_BINDINGS, RF_CHILD_STATE, RF_CONTROLS, RF_CONTROLSTATE, RF_DATA_BINDINGS, RF_EVENTS, RF_NAMED_CONTROLS, RF_NAMED_CONTROLS_ID, RF_NAMED_OBJECTS, RF_SKIN_ID
Constants inherited from TComponent
GLOBAL_RAISE_EVENT_LISTENER
Properties inherited from TWebControl
$_decorator
Terms of Service | Contact Us
PRADO v3.2.4 API Manual API documentation generated by ApiGen 2.8.0
Copyright © 2006-2014 by the PRADO Group.
Powered by PRADO