Class DatePicker

  • All Implemented Interfaces:
    com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.BlurNotifier<DatePicker>, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.Focusable<DatePicker>, com.vaadin.flow.component.FocusNotifier<DatePicker>, 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<DatePicker,​LocalDate>,​LocalDate>, com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>,​LocalDate>, Serializable

    @JsModule("./datepickerConnector.js")
    @NpmPackage(value="date-fns",
                version="2.28.0")
    public class DatePicker
    extends GeneratedVaadinDatePicker<DatePicker,​LocalDate>
    implements com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasValidation, com.vaadin.flow.component.HasHelper, com.vaadin.flow.component.HasTheme, com.vaadin.flow.component.HasLabel
    Server-side component that encapsulates the functionality of the vaadin-date-picker webcomponent.

    It allows setting and getting LocalDate objects, setting minimum and maximum date ranges and has internationalization support by using the DatePicker.DatePickerI18n object.

    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  DatePicker.DatePickerI18n
      The internationalization properties for DatePicker.
      • 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
      DatePicker()
      Default constructor.
      DatePicker​(com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>> listener)
      Convenience constructor to create a date picker with a HasValue.ValueChangeListener.
      DatePicker​(String label)
      Convenience constructor to create a date picker with a label.
      DatePicker​(String label, com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>> listener)
      Convenience constructor to create a date picker with a HasValue.ValueChangeListener and a label.
      DatePicker​(String label, LocalDate initialDate)
      Convenience constructor to create a date picker with a pre-selected date in current UI locale format and a label.
      DatePicker​(String label, LocalDate initialDate, com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>> listener)
      Convenience constructor to create a date picker with a pre-selected date in current UI locale format, a HasValue.ValueChangeListener and a label.
      DatePicker​(LocalDate initialDate)
      Convenience constructor to create a date picker with a pre-selected date in current UI locale format.
      DatePicker​(LocalDate initialDate, com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>> listener)
      Convenience constructor to create a date picker with a pre-selected date in current UI locale format and a HasValue.ValueChangeListener.
      DatePicker​(LocalDate initialDate, Locale locale)
      Convenience Constructor to create a date picker with pre-selected date and locale setup.
    • Constructor Detail

      • DatePicker

        public DatePicker()
        Default constructor.
      • DatePicker

        public DatePicker​(LocalDate initialDate)
        Convenience constructor to create a date picker with a pre-selected date in current UI locale format.
        Parameters:
        initialDate - the pre-selected date in the picker
        See Also:
        AbstractField.setValue(Object)
      • DatePicker

        public DatePicker​(String label)
        Convenience constructor to create a date picker with a label.
        Parameters:
        label - the label describing the date picker
        See Also:
        setLabel(String)
      • DatePicker

        public DatePicker​(String label,
                          LocalDate initialDate)
        Convenience constructor to create a date picker with a pre-selected date in current UI locale format and a label.
        Parameters:
        label - the label describing the date picker
        initialDate - the pre-selected date in the picker
        See Also:
        AbstractField.setValue(Object), setLabel(String)
      • DatePicker

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

        public DatePicker​(String label,
                          com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>> listener)
        Convenience constructor to create a date picker with a HasValue.ValueChangeListener and a label.
        Parameters:
        label - the label describing the date picker
        listener - the listener to receive value change events
        See Also:
        setLabel(String), AbstractField.addValueChangeListener(HasValue.ValueChangeListener)
      • DatePicker

        public DatePicker​(LocalDate initialDate,
                          com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>> listener)
        Convenience constructor to create a date picker with a pre-selected date in current UI locale format and a HasValue.ValueChangeListener.
        Parameters:
        initialDate - the pre-selected date in the picker
        listener - the listener to receive value change events
        See Also:
        AbstractField.setValue(Object), AbstractField.addValueChangeListener(HasValue.ValueChangeListener)
      • DatePicker

        public DatePicker​(String label,
                          LocalDate initialDate,
                          com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>> listener)
        Convenience constructor to create a date picker with a pre-selected date in current UI locale format, a HasValue.ValueChangeListener and a label.
        Parameters:
        label - the label describing the date picker
        initialDate - the pre-selected date in the picker
        listener - the listener to receive value change events
        See Also:
        setLabel(String), AbstractField.setValue(Object), AbstractField.addValueChangeListener(HasValue.ValueChangeListener)
      • DatePicker

        public DatePicker​(LocalDate initialDate,
                          Locale locale)
        Convenience Constructor to create a date picker with pre-selected date and locale setup.
        Parameters:
        initialDate - the pre-selected date in the picker
        locale - the locale for the date picker
    • Method Detail

      • setMin

        public void setMin​(LocalDate min)
        Sets the minimum date in the date picker. Dates before that will be disabled in the popup.
        Parameters:
        min - the minimum date that is allowed to be selected, or null to remove any minimum constraints
      • getMin

        public LocalDate getMin()
        Gets the minimum date in the date picker. Dates before that will be disabled in the popup.
        Returns:
        the minimum date that is allowed to be selected, or null if there's no minimum
      • setMax

        public void setMax​(LocalDate max)
        Sets the maximum date in the date picker. Dates after that will be disabled in the popup.
        Parameters:
        max - the maximum date that is allowed to be selected, or null to remove any maximum constraints
      • getMax

        public LocalDate getMax()
        Gets the maximum date in the date picker. Dates after that will be disabled in the popup.
        Returns:
        the maximum date that is allowed to be selected, or null if there's no maximum
      • setLocale

        public void setLocale​(Locale locale)
        Set the Locale for the Date Picker. The displayed date will be matched to the format used in that locale.

        NOTE:Supported formats are MM/DD/YYYY, DD/MM/YYYY and YYYY/MM/DD. Browser compatibility can be different based on the browser and mobile devices, you can check here for more details: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString

        When using custom date formats through setI18n(DatePickerI18n), setting a locale has no effect, and dates will always be parsed and displayed using the custom date format.

        Parameters:
        locale - the locale set to the date picker, cannot be null
      • getLocale

        public Locale getLocale()
        Gets the Locale for this date picker
        Overrides:
        getLocale in class com.vaadin.flow.component.Component
        Returns:
        the locale used for this picker
      • onAttach

        protected void onAttach​(com.vaadin.flow.component.AttachEvent attachEvent)
        Overrides:
        onAttach in class com.vaadin.flow.component.Component
      • getI18n

        public DatePicker.DatePickerI18n getI18n()
        Gets the internationalization object previously set for this component.

        Note: updating the object content that is gotten from this method will not update the lang on the component if not set back using setI18n(DatePickerI18n)

        Returns:
        the i18n object. It will be null, If the i18n properties weren't set.
      • setI18n

        public void setI18n​(DatePicker.DatePickerI18n i18n)
        Sets the internationalization properties for this component.
        Parameters:
        i18n - the internationalized properties, not null
      • setErrorMessage

        public void setErrorMessage​(String errorMessage)
        Description copied from class: GeneratedVaadinDatePicker

        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 GeneratedVaadinDatePicker<DatePicker,​LocalDate>
        Parameters:
        errorMessage - the String value to set
      • getErrorMessage

        public String getErrorMessage()
        Gets the current error message from the datepicker.
        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: GeneratedVaadinDatePicker

        Description copied from corresponding location in WebComponent:

        This property is set to true when the control value invalid.

        Specified by:
        setInvalid in interface com.vaadin.flow.component.HasValidation
        Overrides:
        setInvalid in class GeneratedVaadinDatePicker<DatePicker,​LocalDate>
        Parameters:
        invalid - the boolean value to set
      • isInvalid

        public boolean isInvalid()
        Gets the validity of the datepicker output.

        return true, if the value is invalid.

        Specified by:
        isInvalid in interface com.vaadin.flow.component.HasValidation
        Returns:
        the validity property from the datepicker
      • setClearButtonVisible

        public void setClearButtonVisible​(boolean clearButtonVisible)
        Sets displaying a clear button in the datepicker when it has value.

        The clear button is an icon, which can be clicked to set the datepicker value to null.

        Overrides:
        setClearButtonVisible in class GeneratedVaadinDatePicker<DatePicker,​LocalDate>
        Parameters:
        clearButtonVisible - true to display the clear button, false to hide it
      • isClearButtonVisible

        public boolean isClearButtonVisible()
        Gets whether this datepicker displays a clear button when it has value.
        Returns:
        true if this datepicker displays a clear button, false otherwise
        See Also:
        setClearButtonVisible(boolean)
      • setLabel

        public void setLabel​(String label)
        Sets the label for the datepicker.
        Specified by:
        setLabel in interface com.vaadin.flow.component.HasLabel
        Overrides:
        setLabel in class GeneratedVaadinDatePicker<DatePicker,​LocalDate>
        Parameters:
        label - value for the label property in the datepicker
      • getLabel

        public String getLabel()
        Gets the label of the datepicker.
        Specified by:
        getLabel in interface com.vaadin.flow.component.HasLabel
        Returns:
        the label property of the datePicker
      • getPlaceholder

        public String getPlaceholder()
        Gets the placeholder of the datepicker.

        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 datePicker
      • setInitialPosition

        public void setInitialPosition​(LocalDate initialPosition)
        Date which should be visible when there is no value selected.

        The same date formats as for the value property are supported.

        Parameters:
        initialPosition - the LocalDate value to set
      • getInitialPosition

        public LocalDate getInitialPosition()
        Get the visible date when there is no value selected.

        The same date formats as for the value property are supported.

        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 initialPosition property from the datepicker
      • setRequiredIndicatorVisible

        public void setRequiredIndicatorVisible​(boolean required)
        Specified by:
        setRequiredIndicatorVisible in interface com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>,​LocalDate>
        Specified by:
        setRequiredIndicatorVisible in interface com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<DatePicker,​LocalDate>,​LocalDate>
      • isRequired

        public boolean isRequired()
        Determines whether the datepicker 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
      • setWeekNumbersVisible

        public void setWeekNumbersVisible​(boolean weekNumbersVisible)
        Set the week number visible in the DatePicker.

        Set true to display ISO-8601 week numbers in the calendar.

        Notice that displaying week numbers is only supported when i18n.firstDayOfWeek is 1 (Monday).

        Parameters:
        weekNumbersVisible - the boolean value to set
      • isWeekNumbersVisible

        public boolean isWeekNumbersVisible()
        Get the state of showWeekNumbers property of the datepicker

        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 showWeekNumbers property from the datepicker
      • setOpened

        public void setOpened​(boolean opened)
        Sets the opened property of the datepicker to open or close its overlay.
        Overrides:
        setOpened in class GeneratedVaadinDatePicker<DatePicker,​LocalDate>
        Parameters:
        opened - true to open the datepicker overlay, false to close it
      • isOpened

        public boolean isOpened()
        Gets the states of the drop-down for the datepicker
        Returns:
        true if the drop-down is opened, false otherwise
      • getName

        public String getName()
        Gets the name of the DatePicker.
        Returns:
        the name property from the DatePicker
      • setAutoOpen

        public void setAutoOpen​(boolean autoOpen)
        When auto open is enabled, the dropdown will open when the field is clicked.
        Parameters:
        autoOpen - Value for the auto open property,
      • isAutoOpen

        public boolean isAutoOpen()
        When auto open is enabled, the dropdown will open when the field is clicked.
        Returns:
        true if auto open is enabled. false otherwise. Default is true
      • 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.
      • addThemeVariants

        public void addThemeVariants​(DatePickerVariant... variants)
        Adds theme variants to the component.
        Parameters:
        variants - theme variants to add
      • removeThemeVariants

        public void removeThemeVariants​(DatePickerVariant... variants)
        Removes theme variants from the component.
        Parameters:
        variants - theme variants to remove