понедельник, августа 14, 2006

Flex-компонента AutoFilledInput

Представляю вашему вниманию компоненту AutoFilledInput - расширенный TextInput c возможностью автозавершения ввода. Все, что вводит пользователь в это текстовое поле, запоминается на его компьютере в shared object файле, а потом просто вытаскивается оттуда.
Небольшая документация (пожалуйста, внимательно прочитайте ее перед использованием компоненты):

property enterCommitEventType - тип event'а, по которому ввод считается завершенным (по умолчанию стоит FlexEvent.ENTER, т.е. когда пользователь что-то ввел и нажал Enter). По этому событию введенная строка будет сохраняться. Таким событием может быть, например, focusOut...

property autoFillStoreName - имя shared object файла, в которое будут записываться введенные строки (по умолчанию "autofillstore").

property maxRowCount - максимальное количество выводимых вариантов автозаполнения в выпадающем списке (по умолчанию 5).

method activateAutoFill(autoFillStoreName : String = null, enterCommitEventType : String = null) : void - активация режима автозавершения ввожа пользователя. В качестве параметров можно передать имя shared object файла для сохранения введенных строк, а также тип Event'а, по которому ввод будет считаться завершенным.

public function deactivateAutoFill() : void
- деактивация режима автозаполнения. "Превращение" компоненты в обычный TextInput.

public function clearAutoFillStore() : void - удалить shared object файл с сохраннеными строками.

Файлы:
Скачать zip-архив с fishbounce.swc
Скачать исходный текст
Пример работы компоненты (в виде проекта под Eclipse IDE с плагином Flex Builder 2)

Чтобы воспользоваться компонентой, нужно включить fishbounce.swc в список используемых библиотек в свойствах вашего flex-проекта. Чтобы встроить AutoFilledInput в mxml-файл, нужно прописать в аттрибутах тэга Application новое xmlns (пространство имен), например:

xmlns:fishbounce="com.fishbounce.controls.*"

тогда в mxml-файле AutoFilledInput вставится так:

<fishbounce:AutoFilledInput />


Если будут замечания, пожелания или найденные "косяки" в работе компоненты, пишите в комменты.