Package 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.data.Field
com.smartgwt.client.widgets.form.fields.FormItem
com.smartgwt.client.widgets.form.fields.DateItem

All Implemented Interfaces:
  `HasHandlers`, `HasBlurHandlers`, `HasChangedHandlers`, `HasChangeHandlers`, `HasClickHandlers`, `HasDoubleClickHandlers`, `HasEditorEnterHandlers`, `HasEditorExitHandlers`, `HasFocusHandlers`, `HasIconClickHandlers`, `HasIconKeyPressHandlers`, `HasItemHoverHandlers`, `HasKeyDownHandlers`, `HasKeyPressHandlers`, `HasKeyUpHandlers`, `HasPendingStatusChangedHandlers`, `HasPickerIconClickHandlers`, `HasShowContextMenuHandlers`, `HasTitleClickHandlers`, `HasTitleDoubleClickHandlers`, `HasTitleHoverHandlers`, `HasValueHoverHandlers`, `HasValueIconClickHandlers`

Direct Known Subclasses:
  `DateTimeItem`

public class DateItem extends FormItem
A `FormItem` for editing `logical-Date` values, where times are ignored.

The item renders with one of two appearances, depending on the value of `useTextField` - when set to true, dates are edited directly `in a text field`, and formatted according to your locale and settings such as `dateFormatter`.

When set to false, the default appearance, the item uses separate selectors for `year`, `month` and `day` values. To control which selectors are visible and in what order, use `selectorFormat`. In this mode, the selectable dates may be limited by the item's `start` and `end` dates. See those two settings for more information.

In either mode, a `popup picker` is provided assuming that the `pickerIcon` is visible.

As noted, this item is for editing `logical-Date values`. To edit `logical-Time values`, see `TimeItem`, and to edit `datetime values`, see `DateTimeItem`. For `relative-date features`, see `RelativeDateItem`.

For detailed information on working with dates, times and datetimes, see the `Date and Time Format and Storage overview`.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class com.smartgwt.client.widgets.form.fields.FormItem

  `FormItem.CustomStateGetter, FormItem.StateCustomizer`

- ## Field Summary

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

  `configOnly, scClassName, warnOnEditorTypeConversion, warnOnEditorTypeConversionDefault`

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

  `id`

  ### Fields inherited from class com.smartgwt.client.core.DataClass

  `factoryCreated, factoryProperties`

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

  `jsObj`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DateItem()`
  `DateItem(JavaScriptObject jsObj)`
  `DateItem(String name)`
  `DateItem(String name, String title)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `changeAutoChildDefaults(String autoChildName, Canvas defaults)`
  Changes the defaults for Canvas AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(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 `deselectValue()` implementation on this items freeform text entry field.
  `void`
  `deselectValue(Boolean start)`
  If `useTextField` is true, falls through to standard `deselectValue()` implementation on this items freeform text entry field.
  `Boolean`
  `getAutoUseTextField()`
  When set to true, the default, and when `useTextField` is set to false, such that the item displays multiple separate pickers, `useTextField` is automatically switched on when the item is rendering in a non-interactive way, such as when printing, or when `canEdit` is false and the read-only display-mode is `static`.
  `String`
  `getBrowserInputType()`
  If `useTextField` is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.
  `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()`
  `SelectItem` for picking a day of the month.
  `SelectItem`
  `getDaySelectorProperties()`
  Custom properties to apply to this dateItem's generated `daySelector`.
  `Date`
  `getDefaultChooserDate()`
  Default date to show in the date chooser.
  `String`
  `getEditProxyConstructor()`
  Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
  `Date`
  `getEndDate()`
  The maximum date this item is intended to work with.
  `Boolean`
  `getEnforceDate()`
  Can this field be set to a non-date value [other than null]?
  `Boolean`
  `getEnforceValueRange()`
  Dictates whether values applied to this item via `setValue()` or `form.values` will be accepted if they fall outside the range specified by the item's `start` and `end` dates.
  `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.
  `Boolean`
  `getGenerateValidator()`
  When this item has a `startDate` or `endDate` specified, should it automatically generate a client-side `dateRange validator` to enforce them?
  `String`
  `getInputFormat()`
  If `useTextField` is `true` this property can be used to specify the input format for date strings.
  `String`
  `getInvalidDateStringMessage()`
  Validation error message to display if the user enters an invalid date
  `Alignment`
  `getItemTitleAlign()`
  When `useTextField` is false, the default alignment of titles for the `day`, `month` and `year` selectors, within their cells.
  `TitleOrientation`
  `getItemTitleOrientation()`
  When `useTextField` is false, the default orientation of titles for the `day`, `month` and `year` selectors.
  `SelectItem`
  `getMonthSelector()`
  `SelectItem` for picking a month.
  `SelectItem`
  `getMonthSelectorProperties()`
  Custom properties to apply to this dateItem's generated `monthSelector`.
  `static DateItem`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `DateChooser`
  `getPickerDefaults()`
  Defaults for the `DateChooser` created by this form item.
  `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.
  `Boolean`
  `getShowChooserFiscalYearPicker()`
  When set to true, show a button that allows the calendar to be navigated by fiscal year.
  `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`.
  `Boolean`
  `getShowHintInField()`
  If `useTextField` is true and a `hint` is set, should the hint be shown within the field?
  `Boolean`
  `getShowItemTitles()`
  When `useTextField` is false, whether titles should be shown for for child-items in this DateItem.
  `Boolean`
  `getShowPickerIcon()`
  Should we show the pick button icon?
  `Boolean`
  `getShowPickerTimeItem()`
  If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?
  `Date`
  `getStartDate()`
  The minimum date this item is intended to work with.
  `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.
  `TextItem`
  `getTextFieldProperties()`
  Custom properties to apply to this dateItem's generated `textField`.
  `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.
  `boolean`
  `getUsePlaceholderForHint()`
  If `showing the hint in field` and if supported by the browser, should the HTML5 `placeholder` attribute be used to display the hint within the field? If set to `false`, then use of the `placeholder` attribute is disabled and an alternative technique to display the hint in-field is used instead.
  `Boolean`
  `getUseSharedPicker()`
  When set to true (the default), use a single shared date-picker across all widgets that use one.
  `Boolean`
  `getUseTextField()`
  When set to true, the item uses a `single text field` for working with the item's value.
  `Date`
  `getValueAsDate()`
  Return the value tracked by this form item.
  `Boolean`
  `getWrapHintText()`
  If this item is showing a `FormItem.hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.
  `SelectItem`
  `getYearSelector()`
  `SelectItem` for picking a year.
  `SelectItem`
  `getYearSelectorProperties()`
  Custom properties to apply to this dateItem's generated `yearSelector`.
  `boolean`
  `pendingStatusChanged(DynamicForm form, FormItem item, boolean pendingStatus, Object newValue, Object value)`
  Notification method called when `showPending` is enabled and this date item should either clear or show its pending visual state.
  `void`
  `selectValue()`
  If `useTextField` is true, falls through to standard `selectValue()` implementation on this items freeform text entry field.
  `DateItem`
  `setAutoUseTextField(Boolean autoUseTextField)`
  When set to true, the default, and when `useTextField` is set to false, such that the item displays multiple separate pickers, `useTextField` is automatically switched on when the item is rendering in a non-interactive way, such as when printing, or when `canEdit` is false and the read-only display-mode is `static`.
  `DateItem`
  `setBrowserInputType(String browserInputType)`
  If `useTextField` is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.
  `DateItem`
  `setCenturyThreshold(int centuryThreshold)`
  Only used if we're showing the date in a text field.
  `DateItem`
  `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`.
  `DateItem`
  `setDaySelectorProperties(SelectItem daySelectorProperties)`
  Custom properties to apply to this dateItem's generated `daySelector`.
  `DateItem`
  `setDefaultChooserDate(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.
  `DateItem`
  `setEditProxyConstructor(String editProxyConstructor)`
  Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
  `DateItem`
  `setEndDate(Date endDate)`
  The maximum date this item is intended to work with.
  `DateItem`
  `setEnforceDate(Boolean enforceDate)`
  Can this field be set to a non-date value [other than null]?
  `DateItem`
  `setEnforceValueRange(Boolean enforceValueRange)`
  Dictates whether values applied to this item via `setValue()` or `form.values` will be accepted if they fall outside the range specified by the item's `start` and `end` dates.
  `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.
  `DateItem`
  `setGenerateValidator(Boolean generateValidator)`
  When this item has a `startDate` or `endDate` specified, should it automatically generate a client-side `dateRange validator` to enforce them?
  `DateItem`
  `setInputFormat(String inputFormat)`
  If `useTextField` is `true` this property can be used to specify the input format for date strings.
  `DateItem`
  `setInvalidDateStringMessage(String invalidDateStringMessage)`
  Validation error message to display if the user enters an invalid date
  `DateItem`
  `setItemTitleAlign(Alignment itemTitleAlign)`
  When `useTextField` is false, the default alignment of titles for the `day`, `month` and `year` selectors, within their cells.
  `DateItem`
  `setItemTitleOrientation(TitleOrientation itemTitleOrientation)`
  When `useTextField` is false, the default orientation of titles for the `day`, `month` and `year` selectors.
  `DateItem`
  `setMaskDateSeparator(String maskDateSeparator)`
  If `useTextField` and `useMask` are both `true` this value is the separator between date components.
  `DateItem`
  `setMonthSelectorProperties(SelectItem monthSelectorProperties)`
  Custom properties to apply to this dateItem's generated `monthSelector`.
  `DateItem`
  `setPickerDefaults(DateChooser pickerDefaults)`
  Defaults for the `DateChooser` created by this form item.
  `DateItem`
  `setPickerIconPrompt(String pickerIconPrompt)`
  Prompt to show when the user hovers the mouse over the picker icon for this DateItem.
  `DateItem`
  `setPickerProperties(DateChooser pickerProperties)`
  Properties for the `DateChooser` created by this form item.
  `DateItem`
  `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 `setSelectionRange()` implementation on this items freeform text entry field.
  `DateItem`
  `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.
  `DateItem`
  `setShowChooserFiscalYearPicker(Boolean showChooserFiscalYearPicker)`
  When set to true, show a button that allows the calendar to be navigated by fiscal year.
  `DateItem`
  `setShowChooserWeekPicker(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`.
  `DateItem`
  `setShowHintInField(Boolean showHintInField)`
  If `useTextField` is true and a `hint` is set, should the hint be shown within the field?
  `DateItem`
  `setShowItemTitles(Boolean showItemTitles)`
  When `useTextField` is false, whether titles should be shown for for child-items in this DateItem.
  `DateItem`
  `setShowPickerIcon(Boolean showPickerIcon)`
  Should we show the pick button icon?
  `DateItem`
  `setShowPickerTimeItem(Boolean showPickerTimeItem)`
  If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?
  `DateItem`
  `setStartDate(Date startDate)`
  The minimum date this item is intended to work with.
  `DateItem`
  `setTextAlign(Alignment textAlign)`
  If `useTextField` is `true` this property governs the alignment of text within the text field.
  `DateItem`
  `setTextFieldProperties(TextItem textFieldProperties)`
  Custom properties to apply to this dateItem's generated `textField`.
  `DateItem`
  `setUse24HourTime(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.
  `DateItem`
  `setUseMask(Boolean useMask)`
  If `useTextField` is not `false` this property determines if an input mask should be used.
  `DateItem`
  `setUsePlaceholderForHint(boolean usePlaceholderForHint)`
  If `showing the hint in field` and if supported by the browser, should the HTML5 `placeholder` attribute be used to display the hint within the field? If set to `false`, then use of the `placeholder` attribute is disabled and an alternative technique to display the hint in-field is used instead.
  `DateItem`
  `setUseSharedPicker(Boolean useSharedPicker)`
  When set to true (the default), use a single shared date-picker across all widgets that use one.
  `DateItem`
  `setUseTextField(Boolean useTextField)`
  When set to true, the item uses a `single text field` for working with the item's value.
  `DateItem`
  `setWrapHintText(Boolean wrapHintText)`
  If this item is showing a `FormItem.hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.
  `DateItem`
  `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, addIcon, addIcon, addIconClickHandler, addIconKeyPressHandler, addItemHoverHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addPendingStatusChangedHandler, addPickerIconClickHandler, addShowContextMenuHandler, addTitleClickHandler, addTitleDoubleClickHandler, addTitleHoverHandler, addValueHoverHandler, addValueIconClickHandler, applyFormula, asSGWTComponent, blurItem, canEditCriterion, checkFormItemType, clearErrors, clearValue, disable, disableIcon, enable, enableIcon, error, error, errorIfNotCreated, focusAfterItem, focusInItem, getAccessKey, getAlign, getAllowExpressions, getAlwaysFetchMissingValues, getAlwaysShowControlBox, getApplyAlignToText, getApplyHeightToTextBox, getAriaRole, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsObject, getAttributeAsString, getAutoComplete, getAutoCompleteKeywords, getBrowserSpellCheck, getCanEdit, getCanEditOpaqueValues, getCanFocus, getCanHover, getCanSelectText, getCanTabToIcons, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getControlStyle, getCriteriaField, getCriterion, getCriterion, getCursorPosition, getCustomState, getDataPath, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDefaultOperator, getDefaultValue, getDestroyed, getDisabled, getDisabledHover, getDisableIconsOnReadOnly, getDisplayField, getDisplayFieldName, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEmptyDisplayValue, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconProperties, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getErrors, getEscapeHTML, getExportFormat, getExtraControlTableCSS, getExtraTextBoxCSS, getFetchMissingValues, getFieldName, getFilterLocally, getForeignDisplayField, getForm, getFormat, getFormItemAutoChild, getFormula, getFullDataPath, getGlobalTabIndex, getGridColNum, getGridRowNum, getHeight, getHeightAsString, getHidden, getHint, getHintStyle, getHoverAlign, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHeightAsString, getHoverOpacity, getHoverPersist, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWidthAsString, getIcon, getIconBaseStyle, getIconHeight, getIconHSpace, getIconPageRect, getIconPrompt, getIconRect, getIcons, getIconTabPosition, getIconVAlign, getIconWidth, getID, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getLeft, getLinearColSpan, getLinearColSpanAsString, getLinearEndRow, getLinearEndRowAsString, getLinearStartRow, getLinearStartRowAsString, getLinearWidth, getLinearWidthAsString, getListGrid, getLoadingDisplayValue, getLocateItemBy, getMinHintWidth, getMultiple, getMultipleValueSeparator, getName, getNullOriginalValueText, getOperator, getOptionCriteria, getOptionDataSource, getOptionDataSourceAsString, getOptionFilterContext, getOptionOperationId, getOptionTextMatchStyle, getOriginalValueMessage, getPageLeft, getPageRect, getPageTop, getPaletteDefaults, getPicker, getPickerEscapeHTML, getPickerIcon, getPickerIcon, getPickerIconHeight, getPickerIconName, getPickerIconProperties, getPickerIconSrc, getPickerIconStyle, getPickerIconTabPosition, getPickerIconWidth, getPixelHeight, getPixelWidth, getPrintReadOnlyTextBoxStyle, getPrintTextBoxStyle, getPrintTitleStyle, getPrompt, getReadOnlyCanSelectText, getReadOnlyControlStyle, getReadOnlyDisplay, getReadOnlyHover, getReadOnlyTextBoxStyle, getReadOnlyWhen, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRequiredRightTitlePrefix, getRequiredRightTitleSuffix, getRequiredTitlePrefix, getRequiredTitleSuffix, getRequiredWhen, getRightTitlePrefix, getRightTitleSuffix, getRowSpan, getSaveOnEnter, getScClassName, getSelectedRecord, getSelectOnClick, getSelectOnFocus, getShouldSaveValue, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDeletions, getShowDisabled, getShowDisabledIconsOnFocus, getShowDisabledPickerIconOnFocus, getShowErrorIcon, getShowErrorIconInline, getShowErrorStyle, getShowErrorText, getShowFocused, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowIconsOnFocus, getShowImageAsURL, getShowOldValueInHover, getShowOver, getShowOverIcons, getShowPending, getShowPickerIconOnFocus, getShowRTL, getShowTitle, getShowValueIconOnly, getShowVoiceAssistIcon, getStartRow, getStaticHeight, getStopOnError, getStoreDisplayValues, getSupportsCutPasteEvents, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextBoxStyle, getTextFormula, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitlePrefix, getTitleStyle, getTitleSuffix, getTitleVAlign, getTooltip, getTop, getType, getUpdateControlOnOver, getUpdatePickerIconOnOver, getUpdateTextBoxOnOver, getUseAdvancedCriteria, getUseDisabledHintStyleForReadOnly, getUseLocalDisplayFieldValue, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsFloat, getValueAsInteger, getValueAsLong, getValueAsRecordList, getValueDeselectedCSSText, getValueField, getValueFieldName, getValueIconAriaRole, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getValueMap, getValueMapAsArray, getVisible, getVisibleHeight, getVisibleTitleWidth, getVisibleWhen, getVisibleWidth, getWarnOnEditorTypeConversion, getWarnOnEditorTypeConversionDefault, getWidth, getWidthAsString, getWrapStaticValue, getWrapTitle, handleWarnOnEditorTypeConversion, hasAdvancedCriteria, hasErrors, hide, hideIcon, invalidateDisplayValueCache, isAssignableFrom, isConfigOnly, isCreated, isCutEvent, isDisabled, isDrawn, isFocused, isInGrid, isPasteEvent, isVisible, linkToInstanceUponCreate, mapDisplayToValue, mapValueToDisplay, mapValueToDisplay, mapValueToDisplay, redraw, redraw, removeIcon, selectedRecordChanged, setAccessKey, setAlign, setAllowExpressions, setAlwaysFetchMissingValues, setAlwaysShowControlBox, setApplyAlignToText, setApplyHeightToTextBox, setAriaRole, setAriaState, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoComplete, setAutoCompleteKeywords, setBrowserSpellCheck, setCanEdit, setCanEditCriterionPredicate, setCanEditOpaqueValues, setCanFocus, setCanHover, setCanSelectText, setCanTabToIcons, setCellHeight, setCellStyle, setChangeOnKeypress, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setConfigOnly, setControlStyle, setCriteriaField, setCriterion, setCriterionGetter, setCriterionSetter, setCustomStateGetter, setDataPath, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultOperator, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisabledHover, setDisableIconsOnReadOnly, setDisplayField, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditPendingCSSText, setEmptyDisplayValue, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconProperties, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setErrors, setErrors, setEscapeHTML, setExportFormat, setExtraControlTableCSS, setExtraTextBoxCSS, setFetchMissingValues, setFilterLocally, setForeignDisplayField, setFormat, setFormula, setGlobalTabIndex, setHeight, setHeight, setHidden, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverHeight, setHoverOpacity, setHoverPersist, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWidth, setIconBaseStyle, setIconDisabled, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconShowOnFocus, setIconVAlign, setIconWidth, setID, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setJavaScriptObject, setLeft, setLinearColSpan, setLinearColSpan, setLinearEndRow, setLinearEndRow, setLinearStartRow, setLinearStartRow, setLinearWidth, setLinearWidth, setLoadingDisplayValue, setLocateItemBy, setMinHintWidth, setMultiple, setMultipleValueSeparator, setName, setNullOriginalValueText, setNullProperty, setOperator, setOptionCriteria, setOptionDataSource, setOptionDataSource, setOptionFilterContext, setOptionOperationId, setOptionTextMatchStyle, setOriginalValueMessage, setPickerEscapeHTML, setPickerIconHeight, setPickerIconName, setPickerIconProperties, setPickerIconSrc, setPickerIconStyle, setPickerIconWidth, setPrintReadOnlyTextBoxStyle, setPrintTextBoxStyle, setPrintTitleStyle, setPrompt, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyCanSelectText, setReadOnlyControlStyle, setReadOnlyDisplay, setReadOnlyHover, setReadOnlyTextBoxStyle, setReadOnlyWhen, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRequiredRightTitlePrefix, setRequiredRightTitleSuffix, setRequiredTitlePrefix, setRequiredTitleSuffix, setRequiredWhen, setRightTitlePrefix, setRightTitleSuffix, setRowSpan, setSaveOnEnter, setScClassName, setSelectOnClick, setSelectOnFocus, setShouldSaveValue, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDeletions, setShowDisabled, setShowDisabledIconsOnFocus, setShowDisabledPickerIconOnFocus, setShowErrorIcon, setShowErrorIconInline, setShowErrorStyle, setShowErrorText, setShowFocused, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIconsOnFocus, setShowIfCondition, setShowImageAsURL, setShowOldValueInHover, setShowOver, setShowOverIcons, setShowPending, setShowPickerIconOnFocus, setShowRTL, setShowTitle, setShowValueIconOnly, setShowVoiceAssistIcon, setStartRow, setStateCustomizer, setStaticHeight, setStopOnError, setStoreDisplayValues, setSupportsCutPasteEvents, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextBoxStyle, setTextFormula, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitlePrefix, setTitleStyle, setTitleSuffix, setTitleVAlign, setTooltip, setTop, setType, setUpdateControlOnOver, setUpdatePickerIconOnOver, setUpdateTextBoxOnOver, setUseAdvancedCriteria, setUseDisabledHintStyleForReadOnly, setUseLocalDisplayFieldValue, setUseObjectFactoryForTypeFallback, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueDeselectedCSSText, setValueField, setValueFormatter, setValueHoverFormatter, setValueIconAriaRole, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setVisibleWhen, setWarnOnEditorTypeConversion, setWarnOnEditorTypeConversionDefault, setWidth, setWidth, setWrapStaticValue, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, showPicker, stopHover, storeValue, storeValue, updateState, validate, valueClipped`

  ### Methods inherited from class com.smartgwt.client.data.Field

  `getCanExport, getExportTitle, getPrimaryKey, getSortByField, setCanExport, setExportTitle, setPrimaryKey, setSortByField`

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

  `getRef, getRef, internalSetID`

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

  `applyFactoryProperties, doAddHandler, fireEvent, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated`

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

  `equals, getJsObj, 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 Details

  - ### DateItem

    public DateItem()

  - ### DateItem

    public DateItem(JavaScriptObject jsObj)

  - ### DateItem

    public DateItem(String name)

  - ### DateItem

    public DateItem(String name, String title)

- ## Method Details

  - ### getOrCreateRef

    public static DateItem getOrCreateRef(JavaScriptObject jsObj)

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(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. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(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. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### changePickerIconDefaults

    public static void changePickerIconDefaults(FormItemIcon defaults)

  - ### setAutoUseTextField

    public DateItem setAutoUseTextField(Boolean autoUseTextField)
    When set to true, the default, and when `useTextField` is set to false, such that the item displays multiple separate pickers, `useTextField` is automatically switched on when the item is rendering in a non-interactive way, such as when printing, or when `canEdit` is false and the read-only display-mode is `static`.
    Parameters:
      `autoUseTextField` - New autoUseTextField value. Default value is true
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getAutoUseTextField

    public Boolean getAutoUseTextField()
    When set to true, the default, and when `useTextField` is set to false, such that the item displays multiple separate pickers, `useTextField` is automatically switched on when the item is rendering in a non-interactive way, such as when printing, or when `canEdit` is false and the read-only display-mode is `static`.
    Returns:
      Current autoUseTextField value. Default value is true

  - ### setBrowserInputType

    public DateItem setBrowserInputType(String browserInputType)
    If `useTextField` is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.

    The use of a native HTML5 date input causes certain features to be disabled. Input masks, the picker icon, and a custom `dateFormatter` are not supported. `In-field hints` are currently supported, but future browser changes might force this support to be removed. Therefore, it is safest to not use in-field hints (set showHintInField to false) in conjunction with a native HTML5 date input.

    NOTE: For optimal appearance this feature requires specific CSS which may not be present in certain legacy skins.

    Note : This is an advanced setting

    Overrides:
      `setBrowserInputType` in class `FormItem`
    Parameters:
      `browserInputType` - New browserInputType value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getBrowserInputType

    public String getBrowserInputType()
    If `useTextField` is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.

    The use of a native HTML5 date input causes certain features to be disabled. Input masks, the picker icon, and a custom `dateFormatter` are not supported. `In-field hints` are currently supported, but future browser changes might force this support to be removed. Therefore, it is safest to not use in-field hints (set showHintInField to false) in conjunction with a native HTML5 date input.

    NOTE: For optimal appearance this feature requires specific CSS which may not be present in certain legacy skins.

    Overrides:
      `getBrowserInputType` in class `FormItem`
    Returns:
      Current browserInputType value. Default value is null

  - ### setCenturyThreshold

    public DateItem 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 behavior, which will consider it to be 19xx.

    By default, the centuryThreshold is calculated as the current year + 25.

    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` - New centuryThreshold value. Default value is 25
    Returns:
      `DateItem` instance, for chaining setter calls
    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 behavior, which will consider it to be 19xx.

    By default, the centuryThreshold is calculated as the current year + 25.

    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:
      Current centuryThreshold value. Default value is 25
    See Also:
      - `Appearance overview and related methods`

  - ### setDateFormatter

    public DateItem 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 `DynamicForm.dateFormatter` or `DynamicForm.datetimeFormatter`, depending on the specified `FormItem.type` for this field, if set, otherwise from the standard default `DateUtil.setShortDisplayFormat()` or `DateUtil.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 `editorValueParser`

    This attribute does not have an effect if a native HTML5 date or datetime input is being used. See `browserInputType`.

    Overrides:
      `setDateFormatter` in class `FormItem`
    Parameters:
      `dateFormatter` - New dateFormatter value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `FormItem.setTimeFormatter(com.smartgwt.client.types.TimeDisplayFormat)`
      - `FormItem.setFormat(java.lang.String)`
      - `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 `DynamicForm.dateFormatter` or `DynamicForm.datetimeFormatter`, depending on the specified `FormItem.type` for this field, if set, otherwise from the standard default `DateUtil.setShortDisplayFormat()` or `DateUtil.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 `editorValueParser`

    This attribute does not have an effect if a native HTML5 date or datetime input is being used. See `browserInputType`.

    Overrides:
      `getDateFormatter` in class `FormItem`
    Returns:
      Current dateFormatter value. Default value is null
    See Also:
      - `FormItem.getTimeFormatter()`
      - `FormItem.getFormat()`
      - `Appearance overview and related methods`

  - ### getDaySelector

    public SelectItem getDaySelector()
    `SelectItem` for picking a day of the month.

    To control which selectors are visible and in what order, use `selectorFormat`.

    This component is an AutoChild named "daySelector". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current daySelector value. Default value is null
    See Also:
      - `getSelectorFormat()`

  - ### setDaySelectorProperties

    public DateItem setDaySelectorProperties(SelectItem daySelectorProperties)
    Custom properties to apply to this dateItem's generated `daySelector`.

    Note : This is an advanced setting

    Parameters:
      `daySelectorProperties` - New daySelectorProperties value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getDaySelectorProperties

    public SelectItem getDaySelectorProperties()
    Custom properties to apply to this dateItem's generated `daySelector`.
    Returns:
      Current daySelectorProperties value. Default value is null

  - ### setDefaultChooserDate

    public DateItem setDefaultChooserDate(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` - New defaultChooserDate value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getDefaultChooserDate

    public 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`. Default value is null

  - ### setEditProxyConstructor

    public DateItem setEditProxyConstructor(String editProxyConstructor)
    Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    Overrides:
      `setEditProxyConstructor` in class `FormItem`
    Parameters:
      `editProxyConstructor` - New editProxyConstructor value. Default value is "DateItemEditProxy"
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `SCClassName`

  - ### getEditProxyConstructor

    public String getEditProxyConstructor()
    Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    Overrides:
      `getEditProxyConstructor` in class `FormItem`
    Returns:
      Current editProxyConstructor value. Default value is "DateItemEditProxy"
    See Also:
      - `SCClassName`

  - ### setEndDate

    public DateItem setEndDate(Date endDate)
    The maximum date this item is intended to work with.

    The default value is December 31st, 5 years after the current year.

    The range specified by this setting and `startDate` must be enforced via a `dateRange validator`. By default, a client-only validator is `automatically generated` for you, unless you provide a customized one on this item or an associated `DataSourceField`. Note that changing this attribute after the item is drawn may result in item-validation.

    See `startDate` and `generateValidator` for more information.
    If this method is called after the component has been drawn/initialized: Setter for `endDate`.

    Note: A `LogicalDate` is expected.

    Parameters:
      `endDate` - the new endDate. Default value is See below
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `Appearance overview and related methods`

  - ### getEndDate

    public Date getEndDate()
    The maximum date this item is intended to work with.

    The default value is December 31st, 5 years after the current year.

    The range specified by this setting and `startDate` must be enforced via a `dateRange validator`. By default, a client-only validator is `automatically generated` for you, unless you provide a customized one on this item or an associated `DataSourceField`. Note that changing this attribute after the item is drawn may result in item-validation.

    See `startDate` and `generateValidator` for more information.

    Returns:
      Current endDate value. Default value is See below
    See Also:
      - `Appearance overview and related methods`

  - ### setEnforceDate

    public DateItem setEnforceDate(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.

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Note : This is an advanced setting

    Parameters:
      `enforceDate` - New enforceDate value. Default value is false
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getEnforceDate

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

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Returns:
      Current enforceDate value. Default value is false

  - ### setEnforceValueRange

    public DateItem setEnforceValueRange(Boolean enforceValueRange)
    Dictates whether values applied to this item via `setValue()` or `form.values` will be accepted if they fall outside the range specified by the item's `start` and `end` dates.

    When set to false, values outside the valid range will be accepted, which may result in additional entries being added to the various pickers, when `useTextField` is false.

    When set to true, `FormItem.setValue()` will return false for values that fall outside the range, the value will be rejected and the item defaulted to the start of its defined range. When this happens, `change()` will not fire, the item will not show the `pending style`, and `valuesHaveChanged()` will return false, even though calling `saveData()` will result in a changed record, if the `parent form` is `data-bound` and the current record came from the dataSource.

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Note : This is an advanced setting

    Parameters:
      `enforceValueRange` - New enforceValueRange value. Default value is false
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `setStartDate(java.util.Date)`
      - `setEndDate(java.util.Date)`

  - ### getEnforceValueRange

    public Boolean getEnforceValueRange()
    Dictates whether values applied to this item via `setValue()` or `form.values` will be accepted if they fall outside the range specified by the item's `start` and `end` dates.

    When set to false, values outside the valid range will be accepted, which may result in additional entries being added to the various pickers, when `useTextField` is false.

    When set to true, `FormItem.setValue()` will return false for values that fall outside the range, the value will be rejected and the item defaulted to the start of its defined range. When this happens, `change()` will not fire, the item will not show the `pending style`, and `valuesHaveChanged()` will return false, even though calling `saveData()` will result in a changed record, if the `parent form` is `data-bound` and the current record came from the dataSource.

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Returns:
      Current enforceValueRange value. Default value is false
    See Also:
      - `getStartDate()`
      - `getEndDate()`

  - ### setGenerateValidator

    public DateItem setGenerateValidator(Boolean generateValidator)
    When this item has a `startDate` or `endDate` specified, should it automatically generate a client-side `dateRange validator` to enforce them?

    When true, the default, the item will generate a dateRange validator automatically if the developer hasn't installed one but has set either date-range value.

    If a dateRange validator already exists, this attribute is non-functional - no automatic validator is generated, and no checks are made that the values in the developer-provided validator match the item's current start or end dates.

    Note that the validator generated by this attribute exists only on the FormItem, so it doesn't do any server enforcement and does not cause validation to happen in any other circumstance (eg, an unrelated grid used for editing). For consistent and pervasive enforcement, the validator should be declared on the `DataSourceField`.

    Parameters:
      `generateValidator` - New generateValidator value. Default value is true
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getGenerateValidator

    public Boolean getGenerateValidator()
    When this item has a `startDate` or `endDate` specified, should it automatically generate a client-side `dateRange validator` to enforce them?

    When true, the default, the item will generate a dateRange validator automatically if the developer hasn't installed one but has set either date-range value.

    If a dateRange validator already exists, this attribute is non-functional - no automatic validator is generated, and no checks are made that the values in the developer-provided validator match the item's current start or end dates.

    Note that the validator generated by this attribute exists only on the FormItem, so it doesn't do any server enforcement and does not cause validation to happen in any other circumstance (eg, an unrelated grid used for editing). For consistent and pervasive enforcement, the validator should be declared on the `DataSourceField`.

    Returns:
      Current generateValidator value. Default value is true

  - ### setInputFormat

    public DateItem setInputFormat(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 `dateFormatter` if possible (see `getInputFormat()`), otherwise picked up from the Date class (see `DateUtil.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.

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Overrides:
      `setInputFormat` in class `FormItem`
    Parameters:
      `inputFormat` - New inputFormat value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `setDateFormatter(com.smartgwt.client.types.DateDisplayFormat)`
      - `DateInputFormat`

  - ### getInputFormat

    public 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 `dateFormatter` if possible (see `getInputFormat()`), otherwise picked up from the Date class (see `DateUtil.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.

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    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, if a custom `dateFormatter` or `format` are specified, the input format will be automatically derived from that property.

      Otherwise, the global `inputFormat` is used.

      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. Default value is null

    See Also:
      - `getDateFormatter()`
      - `DateInputFormat`

  - ### setInvalidDateStringMessage

    public DateItem setInvalidDateStringMessage(String invalidDateStringMessage)
    Validation error message to display if the user enters an invalid date
    Parameters:
      `invalidDateStringMessage` - New invalidDateStringMessage value. Default value is "Invalid date"
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getInvalidDateStringMessage

    public String getInvalidDateStringMessage()
    Validation error message to display if the user enters an invalid date
    Returns:
      Current invalidDateStringMessage value. Default value is "Invalid date"

  - ### setItemTitleAlign

    public DateItem setItemTitleAlign(Alignment itemTitleAlign)
    When `useTextField` is false, the default alignment of titles for the `day`, `month` and `year` selectors, within their cells.
    Parameters:
      `itemTitleAlign` - New itemTitleAlign value. Default value is "center"
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `Form Titles`
      - Titles Example

  - ### getItemTitleAlign

    public Alignment getItemTitleAlign()
    When `useTextField` is false, the default alignment of titles for the `day`, `month` and `year` selectors, within their cells.
    Returns:
      Current itemTitleAlign value. Default value is "center"
    See Also:
      - `Form Titles`
      - Titles Example

  - ### setItemTitleOrientation

    public DateItem setItemTitleOrientation(TitleOrientation itemTitleOrientation)
    When `useTextField` is false, the default orientation of titles for the `day`, `month` and `year` selectors. `TitleOrientation` lists valid options.

    Note that titles on the left or right take up a cell in tabular `form layouts`, but titles on top do not.

    Parameters:
      `itemTitleOrientation` - New itemTitleOrientation value. Default value is "top"
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `Form Titles`
      - Titles Example

  - ### getItemTitleOrientation

    public TitleOrientation getItemTitleOrientation()
    When `useTextField` is false, the default orientation of titles for the `day`, `month` and `year` selectors. `TitleOrientation` lists valid options.

    Note that titles on the left or right take up a cell in tabular `form layouts`, but titles on top do not.

    Returns:
      Current itemTitleOrientation value. Default value is "top"
    See Also:
      - `Form Titles`
      - Titles Example

  - ### setMaskDateSeparator

    public DateItem setMaskDateSeparator(String maskDateSeparator)
    If `useTextField` and `useMask` are both `true` this value is the separator between date components. If unset `DateUtil.getDefaultDateSeparator()` will be used.

    Note : This is an advanced setting

    Parameters:
      `maskDateSeparator` - New maskDateSeparator value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getMonthSelector

    public SelectItem getMonthSelector()
    `SelectItem` for picking a month.

    To control which selectors are visible and in what order, use `selectorFormat`.

    This component is an AutoChild named "monthSelector". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current monthSelector value. Default value is null
    See Also:
      - `getSelectorFormat()`

  - ### setMonthSelectorProperties

    public DateItem setMonthSelectorProperties(SelectItem monthSelectorProperties)
    Custom properties to apply to this dateItem's generated `monthSelector`.

    Note : This is an advanced setting

    Parameters:
      `monthSelectorProperties` - New monthSelectorProperties value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getMonthSelectorProperties

    public SelectItem getMonthSelectorProperties()
    Custom properties to apply to this dateItem's generated `monthSelector`.
    Returns:
      Current monthSelectorProperties value. Default value is null

  - ### setPickerDefaults

    public DateItem setPickerDefaults(DateChooser pickerDefaults)
    Defaults for the `DateChooser` created by this form item. The picker for a particular item may be further customized via `pickerProperties`.

    By default the following DateChooser properties are set:

    - border:"1px solid black"
    - showTodayButton:true
    - showCancelButton:true
    - autoHide:true
    - closeOnEscapeKeypress:true
    These may be modified or overridden by the loaded skin. Note that as with any defaults block, modifications should be made using the the Class.changeDefaults() to apply changes on top of existing settings.
    Parameters:
      `pickerDefaults` - New pickerDefaults value. Default value is {...}
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `SGWTProperties`

  - ### getPickerDefaults

    public DateChooser getPickerDefaults()
    Defaults for the `DateChooser` created by this form item. The picker for a particular item may be further customized via `pickerProperties`.

    By default the following DateChooser properties are set:

    - border:"1px solid black"
    - showTodayButton:true
    - showCancelButton:true
    - autoHide:true
    - closeOnEscapeKeypress:true
    These may be modified or overridden by the loaded skin. Note that as with any defaults block, modifications should be made using the the Class.changeDefaults() to apply changes on top of existing settings.
    Returns:
      Current pickerDefaults value. Default value is {...}

  - ### setPickerIconPrompt

    public DateItem setPickerIconPrompt(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` - New pickerIconPrompt value. Default value is "Show Date Chooser"
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `HTMLString`

  - ### getPickerIconPrompt

    public 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:
      Current pickerIconPrompt value. Default value is "Show Date Chooser"
    See Also:
      - `HTMLString`

  - ### setPickerProperties

    public DateItem setPickerProperties(DateChooser pickerProperties)
    Properties for the `DateChooser` created by this form item. If specified these will be applied on top of the `pickerDefaults`
    Parameters:
      `pickerProperties` - New pickerProperties value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `SGWTProperties`

  - ### getPickerProperties

    public DateChooser getPickerProperties()
    Properties for the `DateChooser` created by this form item. If specified these will be applied on top of the `pickerDefaults`
    Returns:
      Current pickerProperties value. Default value is null

  - ### setPickerTimeItemProperties

    public DateItem 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` - New pickerTimeItemProperties value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### 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:
      Current pickerTimeItemProperties value. Default value is null

  - ### setSelectorFormat

    public DateItem 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, but note that the attribute default will likely be set by `localization` to a valid `DateItemSelectorFormat`.

    Note: selectors may be omitted 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` - New selectorFormat value. Default value is varies
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `com.smartgwt.client.widgets.form.fields.DateItem#setDaySelector`
      - `com.smartgwt.client.widgets.form.fields.DateItem#setMonthSelector`
      - `com.smartgwt.client.widgets.form.fields.DateItem#setYearSelector`

  - ### 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, but note that the attribute default will likely be set by `localization` to a valid `DateItemSelectorFormat`.

    Note: selectors may be omitted 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:
      Current selectorFormat value. Default value is varies
    See Also:
      - `getDaySelector()`
      - `getMonthSelector()`
      - `getYearSelector()`

  - ### setShowChooserFiscalYearPicker

    public DateItem setShowChooserFiscalYearPicker(Boolean showChooserFiscalYearPicker)
    When set to true, show a button that allows the calendar to be navigated by fiscal year.
    Parameters:
      `showChooserFiscalYearPicker` - New showChooserFiscalYearPicker value. Default value is false
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getShowChooserFiscalYearPicker

    public Boolean getShowChooserFiscalYearPicker()
    When set to true, show a button that allows the calendar to be navigated by fiscal year.
    Returns:
      Current showChooserFiscalYearPicker value. Default value is false

  - ### setShowChooserWeekPicker

    public DateItem setShowChooserWeekPicker(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` - New showChooserWeekPicker value. Default value is false
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getShowChooserWeekPicker

    public 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:
      Current showChooserWeekPicker value. Default value is false

  - ### setShowHintInField

    public DateItem setShowHintInField(Boolean showHintInField)
    If `useTextField` is true and a `hint` is set, should the hint be shown within the field?

    Note that when using a native HTML5 date input (see `browserInputType`), in-field hints are currently supported, but future browser changes might not allow in-field hints to be supported. Therefore, it is safest to not use in-field hints in conjunction with a native HTML5 date input.

    To change this attribute after being drawn, it is necessary to call `FormItem.redraw()` or redraw the form.

    Parameters:
      `showHintInField` - New showHintInField value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `FormItem.setHint(java.lang.String)`
      - `setUsePlaceholderForHint(boolean)`
      - `Appearance overview and related methods`

  - ### getShowHintInField

    public Boolean getShowHintInField()
    If `useTextField` is true and a `hint` is set, should the hint be shown within the field?

    Note that when using a native HTML5 date input (see `browserInputType`), in-field hints are currently supported, but future browser changes might not allow in-field hints to be supported. Therefore, it is safest to not use in-field hints in conjunction with a native HTML5 date input.

    To change this attribute after being drawn, it is necessary to call `FormItem.redraw()` or redraw the form.

    Returns:
      Current showHintInField value. Default value is null
    See Also:
      - `FormItem.getHint()`
      - `getUsePlaceholderForHint()`
      - `Appearance overview and related methods`

  - ### setShowItemTitles

    public DateItem setShowItemTitles(Boolean showItemTitles)
    When `useTextField` is false, whether titles should be shown for for child-items in this DateItem. By default, `showItemTitles` is false.
    Parameters:
      `showItemTitles` - New showItemTitles value. Default value is false
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `Form Titles`
      - Titles Example

  - ### getShowItemTitles

    public Boolean getShowItemTitles()
    When `useTextField` is false, whether titles should be shown for for child-items in this DateItem. By default, `showItemTitles` is false.
    Returns:
      Current showItemTitles value. Default value is false
    See Also:
      - `Form Titles`
      - Titles Example

  - ### setShowPickerIcon

    public DateItem setShowPickerIcon(Boolean showPickerIcon)
    Should we show the pick button icon?

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Overrides:
      `setShowPickerIcon` in class `FormItem`
    Parameters:
      `showPickerIcon` - New showPickerIcon value. Default value is true
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getShowPickerIcon

    public Boolean getShowPickerIcon()
    Should we show the pick button icon?

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Overrides:
      `getShowPickerIcon` in class `FormItem`
    Returns:
      Current showPickerIcon value. Default value is true

  - ### setShowPickerTimeItem

    public DateItem setShowPickerTimeItem(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"`.

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Parameters:
      `showPickerTimeItem` - New showPickerTimeItem value. Default value is true
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getShowPickerTimeItem

    public 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"`.

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Returns:
      Current showPickerTimeItem value. Default value is true

  - ### setStartDate

    public DateItem setStartDate(Date startDate)
    The minimum date this item is intended to work with.

    The default value is January 1st, 10 years before the current year.

    The range specified by this setting and `endDate` must be enforced via a `dateRange validator`. By default, a client-only validator is `automatically generated` for you, unless you provide a customized one on this item or an associated `DataSourceField`. Note that changing this attribute after the item is drawn may result in item-validation.

    When `useTextField` is true, dates are typed in and will be validated as usual, according to settings such as `validateOnChange` and `validateOnExit`.

    When `useTextField` is false and the item is using separate `selectors` for date-parts, validation behavior for rejecting out-of-range dates remains the same. However, setting `startDate` and `endDate` will not always prevent the user from temporarily 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. As when `useTextField` is true, invalid dates are rejected as part of regular item validation, if a validator exists.
    If this method is called after the component has been drawn/initialized: Setter for `startDate`.

    Note: A `LogicalDate` is expected.

    Parameters:
      `startDate` - the new startDate. Default value is See below
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `Appearance overview and related methods`

  - ### getStartDate

    public Date getStartDate()
    The minimum date this item is intended to work with.

    The default value is January 1st, 10 years before the current year.

    The range specified by this setting and `endDate` must be enforced via a `dateRange validator`. By default, a client-only validator is `automatically generated` for you, unless you provide a customized one on this item or an associated `DataSourceField`. Note that changing this attribute after the item is drawn may result in item-validation.

    When `useTextField` is true, dates are typed in and will be validated as usual, according to settings such as `validateOnChange` and `validateOnExit`.

    When `useTextField` is false and the item is using separate `selectors` for date-parts, validation behavior for rejecting out-of-range dates remains the same. However, setting `startDate` and `endDate` will not always prevent the user from temporarily 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. As when `useTextField` is true, invalid dates are rejected as part of regular item validation, if a validator exists.

    Returns:
      Current startDate value. Default value is See below
    See Also:
      - `Appearance overview and related methods`

  - ### setTextAlign

    public DateItem 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`.

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Overrides:
      `setTextAlign` in class `FormItem`
    Parameters:
      `textAlign` - New textAlign value. Default value is varies
    Returns:
      `DateItem` instance, for chaining setter calls
    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`.

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Overrides:
      `getTextAlign` in class `FormItem`
    Returns:
      Current textAlign value. Default value is varies
    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.

    This component is an AutoChild named "textField". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current textField value. Default value is null

  - ### setTextFieldProperties

    public DateItem 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` - New textFieldProperties value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getTextFieldProperties

    public TextItem getTextFieldProperties()
    Custom properties to apply to this dateItem's generated `textField`. Only applies if `useTextField` is true.
    Returns:
      Current textFieldProperties value. Default value is null

  - ### setUse24HourTime

    public DateItem setUse24HourTime(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` - New use24HourTime value. Default value is true
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getUse24HourTime

    public 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:
      Current use24HourTime value. Default value is true

  - ### setUseMask

    public DateItem setUseMask(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).

    This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

    Note : This is an advanced setting

    Parameters:
      `useMask` - New useMask value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `setMaskDateSeparator(java.lang.String)`

  - ### setUsePlaceholderForHint

    public DateItem setUsePlaceholderForHint(boolean usePlaceholderForHint)
    If `showing the hint in field` and if supported by the browser, should the HTML5 `placeholder` attribute be used to display the hint within the field? If set to `false`, then use of the `placeholder` attribute is disabled and an alternative technique to display the hint in-field is used instead.

    The HTML5 `placeholder` attribute is supported in the following major browsers:

    - Chrome 4+
    - Firefox 4+
    - Internet Explorer 10+
    - Safari 5+
    - Opera 11.50+
    - Android 2.1+ `WebView` (used by the stock Browser app and when `packaging with PhoneGap`)
    - Mobile Safari for iOS 3.2+

    In browsers other than the above, in-field hints are implemented via a different technique.

    Note that placeholder behavior is known to differ in Internet Explorer and certain old versions of the above browsers due to a recent change in the HTML5 specification regarding the `placeholder` attribute. Under the old rules, the placeholder is cleared when the element is focused. In the latest HTML5 spec as published by WHATWG, the placeholder is still displayed when the element is focused as long as the value is an empty string.

    ### Styling the placeholder

    While there isn't a standard way to style the placeholder text, Chrome, Firefox, Internet Explorer, and Safari provide vendor-prefixed pseudo-classes and/or pseudo-elements that can be used in CSS selectors:

    Browser | Pseudo-class or pseudo-element
    --- | ---
    Chrome, Safari | `::-webkit-input-placeholder`
    Firefox 4 - 18 | `:-moz-placeholder`
    Firefox 19+ | `::-moz-placeholder`
    Internet Explorer | `:-ms-input-placeholder`

    Note that unlike other browsers, Firefox 19+ applies opacity:0.4 to the placeholder text. See Bug 556145 - Placeholder text default style should use opacity instead of GrayText

    Because browsers are required to ignore the entire rule if a selector is invalid, separate rules are needed for each browser. For example:

        ::-webkit-input-placeholder {
             color: blue;
             opacity: 1;
         }
         :-moz-placeholder {
             color: blue;
             opacity: 1;
         }
         ::-moz-placeholder {
             color: blue;
             opacity: 1;
         }
         :-ms-input-placeholder {
             color: blue;
             opacity: 1;
         }

    If using Sass, it may be useful to utilize Sass' parent selector feature. For example:

        .myCustomItem,
         .myCustomItemRTL,
         .myCustomItemDisabled,
         .myCustomItemDisabledRTL,
         .myCustomItemError,
         .myCustomItemErrorRTL,
         .myCustomItemFocused,
         .myCustomItemFocusedRTL,
         .myCustomItemHint,
         .myCustomItemHintRTL,
         .myCustomItemDisabledHint,
         .myCustomItemDisabledHintRTL {
             // ...

             &::-webkit-input-placeholder {
                 color: blue;
                 opacity: 1;
             }
             &:-moz-placeholder {
                 color: blue;
                 opacity: 1;
             }
             &::-moz-placeholder {
                 color: blue;
                 opacity: 1;
             }
             &:-ms-input-placeholder {
                 color: blue;
                 opacity: 1;
             }
         }

    If using Compass, the `input-placeholder` mixin that was added in version 1.0 can further simplify the code to style the placeholder text For example:

        .myCustomItem,
         .myCustomItemRTL,
         .myCustomItemDisabled,
         .myCustomItemDisabledRTL,
         .myCustomItemError,
         .myCustomItemErrorRTL,
         .myCustomItemFocused,
         .myCustomItemFocusedRTL,
         .myCustomItemHint,
         .myCustomItemHintRTL,
         .myCustomItemDisabledHint,
         .myCustomItemDisabledHintRTL {
             // ...

             @include input-placeholder {
                 color: blue;
                 opacity: 1;
             }
         }

    ### Accessibility concerns

    The HTML5 specification notes that a placeholder should not be used as a replacement for a title. The placeholder is intended to be a short hint that assists the user who is entering a value into the empty field. The placeholder can be mistaken by some users for a pre-filled value, particularly in Internet Explorer because the same color is used, and the placeholder text color may provide insufficient contrast, particularly in Firefox 19+ because of the default 0.4 opacity. Furthermore, not having a title reduces the hit area available for setting focus on the item.

    Note : This is an advanced setting

    Parameters:
      `usePlaceholderForHint` - New usePlaceholderForHint value. Default value is true
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `FormItem.setHint(java.lang.String)`
      - `Appearance overview and related methods`

  - ### getUsePlaceholderForHint

    public boolean getUsePlaceholderForHint()
    If `showing the hint in field` and if supported by the browser, should the HTML5 `placeholder` attribute be used to display the hint within the field? If set to `false`, then use of the `placeholder` attribute is disabled and an alternative technique to display the hint in-field is used instead.

    The HTML5 `placeholder` attribute is supported in the following major browsers:

    - Chrome 4+
    - Firefox 4+
    - Internet Explorer 10+
    - Safari 5+
    - Opera 11.50+
    - Android 2.1+ `WebView` (used by the stock Browser app and when `packaging with PhoneGap`)
    - Mobile Safari for iOS 3.2+

    In browsers other than the above, in-field hints are implemented via a different technique.

    Note that placeholder behavior is known to differ in Internet Explorer and certain old versions of the above browsers due to a recent change in the HTML5 specification regarding the `placeholder` attribute. Under the old rules, the placeholder is cleared when the element is focused. In the latest HTML5 spec as published by WHATWG, the placeholder is still displayed when the element is focused as long as the value is an empty string.

    ### Styling the placeholder

    While there isn't a standard way to style the placeholder text, Chrome, Firefox, Internet Explorer, and Safari provide vendor-prefixed pseudo-classes and/or pseudo-elements that can be used in CSS selectors:

    Browser | Pseudo-class or pseudo-element
    --- | ---
    Chrome, Safari | `::-webkit-input-placeholder`
    Firefox 4 - 18 | `:-moz-placeholder`
    Firefox 19+ | `::-moz-placeholder`
    Internet Explorer | `:-ms-input-placeholder`

    Note that unlike other browsers, Firefox 19+ applies opacity:0.4 to the placeholder text. See Bug 556145 - Placeholder text default style should use opacity instead of GrayText

    Because browsers are required to ignore the entire rule if a selector is invalid, separate rules are needed for each browser. For example:

        ::-webkit-input-placeholder {
             color: blue;
             opacity: 1;
         }
         :-moz-placeholder {
             color: blue;
             opacity: 1;
         }
         ::-moz-placeholder {
             color: blue;
             opacity: 1;
         }
         :-ms-input-placeholder {
             color: blue;
             opacity: 1;
         }

    If using Sass, it may be useful to utilize Sass' parent selector feature. For example:

        .myCustomItem,
         .myCustomItemRTL,
         .myCustomItemDisabled,
         .myCustomItemDisabledRTL,
         .myCustomItemError,
         .myCustomItemErrorRTL,
         .myCustomItemFocused,
         .myCustomItemFocusedRTL,
         .myCustomItemHint,
         .myCustomItemHintRTL,
         .myCustomItemDisabledHint,
         .myCustomItemDisabledHintRTL {
             // ...

             &::-webkit-input-placeholder {
                 color: blue;
                 opacity: 1;
             }
             &:-moz-placeholder {
                 color: blue;
                 opacity: 1;
             }
             &::-moz-placeholder {
                 color: blue;
                 opacity: 1;
             }
             &:-ms-input-placeholder {
                 color: blue;
                 opacity: 1;
             }
         }

    If using Compass, the `input-placeholder` mixin that was added in version 1.0 can further simplify the code to style the placeholder text For example:

        .myCustomItem,
         .myCustomItemRTL,
         .myCustomItemDisabled,
         .myCustomItemDisabledRTL,
         .myCustomItemError,
         .myCustomItemErrorRTL,
         .myCustomItemFocused,
         .myCustomItemFocusedRTL,
         .myCustomItemHint,
         .myCustomItemHintRTL,
         .myCustomItemDisabledHint,
         .myCustomItemDisabledHintRTL {
             // ...

             @include input-placeholder {
                 color: blue;
                 opacity: 1;
             }
         }

    ### Accessibility concerns

    The HTML5 specification notes that a placeholder should not be used as a replacement for a title. The placeholder is intended to be a short hint that assists the user who is entering a value into the empty field. The placeholder can be mistaken by some users for a pre-filled value, particularly in Internet Explorer because the same color is used, and the placeholder text color may provide insufficient contrast, particularly in Firefox 19+ because of the default 0.4 opacity. Furthermore, not having a title reduces the hit area available for setting focus on the item.
    Returns:
      Current usePlaceholderForHint value. Default value is true
    See Also:
      - `FormItem.getHint()`
      - `Appearance overview and related methods`

  - ### setUseSharedPicker

    public DateItem setUseSharedPicker(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` - New useSharedPicker value. Default value is true
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getUseSharedPicker

    public 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:
      Current useSharedPicker value. Default value is true

  - ### setUseTextField

    public DateItem setUseTextField(Boolean useTextField)
    When set to true, the item uses a `single text field` for working with the item's value.

    When false or unset, the default, the item's value is represented by separate `day`, `month`, and/or `year` selectors. In this mode, null values are not supported, and a default value of Today will be enforced if no `defaultValue` is specified. This means that a DateItem with `useTextField` set to false is effectively a `required` field.

    If you want to change the appearance of a DateItem, you will need to configure some autoChildren such as `textField` via `textFieldProperties`, or in `useTextField:false` mode, the `daySelector` and other selectors, configured via `daySelectorProperties` et al.

    Parameters:
      `useTextField` - New useTextField value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - Date Example

  - ### getUseTextField

    public Boolean getUseTextField()
    When set to true, the item uses a `single text field` for working with the item's value.

    When false or unset, the default, the item's value is represented by separate `day`, `month`, and/or `year` selectors. In this mode, null values are not supported, and a default value of Today will be enforced if no `defaultValue` is specified. This means that a DateItem with `useTextField` set to false is effectively a `required` field.

    If you want to change the appearance of a DateItem, you will need to configure some autoChildren such as `textField` via `textFieldProperties`, or in `useTextField:false` mode, the `daySelector` and other selectors, configured via `daySelectorProperties` et al.

    Returns:
      Current useTextField value. Default value is null
    See Also:
      - Date Example

  - ### setWrapHintText

    public DateItem setWrapHintText(Boolean wrapHintText)
    If this item is showing a `FormItem.hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.

    If unset this property will be picked up from the `DynamicForm.wrapHintText` setting.

    This setting does not apply to hints that are `shown in field`.

    Overrides:
      `setWrapHintText` in class `FormItem`
    Parameters:
      `wrapHintText` - New wrapHintText value. Default value is false
    Returns:
      `DateItem` instance, for chaining setter calls
    See Also:
      - `FormItem.setMinHintWidth(java.lang.Integer)`

  - ### getWrapHintText

    public Boolean getWrapHintText()
    If this item is showing a `FormItem.hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.

    If unset this property will be picked up from the `DynamicForm.wrapHintText` setting.

    This setting does not apply to hints that are `shown in field`.

    Overrides:
      `getWrapHintText` in class `FormItem`
    Returns:
      Current wrapHintText value. Default value is false
    See Also:
      - `FormItem.getMinHintWidth()`

  - ### getYearSelector

    public SelectItem getYearSelector()
    `SelectItem` for picking a year.

    To control which selectors are visible and in what order, use `selectorFormat`.

    This component is an AutoChild named "yearSelector". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current yearSelector value. Default value is null
    See Also:
      - `getSelectorFormat()`

  - ### setYearSelectorProperties

    public DateItem setYearSelectorProperties(SelectItem yearSelectorProperties)
    Custom properties to apply to this dateItem's generated `yearSelector`.

    Note : This is an advanced setting

    Parameters:
      `yearSelectorProperties` - New yearSelectorProperties value. Default value is null
    Returns:
      `DateItem` instance, for chaining setter calls

  - ### getYearSelectorProperties

    public SelectItem getYearSelectorProperties()
    Custom properties to apply to this dateItem's generated `yearSelector`.
    Returns:
      Current yearSelectorProperties value. Default value is null

  - ### deselectValue

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

  - ### deselectValue

    public void deselectValue(Boolean start)
    If `useTextField` is true, falls through to standard `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 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

  - ### pendingStatusChanged

    public boolean pendingStatusChanged(DynamicForm form, FormItem item, boolean pendingStatus, Object newValue, Object value)
    Notification method called when `showPending` is enabled and this date item should either clear or show its pending visual state.

    The default behavior is that the `titleStyle` and `cellStyle` are updated to include/exclude the "Pending" suffix. In addition, when displayed in the pending state:

    - If `useTextField` is `true`, then the "Pending" suffix will be appended to the `textBoxStyle` applied to the `textField`; otherwise
    - (`useTextField` is `false`) the color of the `daySelector`, `monthSelector` and/or `yearSelector` will change when the day, month, or year is different, respectively.
    Returning `false` will cancel this default behavior.
    Parameters:
      `form` - the managing `DynamicForm` instance.
      `item` - the form item itself (also available as "this").
      `pendingStatus` - `true` if the item should show its pending visual state; `false` otherwise.
      `newValue` - the current form item value.
      `value` - the value that would be restored by a call to `DynamicForm.resetValues()`.
    Returns:
      `false` to cancel the default behavior.

  - ### selectValue

    public void selectValue()
    If `useTextField` is true, falls through to standard `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 `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 `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 `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 existing and subsequently created instances of this class will automatically have default properties corresponding to the properties of the class instance passed to this function. 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 affect 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. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

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

  - ### getValueAsDate

    public 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