com.vaadin.client.ui.

Class VAbstractTextualDate<R extends Enum<R>>

  • java.lang.Object
    • com.google.gwt.user.client.ui.UIObject
      • com.google.gwt.user.client.ui.Widget
        • com.google.gwt.user.client.ui.Panel
          • com.google.gwt.user.client.ui.ComplexPanel
  • Type Parameters:

    R - the resolution type which this field is based on (day, month, ...)

    All Implemented Interfaces:

    com.google.gwt.event.dom.client.ChangeHandler, com.google.gwt.event.dom.client.KeyDownHandler, com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.EventHandler, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasEnabled, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.HasWidgets, com.google.gwt.user.client.ui.HasWidgets.ForIsWidget, com.google.gwt.user.client.ui.IndexedPanel, com.google.gwt.user.client.ui.IndexedPanel.ForIsWidget, com.google.gwt.user.client.ui.InsertPanel, com.google.gwt.user.client.ui.InsertPanel.ForIsWidget, com.google.gwt.user.client.ui.IsWidget, Focusable, HandlesAriaCaption, HandlesAriaInvalid, HandlesAriaRequired, Field, SubPartAware, Iterable<com.google.gwt.user.client.ui.Widget>

    Direct Known Subclasses:

    VAbstractPopupCalendar

    public abstract class VAbstractTextualDate<R extends Enum<R>>
    extends VDateField<R>
    implements com.google.gwt.event.dom.client.ChangeHandler, Focusable, SubPartAware, HandlesAriaCaption, HandlesAriaInvalid, HandlesAriaRequired, com.google.gwt.event.dom.client.KeyDownHandler

    Abstract textual date field base implementation. Provides a text box as an editor for a date. The class is parameterized by the date resolution enumeration type.

    Since:

    8.0

    Author:

    Vaadin Ltd

    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

        com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled
      • Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets

        com.google.gwt.user.client.ui.HasWidgets.ForIsWidget
      • Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.IndexedPanel

        com.google.gwt.user.client.ui.IndexedPanel.ForIsWidget
      • Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.InsertPanel

        com.google.gwt.user.client.ui.InsertPanel.ForIsWidget
    • Field Detail

      • text

        public final com.google.gwt.user.client.ui.TextBox text

        For internal use only. May be removed or replaced in the future.

      • lenient

        public boolean lenient

        For internal use only. May be removed or replaced in the future.

    • Constructor Detail

      • VAbstractTextualDate

        public VAbstractTextualDate​(R resoluton)
    • Method Detail

      • updateStyleNames

        protected void updateStyleNames()

        Updates style names for the widget (and its children).

      • getFormatString

        public String getFormatString()

        Gets the date format string for the current locale.

        Returns:

        the format string

      • createFormatString

        protected String createFormatString()

        Create a format string suitable for the widget in its current state.

        Returns:

        a date format string to use when formatting and parsing the text in the input field

        Since:

        8.1

      • setFormatString

        public void setFormatString​(String formatString)

        Sets the date format string to use for the text field.

        Parameters:

        formatString - the format string to use, or null to force re-creating the format string from the locale the next time it is needed

        Since:

        8.1

      • bindAriaCaption

        public void bindAriaCaption​(com.google.gwt.user.client.Element captionElement)

        Description copied from interface: HandlesAriaCaption

        Called to bind the provided caption (label in HTML speak) element to the main input element of the Widget. Binding should be removed from the main input field when captionElement is null.

        Specified by:

        bindAriaCaption in interface HandlesAriaCaption

        Parameters:

        captionElement - Element of the caption

      • setAriaRequired

        public void setAriaRequired​(boolean required)

        Description copied from interface: HandlesAriaRequired

        Called to set the element, typically an input element, as required.

        Specified by:

        setAriaRequired in interface HandlesAriaRequired

        Parameters:

        required - boolean true when the element needs to be set as required

      • setAriaInvalid

        public void setAriaInvalid​(boolean invalid)

        Description copied from interface: HandlesAriaInvalid

        Called to set the element, typically an input element, as invalid.

        Specified by:

        setAriaInvalid in interface HandlesAriaInvalid

        Parameters:

        invalid - boolean, true when the element should be marked invalid, false otherwise

      • buildDate

        public void buildDate()

        Updates the text field according to the current date (provided by VDateField.getDate()). Takes care of updating text, enabling and disabling the field, setting/removing readonly status and updating readonly styles.

        For internal use only. May be removed or replaced in the future.

        TODO: Split part of this into a method that only updates the text as this is what usually is needed except for updateFromUIDL.

      • setTimeZone

        public void setTimeZone​(com.google.gwt.i18n.client.TimeZone timeZone)

        Sets the time zone for the field.

        Parameters:

        timeZone - the new time zone to use

        Since:

        8.2

      • setEnabled

        public void setEnabled​(boolean enabled)

        Specified by:

        setEnabled in interface com.google.gwt.user.client.ui.HasEnabled

        Overrides:

        setEnabled in class VDateField<R extends Enum<R>>

      • onChange

        public void onChange​(com.google.gwt.event.dom.client.ChangeEvent event)

        Specified by:

        onChange in interface com.google.gwt.event.dom.client.ChangeHandler

      • updateBufferedResolutions

        protected void updateBufferedResolutions()

        Updates bufferedResolutions before sending a response to the server.

        The method can be overridden by subclasses to provide a custom logic for date variables to avoid overriding the onChange(ChangeEvent) method.

        Note that this method should not send the buffered values. For that, use VDateField.sendBufferedValues().

        Since:

        8.2

      • focus

        public void focus()

        Description copied from interface: Focusable

        Sets focus to this widget.

        Specified by:

        focus in interface Focusable

      • setPlaceholder

        public void setPlaceholder​(String placeholder)

        Sets the placeholder for this textual date input.

        Parameters:

        placeholder - the placeholder to set, or null to clear

      • getPlaceHolder

        public String getPlaceHolder()

        Gets the set placeholder this textual date input, or an empty string if none is set.

        Returns:

        the placeholder or an empty string if none set

      • getText

        protected String getText()
      • setText

        protected void setText​(String text)
      • getSubPartElement

        public com.google.gwt.user.client.Element getSubPartElement​(String subPart)

        Description copied from interface: SubPartAware

        Locates an element inside a component using the identifier provided in subPart. The subPart identifier is component specific and may be any string of characters, numbers, space characters and brackets.

        Specified by:

        getSubPartElement in interface SubPartAware

        Parameters:

        subPart - The identifier for the element inside the component

        Returns:

        The element identified by subPart or null if the element could not be found.

      • getSubPartName

        public String getSubPartName​(com.google.gwt.user.client.Element subElement)

        Description copied from interface: SubPartAware

        Provides an identifier that identifies the element within the component. The subElement is a part of the component and must never be null.

        Note! getSubPartElement(getSubPartName(element)) == element is not always true. A component can choose to provide a more generic identifier for any given element if the results of all interactions with subElement are the same as interactions with the element identified by the return value. For example a button can return an identifier for the root element even though a DIV inside the button was passed as subElement because interactions with the DIV and the root button element produce the same result.

        Specified by:

        getSubPartName in interface SubPartAware

        Parameters:

        subElement - The element the identifier string should uniquely identify

        Returns:

        An identifier that uniquely identifies subElement or null if no identifier could be provided.

      • onKeyDown

        public void onKeyDown​(com.google.gwt.event.dom.client.KeyDownEvent event)

        Specified by:

        onKeyDown in interface com.google.gwt.event.dom.client.KeyDownHandler

      • checkGroupFocus

        protected void checkGroupFocus​(boolean textFocus)

        Checks if the group focus has changed, and sends to the server if needed.

        Parameters:

        textFocus - the focus of the text

        Since:

        8.3

      • hasChildFocus

        protected boolean hasChildFocus()

        Returns whether any of the child components has focus.

        Returns:

        true if any of the child component has focus, false otherwise

        Since:

        8.3

      • setISODate

        public void setISODate​(String isoDate)

        Sets the value of the date field as a locale independent ISO date (yyyy-MM-dd'T'HH:mm:ss or yyyy-MM-dd depending on whether this is a date field or a date and time field).

        Parameters:

        isoDate - the date to set in ISO8601 format, or null to clear the date value

        Since:

        8.1

      • getISODate

        public String getISODate()

        Gets the value of the date field as a locale independent ISO date (yyyy-MM-dd'T'HH:mm:ss or yyyy-MM-dd depending on whether this is a date field or a date and time field).

        Returns:

        the current date in ISO8601 format, or null if no date is set

        Since:

        8.1