Class TypedDatePicker<V extends Comparable>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<C,T>
com.vaadin.flow.component.AbstractSinglePropertyField<com.vaadin.flow.component.datepicker.DatePicker,LocalDate>
com.vaadin.flow.component.datepicker.DatePicker
io.jmix.flowui.component.datepicker.TypedDatePicker<V>
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.datepicker.DatePicker>,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.Focusable<com.vaadin.flow.component.datepicker.DatePicker>,com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.datepicker.DatePicker>,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.datepicker.DatePicker,,LocalDate>, LocalDate> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker,,LocalDate>, LocalDate> com.vaadin.flow.component.shared.HasAllowedCharPattern,com.vaadin.flow.component.shared.HasAutoOpen,com.vaadin.flow.component.shared.HasClearButton,com.vaadin.flow.component.shared.HasClientValidation,com.vaadin.flow.component.shared.HasOverlayClassName,com.vaadin.flow.component.shared.HasPrefix,com.vaadin.flow.component.shared.HasThemeVariant<com.vaadin.flow.component.datepicker.DatePickerVariant>,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.datepicker.DatePicker,,LocalDate>, LocalDate> com.vaadin.flow.data.binder.HasValidator<LocalDate>,HasRequired,SupportsDatatype<V>,SupportsStatusChangeHandler<TypedDatePicker<V>>,SupportsTypedValue<TypedDatePicker<V>,,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker, LocalDate>, V, LocalDate> SupportsValidation<V>,SupportsValueSource<V>,Serializable,org.springframework.beans.factory.Aware,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware
public class TypedDatePicker<V extends Comparable>
extends com.vaadin.flow.component.datepicker.DatePicker
implements SupportsValueSource<V>, SupportsTypedValue<TypedDatePicker<V>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker,LocalDate>,V,LocalDate>, SupportsDatatype<V>, SupportsValidation<V>, SupportsStatusChangeHandler<TypedDatePicker<V>>, HasRequired, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.vaadin.flow.component.datepicker.DatePicker
com.vaadin.flow.component.datepicker.DatePicker.DatePickerI18n, com.vaadin.flow.component.datepicker.DatePicker.InvalidChangeEvent, com.vaadin.flow.component.datepicker.DatePicker.OpenedChangeEventNested 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 CurrentAuthenticationprotected DateTimeTransformationsprotected DatePickerDelegate<V>protected Vprotected booleanComponent manually handles Vaadin value change event: when programmatically sets value (seesetValueInternal(LocalDate)) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)).protected MessagesFields 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.RegistrationaddTypedValueChangeListener(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<TypedDatePicker<V>, V>> listener) Adds a listener to be notified of changes to the typed value of the component.com.vaadin.flow.shared.RegistrationaddValidator(Validator<? super V> validator) Adds a validator to the list of validators for the component.com.vaadin.flow.shared.RegistrationaddValueChangeListener(com.vaadin.flow.component.HasValue.ValueChangeListener<? super com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker, LocalDate>> listener) voidprotected voidprotected voidprotected VconvertToModel(LocalDate presentationValue) protected LocalDateconvertToPresentation(V modelValue) protected DatePickerDelegate<V>voidExecutes all registered validators against the current value of the component.protected booleanfieldValueEquals(V value, V oldValue) protected voidfireAllValueChangeEvents(V value, V oldValue, boolean isFromClient) protected voidfireDatePickerValueChangeEvent(V oldValue, boolean isFromClient) protected voidfireTypedValueChangeEvent(V value, V oldValue, boolean isFromClient) Returns the datatype of this component.Returns the custom validation message to be displayed if the component is marked as required and the validation fails due to a missing value.Returns the typed value associated with the component.Returns the currentValueSourceassociated with this component.protected voidbooleanprotected voidonValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TypedDatePicker<V>, LocalDate> event) voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) voidsetDatatype(Datatype<V> datatype) Sets the datatype of this component.voidsetErrorMessage(String errorMessage) voidsetInvalid(boolean invalid) Sets invalid state to the field considering result of field validation.voidvoidvoidsetRequired(boolean required) Sets the required property for the component.voidsetRequiredIndicatorVisible(boolean required) voidsetRequiredMessage(String requiredMessage) Sets a message that will be displayed or logged when a required field or input is not provided.voidsetStatusChangeHandler(Consumer<SupportsStatusChangeHandler.StatusContext<TypedDatePicker<V>>> handler) Sets a callback to be used to handle component status changes, e.g.voidsetTypedValue(V value) Sets the typed value of the component to the specified value.voidprotected voidsetValueInternal(LocalDate value) voidsetValueSource(ValueSource<V> valueSource) Sets aValueSourcefor this component, allowing it to bind its value to a specified data source.protected voidvalidate()Methods inherited from class com.vaadin.flow.component.datepicker.DatePicker
addInvalidChangeListener, addOpenedChangeListener, addValidationStatusChangeListener, close, getAriaLabel, getAriaLabelledBy, getDefaultValidator, getFallbackParser, getI18n, getInitialPosition, getLabel, getLocale, getMax, getMin, getName, isInputUnparsable, isInputValuePresent, isOpened, isRequired, isRequiredIndicatorVisible, isWeekNumbersVisible, onAttach, open, setAriaLabel, setAriaLabelledBy, setFallbackParser, setI18n, setInitialPosition, setLabel, setLocale, setManualValidation, setModelValue, setName, setOpened, setWeekNumbersVisibleMethods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEventMethods inherited from class com.vaadin.flow.component.AbstractField
getEmptyValue, getValue, isEmpty, valueEqualsMethods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, 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.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.shared.HasAutoOpen
isAutoOpen, setAutoOpenMethods 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.shared.HasOverlayClassName
getOverlayClassName, setOverlayClassNameMethods 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.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.component.HasValue
clear, getEmptyValue, getOptionalValue, getValue, isEmptyMethods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, setReadOnly
-
Field Details
-
applicationContext
protected org.springframework.context.ApplicationContext applicationContext -
dateTimeTransformations
-
messages
-
fieldDelegate
-
currentAuthentication
-
internalValue
-
isVaadinValueChangeEnabled
protected boolean isVaadinValueChangeEnabledComponent manually handles Vaadin value change event: when programmatically sets value (seesetValueInternal(LocalDate)) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)). Therefore, any Vaadin value change listener has a wrapper and disabled for handling event.
-
-
Constructor Details
-
TypedDatePicker
public TypedDatePicker()
-
-
Method Details
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException - Specified by:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware- Throws:
org.springframework.beans.BeansException
-
autowireDependencies
protected void autowireDependencies() -
initComponent
protected void initComponent() -
createFieldDelegate
-
getTypedValue
Description copied from interface:SupportsTypedValueReturns the typed value associated with the component.- Specified by:
getTypedValuein interfaceSupportsTypedValue<TypedDatePicker<V extends Comparable>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker, LocalDate>, V extends Comparable, LocalDate> - Returns:
- the typed value of the component, or
nullif no value is set
-
setTypedValue
Description copied from interface:SupportsTypedValueSets the typed value of the component to the specified value.- Specified by:
setTypedValuein interfaceSupportsTypedValue<TypedDatePicker<V extends Comparable>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker, LocalDate>, V extends Comparable, LocalDate> - Parameters:
value- the new typed value to set, ornullif the value should be unset
-
setValue
-
setValueInternal
-
addTypedValueChangeListener
public com.vaadin.flow.shared.Registration addTypedValueChangeListener(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<TypedDatePicker<V>, V>> listener) Description copied from interface:SupportsTypedValueAdds a listener to be notified of changes to the typed value of the component.- Specified by:
addTypedValueChangeListenerin interfaceSupportsTypedValue<TypedDatePicker<V extends Comparable>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker, LocalDate>, V extends Comparable, LocalDate> - Parameters:
listener- the listener to be added; it will handleSupportsTypedValue.TypedValueChangeEventtriggered by changes to the component's typed value- Returns:
- a
Registrationobject that can be used to remove the listener
-
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.datepicker.DatePicker, LocalDate>> listener) - Specified by:
addValueChangeListenerin interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker,LocalDate>, LocalDate> - Overrides:
addValueChangeListenerin classcom.vaadin.flow.component.AbstractField<com.vaadin.flow.component.datepicker.DatePicker,LocalDate>
-
getDatatype
Description copied from interface:SupportsDatatypeReturns the datatype of this component.- Specified by:
getDatatypein interfaceSupportsDatatype<V extends Comparable>- Returns:
- the datatype, or
nullif no datatype is set
-
setDatatype
Description copied from interface:SupportsDatatypeSets the datatype of this component.- Specified by:
setDatatypein interfaceSupportsDatatype<V extends Comparable>- Parameters:
datatype- the datatype to be set, ornullto unset the current datatype
-
getValueSource
Description copied from interface:SupportsValueSourceReturns the currentValueSourceassociated with this component.- Specified by:
getValueSourcein interfaceSupportsValueSource<V extends Comparable>- Returns:
- the associated
ValueSource, ornullif no value source is set
-
setValueSource
Description copied from interface:SupportsValueSourceSets aValueSourcefor this component, allowing it to bind its value to a specified data source.- Specified by:
setValueSourcein interfaceSupportsValueSource<V extends Comparable>- Parameters:
valueSource- theValueSourceto be associated with this component, ornullto remove the current association
-
addValidator
Description copied from interface:SupportsValidationAdds a validator to the list of validators for the component. The provided validator will be used to validate the value of the component during validation execution.- Specified by:
addValidatorin interfaceSupportsValidation<V extends Comparable>- Parameters:
validator- the validator to be added; should not benull- Returns:
- a
Registrationobject that allows removing the added validator
-
executeValidators
Description copied from interface:SupportsValidationExecutes all registered validators against the current value of the component. If any of the validators fail, aValidationExceptionis thrown to indicate the failure. The exact behavior and order of validation depend on the validators added.- Specified by:
executeValidatorsin interfaceSupportsValidation<V extends Comparable>- Throws:
ValidationException- if validation fails for one or more validators
-
validate
protected void validate()- Overrides:
validatein classcom.vaadin.flow.component.datepicker.DatePicker
-
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 extends Comparable>- 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 extends Comparable>
-
setErrorMessage
- Specified by:
setErrorMessagein interfacecom.vaadin.flow.component.HasValidation- Specified by:
setErrorMessagein interfacecom.vaadin.flow.component.shared.HasValidationProperties- Specified by:
setErrorMessagein interfaceSupportsValidation<V extends Comparable>- Overrides:
setErrorMessagein classcom.vaadin.flow.component.datepicker.DatePicker
-
setStatusChangeHandler
public void setStatusChangeHandler(@Nullable Consumer<SupportsStatusChangeHandler.StatusContext<TypedDatePicker<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 extends Comparable>- Parameters:
handler- a handler to set
-
setRequired
public void setRequired(boolean required) Description copied from interface:HasRequiredSets the required property for the component. When a component is marked as required, it indicates that a value must be provided for the component in order to pass validation.- Specified by:
setRequiredin interfaceHasRequired- Overrides:
setRequiredin classcom.vaadin.flow.component.datepicker.DatePicker- Parameters:
required- a boolean value indicating whether the component is marked as required.trueto mark the component as required,falseotherwise.
-
setRequiredIndicatorVisible
public void setRequiredIndicatorVisible(boolean required) - Specified by:
setRequiredIndicatorVisiblein interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker,LocalDate>, LocalDate> - Specified by:
setRequiredIndicatorVisiblein interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.datepicker.DatePicker,LocalDate>, LocalDate> - Overrides:
setRequiredIndicatorVisiblein classcom.vaadin.flow.component.datepicker.DatePicker
-
getRequiredMessage
Description copied from interface:HasRequiredReturns the custom validation message to be displayed if the component is marked as required and the validation fails due to a missing value.- Specified by:
getRequiredMessagein interfaceHasRequired- Returns:
- the required message set for the component, or
nullif no message is defined
-
setRequiredMessage
Description copied from interface:HasRequiredSets a message that will be displayed or logged when a required field or input is not provided.- Specified by:
setRequiredMessagein interfaceHasRequired- Parameters:
requiredMessage- the message to be set for required fields. Ifnull, the default message or no message will be used.
-
setMin
- Overrides:
setMinin classcom.vaadin.flow.component.datepicker.DatePicker
-
setMax
- Overrides:
setMaxin classcom.vaadin.flow.component.datepicker.DatePicker
-
fireAllValueChangeEvents
-
fireTypedValueChangeEvent
-
fireDatePickerValueChangeEvent
-
attachValueChangeListener
protected void attachValueChangeListener() -
onValueChange
protected void onValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TypedDatePicker<V>, LocalDate> event) -
convertToModel
-
convertToPresentation
-
fieldValueEquals
-