Class PropertyFilter<V>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<com.vaadin.flow.component.customfield.CustomField<T>,T>
com.vaadin.flow.component.customfield.CustomField<V>
io.jmix.flowui.component.filer.SingleFilterComponentBase<V>
io.jmix.flowui.component.propertyfilter.PropertyFilter<V>
- Type Parameters:
V- value type
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.customfield.CustomField>,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.Focusable<com.vaadin.flow.component.customfield.CustomField>,com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.customfield.CustomField>,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasEnabled,com.vaadin.flow.component.HasHelper,com.vaadin.flow.component.HasLabel,com.vaadin.flow.component.HasSize,com.vaadin.flow.component.HasStyle,com.vaadin.flow.component.HasTheme,com.vaadin.flow.component.HasValidation,com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<V>,,V>, V> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<V>,,V>, V> com.vaadin.flow.component.shared.HasTooltip,FilterComponent,SingleFilterComponent<V>,HasRequired,SupportsLabelPosition,SupportsValidation<V>,Serializable,org.springframework.beans.factory.Aware,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware
A UI component used for filtering entities returned by the
DataLoader.
The component is related to entity property and can automatically render proper
layout for setting a condition value. In general case a component layout
contains a label with entity property name, operation label or selector
(=, contains, >, etc.) and a field for editing a property value.- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumOperation representing corresponding filtering condition.protected static classstatic classEvent sent when theoperationproperty is changed.Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,V extends Object> Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier
com.vaadin.flow.component.BlurNotifier.BlurEvent<C extends com.vaadin.flow.component.Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
com.vaadin.flow.component.FocusNotifier.FocusEvent<C extends com.vaadin.flow.component.Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
com.vaadin.flow.component.HasValue.ValueChangeEvent<V extends Object>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>>Nested classes/interfaces inherited from interface io.jmix.flowui.component.SupportsLabelPosition
SupportsLabelPosition.LabelPosition -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected PropertyFilter.Operationprotected booleanprotected DropdownButtonprotected booleanprotected static final Stringprotected PropertyFilterSupportprotected SingleFilterSupportFields inherited from class io.jmix.flowui.component.filer.SingleFilterComponentBase
applicationContext, autoApply, conditionModificationDelegated, dataLoader, FILTER_LABEL_CLASS_NAME, label, labelDelegate, labelPosition, labelText, labelVisible, labelWidth, queryCondition, root, uiComponents, valueComponentFields inherited from interface io.jmix.flowui.component.HasRequired
PROPERTY_REQUIREDFields inherited from interface io.jmix.flowui.component.SupportsValidation
PROPERTY_ERROR_MESSAGE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.shared.RegistrationaddOperationChangeListener(com.vaadin.flow.component.ComponentEventListener<PropertyFilter.OperationChangeEvent<V>> listener) Adds a listener that is invoked when theoperationproperty changes.protected voidprotected DropdownButtonprotected PropertyConditionprotected StringgetOperationText(PropertyFilter.Operation operation) protected voidinitOperationSelectorActions(DropdownButton operationSelector) protected voidinitRootComponent(com.vaadin.flow.component.orderedlayout.HorizontalLayout root) booleanbooleanprotected voidvoidsetDataLoader(DataLoader dataLoader) Sets aDataLoaderrelated to the current filter component.protected voidsetLabelInternal(String label) voidsetOperation(PropertyFilter.Operation operation) Sets a filtering operation.voidsetOperationEditable(boolean operationEditable) Sets whether an operation selector is visible.protected voidsetOperationInternal(PropertyFilter.Operation operation, boolean fromClient) voidsetOperationTextVisible(boolean operationLabelVisible) Sets whether to show operation text.voidsetParameterName(String parameterName) Sets the name of the associated query parameter name.voidsetProperty(String property) Sets related entity property name.voidsetReadOnly(boolean readOnly) voidsetTabIndex(int tabIndex) protected voidupdateQueryCondition(V newValue) Methods inherited from class io.jmix.flowui.component.filer.SingleFilterComponentBase
addValidator, afterPropertiesSet, apply, blur, checkValueComponentState, createLabel, createRootComponent, executeValidators, focus, generateModelValue, getDataLoader, getLabel, getLabelPosition, getLabelWidth, getRequiredMessage, getRoot, getValueComponent, initComponent, initValueComponent, isAutoApply, isConditionModificationDelegated, isInvalid, isLabelVisible, onFieldStatusChanged, onFieldValueChanged, onFilterValueChanged, setApplicationContext, setAutoApply, setConditionModificationDelegated, setInvalid, setLabel, setLabelDelegate, setLabelPosition, setLabelVisible, setLabelWidth, setPresentationValue, setRequired, setRequiredMessage, setupLoaderFirstResult, setValueComponent, setWidth, updateChildAlignment, updateDataLoaderCondition, updateLabelLayoutMethods inherited from class com.vaadin.flow.component.customfield.CustomField
add, addThemeVariants, getErrorMessage, onAttach, remove, removeThemeVariants, setErrorMessage, updateValueMethods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue, setValue, valueEqualsMethods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, scrollIntoView, set, setElement, setId, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, getTabIndexMethods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListenerMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabledMethods inherited from interface com.vaadin.flow.component.HasHelper
getHelperComponent, getHelperText, setHelperComponent, setHelperTextMethods inherited from interface io.jmix.flowui.component.HasRequired
isRequiredMethods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeNameMethods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipTextMethods inherited from interface com.vaadin.flow.component.HasValue
clear, getOptionalValueMethods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setRequiredIndicatorVisibleMethods inherited from interface io.jmix.flowui.component.SupportsValidation
getErrorMessage, setErrorMessage
-
Field Details
-
PROPERTY_FILTER_CLASS_NAME
- See Also:
-
singleFilterSupport
-
propertyFilterSupport
-
operationSelector
-
operation
-
operationEditable
protected boolean operationEditable -
operationTextVisible
protected boolean operationTextVisible
-
-
Constructor Details
-
PropertyFilter
public PropertyFilter()
-
-
Method Details
-
autowireDependencies
protected void autowireDependencies()- Overrides:
autowireDependenciesin classSingleFilterComponentBase<V>
-
initRootComponent
protected void initRootComponent(com.vaadin.flow.component.orderedlayout.HorizontalLayout root) - Overrides:
initRootComponentin classSingleFilterComponentBase<V>
-
getInnerComponentPrefix
- Specified by:
getInnerComponentPrefixin classSingleFilterComponentBase<V>
-
createOperationSelector
-
initOperationSelectorActions
-
getOperationText
-
setDataLoader
Description copied from interface:FilterComponentSets aDataLoaderrelated to the current filter component.- Specified by:
setDataLoaderin interfaceFilterComponent- Overrides:
setDataLoaderin classSingleFilterComponentBase<V>- Parameters:
dataLoader- aDataLoaderto set
-
getProperty
- Returns:
- related entity property name
-
setProperty
Sets related entity property name.- Parameters:
property- entity property name
-
getOperation
- Returns:
- a filtering operation
-
setOperation
Sets a filtering operation.- Parameters:
operation- a filtering operation
-
setOperationInternal
-
getParameterName
- Returns:
- the name of the associated query parameter name
-
setParameterName
Description copied from interface:SingleFilterComponentSets the name of the associated query parameter name.- Parameters:
parameterName- a name of the associated query parameter name
-
createQueryCondition
- Specified by:
createQueryConditionin classSingleFilterComponentBase<V>
-
getQueryCondition
- Specified by:
getQueryConditionin interfaceFilterComponent- Overrides:
getQueryConditionin classSingleFilterComponentBase<V>- Returns:
- a
PropertyConditionrelated to the current property filter
-
updateQueryCondition
- Specified by:
updateQueryConditionin classSingleFilterComponentBase<V>
-
addOperationChangeListener
public com.vaadin.flow.shared.Registration addOperationChangeListener(com.vaadin.flow.component.ComponentEventListener<PropertyFilter.OperationChangeEvent<V>> listener) Adds a listener that is invoked when theoperationproperty changes.- Parameters:
listener- a listener to add- Returns:
- a registration object for removing an event listener
-
isOperationEditable
public boolean isOperationEditable()- Returns:
- whether an operation selector is visible.
-
setOperationEditable
public void setOperationEditable(boolean operationEditable) Sets whether an operation selector is visible.- Parameters:
operationEditable- whether an operation selector is visible
-
isOperationTextVisible
public boolean isOperationTextVisible()- Returns:
- whether to show operation text
-
setOperationTextVisible
public void setOperationTextVisible(boolean operationLabelVisible) Sets whether to show operation text.- Parameters:
operationLabelVisible- whether to show operation text
-
removeOperationSelector
protected void removeOperationSelector() -
setLabelInternal
- Overrides:
setLabelInternalin classSingleFilterComponentBase<V>
-
setReadOnly
public void setReadOnly(boolean readOnly) - Specified by:
setReadOnlyin interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<V>,V>, V> - Specified by:
setReadOnlyin interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<V>,V>, V> - Overrides:
setReadOnlyin classSingleFilterComponentBase<V>
-
setTabIndex
public void setTabIndex(int tabIndex) - Specified by:
setTabIndexin interfacecom.vaadin.flow.component.Focusable<V>- Overrides:
setTabIndexin classSingleFilterComponentBase<V>
-