public class HTMLFlow extends Canvas implements HasContentLoadedHandlers
HTML
content can be loaded and reloaded from a URL via the property contentsURL
. This method of loading is for
simple HTML content only; Smart GWT components should be loaded via the ViewLoader
class.
NOTE: Since the size of an HTMLFlow component is determined by its HTML contents, this component will draw at varying sizes if given content of varying size. When using HTMLFlow components within a Layout, consider what will happen if the HTMLFlow renders at various sizes. An HTMLFlow which can expand should be placed in a container where other components can render smaller, where the container is allowed to scroll, or where there is padding to expand into.
HTMLFlow is a DataBoundComponent
but only supports one method at this time,
fetchRelatedData
.
config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName
Constructor and Description |
---|
HTMLFlow() |
HTMLFlow(com.google.gwt.core.client.JavaScriptObject jsObj) |
HTMLFlow(java.lang.String contents) |
Modifier and Type | Method and Description |
---|---|
com.google.gwt.event.shared.HandlerRegistration |
addContentLoadedHandler(ContentLoadedHandler handler)
Add a contentLoaded handler.
|
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() |
void |
fetchRelatedData(ListGridRecord record,
Canvas schema)
Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema"
argument, call fetchData() to retrieve records in this data set that are related to the passed-in record.
|
void |
fetchRelatedData(ListGridRecord record,
Canvas schema,
DSCallback callback) |
void |
fetchRelatedData(ListGridRecord record,
Canvas schema,
DSCallback callback,
DSRequest requestProperties)
Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema"
argument, call fetchData() to retrieve records in this data set that are related to the passed-in record.
|
java.lang.Boolean |
getAllowCaching()
By default an HTMLFlow will explicitly prevent browser caching.
|
java.lang.Boolean |
getCaptureSCComponents()
If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.
|
java.lang.String |
getContents()
The contents of a canvas or label widget.
|
ContentsType |
getContentsType()
The default setting of
null or 'fragment' indicates that HTML loaded from contentsURL is assumed to be an HTML fragment rather than a
complete page. |
java.lang.String |
getContentsURL()
URL to load content from.
|
java.lang.Boolean |
getDynamicContents()
Dynamic contents allows the contents string to be treated as a simple, but powerful
template.
|
java.lang.Boolean |
getEvalScriptBlocks()
If
evalScriptBlocks is true, HTMLFlow will pre-process the loaded HTML in order to mimic how the HTML would
execute if it were loaded as an independent page or loaded via an IFRAME. |
SendMethod |
getHttpMethod()
Selects the HTTP method that will be used when fetching content.
|
java.lang.String |
getLoadingMessage()
HTML to show while content is being fetched, active only if the
contentsURL property has been set. |
com.smartgwt.logicalstructure.core.LogicalStructureObject |
getLogicalStructure()
Getter implementing the
LogicalStructure interface,
which supports Eclipse's logical structure debugging facility. |
static HTMLFlow |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
java.lang.Boolean |
getSelectContentOnSelectAll()
When this
HTMLFlow is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed
to all content on the screen becoming selected. |
java.lang.Boolean |
loadingContent()
Returns true if this htmlFlow is currently loading content from the server.
Note: Does not apply to htmlFlows with contentsType set to "page" |
void |
setAllowCaching(java.lang.Boolean allowCaching)
By default an HTMLFlow will explicitly prevent browser caching.
|
void |
setCaptureSCComponents(java.lang.Boolean captureSCComponents)
If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.
|
void |
setContents(java.lang.String contents)
The contents of a canvas or label widget.
|
void |
setContentsType(ContentsType contentsType)
The default setting of
null or 'fragment' indicates that HTML loaded from contentsURL is assumed to be an HTML fragment rather than a
complete page. |
void |
setContentsURL(java.lang.String contentsURL)
URL to load content from.
|
void |
setContentsURLParams(java.util.Map contentsURLParams)
Parameters to be sent to the contentsURL when fetching content.
|
static void |
setDefaultProperties(HTMLFlow hTMLFlowProperties)
Class level method to set the default properties of this class.
|
void |
setDynamicContents(java.lang.Boolean dynamicContents)
Dynamic contents allows the contents string to be treated as a simple, but powerful
template.
|
void |
setEvalScriptBlocks(java.lang.Boolean evalScriptBlocks)
If
evalScriptBlocks is true, HTMLFlow will pre-process the loaded HTML in order to mimic how the HTML would
execute if it were loaded as an independent page or loaded via an IFRAME. |
void |
setHttpMethod(SendMethod httpMethod)
Selects the HTTP method that will be used when fetching content.
|
void |
setLoadingMessage(java.lang.String loadingMessage)
HTML to show while content is being fetched, active only if the
contentsURL property has been set. |
com.smartgwt.logicalstructure.core.LogicalStructureObject |
setLogicalStructure(com.smartgwt.logicalstructure.widgets.HTMLFlowLogicalStructure s)
Setter implementing the
LogicalStructure interface,
which supports Eclipse's logical structure debugging facility. |
void |
setSelectContentOnSelectAll(java.lang.Boolean selectContentOnSelectAll)
When this
HTMLFlow is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed
to all content on the screen becoming selected. |
void |
transformHTML(java.lang.String html)
Override to modify the loaded HTML before it is rendered.
|
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, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getEditProxyConstructor, 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, getOverflow, 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, onInit, 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, setAlign, 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, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setEditProxyConstructor, 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, setOverflow, 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 HTMLFlow()
public HTMLFlow(com.google.gwt.core.client.JavaScriptObject jsObj)
public HTMLFlow(java.lang.String contents)
public static HTMLFlow 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 setAllowCaching(java.lang.Boolean allowCaching) throws java.lang.IllegalStateException
Set to true to allow browser caching if the browser would normally do so, in other words, if the HTTP headers returned with the response indicate that the response can be cached.
allowCaching
- Default value is falsejava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.Boolean getAllowCaching()
Set to true to allow browser caching if the browser would normally do so, in other words, if the HTTP headers returned with the response indicate that the response can be cached.
public void setCaptureSCComponents(java.lang.Boolean captureSCComponents) throws java.lang.IllegalStateException
Only applies when contentsType is not "page".
captureSCComponents
- Default value is truejava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.Boolean getCaptureSCComponents()
Only applies when contentsType is not "page".
public void setContents(java.lang.String contents)
setContents
in class Canvas
contents
- an HTML string to be set as the contents of this widget See HTMLString
. Default value is " "setDynamicContents(java.lang.Boolean)
public java.lang.String getContents()
getContents
in class Canvas
HTMLString
getDynamicContents()
public void setContentsType(ContentsType contentsType) throws java.lang.IllegalStateException
null
or 'fragment' indicates that HTML loaded from contentsURL
is assumed to be an HTML fragment rather than a
complete page. Set to "page" to load HTML as a standalone page, via an IFRAME. contentsType:"page"
should only be used for controlled HTML content, and only when such content cannot be delivered as an HTML fragment
instead (the default). To dynamically load Smart GWT components, use ViewLoader
,
never this mechanism (click here
for why).
Loading HTML content as a fragment is less resource intensive and avoids visual artifacts such as translucent media becoming opaque or disappearing when placed over an IFRAME.
Loading third-party, uncontrolled content could lead to the surrounding
page disappearing if a user clicks on an HTML link with target=_top
.
With
contentsType:"page"
, loadingMessage
is not
supported, and only "GET" is supported for httpMethod
.
Note that a native bug has been observed in Internet Explorer version 10 whereby if an HTMLFlow with
contentsType
set to "page"
loads a page containing an HTML <frameset>
, when
the HTMLFlow is hidden
, it can interfere with the rendering of other
elements on the page. Setting Canvas.shrinkElementOnHide
to true
will work around this behavior.
contentsType
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic ContentsType getContentsType()
null
or 'fragment' indicates that HTML loaded from contentsURL
is assumed to be an HTML fragment rather than a
complete page. Set to "page" to load HTML as a standalone page, via an IFRAME. contentsType:"page"
should only be used for controlled HTML content, and only when such content cannot be delivered as an HTML fragment
instead (the default). To dynamically load Smart GWT components, use ViewLoader
,
never this mechanism (click here
for why).
Loading HTML content as a fragment is less resource intensive and avoids visual artifacts such as translucent media becoming opaque or disappearing when placed over an IFRAME.
Loading third-party, uncontrolled content could lead to the surrounding
page disappearing if a user clicks on an HTML link with target=_top
.
With
contentsType:"page"
, loadingMessage
is not
supported, and only "GET" is supported for httpMethod
.
Note that a native bug has been observed in Internet Explorer version 10 whereby if an HTMLFlow with
contentsType
set to "page"
loads a page containing an HTML <frameset>
, when
the HTMLFlow is hidden
, it can interfere with the rendering of other
elements on the page. Setting Canvas.shrinkElementOnHide
to true
will work around this behavior.
public void setContentsURL(java.lang.String contentsURL)
If specified, this component will load HTML content from the specified URL when it is first drawn.
This feature relies on the XMLHttpRequest object which can be disabled by end-users in some supported
browsers. See PlatformDependencies
for more information.
If this method is called after the component has been drawn/initialized:
Change the URL this component loads content from. Triggers a fetch for content from the new URL.
Can also be called with no arguments to reload content from the existing contentsURL
.
This feature relies on the XMLHttpRequest object which can be disabled by end-users in some supported browsers. See PlatformDependencies
for more information.
contentsURL
- URL to retrieve contents from. Default value is nullpublic java.lang.String getContentsURL()
If specified, this component will load HTML content from the specified URL when it is first drawn.
This feature relies on the XMLHttpRequest object which can be disabled by end-users in some supported
browsers. See PlatformDependencies
for more information.
public void setContentsURLParams(java.util.Map contentsURLParams)
contentsURLParams
- Default value is nullpublic void setDynamicContents(java.lang.Boolean dynamicContents)
You can use this feature to build some simple custom components. For example, let's say you want to show the value of a Slider in a Canvas somewhere on the screen. You can do this by observing the valueChanged() method on the slider and calling setContents() on your canvas with the new string or you can set the contents of the canvas to something like:
"The slider value is ${sliderInstance.getValue()}."
Next you set dynamicContents: true on the canvas, observe valueChanged() on the slider and call canvas.markForRedraw() in that observation. This approach is cleaner than setContents() when the Canvas is aggregating several values or dynamic expressions. Like so:
Slider.create({ ID: "mySlider" }); Canvas.create({ ID: "myCanvas", dynamicContents: true, contents: "The slider value is ${mySlider.getValue()}." }); myCanvas.observe(mySlider, "valueChanged", "observer.markForRedraw()");You can embed an arbitrary number of dynamic expressions in the contents string. The search and replace is optimized for speed.
If an error occurs during the evaluation of one of the expressions, a warning is logged to the ISC Developer Console and the error string is embedded in place of the expected value in the Canvas.
The value of a function is its return value. The value of any variable is the same as that returned by its toString() representation.
Inside the evaluation contentext, this
points to the canvas instance that
has the dynamicContents string as its contents - in other words the canvas instance on
which the template is declared.
Note : This is an advanced setting
setDynamicContents
in class Canvas
dynamicContents
- Default value is falsesetContents(java.lang.String)
,
com.smartgwt.client.widgets.Canvas#setDynamicContentsVars
public java.lang.Boolean getDynamicContents()
You can use this feature to build some simple custom components. For example, let's say you want to show the value of a Slider in a Canvas somewhere on the screen. You can do this by observing the valueChanged() method on the slider and calling setContents() on your canvas with the new string or you can set the contents of the canvas to something like:
"The slider value is ${sliderInstance.getValue()}."
Next you set dynamicContents: true on the canvas, observe valueChanged() on the slider and call canvas.markForRedraw() in that observation. This approach is cleaner than setContents() when the Canvas is aggregating several values or dynamic expressions. Like so:
Slider.create({ ID: "mySlider" }); Canvas.create({ ID: "myCanvas", dynamicContents: true, contents: "The slider value is ${mySlider.getValue()}." }); myCanvas.observe(mySlider, "valueChanged", "observer.markForRedraw()");You can embed an arbitrary number of dynamic expressions in the contents string. The search and replace is optimized for speed.
If an error occurs during the evaluation of one of the expressions, a warning is logged to the ISC Developer Console and the error string is embedded in place of the expected value in the Canvas.
The value of a function is its return value. The value of any variable is the same as that returned by its toString() representation.
Inside the evaluation contentext, this
points to the canvas instance that
has the dynamicContents string as its contents - in other words the canvas instance on
which the template is declared.
getDynamicContents
in class Canvas
getContents()
,
com.smartgwt.client.widgets.Canvas#getDynamicContentsVars
public void setEvalScriptBlocks(java.lang.Boolean evalScriptBlocks) throws java.lang.IllegalStateException
evalScriptBlocks
is true, HTMLFlow will pre-process the loaded HTML in order to mimic how the HTML would
execute if it were loaded as an independent page or loaded via an IFRAME. This feature is intended to assist with migrating existing applications to Smart GWT.
evalScriptBlocks
is enabled by default when loading
remote content (via contentsURL
) and disabled by default for
content supplied via setContents()
.
Note that, if evalScriptBlocks is false, <SCRIPT> blocks will still be detected and disabled to avoid the inconsistent results across different browsers.
Only applies when contentsType is not "page".
evalScriptBlocks
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.Boolean getEvalScriptBlocks()
evalScriptBlocks
is true, HTMLFlow will pre-process the loaded HTML in order to mimic how the HTML would
execute if it were loaded as an independent page or loaded via an IFRAME. This feature is intended to assist with migrating existing applications to Smart GWT.
evalScriptBlocks
is enabled by default when loading
remote content (via contentsURL
) and disabled by default for
content supplied via setContents()
.
Note that, if evalScriptBlocks is false, <SCRIPT> blocks will still be detected and disabled to avoid the inconsistent results across different browsers.
Only applies when contentsType is not "page".
public void setHttpMethod(SendMethod httpMethod)
httpMethod
- Default value is "GET"public SendMethod getHttpMethod()
public void setLoadingMessage(java.lang.String loadingMessage)
contentsURL
property has been set. Use
"${loadingImage}"
to include a loading
image
. The loading message will show both during the initial load of content, and during reload if the contents are
reloaded or the contentsURL changed. For a first-time only loading message, initialize the contents
property instead.
Note: the loadingMessage
is never displayed when loading complete web pages rather
than HTML fragments (see contentsType
).
loadingMessage
- See HTMLString
. Default value is " ${loadingImage}"public java.lang.String getLoadingMessage()
contentsURL
property has been set. Use
"${loadingImage}"
to include a loading
image
. The loading message will show both during the initial load of content, and during reload if the contents are
reloaded or the contentsURL changed. For a first-time only loading message, initialize the contents
property instead.
Note: the loadingMessage
is never displayed when loading complete web pages rather
than HTML fragments (see contentsType
).
HTMLString
public void setSelectContentOnSelectAll(java.lang.Boolean selectContentOnSelectAll)
HTMLFlow
is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed
to all content on the screen becoming selected. This HTMLFlow
must be focusable
in order for this setting to have an effect. Not valid
with contentsType
ContentsType.PAGE
.
selectContentOnSelectAll
- Default value is nullpublic java.lang.Boolean getSelectContentOnSelectAll()
HTMLFlow
is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed
to all content on the screen becoming selected. This HTMLFlow
must be focusable
in order for this setting to have an effect. Not valid
with contentsType
ContentsType.PAGE
.
public com.google.gwt.event.shared.HandlerRegistration addContentLoadedHandler(ContentLoadedHandler handler)
StringMethod fired when content is completely loaded in this htmlFlow. Has no default implementation. May be observed or overridden as a notification type method to fire custom logic when loading completes.
Notes:
this.setContents()
will cause this notification to be fired
when the contents have been set. If HTMLFlow.evalScriptBlocks
is true, and the HTML passed into setContents()
contains any <script
src=... >
tags, this callback will be fired asynchronously once the scripts have been loaded from the server
and executed, as well as having the widget content updatedHTMLFlow.contentsURL
, this does not apply to htmlFlows with contentsType
set to "page"
addContentLoadedHandler
in interface HasContentLoadedHandlers
handler
- the contentLoaded handlerHandlerRegistration
used to remove this handlerpublic void fetchRelatedData(ListGridRecord record, Canvas schema)
Relationships between DataSources are declared via DataSourceField.foreignKey
.
For example, given two related DataSources "orders" and "orderItems", where we want to
fetch the "orderItems" that belong to a given "order". "orderItems" should declare a field that is a foreignKey
to the "orders" table (for example, it might be named
"orderId" with foreignKey="orders.id"). Then, to load the records related to a given "order", call fetchRelatedData()
on the component bound to "orderItems", pass the "orders" DataSource as the "schema" and pass a record from the "orders"
DataSource as the "record" argument.
Note: When you expect a large number of records to be returned it is not
recommended to display these in the DetailViewer as it doesn't have the same level of support for large datasets as the
ListGrid
.
record
- DataSource recordschema
- schema of the DataSource record, or DataBoundComponent already bound to that schemaDataBoundComponentMethods overview and related methods
public void fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback)
public void fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback, DSRequest requestProperties)
Relationships between DataSources are declared via DataSourceField.foreignKey
.
For example, given two related DataSources "orders" and "orderItems", where we want to
fetch the "orderItems" that belong to a given "order". "orderItems" should declare a field that is a foreignKey
to the "orders" table (for example, it might be named
"orderId" with foreignKey="orders.id"). Then, to load the records related to a given "order", call fetchRelatedData()
on the component bound to "orderItems", pass the "orders" DataSource as the "schema" and pass a record from the "orders"
DataSource as the "record" argument.
Note: When you expect a large number of records to be returned it is not
recommended to display these in the DetailViewer as it doesn't have the same level of support for large datasets as the
ListGrid
.
record
- DataSource recordschema
- schema of the DataSource record, or DataBoundComponent already bound to that schemacallback
- callback to invoke on completionrequestProperties
- additional properties to set on the DSRequest that will be issuedDataBoundComponentMethods overview and related methods
public java.lang.Boolean loadingContent()
contentsType
set to "page"
ContentLoadedEvent
public void transformHTML(java.lang.String html)
html
- the html as loaded from the server return (HTML) html to be renderedpublic static void setDefaultProperties(HTMLFlow hTMLFlowProperties)
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.
hTMLFlowProperties
- properties that should be used as new defaults when instances of this class are createdSGWTProperties
public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.HTMLFlowLogicalStructure 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 Canvas