Class DateTimeItem

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

public class DateTimeItem extends DateItem
A simple DateItem subclass for editing regular datetime values, where date and time elements are relevant.

The item edits datetimes directly as text-values, formatted according to your locale and settings such as DateItem.dateFormatter.

To edit logical-Date values, see DateItem, and to edit logical-time values, see TimeItem. 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.

  • Constructor Details

    • DateTimeItem

      public DateTimeItem()
    • DateTimeItem

      public DateTimeItem(JavaScriptObject jsObj)
    • DateTimeItem

      public DateTimeItem(String name)
    • DateTimeItem

      public DateTimeItem(String name, String title)
  • Method Details

    • getOrCreateRef

      public static DateTimeItem getOrCreateRef(JavaScriptObject jsObj)
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(String autoChildName, Canvas defaults)
      Changes the defaults for Canvas AutoChildren named autoChildName.
      Parameters:
      autoChildName - name of an AutoChild to customize the defaults for.
      defaults - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see SGWTProperties.
      See Also:
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(String autoChildName, FormItem defaults)
      Changes the defaults for FormItem AutoChildren named autoChildName.
      Parameters:
      autoChildName - name of an AutoChild to customize the defaults for.
      defaults - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see SGWTProperties.
      See Also:
    • changePickerIconDefaults

      public static void changePickerIconDefaults(FormItemIcon defaults)
    • setBrowserInputType

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

      The use of a native HTML5 datetime input causes certain features to be disabled. Input masks, the picker icon, and a custom datetimeFormatter are not supported. In-field hints are currently supported in Chrome/Chromium/Opera 15 and iOS 5.0+, 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 datetime input. In-field hints are not supported in Opera 12 when using a native HTML5 datetime input. If in-field hints are not supported in the browser, then showHintInField has no effect and any hint will be shown to the side of the input.

      NOTES:

      • This feature requires specific CSS changes. Currently these changes have been made to the Enterprise, EnterpriseBlue, and Graphite skins only.
      • In Chrome/Chromium/Opera 15 and Opera 12, native datetime inputs need to be made wider in order to fit the full datetime value within the native control. However, on iOS 5.0+, the normal width is fine. Be sure to test the layout of the form in all browsers that you wish to support.

      Note : This is an advanced setting

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

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

      The use of a native HTML5 datetime input causes certain features to be disabled. Input masks, the picker icon, and a custom datetimeFormatter are not supported. In-field hints are currently supported in Chrome/Chromium/Opera 15 and iOS 5.0+, 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 datetime input. In-field hints are not supported in Opera 12 when using a native HTML5 datetime input. If in-field hints are not supported in the browser, then showHintInField has no effect and any hint will be shown to the side of the input.

      NOTES:

      • This feature requires specific CSS changes. Currently these changes have been made to the Enterprise, EnterpriseBlue, and Graphite skins only.
      • In Chrome/Chromium/Opera 15 and Opera 12, native datetime inputs need to be made wider in order to fit the full datetime value within the native control. However, on iOS 5.0+, the normal width is fine. Be sure to test the layout of the form in all browsers that you wish to support.
      Overrides:
      getBrowserInputType in class DateItem
      Returns:
      Current browserInputType value. Default value is null
    • setDisplayFormat

      public DateTimeItem setDisplayFormat(DateDisplayFormat displayFormat)
      This property can be used to customize the format in which datetimes are displayed.
      Should be set to a standard DateDisplayFormat or a function which will return a formatted date time string.

      If unset, the standard shortDateTime format as set up in DateUtil.setShortDatetimeDisplayFormat() will be used.

      NOTE: you may need to update the inputFormat to ensure the DateItem is able to parse user-entered date strings back into Dates

      Overrides:
      setDisplayFormat in class FormItem
      Parameters:
      displayFormat - New displayFormat value. Default value is null
      Returns:
      DateTimeItem instance, for chaining setter calls
      See Also:
    • getDisplayFormat

      public DateDisplayFormat getDisplayFormat()
      This property can be used to customize the format in which datetimes are displayed.
      Should be set to a standard DateDisplayFormat or a function which will return a formatted date time string.

      If unset, the standard shortDateTime format as set up in DateUtil.setShortDatetimeDisplayFormat() will be used.

      NOTE: you may need to update the inputFormat to ensure the DateItem is able to parse user-entered date strings back into Dates

      Returns:
      Current displayFormat value. Default value is null
      See Also:
    • setInputFormat

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

      Should be set to a standard DateInputFormat

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

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

      Overrides:
      setInputFormat in class DateItem
      Parameters:
      inputFormat - New inputFormat value. Default value is null
      Returns:
      DateTimeItem instance, for chaining setter calls
      See Also:
    • getInputFormat

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

      Should be set to a standard DateInputFormat

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

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

      Overrides:
      getInputFormat in class DateItem
      Returns:
      Current inputFormat value. Default value is null
      See Also:
    • getUseTextField

      public Boolean getUseTextField()
      This property defaults to true in DateTimeItems and cannot be altered, since editing is via formatted text-entry only.
      Overrides:
      getUseTextField in class DateItem
      Returns:
      Current useTextField value. Default value is true
      See Also:
    • setDefaultProperties

      public static void setDefaultProperties(DateTimeItem dateTimeItemProperties)
      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:
      dateTimeItemProperties - properties that should be used as new defaults when instances of this class are created
      See Also: