Package com.smartgwt.client.widgets.form.fields

# Class MultiFileItem

java.lang.Object
com.smartgwt.client.core.JsObject
com.smartgwt.client.core.DataClass
com.smartgwt.client.core.RefDataClass
com.smartgwt.client.data.Field
com.smartgwt.client.widgets.form.fields.FormItem
com.smartgwt.client.widgets.form.fields.CanvasItem
com.smartgwt.client.widgets.form.fields.MultiFileItem

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

public class MultiFileItem extends CanvasItem
The MultiFileItem provides an interface for a user to save one or more files that are related to a DataSource record, where each file is represented by a record in a related DataSource.

Use MultiFileItem when a record may have one or more files associated with it (such as attachments to an email message) where no information about the files needs to be stored other than the files themselves. If you have several fields associated with each file (such as an uploaded document with a version, comments and processes associated with it), consider instead an ordinary DataSource with on field of type "binary", and using the `FileItem` for upload.

See the `Uploading Files` overview for more information on upload.

DataSource Setup

In a relationship sometimes called a "master-detail" relationship, the MultiFileItem stores files in a "detail" DataSource which are related to a "master" DataSource record being edited by the form which contains the MultiFileItem.

To use a MultiFileItem:

- declare a "detail" DataSource to store the related files. At a minimum, this DataSource must have:
  - a `primaryKey` field
  - a field declaring a `foreignKey` relationship to the primaryKey of the "master" DataSource
  - a field of type "binary"
- `bind` a DynamicForm to the "master" DataSource
- in the DynamicForm bound to the "master" DataSource, declare a field with `editorType`:"MultiFileItem" and a `dataSource` property set to the ID of the "detail" DataSource

An example "detail" DataSource for storing files is shown below. This "detail" DataSource assumes a "master" DataSource with `DataSource.ID` "masterRecord" and with a primaryKey field "id".

        <DataSource ID="uploadedFiles" serverType="sql">
          <fields>
             <field name="fileId" type="sequence" primaryKey="true" hidden="true"/>
             <field name="masterRecordId" type="number" foreignKey="masterRecord.id" hidden="true"/>
             <field name="file" type="binary" title="File"/>
          </fields>
        </DataSource>

Aside from a single "binary" field, the "detail" DataSource should generally have only hidden fields, as shown above. Additional internal fields (such as a "lastUpdated" field) may be added, but will not be editable via MultiFileItem.

Display

The MultiFileItem appears as a list of files related to the current record. An optional button, the `removeButton` allows removing files. A second optional button, the `editButton`, launches a picker for uploading further files.

Saving

In all cases, uploading a new file is an "add" DSRequest against the `dataSource`.

The MultiFileItem has two modes, according to whether the "master" record is being newly created via an "add" operation or whether the master record is pre-existing ("update" operation).

If the master record is pre-existing, each file added by the user is uploaded as soon as the user exits the picker launched from the edit button, and the list of files shown in the main form reflects the actual list of stored files.

If the master record is being newly created, files are not actually uploaded until after the master record is confirmed saved, and the list of fields shown in the main form reflects files which will be uploaded after the master record is saved.

In both cases, if there are multiple files to upload, they are uploaded one at a time, as a series of separate "add" DSRequests against the `dataSource`.

Also in both cases, deletion of any file is immediate. In the case of a pre-existing master record, all files shown actually exist as DataSource records, and deletion is performed as a "remove" DSRequest against the `dataSource`.

See Also:
  - `Uploading Files`

- ## Nested Class Summary

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

  `FormItem.CustomStateGetter, FormItem.StateCustomizer`

- ## Field Summary

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

  `configOnly, scClassName, warnOnEditorTypeConversion, warnOnEditorTypeConversionDefault`

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

  `id`

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

  `factoryCreated, factoryProperties`

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

  `jsObj`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `changeAutoChildDefaults(String autoChildName, Canvas defaults)`
  Changes the defaults for Canvas AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(String autoChildName, FormItem defaults)`
  Changes the defaults for FormItem AutoChildren named `autoChildName`.
  `static void`
  `changePickerIconDefaults(FormItemIcon defaults)`
  `String`
  `getEditButtonPrompt()`
  The `prompt` of the `edit button`.
  `String`
  `getEmptyMessage()`
  Empty message to display when there are no files listed.
  `static MultiFileItem`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `String`
  `getPickerAddAnotherFileButtonTitle()`
  The contents of the "Add another" file button in the picker launched by the `edit button`.
  `String`
  `getPickerCancelButtonTitle()`
  The title of the cancel button in the picker lauched by the `edit button`.
  `String`
  `getPickerConstructor()`
  MultiFileItems use a `MultiFilePicker` instance as their picker.
  `String`
  `getPickerUploadButtonInitialTitle()`
  The initial title of the upload button in the picker lauched by the `edit button` that is used before the form is saved.
  `String`
  `getPickerUploadButtonTitle()`
  The title of the upload button in the picker lauched by the `edit button` that is used after the form is saved.
  `String`
  `getPickerUploadProgressLabel()`
  Specifies the label of the progress meter in the picker lauched by the `edit button`.
  `String`
  `getRemoveButtonPrompt()`
  The `prompt` of the `remove button`.
  `static void`
  `setDefaultProperties(MultiFileItem multiFileItemProperties)`
  Class level method to set the default properties of this class.
  `MultiFileItem`
  `setEditButtonPrompt(String editButtonPrompt)`
  The `prompt` of the `edit button`.
  `MultiFileItem`
  `setEmptyMessage(String emptyMessage)`
  Empty message to display when there are no files listed.
  `MultiFileItem`
  `setPickerAddAnotherFileButtonTitle(String pickerAddAnotherFileButtonTitle)`
  The contents of the "Add another" file button in the picker launched by the `edit button`.
  `MultiFileItem`
  `setPickerCancelButtonTitle(String pickerCancelButtonTitle)`
  The title of the cancel button in the picker lauched by the `edit button`.
  `MultiFileItem`
  `setPickerConstructor(String pickerConstructor)`
  MultiFileItems use a `MultiFilePicker` instance as their picker.
  `MultiFileItem`
  `setPickerUploadButtonInitialTitle(String pickerUploadButtonInitialTitle)`
  The initial title of the upload button in the picker lauched by the `edit button` that is used before the form is saved.
  `MultiFileItem`
  `setPickerUploadButtonTitle(String pickerUploadButtonTitle)`
  The title of the upload button in the picker lauched by the `edit button` that is used after the form is saved.
  `MultiFileItem`
  `setPickerUploadProgressLabel(String pickerUploadProgressLabel)`
  Specifies the label of the progress meter in the picker lauched by the `edit button`.
  `MultiFileItem`
  `setRemoveButtonPrompt(String removeButtonPrompt)`
  The `prompt` of the `remove button`.

  ### Methods inherited from class com.smartgwt.client.widgets.form.fields.CanvasItem

  `addCanEditChangedHandler, addReadOnlyDisplayChangedHandler, addShowValueHandler, createCanvas, getApplyPromptToCanvas, getAutoDestroy, getCanvas, getEditCriteriaInInnerForm, getHeight, getHeightAsString, getMaxHeight, getMinHeight, getMultiple, getOverflow, getPrompt, getShouldSaveValue, hasAdvancedCriteria, isFocused, setApplyPromptToCanvas, setAutoDestroy, setCanEditCriterionPredicate, setCanvas, setCriterionGetter, setCriterionSetter, setDefaultProperties, setEditCriteriaInInnerForm, setHeight, setHeight, setMaxHeight, setMinHeight, setMultiple, setOverflow, setPrompt, setShouldDisableCanvasCustomizer, setShouldSaveValue, setupCanvasConstructor, storeValue, storeValue, storeValue, updateCanvasTabPosition`

  ### 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, getBrowserInputType, getBrowserSpellCheck, getCanEdit, getCanEditOpaqueValues, getCanFocus, getCanHover, getCanSelectText, getCanTabToIcons, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getControlStyle, getCriteriaField, getCriterion, getCriterion, getCursorPosition, getCustomState, getDataPath, getDateFormatter, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDefaultOperator, getDefaultValue, getDestroyed, getDisabled, getDisabledHover, getDisableIconsOnReadOnly, getDisplayField, getDisplayFieldName, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEditProxyConstructor, getEmptyDisplayValue, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconProperties, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getErrors, getEscapeHTML, getExportFormat, getExtraControlTableCSS, getExtraTextBoxCSS, getFetchMissingValues, getFieldName, getFilterLocally, getForeignDisplayField, getForm, getFormat, getFormItemAutoChild, getFormula, getFullDataPath, getGlobalTabIndex, getGridColNum, getGridRowNum, 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, getInputFormat, getLeft, getLinearColSpan, getLinearColSpanAsString, getLinearEndRow, getLinearEndRowAsString, getLinearStartRow, getLinearStartRowAsString, getLinearWidth, getLinearWidthAsString, getListGrid, getLoadingDisplayValue, getLocateItemBy, getMinHintWidth, getMultipleValueSeparator, getName, getNullOriginalValueText, getOperator, getOptionCriteria, getOptionDataSource, getOptionDataSourceAsString, getOptionFilterContext, getOptionOperationId, getOptionTextMatchStyle, getOriginalValueMessage, getPageLeft, getPageRect, getPageTop, getPaletteDefaults, getPicker, getPickerIcon, getPickerIcon, getPickerIconHeight, getPickerIconName, getPickerIconPrompt, getPickerIconProperties, getPickerIconSrc, getPickerIconStyle, getPickerIconTabPosition, getPickerIconWidth, getPixelHeight, getPixelWidth, getPrintReadOnlyTextBoxStyle, getPrintTextBoxStyle, getPrintTitleStyle, getReadOnlyCanSelectText, getReadOnlyControlStyle, getReadOnlyDisplay, getReadOnlyHover, getReadOnlyTextBoxStyle, getReadOnlyWhen, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRequiredRightTitlePrefix, getRequiredRightTitleSuffix, getRequiredTitlePrefix, getRequiredTitleSuffix, getRequiredWhen, getRightTitlePrefix, getRightTitleSuffix, getRowSpan, getSaveOnEnter, getScClassName, getSelectedRecord, getSelectOnClick, getSelectOnFocus, 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, getTextAlign, getTextBoxStyle, getTextFormula, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitlePrefix, getTitleStyle, getTitleSuffix, getTitleVAlign, getTooltip, getTop, getType, getUpdateControlOnOver, getUpdatePickerIconOnOver, getUpdateTextBoxOnOver, getUseAdvancedCriteria, getUseDisabledHintStyleForReadOnly, getUseLocalDisplayFieldValue, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsFloat, getValueAsInteger, getValueAsLong, getValueAsRecordList, getValueDeselectedCSSText, getValueField, getValueFieldName, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getValueMap, getValueMapAsArray, getVisible, getVisibleHeight, getVisibleTitleWidth, getVisibleWhen, getVisibleWidth, getWarnOnEditorTypeConversion, getWarnOnEditorTypeConversionDefault, getWidth, getWidthAsString, getWrapHintText, getWrapStaticValue, getWrapTitle, handleWarnOnEditorTypeConversion, hasErrors, hide, hideIcon, invalidateDisplayValueCache, isAssignableFrom, isConfigOnly, isCreated, isCutEvent, isDisabled, isDrawn, 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, setBrowserInputType, setBrowserSpellCheck, setCanEdit, setCanEditOpaqueValues, setCanFocus, setCanHover, setCanSelectText, setCanTabToIcons, setCellHeight, setCellStyle, setChangeOnKeypress, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setConfigOnly, setControlStyle, setCriteriaField, setCriterion, setCustomStateGetter, setDataPath, setDateFormatter, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultOperator, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisabledHover, setDisableIconsOnReadOnly, setDisplayField, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditorValueFormatter, setEditorValueParser, setEditPendingCSSText, setEditProxyConstructor, setEmptyDisplayValue, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconProperties, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setErrors, setErrors, setEscapeHTML, setExportFormat, setExtraControlTableCSS, setExtraTextBoxCSS, setFetchMissingValues, setFilterLocally, setForeignDisplayField, setFormat, setFormula, setGlobalTabIndex, 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, setInputFormat, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setJavaScriptObject, setLeft, setLinearColSpan, setLinearColSpan, setLinearEndRow, setLinearEndRow, setLinearStartRow, setLinearStartRow, setLinearWidth, setLinearWidth, setLoadingDisplayValue, setLocateItemBy, setMinHintWidth, setMultipleValueSeparator, setName, setNullOriginalValueText, setNullProperty, setOperator, setOptionCriteria, setOptionDataSource, setOptionDataSource, setOptionFilterContext, setOptionOperationId, setOptionTextMatchStyle, setOriginalValueMessage, setPickerIconHeight, setPickerIconName, setPickerIconPrompt, setPickerIconProperties, setPickerIconSrc, setPickerIconStyle, setPickerIconWidth, setPrintReadOnlyTextBoxStyle, setPrintTextBoxStyle, setPrintTitleStyle, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyCanSelectText, setReadOnlyControlStyle, setReadOnlyDisplay, setReadOnlyHover, setReadOnlyTextBoxStyle, setReadOnlyWhen, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRequiredRightTitlePrefix, setRequiredRightTitleSuffix, setRequiredTitlePrefix, setRequiredTitleSuffix, setRequiredWhen, setRightTitlePrefix, setRightTitleSuffix, setRowSpan, setSaveOnEnter, setScClassName, setSelectOnClick, setSelectOnFocus, 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, setTextAlign, setTextBoxStyle, setTextFormula, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitlePrefix, setTitleStyle, setTitleSuffix, setTitleVAlign, setTooltip, setTop, setType, setUpdateControlOnOver, setUpdatePickerIconOnOver, setUpdateTextBoxOnOver, setUseAdvancedCriteria, setUseDisabledHintStyleForReadOnly, setUseLocalDisplayFieldValue, setUseObjectFactoryForTypeFallback, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueDeselectedCSSText, setValueField, setValueFormatter, setValueHoverFormatter, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setVisibleWhen, setWarnOnEditorTypeConversion, setWarnOnEditorTypeConversionDefault, setWidth, setWidth, setWrapHintText, setWrapStaticValue, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, showPicker, stopHover, storeValue, updateState, validate, valueClipped`

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

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

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

  `getRef, getRef, internalSetID`

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

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

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

  `equals, getJsObj, hashCode, setJsObj`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

  `fireEvent`

- ## Constructor Details

  - ### MultiFileItem

    public MultiFileItem()

  - ### MultiFileItem

    public MultiFileItem(JavaScriptObject jsObj)

  - ### MultiFileItem

    public MultiFileItem(String name)

  - ### MultiFileItem

    public MultiFileItem(String name, String title)

- ## Method Details

  - ### getOrCreateRef

    public static MultiFileItem getOrCreateRef(JavaScriptObject jsObj)

  - ### changeAutoChildDefaults

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

  - ### changeAutoChildDefaults

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

  - ### changePickerIconDefaults

    public static void changePickerIconDefaults(FormItemIcon defaults)

  - ### setEditButtonPrompt

    public MultiFileItem setEditButtonPrompt(String editButtonPrompt)
    The `prompt` of the `edit button`.
    Parameters:
      `editButtonPrompt` - New editButtonPrompt value. Default value is "Add files"
    Returns:
      `MultiFileItem` instance, for chaining setter calls

  - ### getEditButtonPrompt

    public String getEditButtonPrompt()
    The `prompt` of the `edit button`.
    Returns:
      Current editButtonPrompt value. Default value is "Add files"

  - ### setEmptyMessage

    public MultiFileItem setEmptyMessage(String emptyMessage)
    Empty message to display when there are no files listed.
    Parameters:
      `emptyMessage` - New emptyMessage value. Default value is "Click icon to add..."
    Returns:
      `MultiFileItem` instance, for chaining setter calls

  - ### getEmptyMessage

    public String getEmptyMessage()
    Empty message to display when there are no files listed.
    Returns:
      Current emptyMessage value. Default value is "Click icon to add..."

  - ### setPickerAddAnotherFileButtonTitle

    public MultiFileItem setPickerAddAnotherFileButtonTitle(String pickerAddAnotherFileButtonTitle)
    The contents of the "Add another" file button in the picker launched by the `edit button`.
    Parameters:
      `pickerAddAnotherFileButtonTitle` - New pickerAddAnotherFileButtonTitle value. Default value is "<u>Add&nbsp;another</u>"
    Returns:
      `MultiFileItem` instance, for chaining setter calls
    See Also:
      - `HTMLString`

  - ### getPickerAddAnotherFileButtonTitle

    public String getPickerAddAnotherFileButtonTitle()
    The contents of the "Add another" file button in the picker launched by the `edit button`.
    Returns:
      Current pickerAddAnotherFileButtonTitle value. Default value is "<u>Add&nbsp;another</u>"
    See Also:
      - `HTMLString`

  - ### setPickerCancelButtonTitle

    public MultiFileItem setPickerCancelButtonTitle(String pickerCancelButtonTitle)
    The title of the cancel button in the picker lauched by the `edit button`.
    Parameters:
      `pickerCancelButtonTitle` - New pickerCancelButtonTitle value. Default value is "Cancel"
    Returns:
      `MultiFileItem` instance, for chaining setter calls

  - ### getPickerCancelButtonTitle

    public String getPickerCancelButtonTitle()
    The title of the cancel button in the picker lauched by the `edit button`.
    Returns:
      Current pickerCancelButtonTitle value. Default value is "Cancel"

  - ### setPickerConstructor

    public MultiFileItem setPickerConstructor(String pickerConstructor)
    MultiFileItems use a `MultiFilePicker` instance as their picker. The generated `picker` autoChild may be customized via the standard `com.smartgwt.client.types.AutoChild` pattern.
    Parameters:
      `pickerConstructor` - New pickerConstructor value. Default value is "MultiFilePicker"
    Returns:
      `MultiFileItem` instance, for chaining setter calls
    See Also:
      - `SCClassName`

  - ### getPickerConstructor

    public String getPickerConstructor()
    MultiFileItems use a `MultiFilePicker` instance as their picker. The generated `picker` autoChild may be customized via the standard `com.smartgwt.client.types.AutoChild` pattern.
    Returns:
      Current pickerConstructor value. Default value is "MultiFilePicker"
    See Also:
      - `SCClassName`

  - ### setPickerUploadButtonInitialTitle

    public MultiFileItem setPickerUploadButtonInitialTitle(String pickerUploadButtonInitialTitle)
    The initial title of the upload button in the picker lauched by the `edit button` that is used before the form is saved.
    Parameters:
      `pickerUploadButtonInitialTitle` - New pickerUploadButtonInitialTitle value. Default value is "OK"
    Returns:
      `MultiFileItem` instance, for chaining setter calls
    See Also:
      - `setPickerUploadButtonTitle(java.lang.String)`

  - ### getPickerUploadButtonInitialTitle

    public String getPickerUploadButtonInitialTitle()
    The initial title of the upload button in the picker lauched by the `edit button` that is used before the form is saved.
    Returns:
      Current pickerUploadButtonInitialTitle value. Default value is "OK"
    See Also:
      - `getPickerUploadButtonTitle()`

  - ### setPickerUploadButtonTitle

    public MultiFileItem setPickerUploadButtonTitle(String pickerUploadButtonTitle)
    The title of the upload button in the picker lauched by the `edit button` that is used after the form is saved.
    Parameters:
      `pickerUploadButtonTitle` - New pickerUploadButtonTitle value. Default value is "Save"
    Returns:
      `MultiFileItem` instance, for chaining setter calls
    See Also:
      - `setPickerUploadButtonInitialTitle(java.lang.String)`

  - ### getPickerUploadButtonTitle

    public String getPickerUploadButtonTitle()
    The title of the upload button in the picker lauched by the `edit button` that is used after the form is saved.
    Returns:
      Current pickerUploadButtonTitle value. Default value is "Save"
    See Also:
      - `getPickerUploadButtonInitialTitle()`

  - ### setPickerUploadProgressLabel

    public MultiFileItem setPickerUploadProgressLabel(String pickerUploadProgressLabel)
    Specifies the label of the progress meter in the picker lauched by the `edit button`. This property is a dynamic string, similar to the `Canvas.dynamicContents` feature, with the variables `fileName` and `formattedFileSize`.
    Parameters:
      `pickerUploadProgressLabel` - New pickerUploadProgressLabel value. Default value is "Saving ${fileName} ${formattedFileSize}"
    Returns:
      `MultiFileItem` instance, for chaining setter calls
    See Also:
      - `HTMLString`

  - ### getPickerUploadProgressLabel

    public String getPickerUploadProgressLabel()
    Specifies the label of the progress meter in the picker lauched by the `edit button`. This property is a dynamic string, similar to the `Canvas.dynamicContents` feature, with the variables `fileName` and `formattedFileSize`.
    Returns:
      Current pickerUploadProgressLabel value. Default value is "Saving ${fileName} ${formattedFileSize}"
    See Also:
      - `HTMLString`

  - ### setRemoveButtonPrompt

    public MultiFileItem setRemoveButtonPrompt(String removeButtonPrompt)
    The `prompt` of the `remove button`.
    Parameters:
      `removeButtonPrompt` - New removeButtonPrompt value. Default value is "Remove selected files"
    Returns:
      `MultiFileItem` instance, for chaining setter calls

  - ### getRemoveButtonPrompt

    public String getRemoveButtonPrompt()
    The `prompt` of the `remove button`.
    Returns:
      Current removeButtonPrompt value. Default value is "Remove selected files"

  - ### setDefaultProperties

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