com.smartgwt.client.widgets.form.fields
Class DateItem

java.lang.Object
  extended by com.smartgwt.client.core.JsObject
      extended by com.smartgwt.client.core.DataClass
          extended by com.smartgwt.client.core.RefDataClass
              extended by com.smartgwt.client.widgets.form.fields.FormItem
                  extended by 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, HasPickerIconClickHandlers, HasTitleClickHandlers, HasTitleDoubleClickHandlers, HasTitleHoverHandlers, HasValueHoverHandlers
Direct Known Subclasses:
DateTimeItem

public class DateItem
extends FormItem

Item for manipulating Dates.

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


Field Summary
 
Fields inherited from class com.smartgwt.client.widgets.form.fields.FormItem
scClassName
 
Fields inherited from class com.smartgwt.client.core.RefDataClass
id
 
Fields inherited from class com.smartgwt.client.core.JsObject
jsObj
 
Constructor Summary
DateItem()
           
DateItem(JavaScriptObject jsObj)
           
DateItem(String name)
           
DateItem(String name, String title)
           
 
Method Summary
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.
 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()
          Select item to hold the day part of the date.
 SelectItem getDaySelectorProperties()
          Custom properties to apply to this dateItem's generated daySelector.
 Date getDefaultChooserDate()
          Default date to show in the date chooser.
 Date getEndDate()
          Maximum date the selectors will allow the user to pick.
 Boolean getEnforceDate()
          Can this field be set to a non-date value [other than null]?
 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.
 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
 SelectItem getMonthSelector()
          Select item to hold the month part of the date.
 SelectItem getMonthSelectorProperties()
          Custom properties to apply to this dateItem's generated monthSelector.
static DateItem getOrCreateRef(JavaScriptObject jsObj)
           
 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 getShowPickerTimeItem()
          If this field is of type "datetime", when showing the DateChooser, should the time field be displayed?
 Date getStartDate()
          Minimum date the selectors will allow the user to pick.
 Alignment getTextAlign()
          If useTextField is true this property governs the alignment of text within the text field.
 TextItem getTextField()
          Text field to hold the entire date in "type in" format, if useTextField is true.
 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 getUseSharedPicker()
          When set to true (the default), use a single shared date-picker across all widgets that use one.
 Boolean getUseTextField()
          Should we show the date in a text field, or as 3 select boxes?
 Date getValueAsDate()
          Return the value tracked by this form item.
 SelectItem getYearSelector()
          Select item to hold the year part of the date.
 SelectItem getYearSelectorProperties()
          Custom properties to apply to this dateItem's generated yearSelector.
 void selectValue()
          If useTextField is true, falls through to standard selectValue() implementation on this items freeform text entry field.
 void 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.
 void setCenturyThreshold(int centuryThreshold)
          Only used if we're showing the date in a text field.
 void setDateFormatter(DateDisplayFormat dateFormatter)
          If useTextField is true this property can be used to customize the format in which dates are displayed for this item.
Should be set to a standard DateDisplayFormat.
 void setDaySelectorProperties(SelectItem daySelectorProperties)
          Custom properties to apply to this dateItem's generated daySelector.
 void setDefaultChooserDate(Date defaultChooserDate)
          Default date to show in the date chooser.
static void setDefaultProperties(DateItem dateItemProperties)
          Class level method to set the default properties of this class.
 void setEditorValueFormatter(FormItemValueFormatter formatter)
          An optional FormItemValueFormatter to map this item's current data value to a display value.
 void setEditorValueParser(FormItemValueParser valueParser)
          An optional FormItemValueParser to map a user-entered display value to a data value for storage.
 void setEndDate(Date endDate)
          Maximum date the selectors will allow the user to pick.
 void setEnforceDate(Boolean enforceDate)
          Can this field be set to a non-date value [other than null]?
 void setFiscalCalendar()
          Sets the FiscalCalendar object that will be used by this item's DateChooser.
 void setFiscalCalendar(FiscalCalendar fiscalCalendar)
          Sets the FiscalCalendar object that will be used by this item's DateChooser.
 void setInputFormat(String inputFormat)
          If useTextField is true this property can be used to specify the input format for date strings.
 void setInvalidDateStringMessage(String invalidDateStringMessage)
          Validation error message to display if the user enters an invalid date
 void setMaskDateSeparator(String maskDateSeparator)
          If useTextField and useMask are both true this value is the separator between date components.
 void setMonthSelectorProperties(SelectItem monthSelectorProperties)
          Custom properties to apply to this dateItem's generated monthSelector.
 void setPickerIconPrompt(String pickerIconPrompt)
          Prompt to show when the user hovers the mouse over the picker icon for this DateItem.
 void setPickerProperties(DateChooser pickerProperties)
          Properties for the DateChooser created by this form item.
 void setPickerTimeItemProperties(TimeItem pickerTimeItemProperties)
          A set of properties to apply to the TimeItem displayed in the picker when showPickerTimeItem is true.
 void setSelectionRange(int start, int end)
          If useTextField is true, falls through to standard setSelectionRange() implementation on this items freeform text entry field.
 void setSelectorFormat(DateItemSelectorFormat selectorFormat)
          If showing date selectors rather than the date text field (so when this.useTextField is false), this property allows customization of the order of the day, month and year selector fields.
 void setShowChooserFiscalYearPicker(Boolean showChooserFiscalYearPicker)
          When set to true, show a button that allows the calendar to be navigated by fiscal year.
 void 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.
 void setShowHintInField(Boolean showHintInField)
          If useTextField is true and a hint is set, should the hint be shown within the field?
 void setShowPickerTimeItem(Boolean showPickerTimeItem)
          If this field is of type "datetime", when showing the DateChooser, should the time field be displayed?
 void setStartDate(Date startDate)
          Minimum date the selectors will allow the user to pick.
 void setTextAlign(Alignment textAlign)
          If useTextField is true this property governs the alignment of text within the text field.
 void setTextFieldProperties(TextItem textFieldProperties)
          Custom properties to apply to this dateItem's generated textField.
 void setUse24HourTime(Boolean use24HourTime)
          When showing the DateChooser and the field is of type "datetime", whether the time field should be set to use 24-hour time.
 void setUseMask(Boolean useMask)
          If useTextField is not false this property determines if an input mask should be used.
 void setUseSharedPicker(Boolean useSharedPicker)
          When set to true (the default), use a single shared date-picker across all widgets that use one.
 void setUseTextField(Boolean useTextField)
          Should we show the date in a text field, or as 3 select boxes?
 void setYearSelectorProperties(SelectItem yearSelectorProperties)
          Custom properties to apply to this dateItem's generated yearSelector.
 
Methods inherited from class com.smartgwt.client.widgets.form.fields.FormItem
_getValue, addBlurHandler, addChangedHandler, addChangeHandler, addClickHandler, addDoubleClickHandler, addEditorEnterHandler, addEditorExitHandler, addFocusHandler, addIconClickHandler, addIconKeyPressHandler, addItemHoverHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addPickerIconClickHandler, addTitleClickHandler, addTitleDoubleClickHandler, addTitleHoverHandler, addValueHoverHandler, asSGWTComponent, blurItem, canEditCriterion, clearValue, disable, enable, focusInItem, getAccessKey, getAlign, getAllowExpressions, getAlwaysFetchMissingValues, getApplyHeightToTextBox, getAriaRole, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsObject, getAttributeAsString, getBrowserSpellCheck, getCanEdit, getCanEditOpaqueValues, getCanFocus, getCanSelectText, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipTitle, getConfig, getContainerWidget, getControlStyle, getCriteriaField, getCriterion, getCriterion, getDataPath, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDisabled, getDisableIconsOnReadOnly, getDisplayField, getDisplayFieldName, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEmptyDisplayValue, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getExportFormat, getFetchMissingValues, getFieldName, getFilterLocally, getForm, getFormat, getFormItemAutoChild, getFullDataPath, getGlobalTabIndex, getHeight, getHeightAsString, getHint, getHintStyle, getHoverAlign, getHoverDelay, getHoverHeight, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getIcon, getIconHeight, getIconHSpace, getIconPageRect, getIconPrompt, getIconRect, getIconVAlign, getIconWidth, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getLeft, getLoadingDisplayValue, getLocateItemBy, getMultipleValueSeparator, getName, getOperator, getOptionCriteria, getOptionFilterContext, getOptionOperationId, getPageLeft, getPageRect, getPageTop, getPicker, getPickerIconHeight, getPickerIconName, getPickerIconProperties, getPickerIconSrc, getPickerIconStyle, getPickerIconWidth, getPixelHeight, getPixelWidth, getPrintTextBoxStyle, getPrintTitleStyle, getPrompt, getReadOnlyClipValue, getReadOnlyDisplay, getReadOnlyTextBoxStyle, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRowSpan, getSaveOnEnter, getScClassName, getSelectedRecord, getSelectOnClick, getSelectOnFocus, getShouldSaveValue, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDisabled, getShowErrorIcon, getShowErrorStyle, getShowErrorText, getShowFocused, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowOverIcons, getShowPickerIcon, getShowRTL, getShowTitle, getShowValueIconOnly, getStartRow, getStopOnError, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextBoxStyle, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitleStyle, getTitleVAlign, getTooltip, getTop, getType, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsRecordList, getValueField, getValueFieldName, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getVisible, getVisibleHeight, getVisibleWidth, getWidth, getWidthAsString, getWrapTitle, hasAdvancedCriteria, hide, hideIcon, invalidateDisplayValueCache, isCreated, isDisabled, isDrawn, isVisible, redraw, setAccessKey, setAlign, setAllowExpressions, setAlwaysFetchMissingValues, setApplyHeightToTextBox, setAriaRole, setAriaState, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setBrowserSpellCheck, setCanEdit, setCanEditCriterionPredicate, setCanEditOpaqueValues, setCanFocus, setCanSelectText, setCellHeight, setCellStyle, setChangeOnKeypress, setClipTitle, setColSpan, setColSpan, setControlStyle, setCriteriaField, setCriterion, setCriterionGetter, setCriterionSetter, setDataPath, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisableIconsOnReadOnly, setDisplayField, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditPendingCSSText, setEmptyDisplayValue, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setExportFormat, setFetchMissingValues, setFilterLocally, setFormat, setGlobalTabIndex, setHeight, setHeight, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverHeight, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconVAlign, setIconWidth, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setLeft, setLoadingDisplayValue, setLocateItemBy, setMultipleValueSeparator, setName, setNullProperty, setOperator, setOptionCriteria, setOptionDataSource, setOptionFilterContext, setOptionOperationId, setPickerIconHeight, setPickerIconName, setPickerIconProperties, setPickerIconSrc, setPickerIconStyle, setPickerIconWidth, setPrintTextBoxStyle, setPrintTitleStyle, setPrompt, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyClipValue, setReadOnlyDisplay, setReadOnlyTextBoxStyle, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRowSpan, setSaveOnEnter, setScClassName, setSelectOnClick, setSelectOnFocus, setShouldSaveValue, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDisabled, setShowErrorIcon, setShowErrorStyle, setShowErrorText, setShowFocused, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIfCondition, setShowOverIcons, setShowPickerIcon, setShowRTL, setShowTitle, setShowValueIconOnly, setStartRow, setStopOnError, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextBoxStyle, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, setTitleVAlign, setTooltip, setTop, setType, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueField, setValueFormatter, setValueHoverFormatter, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setWidth, setWidth, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, showPicker, stopHover, storeValue, storeValue, updateState, validate, valueClipped
 
Methods inherited from class com.smartgwt.client.core.RefDataClass
getRef, getRef, internalSetID
 
Methods inherited from class com.smartgwt.client.core.DataClass
doAddHandler, fireEvent, getAttributeAsDoubleArray, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject
 
Methods inherited from class com.smartgwt.client.core.JsObject
equals, getJsObj, hashCode, setJavaScriptObject, setJsObj
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
 

Constructor Detail

DateItem

public DateItem()

DateItem

public DateItem(JavaScriptObject jsObj)

DateItem

public DateItem(String name)

DateItem

public DateItem(String name,
                String title)
Method Detail

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.
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.
See Also:
AutoChildUsage

changePickerIconDefaults

public static void changePickerIconDefaults(FormItemIcon defaults)

setBrowserInputType

public void 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: This feature requires specific CSS changes. Currently these changes have been made to the Enterprise, EnterpriseBlue, and Graphite skins only.

Note : This is an advanced setting

Parameters:
browserInputType - Default value is null

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: This feature requires specific CSS changes. Currently these changes have been made to the Enterprise, EnterpriseBlue, and Graphite skins only.

Returns:
String

setCenturyThreshold

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

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

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

getCenturyThreshold

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

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

Returns:
int
See Also:
Appearance overview and related methods

setDateFormatter

public void setDateFormatter(DateDisplayFormat dateFormatter)
If useTextField is true this property can be used to customize the format in which dates are displayed for this item.
Should be set to a standard DateDisplayFormat.

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

NOTE: For entirely custom formats, developers may apply a custom editorValueFormatter. To ensure the DateItem is able to parse user-entered date strings back into Dates, for most cases developers can specify an explicit inputFormat, or if necessary a custom 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 - Default value is null
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 dateFormatter or datetimeFormatter, depending on the specified type for this field, if set, otherwise from the standard default Date.setShortDisplayFormat or Date.setShortDatetimeDisplayFormat.

NOTE: For entirely custom formats, developers may apply a custom editorValueFormatter. To ensure the DateItem is able to parse user-entered date strings back into Dates, for most cases developers can specify an explicit inputFormat, or if necessary a custom 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:
DateDisplayFormat
See Also:
FormItem.getTimeFormatter(), FormItem.getFormat(), Appearance overview and related methods

getDaySelector

public SelectItem getDaySelector()
Select item to hold the day part of the date.

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

Returns:
SelectItem

setDaySelectorProperties

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

Note : This is an advanced setting

Parameters:
daySelectorProperties - Default value is null

getDaySelectorProperties

public SelectItem getDaySelectorProperties()
Custom properties to apply to this dateItem's generated daySelector.

Returns:
SelectItem

setDefaultChooserDate

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

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


setEndDate

public void setEndDate(Date endDate)
Maximum date the selectors will allow the user to pick.

See startDate for details on how this restriction works.

If this method is called after the component has been drawn/initialized: Setter for endDate.

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

getEndDate

public Date getEndDate()
Maximum date the selectors will allow the user to pick.

See startDate for details on how this restriction works.

Returns:
Date
See Also:
Appearance overview and related methods

setEnforceDate

public void setEnforceDate(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 - Default value is false

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:
Boolean

setInputFormat

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

Should be set to a standard DateInputFormat

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

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 - See DateInputFormat . Default value is null
See Also:
FormItem.setDisplayFormat(com.smartgwt.client.types.DateDisplayFormat)

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 DateItem.getInputFormat), otherwise picked up from the Date class (see Date.setInputFormat).

Should be set to a standard DateInputFormat

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

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, the input format will be automatically derived from the dateFormatter property.

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

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

setInvalidDateStringMessage

public void setInvalidDateStringMessage(String invalidDateStringMessage)
Validation error message to display if the user enters an invalid date

Parameters:
invalidDateStringMessage - Default value is "Invalid date"

getInvalidDateStringMessage

public String getInvalidDateStringMessage()
Validation error message to display if the user enters an invalid date

Returns:
String

setMaskDateSeparator

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

Note : This is an advanced setting

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

getMonthSelector

public SelectItem getMonthSelector()
Select item to hold the month part of the date.

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

Returns:
SelectItem

setMonthSelectorProperties

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

Note : This is an advanced setting

Parameters:
monthSelectorProperties - Default value is null

getMonthSelectorProperties

public SelectItem getMonthSelectorProperties()
Custom properties to apply to this dateItem's generated monthSelector.

Returns:
SelectItem

setPickerIconPrompt

public void 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 - Default value is "Show Date Chooser"

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:
String

setPickerProperties

public void setPickerProperties(DateChooser pickerProperties)
Properties for the DateChooser created by this form item.

Parameters:
pickerProperties - Default value is see below

getPickerProperties

public DateChooser getPickerProperties()
Properties for the DateChooser created by this form item.

Returns:
DateChooser

setPickerTimeItemProperties

public void setPickerTimeItemProperties(TimeItem pickerTimeItemProperties)
A set of properties to apply to the TimeItem displayed in the picker when showPickerTimeItem is true.

Has no effect for fields of type "date".

Note : This is an advanced setting

Parameters:
pickerTimeItemProperties - Default value is null

getPickerTimeItemProperties

public TimeItem getPickerTimeItemProperties()
A set of properties to apply to the TimeItem displayed in the picker when showPickerTimeItem is true.

Has no effect for fields of type "date".

Returns:
TimeItem

setSelectorFormat

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

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

Parameters:
selectorFormat - Default value is null

getSelectorFormat

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

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

Returns:
DateItemSelectorFormat

setShowChooserFiscalYearPicker

public void setShowChooserFiscalYearPicker(Boolean showChooserFiscalYearPicker)
When set to true, show a button that allows the calendar to be navigated by fiscal year.

Parameters:
showChooserFiscalYearPicker - Default value is false

getShowChooserFiscalYearPicker

public Boolean getShowChooserFiscalYearPicker()
When set to true, show a button that allows the calendar to be navigated by fiscal year.

Returns:
Boolean

setShowChooserWeekPicker

public void setShowChooserWeekPicker(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 - Default value is false

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:
Boolean

setShowHintInField

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

Note : This is an advanced setting

Parameters:
showHintInField - Default value is null
See Also:
FormItem.setHint(java.lang.String), 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:
Boolean
See Also:
FormItem.getHint(), Appearance overview and related methods

setShowPickerTimeItem

public void 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 - Default value is true

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:
Boolean

setStartDate

public void setStartDate(Date startDate)
Minimum date the selectors will allow the user to pick.

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

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

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

If this method is called after the component has been drawn/initialized: Setter for startDate.

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

getStartDate

public Date getStartDate()
Minimum date the selectors will allow the user to pick.

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

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

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

Returns:
Date
See Also:
Appearance overview and related methods

setTextAlign

public void setTextAlign(Alignment textAlign)
If useTextField is true this property governs the alignment of text within the text field. Defaults to "right" by default or "left" if the page is in rtl mode.

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 - Default value is varies
See Also:
Appearance overview and related methods

getTextAlign

public Alignment getTextAlign()
If useTextField is true this property governs the alignment of text within the text field. Defaults to "right" by default or "left" if the page is in rtl mode.

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

Overrides:
getTextAlign in class FormItem
Returns:
Alignment
See Also:
Appearance overview and related methods

getTextField

public TextItem getTextField()
Text field to hold the entire date in "type in" format, if useTextField is true.

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

Returns:
TextItem

setTextFieldProperties

public void setTextFieldProperties(TextItem textFieldProperties)
Custom properties to apply to this dateItem's generated textField. Only applies if useTextField is true.

Note : This is an advanced setting

Parameters:
textFieldProperties - Default value is null

getTextFieldProperties

public TextItem getTextFieldProperties()
Custom properties to apply to this dateItem's generated textField. Only applies if useTextField is true.

Returns:
TextItem

setUse24HourTime

public void setUse24HourTime(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 - Default value is true

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:
Boolean

setUseMask

public void 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 - Default value is null
See Also:
setMaskDateSeparator(java.lang.String), Basics overview and related methods

setUseSharedPicker

public void 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 - Default value is true

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:
Boolean

setUseTextField

public void setUseTextField(Boolean useTextField)
Should we show the date in a text field, or as 3 select boxes?

Parameters:
useTextField - Default value is null
See Also:
Basics overview and related methods, Date Example

getUseTextField

public Boolean getUseTextField()
Should we show the date in a text field, or as 3 select boxes?

Returns:
Boolean
See Also:
Basics overview and related methods, Date Example

getYearSelector

public SelectItem getYearSelector()
Select item to hold the year part of the date.

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

Returns:
SelectItem

setYearSelectorProperties

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

Note : This is an advanced setting

Parameters:
yearSelectorProperties - Default value is null

getYearSelectorProperties

public SelectItem getYearSelectorProperties()
Custom properties to apply to this dateItem's generated yearSelector.

Returns:
SelectItem

deselectValue

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

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 _link{Date.getFiscalCalendar, global fiscal calendar} is used.


setFiscalCalendar

public void setFiscalCalendar(FiscalCalendar fiscalCalendar)
Sets the FiscalCalendar object that will be used by this item's DateChooser. If unset, the _link{Date.getFiscalCalendar, global fiscal calendar} is used.

Parameters:
fiscalCalendar - the fiscal calendar for this chooser, if set, or the global one otherwise

setSelectionRange

public void setSelectionRange(int start,
                              int end)
If useTextField is true, falls through to standard 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

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

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