com.vaadin.flow.component.timepicker.
Class TimePicker
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.AbstractField<C,T>
-
- com.vaadin.flow.component.AbstractSinglePropertyField<R,T>
-
- com.vaadin.flow.component.timepicker.GeneratedVaadinTimePicker<TimePicker,LocalTime>
-
- com.vaadin.flow.component.timepicker.TimePicker
-
All Implemented Interfaces:
AttachNotifier
,BlurNotifier<TimePicker>
,DetachNotifier
,Focusable<TimePicker>
,FocusNotifier<TimePicker>
,HasElement
,HasEnabled
,HasHelper
,HasLabel
,HasSize
,HasStyle
,HasTheme
,HasValidation
,HasValue<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>,LocalTime>
,HasValueAndElement<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>,LocalTime>
,HasClearButton
,Serializable
@JsModule("./vaadin-time-picker/timepickerConnector.js") public class TimePicker extends GeneratedVaadinTimePicker<TimePicker,LocalTime> implements HasSize, HasValidation, HasEnabled, HasHelper, HasLabel, HasTheme, HasClearButton
Time Picker is an input field for entering or selecting a specific time. The time can be entered directly using a keyboard or by choosing a value from a set of predefined options presented in an overlay. The overlay opens when the field is clicked or any input is entered when the field is focused.
Author:
Vaadin Ltd
See Also:
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.vaadin.flow.component.timepicker.GeneratedVaadinTimePicker
GeneratedVaadinTimePicker.InvalidChangeEvent<R extends GeneratedVaadinTimePicker<R,?>>
-
Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
AbstractField.ComponentValueChangeEvent<C extends Component,V>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier
BlurNotifier.BlurEvent<C extends Component>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
FocusNotifier.FocusEvent<C extends Component>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
HasValue.ValueChangeEvent<V>, HasValue.ValueChangeListener<E extends HasValue.ValueChangeEvent<?>>
-
-
Constructor Summary
Constructors Constructor Description TimePicker()
Default constructor.
TimePicker(HasValue.ValueChangeListener<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>> listener)
Convenience constructor to create a time picker with a
HasValue.ValueChangeListener
.TimePicker(String label)
Convenience constructor to create a time picker with a label.
TimePicker(String label, LocalTime time)
Convenience constructor to create a time picker with a pre-selected time and a label.
TimePicker(String label, LocalTime time, HasValue.ValueChangeListener<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>> listener)
Convenience constructor to create a time picker with a label, a pre-selected time and a
HasValue.ValueChangeListener
.TimePicker(LocalTime time)
Convenience constructor to create a time picker with a pre-selected time.
TimePicker(LocalTime time, HasValue.ValueChangeListener<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>> listener)
Convenience constructor to create a time picker with a pre-selected time and
HasValue.ValueChangeListener
.
-
Method Summary
All Methods Modifier and Type Method Description Registration
addInvalidChangeListener(ComponentEventListener<GeneratedVaadinTimePicker.InvalidChangeEvent<TimePicker>> listener)
Adds a listener for
invalid-changed
events fired by the webcomponent.void
addThemeVariants(TimePickerVariant... variants)
Adds theme variants to the component.
String
getErrorMessage()
Gets the current error message from the time picker.
String
getLabel()
Gets the label of the time picker.
Locale
getLocale()
Gets the Locale for this time picker.
LocalTime
getMax()
Gets the maximum time in the time picker.
LocalTime
getMaxTime()
Deprecated.
Since 22.0, this API is deprecated in favor ofgetMax()
LocalTime
getMin()
Gets the minimum time in the time picker.
LocalTime
getMinTime()
Deprecated.
Since 22.0, this API is deprecated in favor ofgetMin()
String
getPlaceholder()
Gets the placeholder of the time picker.
Duration
getStep()
Gets the step of the time picker.
static Stream<Locale>
getSupportedAvailableLocales()
Returns a stream of all the available locales that are supported by the time picker component.
boolean
isAutoOpen()
Gets whether dropdown will open automatically or not.
boolean
isInvalid()
Gets the validity of the time picker output.
boolean
isRequired()
Determines whether the time picker is marked as input required.
protected void
onAttach(AttachEvent attachEvent)
Called when the component is attached to a UI.
void
removeThemeVariants(TimePickerVariant... variants)
Removes theme variants from the component.
void
setAutoOpen(boolean autoOpen)
Enables or disables the dropdown opening automatically.
void
setErrorMessage(String errorMessage)
Description copied from corresponding location in WebComponent:
void
setInvalid(boolean invalid)
Description copied from corresponding location in WebComponent:
void
setLabel(String label)
Sets the label for the time picker.
void
setLocale(Locale locale)
Set the Locale for the Time Picker.
void
setMax(LocalTime max)
Sets the maximum time in the time picker.
void
setMaxTime(LocalTime max)
Deprecated.
Since 22.0, this API is deprecated in favor ofsetMax(LocalTime)
void
setMin(LocalTime min)
Sets the minimum time in the time picker.
void
setMinTime(LocalTime min)
Deprecated.
Since 22.0, this API is deprecated in favor ofsetMin(LocalTime)
void
setPlaceholder(String placeholder)
Description copied from corresponding location in WebComponent:
void
setRequired(boolean required)
Description copied from corresponding location in WebComponent:
void
setRequiredIndicatorVisible(boolean requiredIndicatorVisible)
Sets the required indicator visible or not.
void
setStep(Duration step)
Sets the
step
property of the time picker using duration.void
setValue(LocalTime value)
Sets the selected time value of the component.
protected void
validate()
Performs server-side validation of the current value.
-
Methods inherited from class com.vaadin.flow.component.timepicker.GeneratedVaadinTimePicker
checkValidity, getErrorMessageString, getI18nJsonObject, getLabelString, getMaxString, getMinString, getNameString, getPatternString, getPlaceholderString, getStepDouble, isAutofocusBoolean, isDisabledBoolean, isInvalidBoolean, isPreventInvalidInputBoolean, isReadonlyBoolean, isRequiredBoolean, setAutofocus, setDisabled, setI18n, setMax, setMin, setName, setPattern, setPreventInvalidInput, setReadonly, setStep
-
Methods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEvent
-
Methods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue, valueEquals
-
Methods inherited from class com.vaadin.flow.component.Component
addListener, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getParent, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, 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.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.HasClearButton
isClearButtonVisible, setClearButtonVisible
-
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.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.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
-
Methods inherited from interface com.vaadin.flow.component.HasValue
clear, getOptionalValue
-
Methods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setReadOnly
-
-
-
-
Constructor Detail
-
TimePicker
public TimePicker()
Default constructor.
-
TimePicker
public TimePicker(LocalTime time)
Convenience constructor to create a time picker with a pre-selected time.
Parameters:
time
- the pre-selected time in the picker
-
TimePicker
public TimePicker(String label)
Convenience constructor to create a time picker with a label.
Parameters:
label
- the label describing the time pickerSee Also:
-
TimePicker
public TimePicker(String label, LocalTime time)
Convenience constructor to create a time picker with a pre-selected time and a label.
Parameters:
label
- the label describing the time pickertime
- the pre-selected time in the picker
-
TimePicker
public TimePicker(HasValue.ValueChangeListener<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>> listener)
Convenience constructor to create a time picker with a
HasValue.ValueChangeListener
.Parameters:
listener
- the listener to receive value change eventsSee Also:
AbstractField.addValueChangeListener(HasValue.ValueChangeListener)
-
TimePicker
public TimePicker(LocalTime time, HasValue.ValueChangeListener<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>> listener)
Convenience constructor to create a time picker with a pre-selected time and
HasValue.ValueChangeListener
.Parameters:
time
- the pre-selected time in the pickerlistener
- the listener to receive value change eventsSee Also:
AbstractField.addValueChangeListener(HasValue.ValueChangeListener)
-
TimePicker
public TimePicker(String label, LocalTime time, HasValue.ValueChangeListener<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>> listener)
Convenience constructor to create a time picker with a label, a pre-selected time and a
HasValue.ValueChangeListener
.Parameters:
label
- the label describing the time pickertime
- the pre-selected time in the pickerlistener
- the listener to receive value change eventsSee Also:
setLabel(String)
,AbstractField.addValueChangeListener(HasValue.ValueChangeListener)
-
-
Method Detail
-
setLabel
public void setLabel(String label)
Sets the label for the time picker.
Specified by:
setLabel
in interfaceHasLabel
Overrides:
setLabel
in classGeneratedVaadinTimePicker<TimePicker,LocalTime>
Parameters:
label
- value for thelabel
property in the time picker
-
setValue
public void setValue(LocalTime value)
Sets the selected time value of the component. The value can be cleared by setting null.
The value will be truncated to millisecond precision, as that is the maximum that the time picker supports. This means that
AbstractField.getValue()
might return a different value than what was passed in.Specified by:
setValue
in interfaceHasValue<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>,LocalTime>
Overrides:
setValue
in classAbstractField<TimePicker,LocalTime>
Parameters:
value
- the LocalTime instance representing the selected time, or null
-
getLabel
public String getLabel()
Gets the label of the time picker.
-
setErrorMessage
public void setErrorMessage(String errorMessage)
Description copied from class:
GeneratedVaadinTimePicker
Description copied from corresponding location in WebComponent:
The error message to display when the input is invalid.
Specified by:
setErrorMessage
in interfaceHasValidation
Overrides:
setErrorMessage
in classGeneratedVaadinTimePicker<TimePicker,LocalTime>
Parameters:
errorMessage
- the String value to set
-
getErrorMessage
public String getErrorMessage()
Gets the current error message from the time picker.
Specified by:
getErrorMessage
in interfaceHasValidation
Returns:
the current error message
-
setInvalid
public void setInvalid(boolean invalid)
Description copied from class:
GeneratedVaadinTimePicker
Description copied from corresponding location in WebComponent:
Set to true if the value is invalid.
Specified by:
setInvalid
in interfaceHasValidation
Overrides:
setInvalid
in classGeneratedVaadinTimePicker<TimePicker,LocalTime>
Parameters:
invalid
- the boolean value to set
-
isInvalid
public boolean isInvalid()
Gets the validity of the time picker output.
return true, if the value is invalid.
Specified by:
isInvalid
in interfaceHasValidation
Returns:
the
validity
property from the time picker
-
setPlaceholder
public void setPlaceholder(String placeholder)
Description copied from class:
GeneratedVaadinTimePicker
Description copied from corresponding location in WebComponent:
A placeholder string in addition to the label.
Overrides:
setPlaceholder
in classGeneratedVaadinTimePicker<TimePicker,LocalTime>
Parameters:
placeholder
- the String value to set
-
getPlaceholder
public String getPlaceholder()
Gets the placeholder of the time picker.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
Returns:
the
placeholder
property of the time picker
-
setRequired
public void setRequired(boolean required)
Description copied from class:
GeneratedVaadinTimePicker
Description copied from corresponding location in WebComponent:
Set to true to mark the input as required.
Overrides:
setRequired
in classGeneratedVaadinTimePicker<TimePicker,LocalTime>
Parameters:
required
- the boolean value to set
-
setRequiredIndicatorVisible
public void setRequiredIndicatorVisible(boolean requiredIndicatorVisible)
Description copied from interface:
HasValue
Sets the required indicator visible or not.
If set visible, it is visually indicated in the user interface.
The method is intended to be used with
Binder
which does server-side validation. In case HTML element has its own (client-side) validation it should be disabled whensetRequiredIndicatorVisible(true)
is called and re-enabled back onsetRequiredIndicatorVisible(false)
. It's responsibility of each component implementation to follow the contract so that the method call doesn't do anything else than show/hide the "required" indication. Usually components provide their ownsetRequired
method which should be called in case the client-side validation is required.Specified by:
setRequiredIndicatorVisible
in interfaceHasValue<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>,LocalTime>
Specified by:
setRequiredIndicatorVisible
in interfaceHasValueAndElement<AbstractField.ComponentValueChangeEvent<TimePicker,LocalTime>,LocalTime>
Parameters:
requiredIndicatorVisible
-true
to make the required indicator visible,false
if not
-
isRequired
public boolean isRequired()
Determines whether the time picker is marked as input required.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
Returns:
true
if the input is required,false
otherwise
-
setStep
public void setStep(Duration step)
Sets the
step
property of the time picker using duration. It specifies the intervals for the displayed items in the time picker dropdown and also the displayed time format.The set step needs to evenly divide a day or an hour and has to be larger than 0 milliseconds. By default, the format is
hh:mm
(same as *Duration.ofHours(1)
If the step is less than 60 seconds, the format will be changed to
hh:mm:ss
and it can be inhh:mm:ss.fff
format, when the step is less than 1 second.NOTE: If the step is less than 900 seconds, the dropdown is hidden.
NOTE: changing the step to a larger duration can cause a new
HasValue.ValueChangeEvent
to be fired if some parts (eg. seconds) is discarded from the value.Parameters:
step
- the step to set, notnull
and should divide a day or an hour evenly
-
getStep
public Duration getStep()
Gets the step of the time picker.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
Returns:
the
step
property from the picker, unit seconds
-
addInvalidChangeListener
public Registration addInvalidChangeListener(ComponentEventListener<GeneratedVaadinTimePicker.InvalidChangeEvent<TimePicker>> listener)
Description copied from class:
GeneratedVaadinTimePicker
Adds a listener for
invalid-changed
events fired by the webcomponent.Overrides:
addInvalidChangeListener
in classGeneratedVaadinTimePicker<TimePicker,LocalTime>
Parameters:
listener
- the listenerReturns:
a
Registration
for removing the event listener
-
addThemeVariants
public void addThemeVariants(TimePickerVariant... variants)
Adds theme variants to the component.
Parameters:
variants
- theme variants to add
-
removeThemeVariants
public void removeThemeVariants(TimePickerVariant... variants)
Removes theme variants from the component.
Parameters:
variants
- theme variants to remove
-
validate
protected void validate()
Performs server-side validation of the current value. This is needed because it is possible to circumvent the client-side validation constraints using browser development tools.
Overrides:
validate
in classGeneratedVaadinTimePicker<TimePicker,LocalTime>
-
onAttach
protected void onAttach(AttachEvent attachEvent)
Description copied from class:
Component
Called when the component is attached to a UI.
The default implementation does nothing.
This method is invoked before the
AttachEvent
is fired for the component.
-
setLocale
public void setLocale(Locale locale)
Set the Locale for the Time Picker. The displayed time will be formatted by the browser using the given locale.
By default, the locale is
null
until the component is attached to an UI, and then locale is set toUI.getLocale()
, unless a locale has been explicitly set before that.The time formatting is done in the browser using the Date.toLocaleTimeString() function.
If for some reason the browser doesn't support the given locale, the en-US locale is used.
NOTE: only the language + country/region codes are used. This means that the script and variant information is not used and supported. NOTE: timezone related data is not supported. NOTE: changing the locale does not cause a new
HasValue.ValueChangeEvent
to be fired.Parameters:
locale
- the locale set to the time picker, cannot be [@code null}
-
getLocale
public Locale getLocale()
Gets the Locale for this time picker.
By default, the locale is
null
until the component is attached to an UI, and then locale is set toUI.getLocale()
, unlesssetLocale(Locale)
has been explicitly called before that.
-
setMin
public void setMin(LocalTime min)
Sets the minimum time in the time picker. Times before that will be disabled in the popup.
Parameters:
min
- the minimum time that is allowed to be selected, ornull
to remove any minimum constraints
-
setMinTime
@Deprecated public void setMinTime(LocalTime min)
Deprecated.Since 22.0, this API is deprecated in favor ofsetMin(LocalTime)
Sets the minimum time in the time picker. Times before that will be disabled in the popup.
Parameters:
min
- the minimum time that is allowed to be selected, ornull
to remove any minimum constraints
-
getMin
public LocalTime getMin()
Gets the minimum time in the time picker. Time before that will be disabled in the popup.
Returns:
the minimum time that is allowed to be selected, or
null
if there's no minimum
-
getMinTime
@Deprecated public LocalTime getMinTime()
Deprecated.Since 22.0, this API is deprecated in favor ofgetMin()
Gets the minimum time in the time picker. Time before that will be disabled in the popup.
Returns:
the minimum time that is allowed to be selected, or
null
if there's no minimum
-
setMax
public void setMax(LocalTime max)
Sets the maximum time in the time picker. Times after that will be disabled in the popup.
Parameters:
max
- the maximum time that is allowed to be selected, ornull
to remove any maximum constraints
-
setMaxTime
@Deprecated public void setMaxTime(LocalTime max)
Deprecated.Since 22.0, this API is deprecated in favor ofsetMax(LocalTime)
Sets the maximum time in the time picker. Times after that will be disabled in the popup.
Parameters:
max
- the maximum time that is allowed to be selected, ornull
to remove any maximum constraints
-
getMax
public LocalTime getMax()
Gets the maximum time in the time picker. Times after that will be disabled in the popup.
Returns:
the maximum time that is allowed to be selected, or
null
if there's no maximum
-
getMaxTime
@Deprecated public LocalTime getMaxTime()
Deprecated.Since 22.0, this API is deprecated in favor ofgetMax()
Gets the maximum time in the time picker. Times after that will be disabled in the popup.
Returns:
the maximum time that is allowed to be selected, or
null
if there's no maximum
-
setAutoOpen
public void setAutoOpen(boolean autoOpen)
Enables or disables the dropdown opening automatically. If
false
the dropdown is only opened when clicking the toggle button or pressing Up or Down arrow keys.Parameters:
autoOpen
-false
to prevent the dropdown from opening automatically
-
isAutoOpen
public boolean isAutoOpen()
Gets whether dropdown will open automatically or not.
Returns:
-
getSupportedAvailableLocales
public static Stream<Locale> getSupportedAvailableLocales()
Returns a stream of all the available locales that are supported by the time picker component.
This is a shorthand for
Locale.getAvailableLocales()
where all locales without theLocale.getLanguage()
have been filtered out, as the browser cannot localize the time for those.Returns:
a stream of the available locales that are supported by the time picker component
See Also:
setLocale(Locale)
,Locale.getAvailableLocales()
,Locale.getLanguage()
-
-