fullTextFilter
|
Для работы компонента требуется дополнение Search. |
fullTextFilter работает аналогично propertyFilter, но выполняет полнотекстовый поиск по индексированным полям сущностей.
XML-элемент |
|
|---|---|
Java-класс |
|
Основы
Объявите пространство имен search в XML-дескрипторе экрана:
<view xmlns="http://jmix.io/schema/flowui/view"
xmlns:search="http://jmix.io/schema/search/ui"
title="msg://searchView.title">
|
Studio автоматически добавляет пространство имен, когда вы добавляете компонент с помощью действия Add Component на верхней панели действий. См. Палитра компонентов. |
Свяжите fullTextFilter с загрузчиком коллекции данных с помощью обязательного атрибута dataLoader. В следующем примере объявлены данные, фильтр и таблица результатов:
<data>
<collection id="ordersDc"
class="com.company.demo.entity.Order">
<loader id="ordersDl"
readOnly="true">
<query>
<![CDATA[select e from Order_ e]]>
</query>
</loader>
<fetchPlan extends="_base">
<property name="customer"
fetchPlan="_base"/>
</fetchPlan>
</collection>
</data>
<facets>
<dataLoadCoordinator auto="true"/>
</facets>
<layout>
<search:fullTextFilter dataLoader="ordersDl"
autoApply="true"/>
<dataGrid id="ordersDataGrid"
width="100%"
dataContainer="ordersDc">
<columns>
<column property="number"/>
<column property="date"/>
<column property="amount"/>
<column property="product"/>
<column property="customer"/>
</columns>
</dataGrid>
</layout>
Компонент FullTextFilter работает следующим образом:
-
Выполняет полнотекстовый поиск и получает идентификаторы сущностей, соответствующих критериям поиска.
-
Добавляет условие с этими идентификаторами в связанный
dataLoader. -
Если
DataGridили другой компонент списка связан с этим загрузчиком, он отображает только записи, соответствующие критериям полнотекстового поиска.
Условие полнотекстового поиска объединяется с другими фильтрами загрузчика данных, уточняя набор результатов.
Валидация
Для проверки значений, введенных в компонент fullTextFilter, можно использовать валидатор во вложенном элементе validators.
Для fullTextFilter доступны следующие предопределенные валидаторы:
XML-элемент |
|
|---|---|
элементы |
custom - decimalMax - decimalMin - digits - doubleMax - doubleMin - email - future - futureOrPresent - max - min - negative - negativeOrZero - notBlank - notEmpty - notNull - past - pastOrPresent - positive - positiveOrZero - regexp - size |
Атрибуты
Следующие атрибуты относятся к fullTextFilter:
| Название | Описание | Значение по умолчанию |
|---|---|---|
Если установлено значение |
||
Задает обязательный загрузчик данных, который фильтрует компонент. Это должен быть загрузчик коллекции. |
— |
|
Задает положение метки относительно компонента значения фильтра. См. положение метки propertyFilter. |
— |
|
Задает ширину метки в единицах CSS. См. ширину метки propertyFilter. |
— |
|
Определяет применяемую стратегию поиска. См. Стратегии поиска. |
Компонент поддерживает следующие общие атрибуты:
id - alignSelf - ariaLabel - ariaLabelledBy - classNames - colspan - css - defaultValue - enabled - errorMessage - focusShortcut - height - helperText - justifySelf - label - labelVisible - maxHeight - maxWidth - minHeight - minWidth - parameterName - readOnly - required - requiredMessage - tabIndex - themeNames - visible - width