Class TimePicker

  • All Implemented Interfaces:
    com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.BlurNotifier<TimePicker>, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.Focusable<TimePicker>, com.vaadin.flow.component.FocusNotifier<TimePicker>, 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<TimePicker,​LocalTime>,​LocalTime>, com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TimePicker,​LocalTime>,​LocalTime>, HasAllowedCharPattern, HasClearButton, HasClientValidation, HasTooltip, com.vaadin.flow.data.binder.HasValidator<LocalTime>, Serializable

    @JsModule("./vaadin-time-picker/timepickerConnector.js")
    public class TimePicker
    extends GeneratedVaadinTimePicker<TimePicker,​LocalTime>
    implements com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasValidation, com.vaadin.flow.component.HasEnabled, com.vaadin.flow.component.HasHelper, com.vaadin.flow.component.HasLabel, com.vaadin.flow.component.HasTheme, HasClearButton, HasAllowedCharPattern, com.vaadin.flow.data.binder.HasValidator<LocalTime>, HasClientValidation, HasTooltip
    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:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  TimePicker.InvalidChangeEvent<T extends GeneratedVaadinTimePicker<T,​?>>  
      • 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<?>>
    • Constructor Summary

      Constructors 
      Constructor Description
      TimePicker()
      Default constructor.
      TimePicker​(com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.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, com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.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, com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TimePicker,​LocalTime>> listener)
      Convenience constructor to create a time picker with a pre-selected time and HasValue.ValueChangeListener.
    • 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 picker
        See Also:
        setLabel(String)
      • 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 picker
        time - the pre-selected time in the picker
      • TimePicker

        public TimePicker​(com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TimePicker,​LocalTime>> listener)
        Convenience constructor to create a time picker with a HasValue.ValueChangeListener.
        Parameters:
        listener - the listener to receive value change events
        See Also:
        AbstractField.addValueChangeListener(HasValue.ValueChangeListener)
      • TimePicker

        public TimePicker​(LocalTime time,
                          com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.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 picker
        listener - the listener to receive value change events
        See Also:
        AbstractField.addValueChangeListener(HasValue.ValueChangeListener)
      • TimePicker

        public TimePicker​(String label,
                          LocalTime time,
                          com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.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 picker
        time - the pre-selected time in the picker
        listener - the listener to receive value change events
        See 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 interface com.vaadin.flow.component.HasLabel
        Overrides:
        setLabel in class GeneratedVaadinTimePicker<TimePicker,​LocalTime>
        Parameters:
        label - value for the label 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 interface com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TimePicker,​LocalTime>,​LocalTime>
        Overrides:
        setValue in class com.vaadin.flow.component.AbstractField<TimePicker,​LocalTime>
        Parameters:
        value - the LocalTime instance representing the selected time, or null
      • getLabel

        public String getLabel()
        Gets the label of the time picker.
        Specified by:
        getLabel in interface com.vaadin.flow.component.HasLabel
        Returns:
        the label property 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 interface com.vaadin.flow.component.HasValidation
        Overrides:
        setErrorMessage in class GeneratedVaadinTimePicker<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 interface com.vaadin.flow.component.HasValidation
        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 interface com.vaadin.flow.component.HasValidation
        Overrides:
        setInvalid in class GeneratedVaadinTimePicker<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 interface com.vaadin.flow.component.HasValidation
        Returns:
        the validity property from the time picker
      • getDefaultValidator

        public com.vaadin.flow.data.binder.Validator<LocalTime> getDefaultValidator()
        Specified by:
        getDefaultValidator in interface com.vaadin.flow.data.binder.HasValidator<LocalTime>
      • addValidationStatusChangeListener

        public com.vaadin.flow.shared.Registration addValidationStatusChangeListener​(com.vaadin.flow.data.binder.ValidationStatusChangeListener<LocalTime> listener)
        Specified by:
        addValidationStatusChangeListener in interface com.vaadin.flow.data.binder.HasValidator<LocalTime>
      • 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
      • setRequiredIndicatorVisible

        public void setRequiredIndicatorVisible​(boolean requiredIndicatorVisible)
        Specified by:
        setRequiredIndicatorVisible in interface com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TimePicker,​LocalTime>,​LocalTime>
        Specified by:
        setRequiredIndicatorVisible in interface com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TimePicker,​LocalTime>,​LocalTime>
      • 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 in hh: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, not null 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
      • 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 class GeneratedVaadinTimePicker<TimePicker,​LocalTime>
      • onAttach

        protected void onAttach​(com.vaadin.flow.component.AttachEvent attachEvent)
        Overrides:
        onAttach in class com.vaadin.flow.component.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 to UI.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 to UI.getLocale(), unless setLocale(Locale) has been explicitly called before that.

        Overrides:
        getLocale in class com.vaadin.flow.component.Component
        Returns:
        the locale used for this time picker
      • 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, or null to remove any minimum constraints
      • setMinTime

        @Deprecated
        public void setMinTime​(LocalTime min)
        Deprecated.
        Since 22.0, this API is deprecated in favor of setMin(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, or null 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 of 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
      • 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, or null to remove any maximum constraints
      • setMaxTime

        @Deprecated
        public void setMaxTime​(LocalTime max)
        Deprecated.
        Since 22.0, this API is deprecated in favor of setMax(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, or null 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 of 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
      • 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:
        true if enabled, false otherwise
      • isFeatureFlagEnabled

        protected boolean isFeatureFlagEnabled​(com.vaadin.experimental.Feature feature)
        Returns true if the given feature flag is enabled, false otherwise.

        Exposed with protected visibility to support mocking

        The method requires the VaadinService instance to obtain the available feature flags, otherwise, the feature is considered disabled.

        Parameters:
        feature - the feature flag.
        Returns:
        whether the feature flag is enabled.