Class TypedTextField<V>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<C,T>
com.vaadin.flow.component.AbstractSinglePropertyField<TComponent,TValue>
com.vaadin.flow.component.textfield.TextFieldBase<com.vaadin.flow.component.textfield.TextField,String>
com.vaadin.flow.component.textfield.TextField
io.jmix.flowui.component.textfield.TypedTextField<V>
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier
,com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.textfield.TextField>
,com.vaadin.flow.component.CompositionNotifier
,com.vaadin.flow.component.DetachNotifier
,com.vaadin.flow.component.Focusable<com.vaadin.flow.component.textfield.TextField>
,com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.textfield.TextField>
,com.vaadin.flow.component.HasAriaLabel
,com.vaadin.flow.component.HasElement
,com.vaadin.flow.component.HasEnabled
,com.vaadin.flow.component.HasHelper
,com.vaadin.flow.component.HasLabel
,com.vaadin.flow.component.HasPlaceholder
,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.textfield.TextField,
,String>, String> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField,
,String>, String> com.vaadin.flow.component.InputNotifier
,com.vaadin.flow.component.KeyNotifier
,com.vaadin.flow.component.shared.HasAllowedCharPattern
,com.vaadin.flow.component.shared.HasClearButton
,com.vaadin.flow.component.shared.HasClientValidation
,com.vaadin.flow.component.shared.HasPrefix
,com.vaadin.flow.component.shared.HasSuffix
,com.vaadin.flow.component.shared.HasThemeVariant<com.vaadin.flow.component.textfield.TextFieldVariant>
,com.vaadin.flow.component.shared.HasTooltip
,com.vaadin.flow.component.shared.HasValidationProperties
,com.vaadin.flow.component.shared.InputField<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField,
,String>, String> com.vaadin.flow.component.textfield.HasAutocapitalize
,com.vaadin.flow.component.textfield.HasAutocomplete
,com.vaadin.flow.component.textfield.HasAutocorrect
,com.vaadin.flow.component.textfield.HasPrefixAndSuffix
,com.vaadin.flow.data.binder.HasValidator<String>
,com.vaadin.flow.data.value.HasValueChangeMode
,HasLengthLimited
,HasRequired
,SupportsDatatype<V>
,SupportsStatusChangeHandler<TypedTextField<V>>
,SupportsTrimming
,SupportsTypedValue<TypedTextField<V>,
,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField, String>, V, String> SupportsValidation<V>
,SupportsValueSource<V>
,HasTitle
,Serializable
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationContextAware
public class TypedTextField<V>
extends com.vaadin.flow.component.textfield.TextField
implements SupportsValidation<V>, SupportsStatusChangeHandler<TypedTextField<V>>, SupportsDatatype<V>, SupportsTypedValue<TypedTextField<V>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField,String>,V,String>, SupportsValueSource<V>, HasLengthLimited, HasRequired, HasTitle, SupportsTrimming, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean
- See Also:
-
Nested Class Summary
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.shared.HasClientValidation
com.vaadin.flow.component.shared.HasClientValidation.ClientValidatedEvent
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.SupportsStatusChangeHandler
SupportsStatusChangeHandler.StatusContext<C extends com.vaadin.flow.component.Component>
Nested classes/interfaces inherited from interface io.jmix.flowui.component.SupportsTypedValue
SupportsTypedValue.TypedValueChangeEvent<C extends com.vaadin.flow.component.Component,
V> -
Field Summary
Modifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContext
protected TextInputFieldDelegate<TypedTextField<V>,
V> protected V
protected boolean
Component manually handles Vaadin value change event: when programmatically sets value (seesetValueInternal(Object, String, boolean)
) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)
).protected boolean
Fields inherited from interface com.vaadin.flow.component.textfield.HasAutocapitalize
AUTOCAPITALIZE_ATTRIBUTE
Fields inherited from interface com.vaadin.flow.component.textfield.HasAutocomplete
AUTOCOMPLETE_ATTRIBUTE
Fields inherited from interface com.vaadin.flow.component.textfield.HasAutocorrect
AUTOCORRECT_ATTRIBUTE
Fields inherited from interface io.jmix.flowui.component.HasRequired
PROPERTY_REQUIRED
Fields inherited from interface com.vaadin.flow.data.value.HasValueChangeMode
DEFAULT_CHANGE_TIMEOUT
Fields inherited from interface io.jmix.flowui.component.SupportsValidation
PROPERTY_ERROR_MESSAGE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.shared.Registration
addTypedValueChangeListener
(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<TypedTextField<V>, V>> listener) com.vaadin.flow.shared.Registration
addValidator
(Validator<? super V> validator) com.vaadin.flow.shared.Registration
addValueChangeListener
(com.vaadin.flow.component.HasValue.ValueChangeListener<? super com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField, String>> listener) void
protected void
protected V
convertToModel
(String presentationValue) protected String
convertToPresentation
(Object modelValue) protected TextInputFieldDelegate<TypedTextField<V>,
V> void
protected boolean
fieldValueEquals
(V value, V oldValue) protected void
fireAllValueChangeEvents
(V value, V oldValue, boolean isFromClient) protected void
fireTextFieldValueChangeEvent
(V oldValue, boolean isFromClient) protected void
fireTypedValueChangeEvent
(V value, V oldValue, boolean isFromClient) protected void
boolean
boolean
protected void
onValueChange
(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TypedTextField<V>, String> event) void
setApplicationContext
(org.springframework.context.ApplicationContext applicationContext) void
setDatatype
(Datatype<V> datatype) void
setErrorMessage
(String errorMessage) void
setInvalid
(boolean invalid) Sets invalid state to the field considering result of field validation.void
setMaxLength
(int maxLength) Maximum number of characters (in Unicode code points) that the user can enter.void
setMinLength
(int minLength) Minimum number of characters (in Unicode code points) that the user can enter.void
setPattern
(String pattern) void
setRequired
(boolean required) void
setRequiredIndicatorVisible
(boolean requiredIndicatorVisible) void
setRequiredMessage
(String requiredMessage) void
setStatusChangeHandler
(Consumer<SupportsStatusChangeHandler.StatusContext<TypedTextField<V>>> handler) Sets a callback to be used to handle component status changes, e.g.void
setTrimEnabled
(boolean trimEnabled) Sets whether to trim spaces at the beginning and at the end of the entered string.void
setTypedValue
(V value) void
protected void
setValueInternal
(V modelValue, String presentationValue, boolean fromClient) void
setValueSource
(ValueSource<V> valueSource) protected void
validate()
Methods inherited from class com.vaadin.flow.component.textfield.TextField
getDefaultValidator, getEmptyValue, getMaxLength, getMinLength, getPattern, getValue, onAttach, setManualValidation
Methods inherited from class com.vaadin.flow.component.textfield.TextFieldBase
addToInput, addToPrefix, addToSuffix, getAriaLabel, getAriaLabelledBy, getTitle, getValueChangeMode, getValueChangeTimeout, isAutofocus, isAutoselect, isRequired, setAriaLabel, setAriaLabelledBy, setAutofocus, setAutoselect, setLabel, setTitle, setValueChangeMode, setValueChangeTimeout
Methods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEvent
Methods inherited from class com.vaadin.flow.component.AbstractField
isEmpty, setModelValue, valueEquals
Methods 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, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisible
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListener
Methods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListener
Methods inherited from interface com.vaadin.flow.component.CompositionNotifier
addCompositionEndListener, addCompositionStartListener, addCompositionUpdateListener
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
Methods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, focus, getTabIndex, setTabIndex
Methods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListener
Methods inherited from interface com.vaadin.flow.component.shared.HasAllowedCharPattern
getAllowedCharPattern, setAllowedCharPattern
Methods inherited from interface com.vaadin.flow.component.textfield.HasAutocapitalize
getAutocapitalize, setAutocapitalize
Methods inherited from interface com.vaadin.flow.component.textfield.HasAutocomplete
getAutocomplete, setAutocomplete
Methods inherited from interface com.vaadin.flow.component.textfield.HasAutocorrect
isAutocorrect, setAutocorrect
Methods inherited from interface com.vaadin.flow.component.shared.HasClearButton
isClearButtonVisible, setClearButtonVisible
Methods inherited from interface com.vaadin.flow.component.shared.HasClientValidation
addClientValidatedEventListener
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
Methods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabled
Methods inherited from interface com.vaadin.flow.component.HasHelper
getHelperComponent, getHelperText, setHelperComponent, setHelperText
Methods inherited from interface com.vaadin.flow.component.HasLabel
getLabel
Methods inherited from interface io.jmix.flowui.component.HasLengthLimited
getMaxLength, getMinLength
Methods inherited from interface com.vaadin.flow.component.HasPlaceholder
getPlaceholder, setPlaceholder
Methods inherited from interface com.vaadin.flow.component.shared.HasPrefix
getPrefixComponent, setPrefixComponent
Methods inherited from interface io.jmix.flowui.component.HasRequired
isRequired
Methods 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, setWidth, setWidthFull
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
Methods inherited from interface com.vaadin.flow.component.shared.HasSuffix
getSuffixComponent, setSuffixComponent
Methods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
Methods inherited from interface com.vaadin.flow.component.shared.HasThemeVariant
addThemeVariants, removeThemeVariants
Methods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipText
Methods inherited from interface com.vaadin.flow.component.HasValidation
setManualValidation
Methods inherited from interface com.vaadin.flow.data.binder.HasValidator
addValidationStatusChangeListener
Methods inherited from interface com.vaadin.flow.component.HasValue
clear, getEmptyValue, getOptionalValue, getValue, isEmpty
Methods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setReadOnly
Methods inherited from interface com.vaadin.flow.component.InputNotifier
addInputListener
Methods inherited from interface com.vaadin.flow.component.KeyNotifier
addKeyDownListener, addKeyDownListener, addKeyPressListener, addKeyPressListener, addKeyUpListener, addKeyUpListener
-
Field Details
-
applicationContext
protected org.springframework.context.ApplicationContext applicationContext -
fieldDelegate
-
internalValue
-
trimEnabled
protected boolean trimEnabled -
isVaadinValueChangeEnabled
protected boolean isVaadinValueChangeEnabledComponent manually handles Vaadin value change event: when programmatically sets value (seesetValueInternal(Object, String, boolean)
) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)
). Therefore, any Vaadin value change listener has a wrapper and disabled for handling event.
-
-
Constructor Details
-
TypedTextField
public TypedTextField()
-
-
Method Details
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) - Specified by:
setApplicationContext
in interfaceorg.springframework.context.ApplicationContextAware
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
initComponent
protected void initComponent() -
createFieldDelegate
-
getDatatype
- Specified by:
getDatatype
in interfaceSupportsDatatype<V>
-
setDatatype
- Specified by:
setDatatype
in interfaceSupportsDatatype<V>
-
addValidator
- Specified by:
addValidator
in interfaceSupportsValidation<V>
-
validate
protected void validate()- Overrides:
validate
in classcom.vaadin.flow.component.textfield.TextField
-
executeValidators
- Specified by:
executeValidators
in interfaceSupportsValidation<V>
- Throws:
ValidationException
-
isInvalid
public boolean isInvalid()- Specified by:
isInvalid
in interfacecom.vaadin.flow.component.HasValidation
- Specified by:
isInvalid
in interfacecom.vaadin.flow.component.shared.HasValidationProperties
-
setInvalid
public void setInvalid(boolean invalid) Description copied from interface:SupportsValidation
Sets invalid state to the field considering result of field validation.- Invalid - false and validation passed - false = field is invalid
- Invalid - false and validation passed - true = field is valid
- Invalid - true and validation passed - false = field is invalid
- Invalid - true and validation passed - true = field is invalid
- Specified by:
setInvalid
in interfacecom.vaadin.flow.component.HasValidation
- Specified by:
setInvalid
in interfacecom.vaadin.flow.component.shared.HasValidationProperties
- Specified by:
setInvalid
in interfaceSupportsValidation<V>
- Parameters:
invalid
- whether field should be invalid
-
getErrorMessage
- Specified by:
getErrorMessage
in interfacecom.vaadin.flow.component.HasValidation
- Specified by:
getErrorMessage
in interfacecom.vaadin.flow.component.shared.HasValidationProperties
- Specified by:
getErrorMessage
in interfaceSupportsValidation<V>
-
setErrorMessage
- Specified by:
setErrorMessage
in interfacecom.vaadin.flow.component.HasValidation
- Specified by:
setErrorMessage
in interfacecom.vaadin.flow.component.shared.HasValidationProperties
- Specified by:
setErrorMessage
in interfaceSupportsValidation<V>
-
setStatusChangeHandler
public void setStatusChangeHandler(@Nullable Consumer<SupportsStatusChangeHandler.StatusContext<TypedTextField<V>>> handler) Description copied from interface:SupportsStatusChangeHandler
Sets a callback to be used to handle component status changes, e.g. validation messages set byHasValidation.setErrorMessage(String)
.- Specified by:
setStatusChangeHandler
in interfaceSupportsStatusChangeHandler<V>
- Parameters:
handler
- a handler to set
-
getValueSource
- Specified by:
getValueSource
in interfaceSupportsValueSource<V>
-
setValueSource
- Specified by:
setValueSource
in interfaceSupportsValueSource<V>
-
getTypedValue
- Specified by:
getTypedValue
in interfaceSupportsTypedValue<TypedTextField<V>,
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField, String>, V, String>
-
setTypedValue
- Specified by:
setTypedValue
in interfaceSupportsTypedValue<TypedTextField<V>,
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField, String>, V, String>
-
setValue
-
setValueInternal
-
addValueChangeListener
public com.vaadin.flow.shared.Registration addValueChangeListener(com.vaadin.flow.component.HasValue.ValueChangeListener<? super com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField, String>> listener) - Specified by:
addValueChangeListener
in interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField,
String>, String> - Overrides:
addValueChangeListener
in classcom.vaadin.flow.component.AbstractField<com.vaadin.flow.component.textfield.TextField,
String>
-
addTypedValueChangeListener
public com.vaadin.flow.shared.Registration addTypedValueChangeListener(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<TypedTextField<V>, V>> listener) - Specified by:
addTypedValueChangeListener
in interfaceSupportsTypedValue<TypedTextField<V>,
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField, String>, V, String>
-
getRequiredMessage
- Specified by:
getRequiredMessage
in interfaceHasRequired
-
setRequiredMessage
- Specified by:
setRequiredMessage
in interfaceHasRequired
-
isTrimEnabled
public boolean isTrimEnabled()- Specified by:
isTrimEnabled
in interfaceSupportsTrimming
- Returns:
true
if trims spaces at the beginning and at the end of the entered string,false
otherwise
-
setTrimEnabled
public void setTrimEnabled(boolean trimEnabled) Description copied from interface:SupportsTrimming
Sets whether to trim spaces at the beginning and at the end of the entered string. The default value depends onUiComponentProperties.isDefaultTrimEnabled()
.- Specified by:
setTrimEnabled
in interfaceSupportsTrimming
- Parameters:
trimEnabled
- whether to trim spaces at the beginning and at the end of the entered string
-
setMaxLength
public void setMaxLength(int maxLength) Description copied from interface:HasLengthLimited
Maximum number of characters (in Unicode code points) that the user can enter.- Specified by:
setMaxLength
in interfaceHasLengthLimited
- Overrides:
setMaxLength
in classcom.vaadin.flow.component.textfield.TextField
- Parameters:
maxLength
- the maximum length
-
setMinLength
public void setMinLength(int minLength) Description copied from interface:HasLengthLimited
Minimum number of characters (in Unicode code points) that the user can enter.- Specified by:
setMinLength
in interfaceHasLengthLimited
- Overrides:
setMinLength
in classcom.vaadin.flow.component.textfield.TextField
- Parameters:
minLength
- the minimum length
-
setPattern
- Overrides:
setPattern
in classcom.vaadin.flow.component.textfield.TextField
-
setRequired
public void setRequired(boolean required) - Specified by:
setRequired
in interfaceHasRequired
- Overrides:
setRequired
in classcom.vaadin.flow.component.textfield.TextField
-
setRequiredIndicatorVisible
public void setRequiredIndicatorVisible(boolean requiredIndicatorVisible) - Specified by:
setRequiredIndicatorVisible
in interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField,
String>, String> - Specified by:
setRequiredIndicatorVisible
in interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField,
String>, String> - Overrides:
setRequiredIndicatorVisible
in classcom.vaadin.flow.component.textfield.TextField
-
fireAllValueChangeEvents
-
fireTypedValueChangeEvent
-
fireTextFieldValueChangeEvent
-
attachValueChangeListener
protected void attachValueChangeListener() -
onValueChange
protected void onValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TypedTextField<V>, String> event) -
convertToModel
- Throws:
ConversionException
-
convertToPresentation
-
fieldValueEquals
-