com.smartgwt.client.widgets.form.fields

## Class DateItem

- java.lang.Object
- - com.smartgwt.client.core.JsObject
  - - com.smartgwt.client.core.DataClass
    - - com.smartgwt.client.core.RefDataClass
      - - com.smartgwt.client.widgets.form.fields.FormItem
        - - com.smartgwt.client.widgets.form.fields.DateItem

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers, HasBlurHandlers, HasChangedHandlers, HasChangeHandlers, HasClickHandlers, HasDoubleClickHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFocusHandlers, HasIconClickHandlers, HasIconKeyPressHandlers, HasItemHoverHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasPickerIconClickHandlers, HasTitleClickHandlers, HasTitleDoubleClickHandlers, HasTitleHoverHandlers, HasValueHoverHandlers
  Direct Known Subclasses:
    DateTimeItem

      public class DateItem
      extends FormItem

  Item for manipulating Dates.

  Can be rendered as a text field, or as 3 selects for day, month, year. Includes optional pop-up picker.

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.core.RefDataClass

      `id`

    - ### Fields inherited from class com.smartgwt.client.core.JsObject

      `jsObj`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DateItem()`
    `DateItem(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `DateItem(java.lang.String name)`
    `DateItem(java.lang.String name, java.lang.String title)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `static void` | `changePickerIconDefaults(FormItemIcon defaults)`
    `void` | `deselectValue()` If `useTextField` is true, falls through to standard `FormItem.deselectValue` implementation on this items freeform text entry field.
    `void` | `deselectValue(java.lang.Boolean start)` If `useTextField` is true, falls through to standard `FormItem.deselectValue` implementation on this items freeform text entry field.
    `int` | `getCenturyThreshold()` Only used if we're showing the date in a text field.
    `DateDisplayFormat` | `getDateFormatter()` If `useTextField` is `true` this property can be used to customize the format in which dates are displayed for this item. Should be set to a standard `DateDisplayFormat`.
    `SelectItem` | `getDaySelector()` Select item to hold the day part of the date.
    `SelectItem` | `getDaySelectorProperties()` Custom properties to apply to this dateItem's generated `daySelector`.
    `java.util.Date` | `getDefaultChooserDate()` Default date to show in the date chooser.
    `java.util.Date` | `getEndDate()` Maximum date the selectors will allow the user to pick.
    `java.lang.Boolean` | `getEnforceDate()` Can this field be set to a non-date value [other than null]?
    `java.lang.String` | `getEnteredValue()` Returns the raw text value typed into this items text field if `useTextField` is true (otherwise returns the result of this.getValue()).
    `FiscalCalendar` | `getFiscalCalendar()` Returns the `FiscalCalendar` object that will be used by this item's DateChooser.
    `java.lang.String` | `getInputFormat()` If `useTextField` is `true` this property can be used to specify the input format for date strings.
    `java.lang.String` | `getInvalidDateStringMessage()` Validation error message to display if the user enters an invalid date
    `SelectItem` | `getMonthSelector()` Select item to hold the month part of the date.
    `SelectItem` | `getMonthSelectorProperties()` Custom properties to apply to this dateItem's generated `monthSelector`.
    `static DateItem` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.String` | `getPickerIconPrompt()` Prompt to show when the user hovers the mouse over the picker icon for this DateItem.
    `DateChooser` | `getPickerProperties()` Properties for the `DateChooser` created by this form item.
    `TimeItem` | `getPickerTimeItemProperties()` A set of properties to apply to the `TimeItem` displayed in the picker when `showPickerTimeItem` is true.
    `int[]` | `getSelectionRange()` If `useTextField` is true, falls through to standard `com.smartgwt.client.widgets.form.fields.FormItem#getSelectionRange` implementation on this items freeform text entry field.
    `DateItemSelectorFormat` | `getSelectorFormat()` If showing date selectors rather than the date text field (so when `this.useTextField` is false), this property allows customization of the order of the day, month and year selector fields.
    `java.lang.Boolean` | `getShowChooserFiscalYearPicker()` When set to true, show a button that allows the calendar to be navigated by fiscal year.
    `java.lang.Boolean` | `getShowChooserWeekPicker()` When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value of `showChooserFiscalYearPicker`.
    `java.lang.Boolean` | `getShowPickerTimeItem()` If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?
    `java.util.Date` | `getStartDate()` Minimum date the selectors will allow the user to pick.
    `Alignment` | `getTextAlign()` If `useTextField` is `true` this property governs the alignment of text within the text field.
    `TextItem` | `getTextField()` Text field to hold the entire date in "type in" format, if 'useTextField' is true for an item.
    `TextItem` | `getTextFieldProperties()` Custom properties to apply to this dateItem's generated `textField`.
    `java.lang.Boolean` | `getUse24HourTime()` When showing the `DateChooser` and the field is of type "datetime", whether the `time field` should be set to use 24-hour time.
    `java.lang.Boolean` | `getUseSharedPicker()` When set to true (the default), use a single shared date-picker across all widgets that use one.
    `java.lang.Boolean` | `getUseTextField()` Should we show the date in a text field, or as 3 select boxes?
    `java.util.Date` | `getValueAsDate()` Return the value tracked by this form item.
    `SelectItem` | `getYearSelector()` Select item to hold the year part of the date.
    `SelectItem` | `getYearSelectorProperties()` Custom properties to apply to this dateItem's generated `yearSelector`.
    `void` | `selectValue()` If `useTextField` is true, falls through to standard `FormItem.selectValue` implementation on this items freeform text entry field.
    `void` | `setCenturyThreshold(int centuryThreshold)` Only used if we're showing the date in a text field.
    `void` | `setDateFormatter(DateDisplayFormat dateFormatter)` If `useTextField` is `true` this property can be used to customize the format in which dates are displayed for this item. Should be set to a standard `DateDisplayFormat`.
    `void` | `setDaySelectorProperties(SelectItem daySelectorProperties)` Custom properties to apply to this dateItem's generated `daySelector`.
    `void` | `setDefaultChooserDate(java.util.Date defaultChooserDate)` Default date to show in the date chooser.
    `static void` | `setDefaultProperties(DateItem dateItemProperties)` Class level method to set the default properties of this class.
    `void` | `setEditorValueFormatter(FormItemValueFormatter formatter)` An optional `FormItemValueFormatter` to map this item's current data value to a display value.
    `void` | `setEditorValueParser(FormItemValueParser valueParser)` An optional `FormItemValueParser` to map a user-entered display value to a data value for storage.
    `void` | `setEndDate(java.util.Date endDate)` Maximum date the selectors will allow the user to pick.
    `void` | `setEnforceDate(java.lang.Boolean enforceDate)` Can this field be set to a non-date value [other than null]?
    `void` | `setFiscalCalendar()` Sets the `FiscalCalendar` object that will be used by this item's DateChooser.
    `void` | `setFiscalCalendar(FiscalCalendar fiscalCalendar)` Sets the `FiscalCalendar` object that will be used by this item's DateChooser.
    `void` | `setInputFormat(java.lang.String inputFormat)` If `useTextField` is `true` this property can be used to specify the input format for date strings.
    `void` | `setInvalidDateStringMessage(java.lang.String invalidDateStringMessage)` Validation error message to display if the user enters an invalid date
    `void` | `setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `void` | `setMaskDateSeparator(java.lang.String maskDateSeparator)` If `useTextField` and `useMask` are both `true` this value is the separator between date components.
    `void` | `setMonthSelectorProperties(SelectItem monthSelectorProperties)` Custom properties to apply to this dateItem's generated `monthSelector`.
    `void` | `setPickerIconPrompt(java.lang.String pickerIconPrompt)` Prompt to show when the user hovers the mouse over the picker icon for this DateItem.
    `void` | `setPickerProperties(DateChooser pickerProperties)` Properties for the `DateChooser` created by this form item.
    `void` | `setPickerTimeItemProperties(TimeItem pickerTimeItemProperties)` A set of properties to apply to the `TimeItem` displayed in the picker when `showPickerTimeItem` is true.
    `void` | `setSelectionRange(int start, int end)` If `useTextField` is true, falls through to standard `FormItem.setSelectionRange` implementation on this items freeform text entry field.
    `void` | `setSelectorFormat(DateItemSelectorFormat selectorFormat)` If showing date selectors rather than the date text field (so when `this.useTextField` is false), this property allows customization of the order of the day, month and year selector fields.
    `void` | `setShowChooserFiscalYearPicker(java.lang.Boolean showChooserFiscalYearPicker)` When set to true, show a button that allows the calendar to be navigated by fiscal year.
    `void` | `setShowChooserWeekPicker(java.lang.Boolean showChooserWeekPicker)` When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value of `showChooserFiscalYearPicker`.
    `void` | `setShowPickerTimeItem(java.lang.Boolean showPickerTimeItem)` If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?
    `void` | `setStartDate(java.util.Date startDate)` Minimum date the selectors will allow the user to pick.
    `void` | `setTextAlign(Alignment textAlign)` If `useTextField` is `true` this property governs the alignment of text within the text field.
    `void` | `setTextFieldProperties(TextItem textFieldProperties)` Custom properties to apply to this dateItem's generated `textField`.
    `void` | `setUse24HourTime(java.lang.Boolean use24HourTime)` When showing the `DateChooser` and the field is of type "datetime", whether the `time field` should be set to use 24-hour time.
    `void` | `setUseMask(java.lang.Boolean useMask)` If `useTextField` is not `false` this property determines if an input mask should be used.
    `void` | `setUseSharedPicker(java.lang.Boolean useSharedPicker)` When set to true (the default), use a single shared date-picker across all widgets that use one.
    `void` | `setUseTextField(java.lang.Boolean useTextField)` Should we show the date in a text field, or as 3 select boxes?
    `void` | `setYearSelectorProperties(SelectItem yearSelectorProperties)` Custom properties to apply to this dateItem's generated `yearSelector`.

    - ### Methods inherited from class com.smartgwt.client.widgets.form.fields.FormItem

      `_getValue, addBlurHandler, addChangedHandler, addChangeHandler, addClickHandler, addDoubleClickHandler, addEditorEnterHandler, addEditorExitHandler, addFocusHandler, addIconClickHandler, addIconKeyPressHandler, addItemHoverHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addPickerIconClickHandler, addTitleClickHandler, addTitleDoubleClickHandler, addTitleHoverHandler, addValueHoverHandler, asSGWTComponent, blurItem, canEditCriterion, clearValue, disable, enable, focusInItem, getAccessKey, getAlign, getAllowExpressions, getAlwaysFetchMissingValues, getApplyHeightToTextBox, getAriaRole, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsString, getBrowserSpellCheck, getCanEdit, getCanFocus, getCanvasAutoChild, getCellHeight, getCellStyle, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getCriteriaField, getCriterion, getCriterion, getDataPath, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDisabled, getDisableIconsOnReadOnly, getDisplayField, getDisplayFieldName, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEmptyDisplayValue, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getFetchMissingValues, getFieldName, getFilterLocally, getForm, getFormItemAutoChild, getFullDataPath, getGlobalTabIndex, getHeight, getHint, getHintStyle, getHoverAlign, getHoverDelay, getHoverHeight, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getIcon, getIconHeight, getIconHSpace, getIconPageRect, getIconPrompt, getIconRect, getIconVAlign, getIconWidth, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getLeft, getLocateItemBy, getMultipleValueSeparator, getName, getOperator, getOptionCriteria, getOptionFilterContext, getOptionOperationId, getPageLeft, getPageRect, getPageTop, getPicker, getPickerIconHeight, getPickerIconName, getPickerIconProperties, getPickerIconSrc, getPickerIconStyle, getPickerIconWidth, getPrintTextBoxStyle, getPrintTitleStyle, getPrompt, getReadOnlyDisplay, getReadOnlyTextBoxStyle, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRowSpan, getSaveOnEnter, getSelectedRecord, getSelectOnClick, getSelectOnFocus, getShouldSaveValue, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDisabled, getShowErrorIcon, getShowErrorStyle, getShowErrorText, getShowFocused, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowOverIcons, getShowPickerIcon, getShowRTL, getShowTitle, getShowValueIconOnly, getStartRow, getStopOnError, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextBoxStyle, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitleStyle, getTitleVAlign, getTooltip, getTop, getType, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsRecordList, getValueField, getValueFieldName, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getVisible, getVisibleHeight, getVisibleWidth, getWidth, getWrapTitle, hasAdvancedCriteria, hide, hideIcon, invalidateDisplayValueCache, isCreated, isDisabled, isDrawn, isVisible, redraw, setAccessKey, setAlign, setAllowExpressions, setAlwaysFetchMissingValues, setApplyHeightToTextBox, setAriaRole, setAriaState, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setBrowserSpellCheck, setCanEdit, setCanEditCriterionPredicate, setCanFocus, setCellHeight, setCellStyle, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setCriteriaField, setCriterion, setCriterionGetter, setCriterionSetter, setDataPath, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisableIconsOnReadOnly, setDisplayField, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditPendingCSSText, setEmptyDisplayValue, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setFetchMissingValues, setFilterLocally, setGlobalTabIndex, setHeight, setHeight, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverHeight, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconVAlign, setIconWidth, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setLeft, setLocateItemBy, setMultipleValueSeparator, setName, setOperator, setOptionCriteria, setOptionDataSource, setOptionFilterContext, setOptionOperationId, setPickerIconHeight, setPickerIconName, setPickerIconProperties, setPickerIconSrc, setPickerIconStyle, setPickerIconWidth, setPrintTextBoxStyle, setPrintTitleStyle, setPrompt, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyDisplay, setReadOnlyTextBoxStyle, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRowSpan, setSaveOnEnter, setSelectOnClick, setSelectOnFocus, setShouldSaveValue, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDisabled, setShowErrorIcon, setShowErrorStyle, setShowErrorText, setShowFocused, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIfCondition, setShowOverIcons, setShowPickerIcon, setShowRTL, setShowTitle, setShowValueIconOnly, setStartRow, setStopOnError, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextBoxStyle, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, setTitleVAlign, setTooltip, setTop, setType, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueField, setValueFormatter, setValueHoverFormatter, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setWidth, setWidth, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, show, showIcon, showPicker, stopHover, updateState, validate, valueClipped`

    - ### Methods inherited from class com.smartgwt.client.core.RefDataClass

      `getRef, getRef, internalSetID`

    - ### Methods inherited from class com.smartgwt.client.core.DataClass

      `doAddHandler, fireEvent, getAttributeAsDoubleArray, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, getJsObj, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject`

    - ### Methods inherited from class com.smartgwt.client.core.JsObject

      `equals, hashCode, setJsObj`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### DateItem

          public DateItem()

    - #### DateItem

          public DateItem(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### DateItem

          public DateItem(java.lang.String name)

    - #### DateItem

          public DateItem(java.lang.String name,
                  java.lang.String title)

  - ### Method Detail

    - #### getOrCreateRef

          public static DateItem getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### setJavaScriptObject

          public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)

      Overrides:
        `setJavaScriptObject` in class `FormItem`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### changePickerIconDefaults

          public static void changePickerIconDefaults(FormItemIcon defaults)

    - #### setCenturyThreshold

          public void setCenturyThreshold(int centuryThreshold)

      Only used if we're showing the date in a text field. When parsing a date, if the year is specified with 1 or 2 digits and is less than the centuryThreshold, then the year will be assumed to be 20xx; otherwise it will be interpreted according to default browser behaviour, which will consider it to be 19xx.

      If you need to allow 1 and 2 digit years, set this attribute to `null` to have the control retain your year-value as entered.

      Parameters:
        `centuryThreshold` - centuryThreshold Default value is 25
      See Also:
        `Appearance overview and related methods`

    - #### getCenturyThreshold

          public int getCenturyThreshold()

      Only used if we're showing the date in a text field. When parsing a date, if the year is specified with 1 or 2 digits and is less than the centuryThreshold, then the year will be assumed to be 20xx; otherwise it will be interpreted according to default browser behaviour, which will consider it to be 19xx.

      If you need to allow 1 and 2 digit years, set this attribute to `null` to have the control retain your year-value as entered.

      Returns:
        int
      See Also:
        `Appearance overview and related methods`

    - #### setDateFormatter

          public void setDateFormatter(DateDisplayFormat dateFormatter)

      If `useTextField` is `true` this property can be used to customize the format in which dates are displayed for this item.
      Should be set to a standard `DateDisplayFormat`.

      As with any formItem rendering out a date value, if no explicit dateFormatter is supplied, dateFormatter will be derived from `dateFormatter` or `datetimeFormatter`, depending on the specified `type` for this field, if set, otherwise from the standard default `Date.setShortDisplayFormat` or `Date.setShortDatetimeDisplayFormat`.

      NOTE: For entirely custom formats, developers may apply a custom `editorValueFormatter`. To ensure the DateItem is able to parse user-entered date strings back into Dates, for most cases developers can specify an explicit `inputFormat`, or if necessary a custom `editorValuePaser`

      Overrides:
        `setDateFormatter` in class `FormItem`
      Parameters:
        `dateFormatter` - dateFormatter Default value is null
      See Also:
        `FormItem.setTimeFormatter(com.smartgwt.client.types.TimeDisplayFormat)`, `Appearance overview and related methods`

    - #### getDateFormatter

          public DateDisplayFormat getDateFormatter()

      If `useTextField` is `true` this property can be used to customize the format in which dates are displayed for this item.
      Should be set to a standard `DateDisplayFormat`.

      As with any formItem rendering out a date value, if no explicit dateFormatter is supplied, dateFormatter will be derived from `dateFormatter` or `datetimeFormatter`, depending on the specified `type` for this field, if set, otherwise from the standard default `Date.setShortDisplayFormat` or `Date.setShortDatetimeDisplayFormat`.

      NOTE: For entirely custom formats, developers may apply a custom `editorValueFormatter`. To ensure the DateItem is able to parse user-entered date strings back into Dates, for most cases developers can specify an explicit `inputFormat`, or if necessary a custom `editorValuePaser`

      Overrides:
        `getDateFormatter` in class `FormItem`
      Returns:
        DateDisplayFormat
      See Also:
        `FormItem.getTimeFormatter()`, `Appearance overview and related methods`

    - #### getDaySelector

          public SelectItem getDaySelector()

      Select item to hold the day part of the date.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        SelectItem

    - #### setDaySelectorProperties

          public void setDaySelectorProperties(SelectItem daySelectorProperties)

      Custom properties to apply to this dateItem's generated `daySelector`.

      Note : This is an advanced setting

      Parameters:
        `daySelectorProperties` - daySelectorProperties Default value is null

    - #### getDaySelectorProperties

          public SelectItem getDaySelectorProperties()

      Custom properties to apply to this dateItem's generated `daySelector`.
      Returns:
        SelectItem

    - #### setDefaultChooserDate

          public void setDefaultChooserDate(java.util.Date defaultChooserDate)

      Default date to show in the date chooser. If this items value is currently unset, this property may be specified to set a default date to highlight in the dateChooser for this item. If unset, the date chooser will highlight the current date by default. Note that this has no effect if the item as a whole currently has a value - in that case the date chooser will always highlight the current value for the item.
      Parameters:
        `defaultChooserDate` - defaultChooserDate Default value is null

    - #### getDefaultChooserDate

          public java.util.Date getDefaultChooserDate()

      Default date to show in the date chooser. If this items value is currently unset, this property may be specified to set a default date to highlight in the dateChooser for this item. If unset, the date chooser will highlight the current date by default. Note that this has no effect if the item as a whole currently has a value - in that case the date chooser will always highlight the current value for the item.
      Returns:
        Returns the default date to display in the date chooser if this form items value is currently unset.

        Default implementation returns `defaultChooserDate`

    - #### setEndDate

          public void setEndDate(java.util.Date endDate)

      Maximum date the selectors will allow the user to pick.

      See `startDate` for details on how this restriction works.

      Parameters:
        `endDate` - endDate Default value is 12/31/2020
      See Also:
        `Appearance overview and related methods`

    - #### getEndDate

          public java.util.Date getEndDate()

      Maximum date the selectors will allow the user to pick.

      See `startDate` for details on how this restriction works.

      Returns:
        Date
      See Also:
        `Appearance overview and related methods`

    - #### setEnforceDate

          public void setEnforceDate(java.lang.Boolean enforceDate)

      Can this field be set to a non-date value [other than null]?

      When set to true, `FormItem.setValue` will return false without setting the item value and log a warning if passed something other than a valid date value. If the dateItem is showing a `free-form text entry field`, and a user enters a text value which cannot be parsed into a valid date, the item will automatically redraw and display the `invalidDateStringMessage` (though at this point calling `FormItem.getValue` will return the string entered by the user).

      When set to false, a user may enter a value that is not a valid date (for example, "Not applicable") and the value will not immediately be flagged as an error. However note that for the value to actually pass validation you would need to declare the field as not of "date" type, for example:

                {name:"startDate", type:"dateOrOther", editorType:"DateItem", useTextField:true },

      The type "dateOrOther" could be declared as a `SimpleType`, with validators that will accept either a valid date or certain special Strings (like "Not Available").

      Only applies to dateItems where `useTextField` is true. Non-Date values are never supported in items where useTextField is false.

      Note : This is an advanced setting

      Parameters:
        `enforceDate` - enforceDate Default value is false

    - #### getEnforceDate

          public java.lang.Boolean getEnforceDate()

      Can this field be set to a non-date value [other than null]?

      When set to true, `FormItem.setValue` will return false without setting the item value and log a warning if passed something other than a valid date value. If the dateItem is showing a `free-form text entry field`, and a user enters a text value which cannot be parsed into a valid date, the item will automatically redraw and display the `invalidDateStringMessage` (though at this point calling `FormItem.getValue` will return the string entered by the user).

      When set to false, a user may enter a value that is not a valid date (for example, "Not applicable") and the value will not immediately be flagged as an error. However note that for the value to actually pass validation you would need to declare the field as not of "date" type, for example:

                {name:"startDate", type:"dateOrOther", editorType:"DateItem", useTextField:true },

      The type "dateOrOther" could be declared as a `SimpleType`, with validators that will accept either a valid date or certain special Strings (like "Not Available").

      Only applies to dateItems where `useTextField` is true. Non-Date values are never supported in items where useTextField is false.

      Returns:
        Boolean

    - #### setInputFormat

          public void setInputFormat(java.lang.String inputFormat)

      If `useTextField` is `true` this property can be used to specify the input format for date strings. If unset, the input format will be determined based on the specified `dateFormtter` if possible (see `DateItem.getInputFormat`), otherwise picked up from the Date class (see `Date.setInputFormat`).

      Should be set to a standard DateInputFormat

      Note that the DateInputFormat property is sufficient to parse date or datetime strings specified in most standard date formats. However should an entirely custom parsing function be required developers can apply a custom `editorValueParser` function.

      Overrides:
        `setInputFormat` in class `FormItem`
      Parameters:
        `inputFormat` - . See `DateInputFormat`. Default value is null
      See Also:
        `FormItem.setDisplayFormat(com.smartgwt.client.types.DateDisplayFormat)`

    - #### getInputFormat

          public java.lang.String getInputFormat()

      If `useTextField` is `true` this property can be used to specify the input format for date strings. If unset, the input format will be determined based on the specified `dateFormtter` if possible (see `DateItem.getInputFormat`), otherwise picked up from the Date class (see `Date.setInputFormat`).

      Should be set to a standard DateInputFormat

      Note that the DateInputFormat property is sufficient to parse date or datetime strings specified in most standard date formats. However should an entirely custom parsing function be required developers can apply a custom `editorValueParser` function.

      Overrides:
        `getInputFormat` in class `FormItem`
      Returns:
        If `useTextField` is `true` this method returns a standard DateInputFormat, determining how values entered by the user are to be converted to Javascript Date objects.

        If an explicit `inputFormat` has been specified it will be returned, otherwise, the input format will be automatically derived from the `dateFormatter` property.

        Note that the inputFormat will ignore any separator characters and padding of values. However if necessary entirely custom date formatting and parsing may be achieved via the `setEditorValueFormatter()` and `setEditorValueParser()` APIs.. See `DateInputFormat`

      See Also:
        `com.smartgwt.client.widgets.form.fields.DateItem#getDisplayFormat`

    - #### setInvalidDateStringMessage

          public void setInvalidDateStringMessage(java.lang.String invalidDateStringMessage)

      Validation error message to display if the user enters an invalid date
      Parameters:
        `invalidDateStringMessage` - . See `String`. Default value is "Invalid date"

    - #### getInvalidDateStringMessage

          public java.lang.String getInvalidDateStringMessage()

      Validation error message to display if the user enters an invalid date
      Returns:
        . See `String`

    - #### setMaskDateSeparator

          public void setMaskDateSeparator(java.lang.String maskDateSeparator)

      If `useTextField` and `useMask` are both `true` this value is the separator between date components. If unset `getDefaultSeparator` will be used.

      Note : This is an advanced setting

      Parameters:
        `maskDateSeparator` - . See `String`. Default value is null
      See Also:
        `Basics overview and related methods`

    - #### getMonthSelector

          public SelectItem getMonthSelector()

      Select item to hold the month part of the date.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        SelectItem

    - #### setMonthSelectorProperties

          public void setMonthSelectorProperties(SelectItem monthSelectorProperties)

      Custom properties to apply to this dateItem's generated `monthSelector`.

      Note : This is an advanced setting

      Parameters:
        `monthSelectorProperties` - monthSelectorProperties Default value is null

    - #### getMonthSelectorProperties

          public SelectItem getMonthSelectorProperties()

      Custom properties to apply to this dateItem's generated `monthSelector`.
      Returns:
        SelectItem

    - #### setPickerIconPrompt

          public void setPickerIconPrompt(java.lang.String pickerIconPrompt)

      Prompt to show when the user hovers the mouse over the picker icon for this DateItem. May be overridden for localization of your application.
      Overrides:
        `setPickerIconPrompt` in class `FormItem`
      Parameters:
        `pickerIconPrompt` - . See `String`. Default value is "Show Date Chooser"

    - #### getPickerIconPrompt

          public java.lang.String getPickerIconPrompt()

      Prompt to show when the user hovers the mouse over the picker icon for this DateItem. May be overridden for localization of your application.
      Overrides:
        `getPickerIconPrompt` in class `FormItem`
      Returns:
        . See `String`

    - #### setPickerProperties

          public void setPickerProperties(DateChooser pickerProperties)

      Properties for the `DateChooser` created by this form item.
      Parameters:
        `pickerProperties` - pickerProperties Default value is see below

    - #### getPickerProperties

          public DateChooser getPickerProperties()

      Properties for the `DateChooser` created by this form item.
      Returns:
        DateChooser

    - #### setPickerTimeItemProperties

          public void setPickerTimeItemProperties(TimeItem pickerTimeItemProperties)

      A set of properties to apply to the `TimeItem` displayed in the picker when `showPickerTimeItem` is true.

      Has no effect for fields of type `"date"`.

      Note : This is an advanced setting

      Parameters:
        `pickerTimeItemProperties` - pickerTimeItemProperties Default value is null

    - #### getPickerTimeItemProperties

          public TimeItem getPickerTimeItemProperties()

      A set of properties to apply to the `TimeItem` displayed in the picker when `showPickerTimeItem` is true.

      Has no effect for fields of type `"date"`.

      Returns:
        TimeItem

    - #### setSelectorFormat

          public void setSelectorFormat(DateItemSelectorFormat selectorFormat)

      If showing date selectors rather than the date text field (so when `this.useTextField` is false), this property allows customization of the order of the day, month and year selector fields. If unset these fields will match the specified inputFormat for this item.

      Note: selectors may be ommitted entirely by setting selectorFormat to (for example) `"MD"`. In this case the value for the omitted selector will match the `defaultValue` specified for the item. For example, if the selector format is "MD" (month and day only), the year comes from the Date specified as the defaultValue.

      Parameters:
        `selectorFormat` - selectorFormat Default value is null

    - #### getSelectorFormat

          public DateItemSelectorFormat getSelectorFormat()

      If showing date selectors rather than the date text field (so when `this.useTextField` is false), this property allows customization of the order of the day, month and year selector fields. If unset these fields will match the specified inputFormat for this item.

      Note: selectors may be ommitted entirely by setting selectorFormat to (for example) `"MD"`. In this case the value for the omitted selector will match the `defaultValue` specified for the item. For example, if the selector format is "MD" (month and day only), the year comes from the Date specified as the defaultValue.

      Returns:
        DateItemSelectorFormat

    - #### setShowChooserFiscalYearPicker

          public void setShowChooserFiscalYearPicker(java.lang.Boolean showChooserFiscalYearPicker)

      When set to true, show a button that allows the calendar to be navigated by fiscal year.
      Parameters:
        `showChooserFiscalYearPicker` - showChooserFiscalYearPicker Default value is false

    - #### getShowChooserFiscalYearPicker

          public java.lang.Boolean getShowChooserFiscalYearPicker()

      When set to true, show a button that allows the calendar to be navigated by fiscal year.
      Returns:
        Boolean

    - #### setShowChooserWeekPicker

          public void setShowChooserWeekPicker(java.lang.Boolean showChooserWeekPicker)

      When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value of `showChooserFiscalYearPicker`.
      Parameters:
        `showChooserWeekPicker` - showChooserWeekPicker Default value is false

    - #### getShowChooserWeekPicker

          public java.lang.Boolean getShowChooserWeekPicker()

      When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value of `showChooserFiscalYearPicker`.
      Returns:
        Boolean

    - #### setShowPickerTimeItem

          public void setShowPickerTimeItem(java.lang.Boolean showPickerTimeItem)

      If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?

      Has no effect for fields of type `"date"`.

      Parameters:
        `showPickerTimeItem` - showPickerTimeItem Default value is true

    - #### getShowPickerTimeItem

          public java.lang.Boolean getShowPickerTimeItem()

      If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?

      Has no effect for fields of type `"date"`.

      Returns:
        Boolean

    - #### setStartDate

          public void setStartDate(java.util.Date startDate)

      Minimum date the selectors will allow the user to pick.

      NOTE: by design, setting `startDate` and `endDate` will not always prevent the user from picking invalid values. In particular:

      - the set of available days will only be restricted if the start and end dates fall within the same month
      - the set of available months will only be restricted if the start and end dates fall within the same year

      This is by design as it allows the user to set the day, month and year in whatever order is convenient, rather than forcing them to pick in a specific order.

      For actual enforcement of a date being in correct range before data is submitted, a `Validator` of type "dateRange" should always be declared.

      Parameters:
        `startDate` - startDate Default value is 1/1/1995
      See Also:
        `Appearance overview and related methods`

    - #### getStartDate

          public java.util.Date getStartDate()

      Minimum date the selectors will allow the user to pick.

      NOTE: by design, setting `startDate` and `endDate` will not always prevent the user from picking invalid values. In particular:

      - the set of available days will only be restricted if the start and end dates fall within the same month
      - the set of available months will only be restricted if the start and end dates fall within the same year

      This is by design as it allows the user to set the day, month and year in whatever order is convenient, rather than forcing them to pick in a specific order.

      For actual enforcement of a date being in correct range before data is submitted, a `Validator` of type "dateRange" should always be declared.

      Returns:
        Date
      See Also:
        `Appearance overview and related methods`

    - #### setTextAlign

          public void setTextAlign(Alignment textAlign)

      If `useTextField` is `true` this property governs the alignment of text within the text field. Defaults to `"right"` by default or `"left"` if the page is in `rtl mode`.
      Overrides:
        `setTextAlign` in class `FormItem`
      Parameters:
        `textAlign` - textAlign Default value is varies
      See Also:
        `Appearance overview and related methods`

    - #### getTextAlign

          public Alignment getTextAlign()

      If `useTextField` is `true` this property governs the alignment of text within the text field. Defaults to `"right"` by default or `"left"` if the page is in `rtl mode`.
      Overrides:
        `getTextAlign` in class `FormItem`
      Returns:
        Alignment
      See Also:
        `Appearance overview and related methods`

    - #### getTextField

          public TextItem getTextField()

      Text field to hold the entire date in "type in" format, if 'useTextField' is true for an item.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        TextItem

    - #### setTextFieldProperties

          public void setTextFieldProperties(TextItem textFieldProperties)

      Custom properties to apply to this dateItem's generated `textField`. Only applies if `useTextField` is true.

      Note : This is an advanced setting

      Parameters:
        `textFieldProperties` - textFieldProperties Default value is null

    - #### getTextFieldProperties

          public TextItem getTextFieldProperties()

      Custom properties to apply to this dateItem's generated `textField`. Only applies if `useTextField` is true.
      Returns:
        TextItem

    - #### setUse24HourTime

          public void setUse24HourTime(java.lang.Boolean use24HourTime)

      When showing the `DateChooser` and the field is of type "datetime", whether the `time field` should be set to use 24-hour time. The default is true.

      Has no effect if `showPickerTimeItem` is explicitly set to `false`.

      Parameters:
        `use24HourTime` - use24HourTime Default value is true

    - #### getUse24HourTime

          public java.lang.Boolean getUse24HourTime()

      When showing the `DateChooser` and the field is of type "datetime", whether the `time field` should be set to use 24-hour time. The default is true.

      Has no effect if `showPickerTimeItem` is explicitly set to `false`.

      Returns:
        Boolean

    - #### setUseMask

          public void setUseMask(java.lang.Boolean useMask)

      If `useTextField` is not `false` this property determines if an input mask should be used. The format of the mask is determined by the `inputFormat` or `dateFormatter` (in that order).

      Note : This is an advanced setting

      Parameters:
        `useMask` - useMask Default value is null
      See Also:
        `setMaskDateSeparator(java.lang.String)`, `Basics overview and related methods`

    - #### setUseSharedPicker

          public void setUseSharedPicker(java.lang.Boolean useSharedPicker)

      When set to true (the default), use a single shared date-picker across all widgets that use one. When false, create a new picker using the autoChild system. See `picker` and `pickerProperties` for details on setting up an unshared picker.
      Parameters:
        `useSharedPicker` - useSharedPicker Default value is true

    - #### getUseSharedPicker

          public java.lang.Boolean getUseSharedPicker()

      When set to true (the default), use a single shared date-picker across all widgets that use one. When false, create a new picker using the autoChild system. See `picker` and `pickerProperties` for details on setting up an unshared picker.
      Returns:
        Boolean

    - #### setUseTextField

          public void setUseTextField(java.lang.Boolean useTextField)

      Should we show the date in a text field, or as 3 select boxes?
      Parameters:
        `useTextField` - useTextField Default value is null
      See Also:
        `Basics overview and related methods`, Date Example

    - #### getUseTextField

          public java.lang.Boolean getUseTextField()

      Should we show the date in a text field, or as 3 select boxes?
      Returns:
        Boolean
      See Also:
        `Basics overview and related methods`, Date Example

    - #### getYearSelector

          public SelectItem getYearSelector()

      Select item to hold the year part of the date.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        SelectItem

    - #### setYearSelectorProperties

          public void setYearSelectorProperties(SelectItem yearSelectorProperties)

      Custom properties to apply to this dateItem's generated `yearSelector`.

      Note : This is an advanced setting

      Parameters:
        `yearSelectorProperties` - yearSelectorProperties Default value is null

    - #### getYearSelectorProperties

          public SelectItem getYearSelectorProperties()

      Custom properties to apply to this dateItem's generated `yearSelector`.
      Returns:
        SelectItem

    - #### deselectValue

          public void deselectValue()

      If `useTextField` is true, falls through to standard `FormItem.deselectValue` implementation on this items freeform text entry field. Otherwise has no effect.

    - #### deselectValue

          public void deselectValue(java.lang.Boolean start)

      If `useTextField` is true, falls through to standard `FormItem.deselectValue` implementation on this items freeform text entry field. Otherwise has no effect.
      Parameters:
        `start` - If this parameter is passed, new cursor insertion position will be moved to the start, rather than the end of this item's value.

    - #### getEnteredValue

          public java.lang.String getEnteredValue()

      Returns the raw text value typed into this items text field if `useTextField` is true (otherwise returns the result of this.getValue()).
      Returns:
        value the user entered

    - #### getFiscalCalendar

          public FiscalCalendar getFiscalCalendar()

      Returns the `FiscalCalendar` object that will be used by this item's DateChooser.
      Returns:
        the fiscal calendar for this chooser, if set, or the global one otherwise

    - #### selectValue

          public void selectValue()

      If `useTextField` is true, falls through to standard `FormItem.selectValue` implementation on this items freeform text entry field. Otherwise has no effect.

    - #### setFiscalCalendar

          public void setFiscalCalendar()

      Sets the `FiscalCalendar` object that will be used by this item's DateChooser. If unset, the _link{Date.getFiscalCalendar, global fiscal calendar} is used.

    - #### setFiscalCalendar

          public void setFiscalCalendar(FiscalCalendar fiscalCalendar)

      Sets the `FiscalCalendar` object that will be used by this item's DateChooser. If unset, the _link{Date.getFiscalCalendar, global fiscal calendar} is used.
      Parameters:
        `fiscalCalendar` - the fiscal calendar for this chooser, if set, or the global one otherwise

    - #### setSelectionRange

          public void setSelectionRange(int start,
                               int end)

      If `useTextField` is true, falls through to standard `FormItem.setSelectionRange` implementation on this items freeform text entry field. Otherwise has no effect.
      Parameters:
        `start` - character index for start of new selection
        `end` - character index for end of new selection

    - #### setDefaultProperties

          public static void setDefaultProperties(DateItem dateItemProperties)

      Class level method to set the default properties of this class. If set, then all subsequent instances of this class will automatically have the default properties that were set when this method was called. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will effect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead.

      Parameters:
        `dateItemProperties` - properties that should be used as new defaults when instances of this class are created

    - #### getValueAsDate

          public java.util.Date getValueAsDate()

      Return the value tracked by this form item.
      Returns:
        value of this element

    - #### getSelectionRange

          public int[] getSelectionRange()

      If `useTextField` is true, falls through to standard `com.smartgwt.client.widgets.form.fields.FormItem#getSelectionRange` implementation on this items freeform text entry field. Otherwise has no effect.
      Returns:
        2 element array indicating start/end character index of current selection within our text entry field. Returns null if this item is undrawn or doesn't have focus.

    - #### setEditorValueFormatter

          public void setEditorValueFormatter(FormItemValueFormatter formatter)

      An optional `FormItemValueFormatter` to map this item's current data value to a display value. Only applies if `setUseTextField(java.lang.Boolean)` is true.

      Notes

      - `#setDateFormatter()` already provides support for most standard "short date" formats, so a completely custom formatter method is often not required.
      - System-wide custom date formatting and parsing may be achieved via methods on the `DateUtil` class.
      - When a custom formatter is specified, you may also need to modify the `#setInputFormat()` or supply a custom `#setEditorValueParser()`

      When writing custom date formatting and parsing logic, developers may find the `DateTimeFormat` class helpful.

      Overrides:
        `setEditorValueFormatter` in class `FormItem`
      Parameters:
        `formatter` - the FormItemValueFormatter

    - #### setEditorValueParser

          public void setEditorValueParser(FormItemValueParser valueParser)

      An optional `FormItemValueParser` to map a user-entered display value to a data value for storage. Only applies if `#setUseTextField()` is set to true.

      A custom parser function will typically only be required if a custom formatter is specified via `setEditorValueFormatter(FormItemValueFormatter)`. Even then, you may be able to simply specify an `inputFormat` that matches the custom display format for this item.

      System-wide custom date parsing and formatting may be achieved via methods on the `DateUtil` class.

      When writing custom date formatting and parsing logic, developers may find the `DateTimeFormat` class helpful.

      Overrides:
        `setEditorValueParser` in class `FormItem`
      Parameters:
        `valueParser` - the FormItemValueParser