Class HiddenItem

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 HiddenItem extends FormItem
HiddenItems track a value but have no visible appearance and do not take up space in the form layout.

When using Smart GWT databinding it is usually not necessary to use a HiddenItem, since the DynamicForm will track values for which no actual form control exists, and will submit these 'extra' values when DynamicForm.saveData() is called. HiddenItems only apply to forms that are submitted like ordinary HTML forms, via the DynamicForm.submitForm() method.

  • Constructor Details

    • HiddenItem

      public HiddenItem()
    • HiddenItem

      public HiddenItem(JavaScriptObject jsObj)
    • HiddenItem

      public HiddenItem(String name)
  • Method Details

    • getOrCreateRef

      public static HiddenItem 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)
    • setAlwaysFetchMissingValues

      public HiddenItem setAlwaysFetchMissingValues(Boolean alwaysFetchMissingValues)
      If this form item has a specified FormItem.optionDataSource and FormItem.fetchMissingValues is true, when the item value changes, a fetch will be performed against the optionDataSource to retrieve the related record if FormItem.displayField is specified and the new item value is not present in any valueMap explicitly specified on the item.

      Setting this property to true means that a fetch will occur against the optionDataSource to retrieve the related record even if FormItem.displayField is unset, or the item has a valueMap which explicitly contains this field's value.

      An example of a use case where this might be set would be if FormItem.formatValue() or FormItem.formatEditorValue() were written to display properties from the selected record.

      Note - for efficiency we cache the associated record once a fetch has been performed, meaning if the value changes, then reverts to a previously seen value, we do not kick off an additional fetch even if this property is true. If necessary this cache may be explicitly invalidated via a call to FormItem.invalidateDisplayValueCache()

      Note: For hiddenItem fetchMissingValues is defaulted to false so developers wishing to get access to the record related to the current hiddenItem value would need to explicitly set both that property, and this one to true.

      Note : This is an advanced setting

      Overrides:
      setAlwaysFetchMissingValues in class FormItem
      Parameters:
      alwaysFetchMissingValues - New alwaysFetchMissingValues value. Default value is false
      Returns:
      HiddenItem instance, for chaining setter calls
    • getAlwaysFetchMissingValues

      public Boolean getAlwaysFetchMissingValues()
      If this form item has a specified FormItem.optionDataSource and FormItem.fetchMissingValues is true, when the item value changes, a fetch will be performed against the optionDataSource to retrieve the related record if FormItem.displayField is specified and the new item value is not present in any valueMap explicitly specified on the item.

      Setting this property to true means that a fetch will occur against the optionDataSource to retrieve the related record even if FormItem.displayField is unset, or the item has a valueMap which explicitly contains this field's value.

      An example of a use case where this might be set would be if FormItem.formatValue() or FormItem.formatEditorValue() were written to display properties from the selected record.

      Note - for efficiency we cache the associated record once a fetch has been performed, meaning if the value changes, then reverts to a previously seen value, we do not kick off an additional fetch even if this property is true. If necessary this cache may be explicitly invalidated via a call to FormItem.invalidateDisplayValueCache()

      Note: For hiddenItem fetchMissingValues is defaulted to false so developers wishing to get access to the record related to the current hiddenItem value would need to explicitly set both that property, and this one to true.

      Overrides:
      getAlwaysFetchMissingValues in class FormItem
      Returns:
      Current alwaysFetchMissingValues value. Default value is false
    • setColSpan

      public HiddenItem setColSpan(int colSpan)
      hidden fields don't take up any columns
      Overrides:
      setColSpan in class FormItem
      Parameters:
      colSpan - New colSpan value. Default value is 0
      Returns:
      HiddenItem instance, for chaining setter calls
      See Also:
    • getColSpan

      public int getColSpan()
      hidden fields don't take up any columns

      Note : This method will return -1 if the underlying SmartClient JavaScript attribute value cannot be expressed as a(n) int. In that case, other getters, similarly-named but ending in AsString, AsCanvas, etc., may be provided.

      Returns:
      Current colSpan value. Default value is 0
      See Also:
    • setColSpan

      public HiddenItem setColSpan(String colSpan)
      hidden fields don't take up any columns
      Overrides:
      setColSpan in class FormItem
      Parameters:
      colSpan - New colSpan value. Default value is 0
      Returns:
      HiddenItem instance, for chaining setter calls
      See Also:
    • getColSpanAsString

      public String getColSpanAsString()
      hidden fields don't take up any columns
      Returns:
      Current colSpan value. Default value is 0
      See Also:
    • setFetchMissingValues

      public HiddenItem setFetchMissingValues(Boolean fetchMissingValues)
      If this form item has a specified FormItem.optionDataSource, should the item ever perform a fetch against this dataSource to retrieve the related record.

      This is disabled by default for hiddenItems as there is typically no need to perform a fetch and retrieve a display-field value to show the user for a hidden item. This does mean that if a developer needs access to the related record for a hidden-item's value, they will need to enable both this setting and FormItem.alwaysFetchMissingValues.

      Note : This is an advanced setting

      Overrides:
      setFetchMissingValues in class FormItem
      Parameters:
      fetchMissingValues - New fetchMissingValues value. Default value is true
      Returns:
      HiddenItem instance, for chaining setter calls
      See Also:
    • getFetchMissingValues

      public Boolean getFetchMissingValues()
      If this form item has a specified FormItem.optionDataSource, should the item ever perform a fetch against this dataSource to retrieve the related record.

      This is disabled by default for hiddenItems as there is typically no need to perform a fetch and retrieve a display-field value to show the user for a hidden item. This does mean that if a developer needs access to the related record for a hidden-item's value, they will need to enable both this setting and FormItem.alwaysFetchMissingValues.

      Overrides:
      getFetchMissingValues in class FormItem
      Returns:
      Current fetchMissingValues value. Default value is true
      See Also:
    • setRowSpan

      public HiddenItem setRowSpan(int rowSpan)
      hidden fields don't take up any rows
      Overrides:
      setRowSpan in class FormItem
      Parameters:
      rowSpan - New rowSpan value. Default value is 0
      Returns:
      HiddenItem instance, for chaining setter calls
      See Also:
    • getRowSpan

      public int getRowSpan()
      hidden fields don't take up any rows
      Overrides:
      getRowSpan in class FormItem
      Returns:
      Current rowSpan value. Default value is 0
      See Also:
    • setShowTitle

      public HiddenItem setShowTitle(Boolean showTitle)
      we never show a separate title cell for hidden fields
      Overrides:
      setShowTitle in class FormItem
      Parameters:
      showTitle - New showTitle value. Default value is false
      Returns:
      HiddenItem instance, for chaining setter calls
      See Also:
    • getShowTitle

      public Boolean getShowTitle()
      we never show a separate title cell for hidden fields
      Overrides:
      getShowTitle in class FormItem
      Returns:
      Current showTitle value. Default value is false
      See Also:
    • setDefaultProperties

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