public class BatchUploader extends VStack
NOTE: BatchUploader is only available with Smart GWT Power or better.
By default, a
BatchUploader consists of a single FileItem
form field. This form field
will upload a file using the special "batchUpload" built-in DataSource. The uploaded file data will be parsed and
validated using the uploadDataSource
, then
streamed back to the browser, along with any errors, for display in a ListGrid.
The user can then correct any
errors and submit the final dataset, which will be added to the DataSource via a series of "add" DSRequests, all
submitted as a single HTTP request via request queuing
.
Additional form fields can be added to the form that uploads the data file via uploadFormFields
. Values entered into these fields are
not included in the "add" DSRequests used to store the uploaded records. Instead, they are stored as HttpSession
attributes with the names corresponding to the names of the specified uploadFormFields
(optionally with a
prefix
applied, in case this is necessary to
avoid name collisions in the session). This allows any custom logic for the "add" operation to access these additional
fields via httpSession.getAttribute(). If uploadFormFields
are not provided method httpSession.getAttribute() will not be called.
Because all records are saved in a single HTTP request, a similar strategy of storing data as servletRequest or session attributes allows reuse of objects required to perform the "add" operations (such as field values common to all added records, or a SQL connection or transaction manager).
If uploadFieldName
is set on any of the uploadDataSource
's fields, the BatchUploader will use that name to map the uploaded file's content.
Note, that for
CSV data format
header line is optional. If first
non-empty line in the uploaded file has no matching field names, it is assumed that there's no header row, and all rows
(including the first one) are treated as data rows.
Imported data can be transformed during import, see DataSourceField.importStrategy
for details.
A
couple of server-side techniques are interesting in conjunction with the BatchUploader. One is to set the DataSource.serverConstructor
property to point at your
own class that inherits from com.isomorphic.datasource.BasicDataSource
. The most interesting reason for
doing this is to override the validate
method and provide complete custom validation - for example,
checking relations to other tables.
Another technique is to handle the initial Smart GWT call in your own servlet,
by setting the dataURL
property. You then handle the add
requests with a combination of your own code and Smart GWT server API calls. This is a good way to add special pre-
and post-processing to the normal server-side flow.
Note: The special "batchUpload" DataSource, which should
reside in the shared/ds folder of your application's webroot (see Installation Instructions
). is not part of your application's data flow, and it has nothing to do with the uploadDataSource
you use to actually persist the
validated and error-corrected data: it is simply a means to uploading the raw data in the first place. Normally, you
should simply ignore its presence and treat it as an internal detail of the Smart GWT framework.
However, there are circumstances in which you may wish to change it to achieve specific aims. For example, you may wish to override the Java class it invokes, in order to insert your own security or other validation logic into the initial upload flow. This is entirely in keeping with the design, but we regard it as an out-of-the-ordinary use-case: normal usage is simply to ignore the presence of the batchUpload DataSource.
BatchUploader is a VStack
, that simply stacks members on the vertical axis without trying to manage
their height. If you need to control heights, you can set vPolicy
to "fill"
config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName
Constructor and Description |
---|
BatchUploader() |
BatchUploader(com.google.gwt.core.client.JavaScriptObject jsObj) |
Modifier and Type | Method and Description |
---|---|
static void |
changeAutoChildDefaults(java.lang.String autoChildName,
Canvas defaults)
Changes the defaults for Canvas AutoChildren named
autoChildName . |
static void |
changeAutoChildDefaults(java.lang.String autoChildName,
FormItem defaults)
Changes the defaults for FormItem AutoChildren named
autoChildName . |
protected com.google.gwt.core.client.JavaScriptObject |
create() |
java.lang.String |
getAllRecordsInErrorMessage()
Message to display when the user clicks "Commit" but there is nothing we can commit because every row in the grid has
errors
|
IButton |
getCancelButton()
Button that cancels the uncommitted upload.
|
java.lang.String |
getCancelButtonTitle()
Title for the
cancel button . |
java.lang.String |
getCancelConfirmMessage()
Confirmation message to show if the user clicks the "Cancel" button and
warnOnCancel is true. |
IButton |
getCommitButton()
Button that commits changes once the user is happy with the data.
|
java.lang.String |
getCommitButtonTitle()
Title for the
commit button . |
java.lang.String |
getCommitConfirmationMessage()
Message to display after data has been committed, when
showCommitConfirmation is true. |
ImportFormat |
getDataFormat()
Format to assume for user-provided data.
|
java.lang.String |
getDataURL()
If set, the batchUploader will copy this value to the queue of "add" requests it sends to the server to actually
populate the data.
|
java.lang.String |
getDefaultDelimiter()
Deprecated.
in favor of
uploadDelimiter |
java.lang.String |
getDefaultQuoteString()
Deprecated.
in favor of
uploadQuoteString |
java.lang.String |
getDiscardedColumnsMessage()
Message displayed when columns in the imported file were discarded and
displayDiscardedColumns is true. |
java.lang.Boolean |
getDisplayDiscardedColumns()
If columns were present in the imported data that were discarded because they could not be matched to any DataSource
fields, whether these should be displayed to the user, using the
discardedColumnsMessage shown within the uploadStatusMessages component. |
java.lang.String |
getErrorMessageDelimiterOrEndOfLine()
Error message to show when the uploading process detects a missing delimiter or end of line after quoted value in the
first line.
|
java.lang.String |
getErrorMessageFileIsBlank()
Error message to show when the uploading process detects a file with no data.
|
java.lang.String |
getErrorMessageInputType()
Error message to show when the uploading process detects an invalid inputType.
|
java.lang.String |
getErrorMessageRowsNotParsed()
Error message to show when the uploaded file has rows other than the first row that could not be parsed.
|
java.lang.String |
getErrorMessageUndeterminedDelimiter()
Error message to show when the uploading process is unable to detect the delimiter.
|
java.lang.String |
getErrorMessageUnterminatedQuote()
Error message to show when the uploading process detects an unterminated quote string in the first line.
|
ListGrid |
getGrid()
Grid which will show a preview of data to be uploaded, with errors flagged
|
ListGridField[] |
getGridFields()
Fields to apply to
grid . |
com.smartgwt.logicalstructure.core.LogicalStructureObject |
getLogicalStructure()
Getter implementing the
LogicalStructure interface,
which supports Eclipse's logical structure debugging facility. |
static BatchUploader |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
PartialCommitOption |
getPartialCommit()
Specifies what action to take if the user attempts to commit a partially validated set of data (ie, one that still
contains some errors).
|
java.lang.String |
getPartialCommitConfirmationMessage()
Message to display after data has been committed, when
showCommitConfirmation is true. |
java.lang.String |
getPartialCommitError()
If
partialCommit is set to "prevent", the text to
display to the user if they try to commit a dataset containing errors. |
java.lang.String |
getPartialCommitPrompt()
If
partialCommit is set to "prompt", the text to
display to the user in the confirmation dialog. |
DSRequest |
getRequestProperties()
Object containing properties to send with every "add" request this batchUploader sends.
|
java.lang.Boolean |
getShowCommitConfirmation()
Whether to show the
commit message after
data is successfully committed. |
java.lang.String |
getUpdatesRolledBackMessage()
Message to display if at least one update was rolled back due to errors in another row.
|
IButton |
getUploadButton()
Button that triggers the upload.
|
java.lang.String |
getUploadButtonTitle()
Title for the
upload button . |
DataSource |
getUploadDataSource()
DataSource used to save uploaded records.
|
java.lang.String |
getUploadDelimiter()
The delimiter to use when importing character-delimited files.
|
java.lang.String |
getUploadEncoding()
The encoding to use when importing files.
|
java.lang.String |
getUploadFieldPrefix()
String to prepend to the names of the additional fields specified in
uploadFormFields before they are stored in the
HttpSession on the server. |
FileItem |
getUploadFileItem()
FileItem for selecting the file to upload.
|
java.lang.String |
getUploadFileLabel()
Title to display next to the
FileItem field where the user enters a
filename to upload |
DynamicForm |
getUploadForm()
Form used to specify file to upload, and any additional fields required.
|
FormItem[] |
getUploadFormFields()
Optional fields for the uploadForm.
|
java.lang.String |
getUploadOperation()
Optional
DSRequest.operationId for the "add" operation used to
add new records to the uploadDataSource . |
java.lang.String |
getUploadQuoteString()
The character used to quote strings.
|
HTMLFlow |
getUploadStatusMessages()
Container for informational messages that are shown when a user attempts an upload.
|
java.lang.Boolean |
getWarnOnCancel()
If set, indicates that a warning dialog should be shown when Cancel is clicked, asking the user to confirm that this is
really what they want to do.
|
void |
setAllRecordsInErrorMessage(java.lang.String allRecordsInErrorMessage)
Message to display when the user clicks "Commit" but there is nothing we can commit because every row in the grid has
errors
|
void |
setCancelButtonTitle(java.lang.String cancelButtonTitle)
Title for the
cancel button . |
void |
setCancelConfirmMessage(java.lang.String cancelConfirmMessage)
Confirmation message to show if the user clicks the "Cancel" button and
warnOnCancel is true. |
void |
setCommitButtonTitle(java.lang.String commitButtonTitle)
Title for the
commit button . |
void |
setCommitConfirmationMessage(java.lang.String commitConfirmationMessage)
Message to display after data has been committed, when
showCommitConfirmation is true. |
void |
setDataFormat(ImportFormat dataFormat)
Format to assume for user-provided data.
|
void |
setDataURL(java.lang.String dataURL)
If set, the batchUploader will copy this value to the queue of "add" requests it sends to the server to actually
populate the data.
|
void |
setDefaultDelimiter(java.lang.String defaultDelimiter)
Deprecated.
in favor of
uploadDelimiter |
static void |
setDefaultProperties(BatchUploader batchUploaderProperties)
Class level method to set the default properties of this class.
|
void |
setDefaultQuoteString(java.lang.String defaultQuoteString)
Deprecated.
in favor of
uploadQuoteString |
void |
setDiscardedColumnsMessage(java.lang.String discardedColumnsMessage)
Message displayed when columns in the imported file were discarded and
displayDiscardedColumns is true. |
void |
setDisplayDiscardedColumns(java.lang.Boolean displayDiscardedColumns)
If columns were present in the imported data that were discarded because they could not be matched to any DataSource
fields, whether these should be displayed to the user, using the
discardedColumnsMessage shown within the uploadStatusMessages component. |
void |
setErrorMessageDelimiterOrEndOfLine(java.lang.String errorMessageDelimiterOrEndOfLine)
Error message to show when the uploading process detects a missing delimiter or end of line after quoted value in the
first line.
|
void |
setErrorMessageFileIsBlank(java.lang.String errorMessageFileIsBlank)
Error message to show when the uploading process detects a file with no data.
|
void |
setErrorMessageInputType(java.lang.String errorMessageInputType)
Error message to show when the uploading process detects an invalid inputType.
|
void |
setErrorMessageRowsNotParsed(java.lang.String errorMessageRowsNotParsed)
Error message to show when the uploaded file has rows other than the first row that could not be parsed.
|
void |
setErrorMessageUndeterminedDelimiter(java.lang.String errorMessageUndeterminedDelimiter)
Error message to show when the uploading process is unable to detect the delimiter.
|
void |
setErrorMessageUnterminatedQuote(java.lang.String errorMessageUnterminatedQuote)
Error message to show when the uploading process detects an unterminated quote string in the first line.
|
void |
setGridFields(ListGridField... gridFields)
Fields to apply to
grid . |
com.smartgwt.logicalstructure.core.LogicalStructureObject |
setLogicalStructure(com.smartgwt.logicalstructure.widgets.BatchUploaderLogicalStructure s)
Setter implementing the
LogicalStructure interface,
which supports Eclipse's logical structure debugging facility. |
void |
setPartialCommit(PartialCommitOption partialCommit)
Specifies what action to take if the user attempts to commit a partially validated set of data (ie, one that still
contains some errors).
|
void |
setPartialCommitConfirmationMessage(java.lang.String partialCommitConfirmationMessage)
Message to display after data has been committed, when
showCommitConfirmation is true. |
void |
setPartialCommitError(java.lang.String partialCommitError)
If
partialCommit is set to "prevent", the text to
display to the user if they try to commit a dataset containing errors. |
void |
setPartialCommitPrompt(java.lang.String partialCommitPrompt)
If
partialCommit is set to "prompt", the text to
display to the user in the confirmation dialog. |
void |
setRequestProperties(DSRequest requestProperties)
Object containing properties to send with every "add" request this batchUploader sends.
|
void |
setShowCommitConfirmation(java.lang.Boolean showCommitConfirmation)
Whether to show the
commit message after
data is successfully committed. |
void |
setUpdatesRolledBackMessage(java.lang.String updatesRolledBackMessage)
Message to display if at least one update was rolled back due to errors in another row.
|
void |
setUploadButtonTitle(java.lang.String uploadButtonTitle)
Title for the
upload button . |
void |
setUploadDataSource(DataSource uploadDataSource)
DataSource used to save uploaded records.
|
void |
setUploadDelimiter(java.lang.String uploadDelimiter)
The delimiter to use when importing character-delimited files.
|
void |
setUploadEncoding(java.lang.String uploadEncoding)
The encoding to use when importing files.
|
void |
setUploadFieldPrefix(java.lang.String uploadFieldPrefix)
String to prepend to the names of the additional fields specified in
uploadFormFields before they are stored in the
HttpSession on the server. |
void |
setUploadFileLabel(java.lang.String uploadFileLabel)
Title to display next to the
FileItem field where the user enters a
filename to upload |
void |
setUploadFormFields(FormItem... uploadFormFields)
Optional fields for the uploadForm.
|
void |
setUploadFormItems(FormItem... items)
Synonym of
setUploadFormFields(FormItem...) . |
void |
setUploadOperation(java.lang.String uploadOperation)
Optional
DSRequest.operationId for the "add" operation used to
add new records to the uploadDataSource . |
void |
setUploadQuoteString(java.lang.String uploadQuoteString)
The character used to quote strings.
|
void |
setWarnOnCancel(java.lang.Boolean warnOnCancel)
If set, indicates that a warning dialog should be shown when Cancel is clicked, asking the user to confirm that this is
really what they want to do.
|
setDefaultProperties, setLogicalStructure
addMember, addMember, addMember, addMember, addMemberPostCreate, addMemberPostCreate, addMemberPreCreate, addMemberPreCreate, addMembers, addMembers, addMembersChangedHandler, getAnimateMembers, getAnimateMemberTime, getCanDropComponents, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEditProxyConstructor, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutTopMargin, getLeaveScrollbarGap, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOverlap, getMembers, getMembersLength, getMembersMargin, getMinMemberSize, getOverflow, getPaddingAsLayoutMargin, getResizeBar, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, layoutIsDirty, onInit_Layout, onInit, reflow, reflow, reflowNow, removeMember, removeMembers, removeMembers, reorderMember, reorderMembers, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setCanDropComponents, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEditProxyConstructor, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutTopMargin, setLeaveScrollbarGap, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembersMargin, setMinMemberSize, setOverflow, setPaddingAsLayoutMargin, setPlaceHolderDefaults, setPlaceHolderProperties, setResizeBarClass, setResizeBarSize, setReverseOrder, setShowDragPlaceHolder, setShowDropLines, setStackZIndex, setVertical, setVisibleMember, setVPolicy, showMember, showMember
addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addSnapAlignCandidate, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, encloses, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoMaskComponents, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeavePageSpace, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPanelContainer, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSkinImgDir, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStyleName, getTabIndex, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseDragMask, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, pageScrollDown, pageScrollUp, parentResized, placeNear, placeNear, placeNear, printComponents, provideRuleContext, redraw, redraw, removeChild, removeChild, removePeer, removePeer, removeSnapAlignCandidate, resizeBy, resizeTo, resizeTo, revealChild, revealChild, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoMaskComponents, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeavePageSpace, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setPadding, setPageLeft, setPageTop, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSkinImgDir, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStyleName, setTabIndex, setTitle, setTooltip, setTop, setTop, setUseBackMask, setUseDragMask, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateEditNode, updateHover, updateHover, updateShadow, visibleAtPoint, willAcceptDrop
addDrawHandler, applyFactoryProperties, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isFactoryCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents
addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent
public BatchUploader()
public BatchUploader(com.google.gwt.core.client.JavaScriptObject jsObj)
public static BatchUploader getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public static void changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)
autoChildName
.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
.AutoChildUsage
public static void changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)
autoChildName
.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
.AutoChildUsage
protected com.google.gwt.core.client.JavaScriptObject create()
public void setAllRecordsInErrorMessage(java.lang.String allRecordsInErrorMessage) throws java.lang.IllegalStateException
allRecordsInErrorMessage
- Default value is "All records have errors; nothing to commit"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getAllRecordsInErrorMessage()
public IButton getCancelButton() throws java.lang.IllegalStateException
For an overview of how to use and configure AutoChildren, see Using AutoChildren
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setCancelButtonTitle(java.lang.String cancelButtonTitle) throws java.lang.IllegalStateException
cancel button
.cancelButtonTitle
- Default value is "Cancel"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getCancelButtonTitle()
cancel button
.public void setCancelConfirmMessage(java.lang.String cancelConfirmMessage)
warnOnCancel
is true. Defaults to "You will lose any work
you have done on this data. Proceed anyway?"cancelConfirmMessage
- Default value is See belowpublic java.lang.String getCancelConfirmMessage()
warnOnCancel
is true. Defaults to "You will lose any work
you have done on this data. Proceed anyway?"public IButton getCommitButton() throws java.lang.IllegalStateException
For an overview of how to use and configure AutoChildren, see Using AutoChildren
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setCommitButtonTitle(java.lang.String commitButtonTitle) throws java.lang.IllegalStateException
commit button
.commitButtonTitle
- Default value is "Commit"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getCommitButtonTitle()
commit button
.public void setCommitConfirmationMessage(java.lang.String commitConfirmationMessage) throws java.lang.IllegalStateException
showCommitConfirmation
is true.commitConfirmationMessage
- Default value is "Records added"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getCommitConfirmationMessage()
showCommitConfirmation
is true.public void setDataFormat(ImportFormat dataFormat) throws java.lang.IllegalStateException
ImportFormat
"auto" for auto-detection.dataFormat
- Default value is "csv"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic ImportFormat getDataFormat()
ImportFormat
"auto" for auto-detection.public void setDataURL(java.lang.String dataURL)
dataURL
- Default value is nullpublic java.lang.String getDataURL()
public void setDefaultDelimiter(java.lang.String defaultDelimiter)
uploadDelimiter
defaultDelimiter
- Default value is ","public java.lang.String getDefaultDelimiter()
uploadDelimiter
public void setDefaultQuoteString(java.lang.String defaultQuoteString)
uploadQuoteString
defaultQuoteString
- Default value is "\""public java.lang.String getDefaultQuoteString()
uploadQuoteString
public void setDiscardedColumnsMessage(java.lang.String discardedColumnsMessage) throws java.lang.IllegalStateException
displayDiscardedColumns
is true. Within this
message, ${discardedColumns} can be used to show a comma separated list of the column names that were discarded
(example: "price, saleDate, total"). Default message is: "The following columns in your uploaded file were ignored because they did not match any of the expected column names: ${discardedColumns}"
discardedColumnsMessage
- Default value is "..."java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getDiscardedColumnsMessage()
displayDiscardedColumns
is true. Within this
message, ${discardedColumns} can be used to show a comma separated list of the column names that were discarded
(example: "price, saleDate, total"). Default message is: "The following columns in your uploaded file were ignored because they did not match any of the expected column names: ${discardedColumns}"
public void setDisplayDiscardedColumns(java.lang.Boolean displayDiscardedColumns) throws java.lang.IllegalStateException
discardedColumnsMessage
shown within the uploadStatusMessages
component.displayDiscardedColumns
- Default value is truejava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.Boolean getDisplayDiscardedColumns()
discardedColumnsMessage
shown within the uploadStatusMessages
component.public void setErrorMessageDelimiterOrEndOfLine(java.lang.String errorMessageDelimiterOrEndOfLine) throws java.lang.IllegalStateException
errorMessageDelimiterOrEndOfLine
- Default value is "Delimiter or end of line expected after quoted value - problem found in the first line at character position: ${errorOffset}."java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getErrorMessageDelimiterOrEndOfLine()
public void setErrorMessageFileIsBlank(java.lang.String errorMessageFileIsBlank) throws java.lang.IllegalStateException
errorMessageFileIsBlank
- Default value is "The provided file is blank. Please, provide a file with data"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getErrorMessageFileIsBlank()
public void setErrorMessageInputType(java.lang.String errorMessageInputType) throws java.lang.IllegalStateException
errorMessageInputType
- Default value is "Invalid inputType value was set!"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getErrorMessageInputType()
public void setErrorMessageRowsNotParsed(java.lang.String errorMessageRowsNotParsed) throws java.lang.IllegalStateException
This is a
dynamic string - text within ${...}
will be evaluated as JS code when the message is displayed.
The following variables are available to be used in this message:
errorMessageRowsNotParsed
- Default value is "Some rows could not be parsed; the grid below shows ${goodRowCount} of ${totalRows} data rows. Row number ${firstBadRow} was the first row to fail to be parsed."java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getErrorMessageRowsNotParsed()
This is a
dynamic string - text within ${...}
will be evaluated as JS code when the message is displayed.
The following variables are available to be used in this message:
public void setErrorMessageUndeterminedDelimiter(java.lang.String errorMessageUndeterminedDelimiter) throws java.lang.IllegalStateException
errorMessageUndeterminedDelimiter
- Default value is "We were unable to guess the delimiter"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getErrorMessageUndeterminedDelimiter()
public void setErrorMessageUnterminatedQuote(java.lang.String errorMessageUnterminatedQuote) throws java.lang.IllegalStateException
errorMessageUnterminatedQuote
- Default value is "Unterminated quote string - problem found in the first line at character position: ${errorOffset}."java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getErrorMessageUnterminatedQuote()
public ListGrid getGrid() throws java.lang.IllegalStateException
For an overview of how to use and configure AutoChildren, see Using AutoChildren
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setGridFields(ListGridField... gridFields)
grid
. These will override the field
definitions in the uploadDataSource
on a field by
field basis, as described under DataBoundComponent.fields
.gridFields
- Default value is nullpublic ListGridField[] getGridFields()
grid
. These will override the field
definitions in the uploadDataSource
on a field by
field basis, as described under DataBoundComponent.fields
.public void setPartialCommit(PartialCommitOption partialCommit)
partialCommit
- Default value is "prompt"public PartialCommitOption getPartialCommit()
public void setPartialCommitConfirmationMessage(java.lang.String partialCommitConfirmationMessage) throws java.lang.IllegalStateException
showCommitConfirmation
is true.partialCommitConfirmationMessage
- Default value is "Valid records added; some records remain in error"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getPartialCommitConfirmationMessage()
showCommitConfirmation
is true.public void setPartialCommitError(java.lang.String partialCommitError)
partialCommit
is set to "prevent", the text to
display to the user if they try to commit a dataset containing errors. By default, this text is "There are errors in
your data. Please correct all errors before clicking Commit"partialCommitError
- Default value is See belowpublic java.lang.String getPartialCommitError()
partialCommit
is set to "prevent", the text to
display to the user if they try to commit a dataset containing errors. By default, this text is "There are errors in
your data. Please correct all errors before clicking Commit"public void setPartialCommitPrompt(java.lang.String partialCommitPrompt)
partialCommit
is set to "prompt", the text to
display to the user in the confirmation dialog. By default, this text is "There are errors in your data so it cannot
all be saved. If you proceed, you will lose the records with errors. Click 'OK' to proceed anyway, or 'Cancel' to
return to your data"partialCommitPrompt
- Default value is See belowpublic java.lang.String getPartialCommitPrompt()
partialCommit
is set to "prompt", the text to
display to the user in the confirmation dialog. By default, this text is "There are errors in your data so it cannot
all be saved. If you proceed, you will lose the records with errors. Click 'OK' to proceed anyway, or 'Cancel' to
return to your data"public void setRequestProperties(DSRequest requestProperties)
requestProperties
- Default value is nullpublic DSRequest getRequestProperties()
public void setShowCommitConfirmation(java.lang.Boolean showCommitConfirmation) throws java.lang.IllegalStateException
commit message
after
data is successfully committed.showCommitConfirmation
- Default value is truejava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.Boolean getShowCommitConfirmation()
commit message
after
data is successfully committed.public void setUpdatesRolledBackMessage(java.lang.String updatesRolledBackMessage) throws java.lang.IllegalStateException
transactions overview
for details of Smart GWT's automatic
transactional updates featureupdatesRolledBackMessage
- Default value is "One or more updates were rolled-back due to errors on other rows"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getUpdatesRolledBackMessage()
transactions overview
for details of Smart GWT's automatic
transactional updates featurepublic IButton getUploadButton() throws java.lang.IllegalStateException
For an overview of how to use and configure AutoChildren, see Using AutoChildren
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setUploadButtonTitle(java.lang.String uploadButtonTitle) throws java.lang.IllegalStateException
upload button
.uploadButtonTitle
- Default value is "Upload"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getUploadButtonTitle()
upload button
.public void setUploadDataSource(DataSource uploadDataSource) throws java.lang.IllegalStateException
Be careful to note that this is the DataSource representing your data as it will be persisted to your server. It is completely different from the special "batchUpload" DataSource which is used purely as a medium to upload the raw data to the server in the first place.
uploadDataSource
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic DataSource getUploadDataSource()
Be careful to note that this is the DataSource representing your data as it will be persisted to your server. It is completely different from the special "batchUpload" DataSource which is used purely as a medium to upload the raw data to the server in the first place.
public void setUploadDelimiter(java.lang.String uploadDelimiter)
uploadDelimiter
- Default value is ","public java.lang.String getUploadDelimiter()
public void setUploadEncoding(java.lang.String uploadEncoding)
uploadEncoding
- Default value is "UTF-8"public java.lang.String getUploadEncoding()
public void setUploadFieldPrefix(java.lang.String uploadFieldPrefix)
uploadFormFields
before they are stored in the
HttpSession on the server. This property provides a basic namespace facility, allowing you to avoid name collisions
with existing session attributes. Example usage: if you have an additional field called "someDate" and you set uploadFieldPrefix to "myFields_", your additionalFormField will be available as an HttpSession attribute called "myFields_someDate"
uploadFieldPrefix
- Default value is nullpublic java.lang.String getUploadFieldPrefix()
uploadFormFields
before they are stored in the
HttpSession on the server. This property provides a basic namespace facility, allowing you to avoid name collisions
with existing session attributes. Example usage: if you have an additional field called "someDate" and you set uploadFieldPrefix to "myFields_", your additionalFormField will be available as an HttpSession attribute called "myFields_someDate"
public FileItem getUploadFileItem() throws java.lang.IllegalStateException
For an overview of how to use and configure AutoChildren, see Using AutoChildren
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setUploadFileLabel(java.lang.String uploadFileLabel) throws java.lang.IllegalStateException
FileItem
field where the user enters a
filename to uploaduploadFileLabel
- Default value is "Upload File"java.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getUploadFileLabel()
FileItem
field where the user enters a
filename to uploadpublic DynamicForm getUploadForm() throws java.lang.IllegalStateException
For an overview of how to use and configure AutoChildren, see Using AutoChildren
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setUploadFormFields(FormItem... uploadFormFields) throws java.lang.IllegalStateException
uploadFormFields
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic FormItem[] getUploadFormFields()
public void setUploadOperation(java.lang.String uploadOperation) throws java.lang.IllegalStateException
DSRequest.operationId
for the "add" operation used to
add new records to the uploadDataSource
.uploadOperation
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.String getUploadOperation()
DSRequest.operationId
for the "add" operation used to
add new records to the uploadDataSource
.public void setUploadQuoteString(java.lang.String uploadQuoteString)
uploadQuoteString
- Default value is "\""public java.lang.String getUploadQuoteString()
public HTMLFlow getUploadStatusMessages() throws java.lang.IllegalStateException
grid
.
For an overview of how to use and configure AutoChildren, see Using AutoChildren
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setWarnOnCancel(java.lang.Boolean warnOnCancel)
cancelConfirmMessage
warnOnCancel
- Default value is truepublic java.lang.Boolean getWarnOnCancel()
cancelConfirmMessage
public static void setDefaultProperties(BatchUploader batchUploaderProperties)
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.
batchUploaderProperties
- properties that should be used as new defaults when instances of this class are createdSGWTProperties
public void setUploadFormItems(FormItem... items) throws java.lang.IllegalStateException
setUploadFormFields(FormItem...)
.java.lang.IllegalStateException
public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.BatchUploaderLogicalStructure s)
LogicalStructure
interface,
which supports Eclipse's logical structure debugging facility.public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()
LogicalStructure
interface,
which supports Eclipse's logical structure debugging facility.getLogicalStructure
in interface LogicalStructure
getLogicalStructure
in class VStack