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>>,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, 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.ClientValidatedEventNested 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
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected TextInputFieldDelegate<TypedTextField<V>,V> protected Vprotected booleanComponent manually handles Vaadin value change event: when programmatically sets value (seesetValueInternal(Object, String, boolean)) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)).Fields inherited from interface com.vaadin.flow.component.textfield.HasAutocapitalize
AUTOCAPITALIZE_ATTRIBUTEFields inherited from interface com.vaadin.flow.component.textfield.HasAutocomplete
AUTOCOMPLETE_ATTRIBUTEFields inherited from interface com.vaadin.flow.component.textfield.HasAutocorrect
AUTOCORRECT_ATTRIBUTEFields inherited from interface io.jmix.flowui.component.HasRequired
PROPERTY_REQUIREDFields inherited from interface com.vaadin.flow.data.value.HasValueChangeMode
DEFAULT_CHANGE_TIMEOUTFields inherited from interface io.jmix.flowui.component.SupportsValidation
PROPERTY_ERROR_MESSAGE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.shared.RegistrationaddTypedValueChangeListener(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<TypedTextField<V>, V>> listener) com.vaadin.flow.shared.RegistrationaddValidator(Validator<? super V> validator) com.vaadin.flow.shared.RegistrationaddValueChangeListener(com.vaadin.flow.component.HasValue.ValueChangeListener<? super com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField, String>> listener) voidprotected voidprotected VconvertToModel(String presentationValue) protected StringconvertToPresentation(Object modelValue) protected TextInputFieldDelegate<TypedTextField<V>,V> voidprotected booleanfieldValueEquals(V value, V oldValue) protected voidfireAllValueChangeEvents(V value, V oldValue, boolean isFromClient) protected voidfireTextFieldValueChangeEvent(V oldValue, boolean isFromClient) protected voidfireTypedValueChangeEvent(V value, V oldValue, boolean isFromClient) protected voidbooleanprotected voidonValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TypedTextField<V>, String> event) voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) voidsetDatatype(Datatype<V> datatype) voidsetErrorMessage(String errorMessage) voidsetInvalid(boolean invalid) Sets invalid state to the field considering result of field validation.voidsetMaxLength(int maxLength) Maximum number of characters (in Unicode code points) that the user can enter.voidsetMinLength(int minLength) Minimum number of characters (in Unicode code points) that the user can enter.voidsetPattern(String pattern) voidsetRequired(boolean required) voidsetRequiredIndicatorVisible(boolean requiredIndicatorVisible) voidsetRequiredMessage(String requiredMessage) voidsetStatusChangeHandler(Consumer<SupportsStatusChangeHandler.StatusContext<TypedTextField<V>>> handler) Sets a callback to be used to handle component status changes, e.g.voidsetTypedValue(V value) voidprotected voidsetValueInternal(V modelValue, String presentationValue, boolean fromClient) voidsetValueSource(ValueSource<V> valueSource) protected voidvalidate()Methods inherited from class com.vaadin.flow.component.textfield.TextField
getDefaultValidator, getEmptyValue, getMaxLength, getMinLength, getPattern, getValue, onAttach, setManualValidationMethods 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, setValueChangeTimeoutMethods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEventMethods inherited from class com.vaadin.flow.component.AbstractField
isEmpty, setModelValue, 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, removeFromParent, scrollIntoView, 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.CompositionNotifier
addCompositionEndListener, addCompositionStartListener, addCompositionUpdateListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, focus, getTabIndex, setTabIndexMethods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListenerMethods inherited from interface com.vaadin.flow.component.shared.HasAllowedCharPattern
getAllowedCharPattern, setAllowedCharPatternMethods inherited from interface com.vaadin.flow.component.textfield.HasAutocapitalize
getAutocapitalize, setAutocapitalizeMethods inherited from interface com.vaadin.flow.component.textfield.HasAutocomplete
getAutocomplete, setAutocompleteMethods inherited from interface com.vaadin.flow.component.textfield.HasAutocorrect
isAutocorrect, setAutocorrectMethods inherited from interface com.vaadin.flow.component.shared.HasClearButton
isClearButtonVisible, setClearButtonVisibleMethods inherited from interface com.vaadin.flow.component.shared.HasClientValidation
addClientValidatedEventListenerMethods 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 com.vaadin.flow.component.HasLabel
getLabelMethods inherited from interface io.jmix.flowui.component.HasLengthLimited
getMaxLength, getMinLengthMethods inherited from interface com.vaadin.flow.component.HasPlaceholder
getPlaceholder, setPlaceholderMethods inherited from interface com.vaadin.flow.component.shared.HasPrefix
getPrefixComponent, setPrefixComponentMethods 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, 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.shared.HasSuffix
getSuffixComponent, setSuffixComponentMethods 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.HasThemeVariant
addThemeVariants, removeThemeVariantsMethods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipTextMethods inherited from interface com.vaadin.flow.component.HasValidation
setManualValidationMethods inherited from interface com.vaadin.flow.data.binder.HasValidator
addValidationStatusChangeListenerMethods inherited from interface com.vaadin.flow.component.HasValue
clear, getEmptyValue, getOptionalValue, getValue, isEmptyMethods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setReadOnlyMethods inherited from interface com.vaadin.flow.component.InputNotifier
addInputListenerMethods 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
-
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:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
initComponent
protected void initComponent() -
createFieldDelegate
-
getDatatype
- Specified by:
getDatatypein interfaceSupportsDatatype<V>
-
setDatatype
- Specified by:
setDatatypein interfaceSupportsDatatype<V>
-
addValidator
- Specified by:
addValidatorin interfaceSupportsValidation<V>
-
validate
protected void validate()- Overrides:
validatein classcom.vaadin.flow.component.textfield.TextField
-
executeValidators
- Specified by:
executeValidatorsin interfaceSupportsValidation<V>- Throws:
ValidationException
-
isInvalid
public boolean isInvalid()- Specified by:
isInvalidin interfacecom.vaadin.flow.component.HasValidation- Specified by:
isInvalidin interfacecom.vaadin.flow.component.shared.HasValidationProperties
-
setInvalid
public void setInvalid(boolean invalid) Description copied from interface:SupportsValidationSets 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:
setInvalidin interfacecom.vaadin.flow.component.HasValidation- Specified by:
setInvalidin interfacecom.vaadin.flow.component.shared.HasValidationProperties- Specified by:
setInvalidin interfaceSupportsValidation<V>- Parameters:
invalid- whether field should be invalid
-
getErrorMessage
- Specified by:
getErrorMessagein interfacecom.vaadin.flow.component.HasValidation- Specified by:
getErrorMessagein interfacecom.vaadin.flow.component.shared.HasValidationProperties- Specified by:
getErrorMessagein interfaceSupportsValidation<V>
-
setErrorMessage
- Specified by:
setErrorMessagein interfacecom.vaadin.flow.component.HasValidation- Specified by:
setErrorMessagein interfacecom.vaadin.flow.component.shared.HasValidationProperties- Specified by:
setErrorMessagein interfaceSupportsValidation<V>
-
setStatusChangeHandler
public void setStatusChangeHandler(@Nullable Consumer<SupportsStatusChangeHandler.StatusContext<TypedTextField<V>>> handler) Description copied from interface:SupportsStatusChangeHandlerSets a callback to be used to handle component status changes, e.g. validation messages set byHasValidation.setErrorMessage(String).- Specified by:
setStatusChangeHandlerin interfaceSupportsStatusChangeHandler<V>- Parameters:
handler- a handler to set
-
getValueSource
- Specified by:
getValueSourcein interfaceSupportsValueSource<V>
-
setValueSource
- Specified by:
setValueSourcein interfaceSupportsValueSource<V>
-
getTypedValue
- Specified by:
getTypedValuein interfaceSupportsTypedValue<TypedTextField<V>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField, String>, V, String>
-
setTypedValue
- Specified by:
setTypedValuein 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:
addValueChangeListenerin interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField,String>, String> - Overrides:
addValueChangeListenerin 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:
addTypedValueChangeListenerin interfaceSupportsTypedValue<TypedTextField<V>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField, String>, V, String>
-
getRequiredMessage
- Specified by:
getRequiredMessagein interfaceHasRequired
-
setRequiredMessage
- Specified by:
setRequiredMessagein interfaceHasRequired
-
setMaxLength
public void setMaxLength(int maxLength) Description copied from interface:HasLengthLimitedMaximum number of characters (in Unicode code points) that the user can enter.- Specified by:
setMaxLengthin interfaceHasLengthLimited- Overrides:
setMaxLengthin classcom.vaadin.flow.component.textfield.TextField- Parameters:
maxLength- the maximum length
-
setMinLength
public void setMinLength(int minLength) Description copied from interface:HasLengthLimitedMinimum number of characters (in Unicode code points) that the user can enter.- Specified by:
setMinLengthin interfaceHasLengthLimited- Overrides:
setMinLengthin classcom.vaadin.flow.component.textfield.TextField- Parameters:
minLength- the minimum length
-
setPattern
- Overrides:
setPatternin classcom.vaadin.flow.component.textfield.TextField
-
setRequired
public void setRequired(boolean required) - Specified by:
setRequiredin interfaceHasRequired- Overrides:
setRequiredin classcom.vaadin.flow.component.textfield.TextField
-
setRequiredIndicatorVisible
public void setRequiredIndicatorVisible(boolean requiredIndicatorVisible) - Specified by:
setRequiredIndicatorVisiblein interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField,String>, String> - Specified by:
setRequiredIndicatorVisiblein interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.textfield.TextField,String>, String> - Overrides:
setRequiredIndicatorVisiblein 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
-