PHP Класс Prado\Web\UI\JuiControls\TJuiAutoComplete
TJuiAutoComplete 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 TJuiAutoComplete 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 TJuiAutoComplete 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.
TJuiAutoComplete 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.
Показать файл
Открыть проект
Открытые методы
Защищенные методы
Описание методов
__construct()
публичный метод
Creates a new callback control, sets the adapter to
TActiveControlAdapter. If you override this class, be sure to set the
adapter appropriately by, for example, by calling this constructor.
createRepeater()
защищенный метод
protected createRepeater ( ) : TRepeater |
Результат |
Prado\Web\UI\WebControls\TRepeater |
new instance of TRepater to render the list of suggestions. |
createResultPanel()
защищенный метод
protected createResultPanel ( ) : TPanel |
Результат |
Prado\Web\UI\WebControls\TPanel |
new instance of result panel. Default uses TPanel. |
dataBind()
публичный метод
Overrides parent implementation. Callback {@link renderSuggestions()} when
page's IsCallback property is true.
getClientClassName()
защищенный метод
getFrequency()
публичный метод
getMinChars()
публичный метод
getOptions()
публичный метод
Object containing defined javascript options
public getOptions ( ) : TJuiControlOptions |
Результат |
TJuiControlOptions |
|
getPostBackOptions()
защищенный метод
getResultPanel()
публичный метод
public getResultPanel ( ) : TPanel |
Результат |
Prado\Web\UI\WebControls\TPanel |
suggestion results panel. |
getSeparator()
публичный метод
getSuggestions()
публичный метод
public getSuggestions ( ) : TRepeater |
Результат |
Prado\Web\UI\WebControls\TRepeater |
suggestion list repeater |
getTextCssClass()
публичный метод
getValidEvents()
публичный метод
Array containing valid javascript events
getValidOptions()
публичный метод
Array containing valid javascript options
onSuggest()
публичный метод
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.
onSuggestionSelected()
публичный метод
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.
raiseCallbackEvent()
публичный метод
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.
renderCallback()
публичный метод
Renders the suggestions during a callback respones.
renderClientControlScript()
защищенный метод
Override parent implementation, no javascript is rendered here instead
the javascript required for active control is registered in {@link addAttributesToRender}.
renderEndTag()
публичный метод
Renders the end tag and registers javascript effects library.
renderResultPanel()
защищенный метод
Renders the result panel.
renderSuggestions()
публичный метод
Renders the suggestions repeater.
setDataSource()
публичный метод
setFrequency()
публичный метод
setMinChars()
публичный метод
setSeparator()
публичный метод
setTextCssClass()
публичный метод