Class 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
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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
changeAutoChildDefaults
(String autoChildName, Canvas defaults) Changes the defaults for Canvas AutoChildren namedautoChildName
.static void
changeAutoChildDefaults
(String autoChildName, FormItem defaults) Changes the defaults for FormItem AutoChildren namedautoChildName
.static void
changePickerIconDefaults
(FormItemIcon defaults) void
IfuseTextField
is true, falls through to standarddeselectValue()
implementation on this items freeform text entry field.void
deselectValue
(Boolean start) IfuseTextField
is true, falls through to standarddeselectValue()
implementation on this items freeform text entry field.When set to true, the default, and whenuseTextField
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 whencanEdit
is false and the read-only display-mode isstatic
.IfuseTextField
is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.int
Only used if we're showing the date in a text field.IfuseTextField
istrue
this property can be used to customize the format in which dates are displayed for this item.
Should be set to a standardDateDisplayFormat
.SelectItem
for picking a day of the month.Custom properties to apply to this dateItem's generateddaySelector
.Default date to show in the date chooser.Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.The maximum date this item is intended to work with.Can this field be set to a non-date value [other than null]?Dictates whether values applied to this item viasetValue()
orform.values
will be accepted if they fall outside the range specified by the item'sstart
andend
dates.Returns the raw text value typed into this items text field ifuseTextField
is true (otherwise returns the result of this.getValue()).Returns theFiscalCalendar
object that will be used by this item's DateChooser.IfuseTextField
istrue
this property can be used to specify the input format for date strings.Validation error message to display if the user enters an invalid dateWhenuseTextField
is false, the default alignment of titles for theday
,month
andyear
selectors, within their cells.WhenuseTextField
is false, the default orientation of titles for theday
,month
andyear
selectors.SelectItem
for picking a month.Custom properties to apply to this dateItem's generatedmonthSelector
.static DateItem
getOrCreateRef
(JavaScriptObject jsObj) Defaults for theDateChooser
created by this form item.Prompt to show when the user hovers the mouse over the picker icon for this DateItem.Properties for theDateChooser
created by this form item.A set of properties to apply to theTimeItem
displayed in the picker whenshowPickerTimeItem
is true.int[]
IfuseTextField
is true, falls through to standardcom.smartgwt.client.widgets.form.fields.FormItem#getSelectionRange
implementation on this items freeform text entry field.If showing date selectors rather than the date text field (so whenthis.useTextField
is false), this property allows customization of the order of the day, month and year selector fields.When set to true, show a button that allows the calendar to be navigated by fiscal year.When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value ofshowChooserFiscalYearPicker
.IfuseTextField
is true and ahint
is set, should the hint be shown within the field?WhenuseTextField
is false, whether titles should be shown for for child-items in this DateItem.If this field is of type"datetime"
, when showing theDateChooser
, should thetime field
be displayed?The minimum date this item is intended to work with.IfuseTextField
istrue
this property governs the alignment of text within the text field.Text field to hold the entire date in "type in" format, ifuseTextField
is true.Custom properties to apply to this dateItem's generatedtextField
.When showing theDateChooser
and the field is of type "datetime", whether thetime field
should be set to use 24-hour time.boolean
Ifshowing the hint in field
and if supported by the browser, should the HTML5placeholder
attribute be used to display the hint within the field? If set tofalse
, then use of theplaceholder
attribute is disabled and an alternative technique to display the hint in-field is used instead.When set to true (the default), use a single shared date-picker across all widgets that use one.When set to true, the item uses asingle text field
for working with the item's value.Return the value tracked by this form item.If this item is showing aFormItem.hint
, should the hint text be allowed to wrap? Setting this property tofalse
will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.SelectItem
for picking a year.Custom properties to apply to this dateItem's generatedyearSelector
.boolean
pendingStatusChanged
(DynamicForm form, FormItem item, boolean pendingStatus, Object newValue, Object value) Notification method called whenshowPending
is enabled and this date item should either clear or show its pending visual state.void
IfuseTextField
is true, falls through to standardselectValue()
implementation on this items freeform text entry field.setAutoUseTextField
(Boolean autoUseTextField) When set to true, the default, and whenuseTextField
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 whencanEdit
is false and the read-only display-mode isstatic
.setBrowserInputType
(String browserInputType) IfuseTextField
is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.setCenturyThreshold
(int centuryThreshold) Only used if we're showing the date in a text field.setDateFormatter
(DateDisplayFormat dateFormatter) IfuseTextField
istrue
this property can be used to customize the format in which dates are displayed for this item.
Should be set to a standardDateDisplayFormat
.setDaySelectorProperties
(SelectItem daySelectorProperties) Custom properties to apply to this dateItem's generateddaySelector
.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 optionalFormItemValueFormatter
to map this item's current data value to a display value.void
setEditorValueParser
(FormItemValueParser valueParser) An optionalFormItemValueParser
to map a user-entered display value to a data value for storage.setEditProxyConstructor
(String editProxyConstructor) Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.setEndDate
(Date endDate) The maximum date this item is intended to work with.setEnforceDate
(Boolean enforceDate) Can this field be set to a non-date value [other than null]?setEnforceValueRange
(Boolean enforceValueRange) Dictates whether values applied to this item viasetValue()
orform.values
will be accepted if they fall outside the range specified by the item'sstart
andend
dates.void
Sets theFiscalCalendar
object that will be used by this item's DateChooser.void
setFiscalCalendar
(FiscalCalendar fiscalCalendar) Sets theFiscalCalendar
object that will be used by this item's DateChooser.setGenerateValidator
(Boolean generateValidator) setInputFormat
(String inputFormat) IfuseTextField
istrue
this property can be used to specify the input format for date strings.setInvalidDateStringMessage
(String invalidDateStringMessage) Validation error message to display if the user enters an invalid datesetItemTitleAlign
(Alignment itemTitleAlign) WhenuseTextField
is false, the default alignment of titles for theday
,month
andyear
selectors, within their cells.setItemTitleOrientation
(TitleOrientation itemTitleOrientation) WhenuseTextField
is false, the default orientation of titles for theday
,month
andyear
selectors.setMaskDateSeparator
(String maskDateSeparator) setMonthSelectorProperties
(SelectItem monthSelectorProperties) Custom properties to apply to this dateItem's generatedmonthSelector
.setPickerDefaults
(DateChooser pickerDefaults) Defaults for theDateChooser
created by this form item.setPickerIconPrompt
(String pickerIconPrompt) Prompt to show when the user hovers the mouse over the picker icon for this DateItem.setPickerProperties
(DateChooser pickerProperties) Properties for theDateChooser
created by this form item.setPickerTimeItemProperties
(TimeItem pickerTimeItemProperties) A set of properties to apply to theTimeItem
displayed in the picker whenshowPickerTimeItem
is true.void
setSelectionRange
(int start, int end) IfuseTextField
is true, falls through to standardsetSelectionRange()
implementation on this items freeform text entry field.setSelectorFormat
(DateItemSelectorFormat selectorFormat) If showing date selectors rather than the date text field (so whenthis.useTextField
is false), this property allows customization of the order of the day, month and year selector fields.setShowChooserFiscalYearPicker
(Boolean showChooserFiscalYearPicker) When set to true, show a button that allows the calendar to be navigated by fiscal year.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 ofshowChooserFiscalYearPicker
.setShowHintInField
(Boolean showHintInField) IfuseTextField
is true and ahint
is set, should the hint be shown within the field?setShowItemTitles
(Boolean showItemTitles) WhenuseTextField
is false, whether titles should be shown for for child-items in this DateItem.setShowPickerTimeItem
(Boolean showPickerTimeItem) If this field is of type"datetime"
, when showing theDateChooser
, should thetime field
be displayed?setStartDate
(Date startDate) The minimum date this item is intended to work with.setTextAlign
(Alignment textAlign) IfuseTextField
istrue
this property governs the alignment of text within the text field.setTextFieldProperties
(TextItem textFieldProperties) Custom properties to apply to this dateItem's generatedtextField
.setUse24HourTime
(Boolean use24HourTime) When showing theDateChooser
and the field is of type "datetime", whether thetime field
should be set to use 24-hour time.setUseMask
(Boolean useMask) IfuseTextField
is notfalse
this property determines if an input mask should be used.setUsePlaceholderForHint
(boolean usePlaceholderForHint) Ifshowing the hint in field
and if supported by the browser, should the HTML5placeholder
attribute be used to display the hint within the field? If set tofalse
, then use of theplaceholder
attribute is disabled and an alternative technique to display the hint in-field is used instead.setUseSharedPicker
(Boolean useSharedPicker) When set to true (the default), use a single shared date-picker across all widgets that use one.setUseTextField
(Boolean useTextField) When set to true, the item uses asingle text field
for working with the item's value.setWrapHintText
(Boolean wrapHintText) If this item is showing aFormItem.hint
, should the hint text be allowed to wrap? Setting this property tofalse
will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.setYearSelectorProperties
(SelectItem yearSelectorProperties) Custom properties to apply to this dateItem's generatedyearSelector
.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, 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, 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, getRequiredWhen, 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, getShowPickerIcon, getShowPickerIconOnFocus, getShowRTL, getShowTitle, getShowValueIconOnly, getStartRow, getStaticHeight, getStopOnError, getStoreDisplayValues, getSupportsCutPasteEvents, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextBoxStyle, getTextFormula, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitleStyle, getTitleVAlign, getTooltip, getTop, getType, getUpdateControlOnOver, getUpdatePickerIconOnOver, getUpdateTextBoxOnOver, getUseAdvancedCriteria, getUseDisabledHintStyleForReadOnly, getUseLocalDisplayFieldValue, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsFloat, getValueAsInteger, getValueAsLong, getValueAsRecordList, getValueDeselectedCSSText, getValueField, getValueFieldName, 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, 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, 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, setRequiredWhen, 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, setShowPickerIcon, setShowPickerIconOnFocus, setShowRTL, setShowTitle, setShowValueIconOnly, setStartRow, setStateCustomizer, setStaticHeight, setStopOnError, setStoreDisplayValues, setSupportsCutPasteEvents, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextBoxStyle, setTextFormula, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, 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, 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, getSortByField, setCanExport, setExportTitle, 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 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
-
DateItem
-
DateItem
-
-
Method Details
-
getOrCreateRef
-
changeAutoChildDefaults
Changes the defaults for Canvas AutoChildren namedautoChildName
.- 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, seeSGWTProperties
.- See Also:
-
changeAutoChildDefaults
Changes the defaults for FormItem AutoChildren namedautoChildName
.- 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, seeSGWTProperties
.- See Also:
-
changePickerIconDefaults
-
setAutoUseTextField
When set to true, the default, and whenuseTextField
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 whencanEdit
is false and the read-only display-mode isstatic
.- Parameters:
autoUseTextField
- New autoUseTextField value. Default value is true- Returns:
DateItem
instance, for chaining setter calls
-
getAutoUseTextField
When set to true, the default, and whenuseTextField
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 whencanEdit
is false and the read-only display-mode isstatic
.- Returns:
- Current autoUseTextField value. Default value is true
-
setBrowserInputType
IfuseTextField
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 classFormItem
- Parameters:
browserInputType
- New browserInputType value. Default value is null- Returns:
DateItem
instance, for chaining setter calls
-
getBrowserInputType
IfuseTextField
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 classFormItem
- Returns:
- Current browserInputType value. Default value is null
-
setCenturyThreshold
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:
-
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:
-
setDateFormatter
IfuseTextField
istrue
this property can be used to customize the format in which dates are displayed for this item.
Should be set to a standardDateDisplayFormat
.As with any formItem rendering out a date value, if no explicit dateFormatter is supplied, dateFormatter will be derived from
DynamicForm.dateFormatter
orDynamicForm.datetimeFormatter
, depending on the specifiedFormItem.type
for this field, if set, otherwise from the standard defaultDateUtil.setShortDisplayFormat()
orDateUtil.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 explicitinputFormat
, or if necessary a customeditorValueParser
This attribute does not have an effect if a native HTML5 date or datetime input is being used. See
browserInputType
.- Overrides:
setDateFormatter
in classFormItem
- Parameters:
dateFormatter
- New dateFormatter value. Default value is null- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
getDateFormatter
IfuseTextField
istrue
this property can be used to customize the format in which dates are displayed for this item.
Should be set to a standardDateDisplayFormat
.As with any formItem rendering out a date value, if no explicit dateFormatter is supplied, dateFormatter will be derived from
DynamicForm.dateFormatter
orDynamicForm.datetimeFormatter
, depending on the specifiedFormItem.type
for this field, if set, otherwise from the standard defaultDateUtil.setShortDisplayFormat()
orDateUtil.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 explicitinputFormat
, or if necessary a customeditorValueParser
This attribute does not have an effect if a native HTML5 date or datetime input is being used. See
browserInputType
.- Overrides:
getDateFormatter
in classFormItem
- Returns:
- Current dateFormatter value. Default value is null
- See Also:
-
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:
-
setDaySelectorProperties
Custom properties to apply to this dateItem's generateddaySelector
.Note : This is an advanced setting
- Parameters:
daySelectorProperties
- New daySelectorProperties value. Default value is null- Returns:
DateItem
instance, for chaining setter calls
-
getDaySelectorProperties
Custom properties to apply to this dateItem's generateddaySelector
.- Returns:
- Current daySelectorProperties value. Default value is null
-
setDefaultChooserDate
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
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
Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.- Overrides:
setEditProxyConstructor
in classFormItem
- Parameters:
editProxyConstructor
- New editProxyConstructor value. Default value is "DateItemEditProxy"- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
getEditProxyConstructor
Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.- Overrides:
getEditProxyConstructor
in classFormItem
- Returns:
- Current editProxyConstructor value. Default value is "DateItemEditProxy"
- See Also:
-
setEndDate
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 adateRange validator
. By default, a client-only validator isautomatically generated
for you, unless you provide a customized one on this item or an associatedDataSourceField
. Note that changing this attribute after the item is drawn may result in item-validation.See
startDate
andgenerateValidator
for more information.
If this method is called after the component has been drawn/initialized: Setter forendDate
.Note: A
LogicalDate
is expected.- Parameters:
endDate
- the new endDate. Default value is See below- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
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 adateRange validator
. By default, a client-only validator isautomatically generated
for you, unless you provide a customized one on this item or an associatedDataSourceField
. Note that changing this attribute after the item is drawn may result in item-validation.See
startDate
andgenerateValidator
for more information.- Returns:
- Current endDate value. Default value is See below
- See Also:
-
setEnforceDate
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 afree-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 theinvalidDateStringMessage
(though at this point callingFormItem.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 aSimpleType
, 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
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 afree-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 theinvalidDateStringMessage
(though at this point callingFormItem.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 aSimpleType
, 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
Dictates whether values applied to this item viasetValue()
orform.values
will be accepted if they fall outside the range specified by the item'sstart
andend
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 thepending style
, andvaluesHaveChanged()
will return false, even though callingsaveData()
will result in a changed record, if theparent form
isdata-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:
-
getEnforceValueRange
Dictates whether values applied to this item viasetValue()
orform.values
will be accepted if they fall outside the range specified by the item'sstart
andend
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 thepending style
, andvaluesHaveChanged()
will return false, even though callingsaveData()
will result in a changed record, if theparent form
isdata-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:
-
setGenerateValidator
When this item has astartDate
orendDate
specified, should it automatically generate a client-sidedateRange 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
When this item has astartDate
orendDate
specified, should it automatically generate a client-sidedateRange 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
IfuseTextField
istrue
this property can be used to specify the input format for date strings. If unset, the input format will be determined based on the specifieddateFormatter
if possible (seegetInputFormat()
), otherwise picked up from the Date class (seeDateUtil.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 customeditorValueParser
function.This attribute does not have an effect if a native HTML5 date input is being used. See
browserInputType
.- Overrides:
setInputFormat
in classFormItem
- Parameters:
inputFormat
- New inputFormat value. Default value is null- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
getInputFormat
IfuseTextField
istrue
this property can be used to specify the input format for date strings. If unset, the input format will be determined based on the specifieddateFormatter
if possible (seegetInputFormat()
), otherwise picked up from the Date class (seeDateUtil.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 customeditorValueParser
function.This attribute does not have an effect if a native HTML5 date input is being used. See
browserInputType
.- Overrides:
getInputFormat
in classFormItem
- Returns:
- If
useTextField
istrue
this method returns a standardDateInputFormat
, 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 customdateFormatter
orformat
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()
andsetEditorValueParser()
APIs. Default value is null - See Also:
-
setInvalidDateStringMessage
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
Validation error message to display if the user enters an invalid date- Returns:
- Current invalidDateStringMessage value. Default value is "Invalid date"
-
setItemTitleAlign
WhenuseTextField
is false, the default alignment of titles for theday
,month
andyear
selectors, within their cells.- Parameters:
itemTitleAlign
- New itemTitleAlign value. Default value is "center"- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
getItemTitleAlign
WhenuseTextField
is false, the default alignment of titles for theday
,month
andyear
selectors, within their cells.- Returns:
- Current itemTitleAlign value. Default value is "center"
- See Also:
-
setItemTitleOrientation
WhenuseTextField
is false, the default orientation of titles for theday
,month
andyear
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:
-
getItemTitleOrientation
WhenuseTextField
is false, the default orientation of titles for theday
,month
andyear
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:
-
setMaskDateSeparator
IfuseTextField
anduseMask
are bothtrue
this value is the separator between date components. If unsetDateUtil.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
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:
-
setMonthSelectorProperties
Custom properties to apply to this dateItem's generatedmonthSelector
.Note : This is an advanced setting
- Parameters:
monthSelectorProperties
- New monthSelectorProperties value. Default value is null- Returns:
DateItem
instance, for chaining setter calls
-
getMonthSelectorProperties
Custom properties to apply to this dateItem's generatedmonthSelector
.- Returns:
- Current monthSelectorProperties value. Default value is null
-
setPickerDefaults
Defaults for theDateChooser
created by this form item. The picker for a particular item may be further customized viapickerProperties
.By default the following DateChooser properties are set:
- border:"1px solid black"
- showTodayButton:true
- showCancelButton:true
- autoHide:true
- closeOnEscapeKeypress:true
- Parameters:
pickerDefaults
- New pickerDefaults value. Default value is {...}- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
getPickerDefaults
Defaults for theDateChooser
created by this form item. The picker for a particular item may be further customized viapickerProperties
.By default the following DateChooser properties are set:
- border:"1px solid black"
- showTodayButton:true
- showCancelButton:true
- autoHide:true
- closeOnEscapeKeypress:true
- Returns:
- Current pickerDefaults value. Default value is {...}
-
setPickerIconPrompt
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 classFormItem
- Parameters:
pickerIconPrompt
- New pickerIconPrompt value. Default value is "Show Date Chooser"- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
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 classFormItem
- Returns:
- Current pickerIconPrompt value. Default value is "Show Date Chooser"
- See Also:
-
setPickerProperties
Properties for theDateChooser
created by this form item. If specified these will be applied on top of thepickerDefaults
- Parameters:
pickerProperties
- New pickerProperties value. Default value is null- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
getPickerProperties
Properties for theDateChooser
created by this form item. If specified these will be applied on top of thepickerDefaults
- Returns:
- Current pickerProperties value. Default value is null
-
setPickerTimeItemProperties
A set of properties to apply to theTimeItem
displayed in the picker whenshowPickerTimeItem
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
A set of properties to apply to theTimeItem
displayed in the picker whenshowPickerTimeItem
is true.Has no effect for fields of type
"date"
.- Returns:
- Current pickerTimeItemProperties value. Default value is null
-
setSelectorFormat
If showing date selectors rather than the date text field (so whenthis.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 specifiedinputFormat
for this item, but note that the attribute default will likely be set bylocalization
to a validDateItemSelectorFormat
.Note: selectors may be omitted entirely by setting selectorFormat to (for example)
"MD"
. In this case the value for the omitted selector will match thedefaultValue
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
If showing date selectors rather than the date text field (so whenthis.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 specifiedinputFormat
for this item, but note that the attribute default will likely be set bylocalization
to a validDateItemSelectorFormat
.Note: selectors may be omitted entirely by setting selectorFormat to (for example)
"MD"
. In this case the value for the omitted selector will match thedefaultValue
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:
-
setShowChooserFiscalYearPicker
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
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
When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value ofshowChooserFiscalYearPicker
.- Parameters:
showChooserWeekPicker
- New showChooserWeekPicker value. Default value is false- Returns:
DateItem
instance, for chaining setter calls
-
getShowChooserWeekPicker
When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value ofshowChooserFiscalYearPicker
.- Returns:
- Current showChooserWeekPicker value. Default value is false
-
setShowHintInField
IfuseTextField
is true and ahint
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:
-
getShowHintInField
IfuseTextField
is true and ahint
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:
-
setShowItemTitles
WhenuseTextField
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:
-
getShowItemTitles
WhenuseTextField
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:
-
setShowPickerTimeItem
If this field is of type"datetime"
, when showing theDateChooser
, should thetime 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
If this field is of type"datetime"
, when showing theDateChooser
, should thetime 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
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 adateRange validator
. By default, a client-only validator isautomatically generated
for you, unless you provide a customized one on this item or an associatedDataSourceField
. 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 asvalidateOnChange
andvalidateOnExit
.When
useTextField
is false and the item is using separateselectors
for date-parts, validation behavior for rejecting out-of-range dates remains the same. However, settingstartDate
andendDate
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 forstartDate
.Note: A
LogicalDate
is expected.- Parameters:
startDate
- the new startDate. Default value is See below- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
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 adateRange validator
. By default, a client-only validator isautomatically generated
for you, unless you provide a customized one on this item or an associatedDataSourceField
. 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 asvalidateOnChange
andvalidateOnExit
.When
useTextField
is false and the item is using separateselectors
for date-parts, validation behavior for rejecting out-of-range dates remains the same. However, settingstartDate
andendDate
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:
-
setTextAlign
IfuseTextField
istrue
this property governs the alignment of text within the text field. Defaults to"right"
by default or"left"
if the page is inrtl mode
.This attribute does not have an effect if a native HTML5 date input is being used. See
browserInputType
.- Overrides:
setTextAlign
in classFormItem
- Parameters:
textAlign
- New textAlign value. Default value is varies- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
getTextAlign
IfuseTextField
istrue
this property governs the alignment of text within the text field. Defaults to"right"
by default or"left"
if the page is inrtl mode
.This attribute does not have an effect if a native HTML5 date input is being used. See
browserInputType
.- Overrides:
getTextAlign
in classFormItem
- Returns:
- Current textAlign value. Default value is varies
- See Also:
-
getTextField
Text field to hold the entire date in "type in" format, ifuseTextField
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
Custom properties to apply to this dateItem's generatedtextField
. Only applies ifuseTextField
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
Custom properties to apply to this dateItem's generatedtextField
. Only applies ifuseTextField
is true.- Returns:
- Current textFieldProperties value. Default value is null
-
setUse24HourTime
When showing theDateChooser
and the field is of type "datetime", whether thetime field
should be set to use 24-hour time. The default is true.Has no effect if
showPickerTimeItem
is explicitly set tofalse
.- Parameters:
use24HourTime
- New use24HourTime value. Default value is true- Returns:
DateItem
instance, for chaining setter calls
-
getUse24HourTime
When showing theDateChooser
and the field is of type "datetime", whether thetime field
should be set to use 24-hour time. The default is true.Has no effect if
showPickerTimeItem
is explicitly set tofalse
.- Returns:
- Current use24HourTime value. Default value is true
-
setUseMask
IfuseTextField
is notfalse
this property determines if an input mask should be used. The format of the mask is determined by theinputFormat
ordateFormatter
(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:
-
setUsePlaceholderForHint
Ifshowing the hint in field
and if supported by the browser, should the HTML5placeholder
attribute be used to display the hint within the field? If set tofalse
, then use of theplaceholder
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 whenpackaging 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:
-
getUsePlaceholderForHint
public boolean getUsePlaceholderForHint()Ifshowing the hint in field
and if supported by the browser, should the HTML5placeholder
attribute be used to display the hint within the field? If set tofalse
, then use of theplaceholder
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 whenpackaging 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:
-
setUseTextField
When set to true, the item uses asingle 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/oryear
selectors. In this mode, null values are not supported, and a default value of Today will be enforced if nodefaultValue
is specified. This means that a DateItem withuseTextField
set to false is effectively arequired
field.If you want to change the appearance of a DateItem, you will need to configure some autoChildren such as
textField
viatextFieldProperties
, or inuseTextField:false
mode, thedaySelector
and other selectors, configured viadaySelectorProperties
et al.- Parameters:
useTextField
- New useTextField value. Default value is null- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
getUseTextField
When set to true, the item uses asingle 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/oryear
selectors. In this mode, null values are not supported, and a default value of Today will be enforced if nodefaultValue
is specified. This means that a DateItem withuseTextField
set to false is effectively arequired
field.If you want to change the appearance of a DateItem, you will need to configure some autoChildren such as
textField
viatextFieldProperties
, or inuseTextField:false
mode, thedaySelector
and other selectors, configured viadaySelectorProperties
et al.- Returns:
- Current useTextField value. Default value is null
- See Also:
-
setWrapHintText
If this item is showing aFormItem.hint
, should the hint text be allowed to wrap? Setting this property tofalse
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 classFormItem
- Parameters:
wrapHintText
- New wrapHintText value. Default value is false- Returns:
DateItem
instance, for chaining setter calls- See Also:
-
getWrapHintText
If this item is showing aFormItem.hint
, should the hint text be allowed to wrap? Setting this property tofalse
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 classFormItem
- Returns:
- Current wrapHintText value. Default value is false
- See Also:
-
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:
-
setYearSelectorProperties
Custom properties to apply to this dateItem's generatedyearSelector
.Note : This is an advanced setting
- Parameters:
yearSelectorProperties
- New yearSelectorProperties value. Default value is null- Returns:
DateItem
instance, for chaining setter calls
-
getYearSelectorProperties
Custom properties to apply to this dateItem's generatedyearSelector
.- Returns:
- Current yearSelectorProperties value. Default value is null
-
deselectValue
public void deselectValue()IfuseTextField
is true, falls through to standarddeselectValue()
implementation on this items freeform text entry field. Otherwise has no effect. -
deselectValue
IfuseTextField
is true, falls through to standarddeselectValue()
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
Returns the raw text value typed into this items text field ifuseTextField
is true (otherwise returns the result of this.getValue()).- Returns:
- value the user entered
-
getFiscalCalendar
Returns theFiscalCalendar
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 whenshowPending
is enabled and this date item should either clear or show its pending visual state.The default behavior is that the
titleStyle
andcellStyle
are updated to include/exclude the "Pending" suffix. In addition, when displayed in the pending state:- If
useTextField
istrue
, then the "Pending" suffix will be appended to thetextBoxStyle
applied to thetextField
; otherwise - (
useTextField
isfalse
) the color of thedaySelector
,monthSelector
and/oryearSelector
will change when the day, month, or year is different, respectively.
false
will cancel this default behavior.- Parameters:
form
- the managingDynamicForm
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 toDynamicForm.resetValues()
.- Returns:
false
to cancel the default behavior.
- If
-
selectValue
public void selectValue()IfuseTextField
is true, falls through to standardselectValue()
implementation on this items freeform text entry field. Otherwise has no effect. -
setFiscalCalendar
public void setFiscalCalendar()Sets theFiscalCalendar
object that will be used by this item's DateChooser. If unset, theglobal fiscal calendar
is used. -
setFiscalCalendar
Sets theFiscalCalendar
object that will be used by this item's DateChooser. If unset, theglobal 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) IfuseTextField
is true, falls through to standardsetSelectionRange()
implementation on this items freeform text entry field. Otherwise has no effect.- Parameters:
start
- character index for start of new selectionend
- character index for end of new selection
-
setDefaultProperties
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:
-
getValueAsDate
Return the value tracked by this form item.- Returns:
- value of this element
-
getSelectionRange
public int[] getSelectionRange()IfuseTextField
is true, falls through to standardcom.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
An optionalFormItemValueFormatter
to map this item's current data value to a display value. Only applies ifsetUseTextField(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 classFormItem
- Parameters:
formatter
- the FormItemValueFormatter
-
setEditorValueParser
An optionalFormItemValueParser
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 aninputFormat
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 classFormItem
- Parameters:
valueParser
- the FormItemValueParser
-