PHP Class Prado\Web\UI\ActiveControls\TAutoComplete

Warning: this class is deprecatd and will be removed in a future release. We suggest you to investigate using {@link TJuiAutoComplete} instead. 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 {@link onSuggestion OnSuggestion} event. The events of the TActiveText (from which TAutoComplete is extended from) and {@link onSuggestion OnSuggestion} are mutually exculsive. That is, if {@link onTextChange OnTextChange} and/or {@link onCallback OnCallback} events are raise, then {@link onSuggestion OnSuggestion} will not be raise, and vice versa. The list of suggestions should be set in the {@link onSuggestion OnSuggestion} event handler. The partial word to match the suggestion is in the {@link TCallbackEventParameter::getCallbackParameter TCallbackEventParameter::CallbackParameter} property. The datasource of the TAutoComplete must be set using {@link setDataSource} method. This sets the datasource for the suggestions repeater, available through the {@link getSuggestions Suggestions} property. Header, footer templates and other properties of the repeater can be access via the {@link getSuggestions Suggestions} property and its sub-properties. The {@link 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 {@link 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 {@link dataBind()} method is called during a callback request. When an suggestion is selected, that is, when the use has clicked, pressed the "Enter" key, or pressed the "Tab" key, the {@link onSuggestionSelected OnSuggestionSelected} event is raised. The {@link 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 {@link setSeparator Separator} property. The {@link setFrequency Frequency} and {@link setMinChars MinChars} properties sets the delay and minimum number of characters typed, respectively, before requesting for sugggestions. Use {@link onTextChange OnTextChange} and/or {@link onCallback OnCallback} events to handle post backs due to {@link setAutoPostBack AutoPostBack}. In the {@link 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.
Deprecation: Use TJuiAutoComplete instead
Since: 3.1
Inheritance: extends TActiveTextBox, implements Prado\Web\UI\INamingContainer
Afficher le fichier Open project: pradosoft/prado

Méthodes publiques

Méthode Description
dataBind ( ) Overrides parent implementation. Callback {@link renderSuggestions()} when page's IsCallback property is true.
getFrequency ( ) : float
getMinChars ( ) : integer
getResultPanel ( ) : TPanel
getSeparator ( ) : string
getSuggestions ( ) : TRepeater
getTextCssClass ( ) : string
onSuggest ( $param ) This method is invoked when an autocomplete suggestion is requested.
onSuggestionSelected ( $param ) This method is invoked when an autocomplete suggestion is selected.
raiseCallbackEvent ( $param ) Raises the callback event. This method is overrides the parent implementation.
renderCallback ( $writer ) Renders the suggestions during a callback respones.
renderEndTag ( $writer ) Renders the end tag and registers the needed javascript library.
renderSuggestions ( $writer ) Renders the suggestions repeater.
setDataSource ( $data )
setFrequency ( $value )
setMinChars ( $value )
setSeparator ( $value ) : string
setTextCssClass ( $value )

Méthodes protégées

Méthode Description
createRepeater ( ) : TRepeater
createResultPanel ( ) : TPanel
getClientClassName ( ) : string
getPostBackOptions ( ) : array
renderClientControlScript ( $writer ) Override parent implementation, no javascript is rendered here instead the javascript required for active control is registered in {@link addAttributesToRender}.
renderResultPanel ( $writer ) Renders the result panel.

Method Details

createRepeater() protected méthode

protected createRepeater ( ) : TRepeater
Résultat Prado\Web\UI\WebControls\TRepeater new instance of TRepater to render the list of suggestions.

createResultPanel() protected méthode

protected createResultPanel ( ) : TPanel
Résultat Prado\Web\UI\WebControls\TPanel new instance of result panel. Default uses TPanel.

dataBind() public méthode

Overrides parent implementation. Callback {@link renderSuggestions()} when page's IsCallback property is true.
public dataBind ( )

getClientClassName() protected méthode

protected getClientClassName ( ) : string
Résultat string corresponding javascript class name for this TActiveButton.

getFrequency() public méthode

public getFrequency ( ) : float
Résultat float maximum delay (in seconds) before requesting a suggestion.

getMinChars() public méthode

public getMinChars ( ) : integer
Résultat integer minimum number of characters before requesting a suggestion.

getPostBackOptions() protected méthode

protected getPostBackOptions ( ) : array
Résultat array list of callback options.

getResultPanel() public méthode

public getResultPanel ( ) : TPanel
Résultat Prado\Web\UI\WebControls\TPanel suggestion results panel.

getSeparator() public méthode

public getSeparator ( ) : string
Résultat string word or token separators (delimiters).

getSuggestions() public méthode

public getSuggestions ( ) : TRepeater
Résultat Prado\Web\UI\WebControls\TRepeater suggestion list repeater

getTextCssClass() public méthode

public getTextCssClass ( ) : string
Résultat string Css class name of the element to use for suggestion.

onSuggest() public méthode

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.
public onSuggest ( $param )

onSuggestionSelected() public méthode

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.
public onSuggestionSelected ( $param )

raiseCallbackEvent() public méthode

If {@link setAutoPostBack AutoPostBack} is enabled it will raise {@link onTextChanged OnTextChanged} event event and then the {@link onCallback OnCallback} event. The {@link onSuggest OnSuggest} event is raise if the request is to find sugggestions, the {@link onTextChanged OnTextChanged} and {@link onCallback OnCallback} events are NOT raised. This method is mainly used by framework and control developers.
public raiseCallbackEvent ( $param )

renderCallback() public méthode

Renders the suggestions during a callback respones.
public renderCallback ( $writer )

renderClientControlScript() protected méthode

Override parent implementation, no javascript is rendered here instead the javascript required for active control is registered in {@link addAttributesToRender}.
protected renderClientControlScript ( $writer )

renderEndTag() public méthode

Renders the end tag and registers the needed javascript library.
public renderEndTag ( $writer )

renderResultPanel() protected méthode

Renders the result panel.
protected renderResultPanel ( $writer )

renderSuggestions() public méthode

Renders the suggestions repeater.
public renderSuggestions ( $writer )

setDataSource() public méthode

public setDataSource ( $data )

setFrequency() public méthode

public setFrequency ( $value )

setMinChars() public méthode

public setMinChars ( $value )

setSeparator() public méthode

public setSeparator ( $value ) : string
Résultat string word or token separators (delimiters).

setTextCssClass() public méthode

public setTextCssClass ( $value )