Class GeneratedVaadinDatePicker<R extends GeneratedVaadinDatePicker<R,​T>,​T>

  • All Implemented Interfaces:
    AttachNotifier, BlurNotifier<R>, DetachNotifier, Focusable<R>, FocusNotifier<R>, HasElement, HasEnabled, HasStyle, HasValue<AbstractField.ComponentValueChangeEvent<R,​T>,​T>, HasValueAndElement<AbstractField.ComponentValueChangeEvent<R,​T>,​T>, Serializable
    Direct Known Subclasses:
    DatePicker

    @Tag("vaadin-date-picker")
    @NpmPackage(value="@vaadin/polymer-legacy-adapter",version="23.0.7") @NpmPackage(value="@vaadin/date-picker",version="23.0.7") @NpmPackage(value="@vaadin/vaadin-date-picker",version="23.0.7")
    @JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/date-picker/src/vaadin-date-picker.js")
    public abstract class GeneratedVaadinDatePicker<R extends GeneratedVaadinDatePicker<R,​T>,​T>
    extends AbstractSinglePropertyField<R,​T>
    implements HasStyle, Focusable<R>

    Description copied from corresponding location in WebComponent:

    <vaadin-date-picker> is a date selection field which includes a scrollable month calendar view. <vaadin-date-picker label="Birthday"></vaadin-date-picker> datePicker.value = '2016-03-02'; When the selected value is changed, a value-changed event is triggered.

    Styling

    The following shadow DOM parts are available for styling:

    Part name Description Theme for Element
    text-field Input element vaadin-date-picker
    clear-button Clear button vaadin-date-picker
    toggle-button Toggle button vaadin-date-picker
    overlay-content The overlay element vaadin-date-picker
    overlay-header Fullscreen mode header vaadin-date-picker-overlay-content
    label Fullscreen mode value/label vaadin-date-picker-overlay-content
    clear-button Fullscreen mode clear button vaadin-date-picker-overlay-content
    toggle-button Fullscreen mode toggle button vaadin-date-picker-overlay-content
    years-toggle-button Fullscreen mode years scroller toggle vaadin-date-picker-overlay-content
    months Months scroller vaadin-date-picker-overlay-content
    years Years scroller vaadin-date-picker-overlay-content
    toolbar Footer bar with buttons vaadin-date-picker-overlay-content
    today-button Today button vaadin-date-picker-overlay-content
    cancel-button Cancel button vaadin-date-picker-overlay-content
    month Month calendar vaadin-date-picker-overlay-content
    year-number Year number vaadin-date-picker-overlay-content
    year-separator Year separator vaadin-date-picker-overlay-content
    month-header Month title vaadin-month-calendar
    weekdays Weekday container vaadin-month-calendar
    weekday Weekday element vaadin-month-calendar
    week-numbers Week numbers container vaadin-month-calendar
    week-number Week number element vaadin-month-calendar
    date Date element vaadin-month-calendar

    See ThemableMixin – how to apply styles for shadow parts

    The following state attributes are available for styling:

    Attribute Description Part name
    invalid Set when the element is invalid :host
    opened Set when the date selector overlay is opened :host
    readonly Set when the element is readonly :host
    disabled Set when the element is disabled :host
    today Set on the date corresponding to the current day date
    focused Set on the focused date date
    disabled Set on the date out of the allowed range date
    selected Set on the selected date date

    If you want to replace the default input field with a custom implementation, you should use the <vaadin-date-picker-light> element.

    In addition to <vaadin-date-picker> itself, the following internal components are themable:

    • <vaadin-date-picker-text-field>
    • <vaadin-date-picker-overlay>
    • <vaadin-date-picker-overlay-content>
    • <vaadin-month-calendar>

    Note: the theme attribute value set on <vaadin-date-picker> is propagated to the internal themable components listed above.

    See Also:
    Serialized Form
    • Constructor Detail

      • GeneratedVaadinDatePicker

        public GeneratedVaadinDatePicker​(T initialValue,
                                         T defaultValue,
                                         Class<P> elementPropertyType,
                                         SerializableFunction<P,​T> presentationToModel,
                                         SerializableFunction<T,​P> modelToPresentation,
                                         boolean isInitialValueOptional)
        Constructs a new GeneratedVaadinDatePicker component with the given arguments.
        Type Parameters:
        P - the property type
        Parameters:
        initialValue - the initial value to set to the value
        defaultValue - the default value to use if the value isn't defined
        elementPropertyType - the type of the element property
        presentationToModel - a function that converts a string value to a model value
        modelToPresentation - a function that converts a model value to a string value
        isInitialValueOptional - if isInitialValueOptional is true then the initial value is used only if element has no "value" property value, otherwise element "value" property is ignored and the initial value is set
      • GeneratedVaadinDatePicker

        public GeneratedVaadinDatePicker​(T initialValue,
                                         T defaultValue,
                                         boolean acceptNullValues)
        Constructs a new GeneratedVaadinDatePicker component with the given arguments.
        Parameters:
        initialValue - the initial value to set to the value
        defaultValue - the default value to use if the value isn't defined
        acceptNullValues - whether null is accepted as a model value
      • GeneratedVaadinDatePicker

        public GeneratedVaadinDatePicker​(T initialValue,
                                         T defaultValue,
                                         Class<P> elementPropertyType,
                                         SerializableBiFunction<R,​P,​T> presentationToModel,
                                         SerializableBiFunction<R,​T,​P> modelToPresentation)
        Constructs a new GeneratedVaadinDatePicker component with the given arguments.
        Type Parameters:
        P - the property type
        Parameters:
        initialValue - the initial value to set to the value
        defaultValue - the default value to use if the value isn't defined
        elementPropertyType - the type of the element property
        presentationToModel - a function that accepts this component and a property value and returns a model value
        modelToPresentation - a function that accepts this component and a model value and returns a property value
      • GeneratedVaadinDatePicker

        public GeneratedVaadinDatePicker()
        Default constructor.
    • Method Detail

      • isAutofocusBoolean

        protected boolean isAutofocusBoolean()

        Description copied from corresponding location in WebComponent:

        Specify that this control should have input focus when the page loads.

        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 autofocus property from the webcomponent
      • setAutofocus

        protected void setAutofocus​(boolean autofocus)

        Description copied from corresponding location in WebComponent:

        Specify that this control should have input focus when the page loads.

        Parameters:
        autofocus - the boolean value to set
      • isDisabledBoolean

        protected boolean isDisabledBoolean()

        Description copied from corresponding location in WebComponent:

        Set to true to disable this element.

        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 disabled property from the webcomponent
      • setDisabled

        protected void setDisabled​(boolean disabled)

        Description copied from corresponding location in WebComponent:

        Set to true to disable this element.

        Parameters:
        disabled - the boolean value to set
      • isRequiredBoolean

        protected boolean isRequiredBoolean()

        Description copied from corresponding location in WebComponent:

        Set to true to mark the input as 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:
        the required property from the webcomponent
      • setRequired

        protected void setRequired​(boolean required)

        Description copied from corresponding location in WebComponent:

        Set to true to mark the input as required.

        Parameters:
        required - the boolean value to set
      • getNameString

        protected String getNameString()

        Description copied from corresponding location in WebComponent:

        The name of this element.

        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 name property from the webcomponent
      • setName

        protected void setName​(String name)

        Description copied from corresponding location in WebComponent:

        The name of this element.

        Parameters:
        name - the String value to set
      • getInitialPositionString

        protected String getInitialPositionString()

        Description copied from corresponding location in WebComponent:

        Date which should be visible 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 webcomponent
      • setInitialPosition

        protected void setInitialPosition​(String initialPosition)

        Description copied from corresponding location in WebComponent:

        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 String value to set
      • getLabelString

        protected String getLabelString()

        Description copied from corresponding location in WebComponent:

        The label for this element.

        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 label property from the webcomponent
      • setLabel

        protected void setLabel​(String label)

        Description copied from corresponding location in WebComponent:

        The label for this element.

        Parameters:
        label - the String value to set
      • isOpenedBoolean

        @Synchronize(property="opened",
                     value="opened-changed")
        protected boolean isOpenedBoolean()

        Description copied from corresponding location in WebComponent:

        Set true to open the date selector overlay.

        This property is synchronized automatically from client side when a 'opened-changed' event happens.

        Returns:
        the opened property from the webcomponent
      • setOpened

        protected void setOpened​(boolean opened)

        Description copied from corresponding location in WebComponent:

        Set true to open the date selector overlay.

        Parameters:
        opened - the boolean value to set
      • isShowWeekNumbersBoolean

        protected boolean isShowWeekNumbersBoolean()

        Description copied from corresponding location in WebComponent:

        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).

        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 webcomponent
      • setShowWeekNumbers

        protected void setShowWeekNumbers​(boolean showWeekNumbers)

        Description copied from corresponding location in WebComponent:

        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:
        showWeekNumbers - the boolean value to set
      • getI18nJsonObject

        protected elemental.json.JsonObject getI18nJsonObject()

        Description copied from corresponding location in WebComponent:

        The object used to localize this component. To change the default localization, replace the entire i18n object or just the property you want to modify.

        The object has the following JSON structure and default values:

                 {
                       // An array with the full names of months starting
                       // with January.
                       monthNames: [
                         'January', 'February', 'March', 'April', 'May',
                         'June', 'July', 'August', 'September',
                         'October', 'November', 'December'
                       ],
        
                       // An array of weekday names starting with Sunday. Used
                       // in screen reader announcements.
                       weekdays: [
                         'Sunday', 'Monday', 'Tuesday', 'Wednesday',
                         'Thursday', 'Friday', 'Saturday'
                       ],
        
                       // An array of short weekday names starting with Sunday.
                       // Displayed in the calendar.
                       weekdaysShort: [
                         'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'
                       ],
        
                       // An integer indicating the first day of the week
                       // (0 = Sunday, 1 = Monday, etc.).
                       firstDayOfWeek: 0,
        
                       // Used in screen reader announcements along with week
                       // numbers, if they are displayed.
                       week: 'Week',
        
                       // Translation of the Calendar icon button title.
                       calendar: 'Calendar',
        
                       // Translation of the Clear icon button title.
                       clear: 'Clear',
        
                       // Translation of the Today shortcut button text.
                       today: 'Today',
        
                       // Translation of the Cancel button text.
                       cancel: 'Cancel',
        
                       // A function to format given Object as
                       // date string. Object is in the format { day: ..., month: ..., year: ... }
                       // Note: The argument month is 0-based. This means that January = 0 and December = 11.
                       formatDate: d => {
                         // returns a string representation of the given
                         // object in 'MM/DD/YYYY' -format
                       },
        
                       // A function to parse the given text to an Object in the format { day: ..., month: ..., year: ... }.
                       // Must properly parse (at least) text formatted by formatDate.
                       // Setting the property to null will disable keyboard input feature.
                       // Note: The argument month is 0-based. This means that January = 0 and December = 11.
                       parseDate: text => {
                         // Parses a string in 'MM/DD/YY', 'MM/DD' or 'DD' -format to
                         // an Object in the format { day: ..., month: ..., year: ... }.
                       }
        
                       // A function to format given monthName and
                       // fullYear integer as calendar title string.
                       formatTitle: (monthName, fullYear) => {
                         return monthName + ' ' + fullYear;
                       }
                     }<p>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 i18n property from the webcomponent
      • setI18n

        protected void setI18n​(elemental.json.JsonObject i18n)

        Description copied from corresponding location in WebComponent:

        The object used to localize this component. To change the default localization, replace the entire i18n object or just the property you want to modify.

        The object has the following JSON structure and default values:

                 {
                       // An array with the full names of months starting
                       // with January.
                       monthNames: [
                         'January', 'February', 'March', 'April', 'May',
                         'June', 'July', 'August', 'September',
                         'October', 'November', 'December'
                       ],
        
                       // An array of weekday names starting with Sunday. Used
                       // in screen reader announcements.
                       weekdays: [
                         'Sunday', 'Monday', 'Tuesday', 'Wednesday',
                         'Thursday', 'Friday', 'Saturday'
                       ],
        
                       // An array of short weekday names starting with Sunday.
                       // Displayed in the calendar.
                       weekdaysShort: [
                         'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'
                       ],
        
                       // An integer indicating the first day of the week
                       // (0 = Sunday, 1 = Monday, etc.).
                       firstDayOfWeek: 0,
        
                       // Used in screen reader announcements along with week
                       // numbers, if they are displayed.
                       week: 'Week',
        
                       // Translation of the Calendar icon button title.
                       calendar: 'Calendar',
        
                       // Translation of the Clear icon button title.
                       clear: 'Clear',
        
                       // Translation of the Today shortcut button text.
                       today: 'Today',
        
                       // Translation of the Cancel button text.
                       cancel: 'Cancel',
        
                       // A function to format given Object as
                       // date string. Object is in the format { day: ..., month: ..., year: ... }
                       // Note: The argument month is 0-based. This means that January = 0 and December = 11.
                       formatDate: d => {
                         // returns a string representation of the given
                         // object in 'MM/DD/YYYY' -format
                       },
        
                       // A function to parse the given text to an Object in the format { day: ..., month: ..., year: ... }.
                       // Must properly parse (at least) text formatted by formatDate.
                       // Setting the property to null will disable keyboard input feature.
                       // Note: The argument month is 0-based. This means that January = 0 and December = 11.
                       parseDate: text => {
                         // Parses a string in 'MM/DD/YY', 'MM/DD' or 'DD' -format to
                         // an Object in the format { day: ..., month: ..., year: ... }.
                       }
        
                       // A function to format given monthName and
                       // fullYear integer as calendar title string.
                       formatTitle: (monthName, fullYear) => {
                         return monthName + ' ' + fullYear;
                       }
                     }
             
         
        Parameters:
        i18n - the JsonObject value to set
      • getMinAsStringString

        protected String getMinAsStringString()

        Description copied from corresponding location in WebComponent:

        The earliest date that can be selected. All earlier dates will be disabled.

        Supported date formats:

        • ISO 8601 &quot;YYYY-MM-DD&quot; (default)
        • 6-digit extended ISO 8601 &quot;+YYYYYY-MM-DD&quot;, &quot;-YYYYYY-MM-DD&quot;

          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 min property from the webcomponent
      • setMinAsString

        protected void setMinAsString​(String minAsString)

        Description copied from corresponding location in WebComponent:

        The earliest date that can be selected. All earlier dates will be disabled.

        Supported date formats:

        • ISO 8601 &quot;YYYY-MM-DD&quot; (default)
        • 6-digit extended ISO 8601 &quot;+YYYYYY-MM-DD&quot;, &quot;-YYYYYY-MM-DD&quot;
        Parameters:
        minAsString - the String value to set
      • getMaxAsStringString

        protected String getMaxAsStringString()

        Description copied from corresponding location in WebComponent:

        The latest date that can be selected. All later dates will be disabled.

        Supported date formats:

        • ISO 8601 &quot;YYYY-MM-DD&quot; (default)
        • 6-digit extended ISO 8601 &quot;+YYYYYY-MM-DD&quot;, &quot;-YYYYYY-MM-DD&quot;

          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 max property from the webcomponent
      • setMaxAsString

        protected void setMaxAsString​(String maxAsString)

        Description copied from corresponding location in WebComponent:

        The latest date that can be selected. All later dates will be disabled.

        Supported date formats:

        • ISO 8601 &quot;YYYY-MM-DD&quot; (default)
        • 6-digit extended ISO 8601 &quot;+YYYYYY-MM-DD&quot;, &quot;-YYYYYY-MM-DD&quot;
        Parameters:
        maxAsString - the String value to set
      • isClearButtonVisibleBoolean

        protected boolean isClearButtonVisibleBoolean()

        Description copied from corresponding location in WebComponent:

        Set to true to display the clear icon which clears the input.

        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 clearButtonVisible property from the webcomponent
      • setClearButtonVisible

        protected void setClearButtonVisible​(boolean clearButtonVisible)

        Description copied from corresponding location in WebComponent:

        Set to true to display the clear icon which clears the input.

        Parameters:
        clearButtonVisible - the boolean value to set
      • getErrorMessageString

        protected String getErrorMessageString()

        Description copied from corresponding location in WebComponent:

        The error message to display when the input is invalid.

        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 errorMessage property from the webcomponent
      • setErrorMessage

        protected void setErrorMessage​(String errorMessage)

        Description copied from corresponding location in WebComponent:

        The error message to display when the input is invalid.

        Parameters:
        errorMessage - the String value to set
      • getPlaceholderString

        protected String getPlaceholderString()

        Description copied from corresponding location in WebComponent:

        A placeholder string in addition to the label. If this is set, the label will always float.

        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 from the webcomponent
      • setPlaceholder

        protected void setPlaceholder​(String placeholder)

        Description copied from corresponding location in WebComponent:

        A placeholder string in addition to the label. If this is set, the label will always float.

        Parameters:
        placeholder - the String value to set
      • isReadonlyBoolean

        protected boolean isReadonlyBoolean()

        Description copied from corresponding location in WebComponent:

        Set to true to make this element read-only.

        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 readonly property from the webcomponent
      • setReadonly

        protected void setReadonly​(boolean readonly)

        Description copied from corresponding location in WebComponent:

        Set to true to make this element read-only.

        Parameters:
        readonly - the boolean value to set
      • isInvalidBoolean

        protected boolean isInvalidBoolean()

        Description copied from corresponding location in WebComponent:

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

        Returns:
        the invalid property from the webcomponent
      • setInvalid

        protected void setInvalid​(boolean invalid)

        Description copied from corresponding location in WebComponent:

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

        Parameters:
        invalid - the boolean value to set
      • open

        protected void open()

        Description copied from corresponding location in WebComponent:

        Opens the dropdown.

      • close

        protected void close()

        Description copied from corresponding location in WebComponent:

        Closes the dropdown.

      • validate

        @NotSupported
        protected void validate​(String value)

        Description copied from corresponding location in WebComponent:

        Returns true if value is valid, and sets the invalid flag appropriately.

        This function is not supported by Flow because it returns a boolean. Functions with return types different than void are not supported at this moment.

        Parameters:
        value - Value to validate. Optional, defaults to user's input value.
      • checkValidity

        @NotSupported
        protected void checkValidity​(String value)

        Description copied from corresponding location in WebComponent:

        Returns true if the current input value satisfies all constraints (if any)

        Override the checkValidity method for custom validations.

        This function is not supported by Flow because it returns a boolean. Functions with return types different than void are not supported at this moment.

        Parameters:
        value - Value to validate. Optional, defaults to the selected date.
      • remove

        protected void remove​(Component... components)
        Removes the given child components from this component.
        Parameters:
        components - The components to remove.
        Throws:
        IllegalArgumentException - if any of the components is not a child of this component.
      • removeAll

        protected void removeAll()
        Removes all contents from this component, this includes child components, text content as well as child elements that have been added directly to this component using the Element API.