Class HTMLFlow
- All Implemented Interfaces:
HasAttachHandlers
,HasHandlers
,EventListener
,HasVisibility
,IsWidget
,LogicalStructure
,HasClearHandlers
,HasClickHandlers
,HasContentLoadedHandlers
,HasDoubleClickHandlers
,HasDragMoveHandlers
,HasDragRepositionMoveHandlers
,HasDragRepositionStartHandlers
,HasDragRepositionStopHandlers
,HasDragResizeMoveHandlers
,HasDragResizeStartHandlers
,HasDragResizeStopHandlers
,HasDragStartHandlers
,HasDragStopHandlers
,HasDropHandlers
,HasDropMoveHandlers
,HasDropOutHandlers
,HasDropOverHandlers
,HasFocusChangedHandlers
,HasHoverHandlers
,HasHoverHiddenHandlers
,HasKeyDownHandlers
,HasKeyPressHandlers
,HasMouseDownHandlers
,HasMouseMoveHandlers
,HasMouseOutHandlers
,HasMouseOverHandlers
,HasMouseStillDownHandlers
,HasMouseUpHandlers
,HasMouseWheelHandlers
,HasMovedHandlers
,HasParentMovedHandlers
,HasResizedHandlers
,HasRightMouseDownHandlers
,HasRuleContextChangedHandlers
,HasScrolledHandlers
,HasShowContextMenuHandlers
,HasVisibilityChangedHandlers
- Direct Known Subclasses:
HTMLPane
HTML
content can be specified directly via contents
, or loaded 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.
HTMLFlows are typically used to render snippets of HTML directly in
the document rather than holding a complete HTML page, as the component can only size to fit HTML content it renders
directly into the DOM. If you are looking to display a complete HTML page, you will need to modify the default Overflow
and defaultHeight
, or
use the HTMLPane
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
.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
-
Field Summary
Fields inherited from class com.smartgwt.client.widgets.BaseWidget
config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionAdd a contentLoaded handler.static void
changeAutoChildDefaults
(String autoChildName, Canvas defaults) Changes the defaults for Canvas AutoChildren namedautoChildName
.static void
changeAutoChildDefaults
(String autoChildName, FormItem defaults) Changes the defaults for FormItem AutoChildren namedautoChildName
.protected 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.By default an HTMLFlow will explicitly prevent browser caching.If this component is passed a URL with a protocol that differs from the current page, should it be automatically changed to match the page?boolean
IfContentsType
is not explicitly specified, should it be automatically derived?Text selection for copy and paste is enabled by default in the HTMLFlow class.If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.String of HTML contents for this component - may be a fragment of HTML to display or a complete HTML page.ThecontentsType
attribute governs whether the contents of this htmlFlow are a fragment of HTML to inserted directly into the DOM, or a complete HTML page to be displayed in an IFRAME.If specified the HTMLFlow will load its contents from this URL instead of displayingthis.contents
.int
HTMLFlow defaultHeight is set to1
which, together withoverflow:"visible"
causes the HTMLFlow to size to its content HTML.int
For custom components, establishes a default width for the component.Dynamic string of HTML contents for this component.IfevalScriptBlocks
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.Selects the HTTP method that will be used when fetching content.When usingcontentsType
ContentsType.PAGE
, sets the <iframe>sandbox
attribute to the provided value.HTML to show while content is being fetched, active only if thecontentsURL
property has been set.Getter implementing theLogicalStructure
interface, which supports Eclipse's logical structure debugging facility.static HTMLFlow
getOrCreateRef
(JavaScriptObject jsObj) HTMLFlows areoverflow:"visible"
by default, allowing them to fit their HTML content.When thisHTMLFlow
is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed to all content on the screen becoming selected.String[]
List of tags used to determine whether the HTML contents of an HTMLFlow should be rendered withcontentsType:"page"
.boolean
Can this component have itscontents
specified as a complete standalone HTML page to be rendered into an embedded IFRAME?boolean
isPageHTML
(String html) Determines whether the html string passed in is source for a standalone HTML page as opposed to an HTML fragment to be added to the DOM.Returns true if this htmlFlow is currently loading content from the server.
Note: Does not apply to htmlFlows withcontentsType
set to"page"
setAllowCaching
(Boolean allowCaching) By default an HTMLFlow will explicitly prevent browser caching.setAutoChangeProtocol
(Boolean autoChangeProtocol) If this component is passed a URL with a protocol that differs from the current page, should it be automatically changed to match the page?setAutoDeriveContentsType
(boolean autoDeriveContentsType) IfContentsType
is not explicitly specified, should it be automatically derived?setCanSelectText
(Boolean canSelectText) Text selection for copy and paste is enabled by default in the HTMLFlow class.setCaptureSCComponents
(Boolean captureSCComponents) If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.setContents
(String contents) String of HTML contents for this component - may be a fragment of HTML to display or a complete HTML page.setContentsType
(ContentsType contentsType) ThecontentsType
attribute governs whether the contents of this htmlFlow are a fragment of HTML to inserted directly into the DOM, or a complete HTML page to be displayed in an IFRAME.setContentsURL
(String contentsURL) If specified the HTMLFlow will load its contents from this URL instead of displayingthis.contents
.setContentsURLParams
(Map contentsURLParams) Parameters to be sent to the contentsURL when fetching content.setDefaultHeight
(int defaultHeight) HTMLFlow defaultHeight is set to1
which, together withoverflow:"visible"
causes the HTMLFlow to size to its content HTML.static void
setDefaultProperties
(HTMLFlow hTMLFlowProperties) Class level method to set the default properties of this class.setDefaultWidth
(int defaultWidth) For custom components, establishes a default width for the component.setDynamicContents
(Boolean dynamicContents) Dynamic string of HTML contents for this component.setEvalScriptBlocks
(Boolean evalScriptBlocks) IfevalScriptBlocks
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.setHttpMethod
(SendMethod httpMethod) Selects the HTTP method that will be used when fetching content.setIframeSandbox
(String iframeSandbox) When usingcontentsType
ContentsType.PAGE
, sets the <iframe>sandbox
attribute to the provided value.setLoadingMessage
(String loadingMessage) HTML to show while content is being fetched, active only if thecontentsURL
property has been set.Setter implementing theLogicalStructure
interface, which supports Eclipse's logical structure debugging facility.setOverflow
(Overflow overflow) HTMLFlows areoverflow:"visible"
by default, allowing them to fit their HTML content.setSelectContentOnSelectAll
(Boolean selectContentOnSelectAll) When thisHTMLFlow
is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed to all content on the screen becoming selected.setStructuralHTMLTags
(String... structuralHTMLTags) List of tags used to determine whether the HTML contents of an HTMLFlow should be rendered withcontentsType:"page"
.setSupportsContentsAsPage
(boolean supportsContentsAsPage) Can this component have itscontents
specified as a complete standalone HTML page to be rendered into an embedded IFRAME?void
transformHTML
(String html) Override to modify the loaded HTML before it is rendered.Methods inherited from class com.smartgwt.client.widgets.Canvas
addChild, addChild, addChild, addChild, addChild, addClearHandler, 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, addRuleContextChangedHandler, addScrolledHandler, addShowContextMenuHandler, addSnapAlignCandidate, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateHide, 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, animateShow, asSGWTComponent, blur, bringToFront, clear, clearExplicitTabIndex, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsEventTarget, containsFocus, containsPoint, containsPoint, dataContextChanged, deparent, depeer, disable, enable, encloses, focus, focusAfterGroup, focusAtEnd, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAdaptiveHeightPriority, getAdaptiveWidthPriority, getAlwaysManageFocusNavigation, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideEffect, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeLayoutMode, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaHandleID, getAriaRole, getAriaStateDefaults, getAutoMaskComponents, getAutoParent, getAutoPopulateData, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBorderRadius, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanAdaptHeight, getCanAdaptWidth, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getChildTabPosition, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContextMenu, getCorrectZoomOverflow, getCursor, getDataContext, getDataPath, getDefiningProperty, getDefiningPropertyName, getDefiningPropertyNameOptions, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragMaxHeight, getDragMaxWidth, getDragMinHeight, getDragMinWidth, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragTargetAsString, getDragType, getDropTarget, getDropTargetAsString, getDropTypes, getDropTypesAsString, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getEditProxyConstructor, getElement, getElement, getEnableWhen, getEndLine, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFloatingScrollbars, getFormItemAutoChild, getForwardSVGeventsToObject, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupPadding, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverAutoFitMaxWidth, getHoverAutoFitMaxWidthAsString, getHoverAutoFitWidth, getHoverComponent, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverPersist, getHoverScreen, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlElementAsString, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsRuleScope, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeaveGroupLabelSpace, getLeavePageSpace, getLeft, getLeftAsString, getLocalId, getLocateByIDOnly, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getLocatorName, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMatchElementHeight, getMatchElementWidth, getMaxHeight, getMaxWidth, getMaxZoomOverflowError, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getName, getNativeAutoHideScrollbars, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPaletteDefaults, getPanelContainer, getParentCanvas, getParentElement, getPeers, getPendingMarkerStyle, getPendingMarkerVisible, getPercentBox, getPercentSource, getPersistentMatchElement, getPointerSettings, getPointerTarget, getPointerTargetAsString, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrintStyleName, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getReceiveScrollbarEvents, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getRuleContext, getRuleContext, getRuleScope, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowColor, getShadowDepth, getShadowHOffset, getShadowImage, getShadowOffset, getShadowSoftness, getShadowSpread, getShadowVOffset, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowPointer, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSizeMayChangeOnRedraw, getSkinImgDir, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapGridLineProperties, getSnapGridStyle, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStartLine, getStyleName, getTabIndex, getTestDataContext, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUISummary, getUpdateTabPositionOnDraw, getUpdateTabPositionOnReparent, getUseBackMask, getUseCSSShadow, getUseDragMask, getUseImageForSVG, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getValuesManagerAsString, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWhen, getVisibleWidth, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getWorkflows, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, initComplete, intersects, isDirty, isDisabled, 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, print, print, print, print, printComponents, provideRuleContext, provideRuleContext, redraw, redraw, registerFontScaledPaddingStyles, removeChild, removeChild, removePeer, removePeer, removeRuleContext, removeSnapAlignCandidate, resizeAutoChildAttributes, resizeBy, resizeControls, resizeControlsTo, resizeFonts, resizeFonts, resizeFonts, resizeFontsTo, resizeIcons, resizePadding, resizePadding, resizeTo, resizeTo, revealChild, revealChild, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAdaptHeightByCustomizer, setAdaptiveHeightPriority, setAdaptiveWidthPriority, setAdaptWidthByCustomizer, setAlign, setAllowExternalFilters, setAlwaysManageFocusNavigation, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideEffect, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeLayoutMode, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoHeight, setAutoMaskComponents, setAutoParent, setAutoPopulateData, setAutoResizeAutoChildAttributes, setAutoResizeIcons, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBorderRadius, setBottom, setCanAcceptDrop, setCanAdaptHeight, setCanAdaptWidth, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContextMenu, setCorrectZoomOverflow, setCursor, setDataContext, setDataPath, setDefaultPageSpace, setDefaultProperties, setDefaultShowCustomScrollbars, setDefiningProperty, setDefiningPropertyNameOptions, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragMaxHeight, setDragMaxWidth, setDragMinHeight, setDragMinWidth, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragTarget, setDragType, setDropTarget, setDropTarget, setDropTypes, setDropTypes, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setEditProxyConstructor, setElement, setEnableWhen, setEndLine, setExtraSpace, setFacetId, setFloatingScrollbars, setForwardSVGeventsToObject, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupPadding, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverAutoFitMaxWidth, setHoverAutoFitMaxWidth, setHoverAutoFitWidth, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverPersist, setHoverScreen, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsRuleScope, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeaveGroupLabelSpace, setLeavePageSpace, setLeft, setLeft, setLocateByIDOnly, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLocatorName, setLocatorParent, setLocatorParent, setLogicalStructure, setMargin, setMatchElement, setMatchElementHeight, setMatchElementWidth, setMaxHeight, setMaxWidth, setMaxZoomOverflowError, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setName, setNativeAutoHideScrollbars, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setPadding, setPageLeft, setPageTop, setPanelContainer, setParentCanvas, setParentElement, setPeers, setPendingMarkerStyle, setPendingMarkerVisible, setPercentBox, setPercentSource, setPersistentMatchElement, setPointerSettings, setPointerTarget, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrintStyleName, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setReceiveScrollbarEvents, setRect, setRect, setRedrawOnResize, setRelativeTabPosition, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setRuleScope, setScrollbarConstructor, setScrollbarSize, setShadowColor, setShadowDepth, setShadowHOffset, setShadowImage, setShadowOffset, setShadowSoftness, setShadowSpread, setShadowVOffset, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowPointer, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSizeMayChangeOnRedraw, setSkinImgDir, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapGridLineProperties, setSnapGridStyle, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStartLine, setStyleName, setTabIndex, setTestDataContext, setTitle, setTooltip, setTop, setTop, setUpdateTabPositionOnDraw, setUpdateTabPositionOnReparent, setUseBackMask, setUseCSSShadow, setUseDragMask, setUseImageForSVG, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setValuesManager, setVisibility, setVisible, setVisibleWhen, setWidth, setWidth, setWidth, setWidth100, setWorkflows, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPendingMarker, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, startDebuggingOverflow, stopDebuggingOverflow, updateChildTabPosition, updateChildTabPositions, updateEditNode, updateHover, updateHover, updateShadow, updateTabPositionForDraw, visibleAtPoint, willAcceptDrop
Methods inherited from class com.smartgwt.client.widgets.BaseWidget
addDrawHandler, addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, clearDynamicProperty, completeCreation, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hasDynamicProperty, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, 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, setDefaultProperties, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
-
Constructor Details
-
HTMLFlow
public HTMLFlow() -
HTMLFlow
-
HTMLFlow
-
-
Method Details
-
getOrCreateRef
-
changeAutoChildDefaults
Changes the defaults for Canvas AutoChildren namedautoChildName
.- 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, seeSGWTProperties
.- See Also:
-
changeAutoChildDefaults
Changes the defaults for FormItem AutoChildren namedautoChildName
.- 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, seeSGWTProperties
.- See Also:
-
create
-
setAllowCaching
By default an HTMLFlow will explicitly prevent browser caching.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.
- Parameters:
allowCaching
- New allowCaching value. Default value is false- Returns:
HTMLFlow
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getAllowCaching
By default an HTMLFlow will explicitly prevent browser caching.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.
- Returns:
- Current allowCaching value. Default value is false
-
setAutoChangeProtocol
If this component is passed a URL with a protocol that differs from the current page, should it be automatically changed to match the page?- Parameters:
autoChangeProtocol
- New autoChangeProtocol value. Default value is true- Returns:
HTMLFlow
instance, for chaining setter calls
-
getAutoChangeProtocol
If this component is passed a URL with a protocol that differs from the current page, should it be automatically changed to match the page?- Returns:
- Current autoChangeProtocol value. Default value is true
-
setAutoDeriveContentsType
IfContentsType
is not explicitly specified, should it be automatically derived?If set to true, this component will use
isPageHTML()
to determine whether the contents are a standalone HTML page which should be rendered into an embedded IFRAME rather than written directly into the component's handle in the DOM.Note that this property will auto derive the appropriate contents type for both explicitly specified
contents
and for HTML loaded from thecontentsURL
See
ContentsType
for further information on displaying complete HTML pages in an IFRAME.- Parameters:
autoDeriveContentsType
- New autoDeriveContentsType value. Default value is false- Returns:
HTMLFlow
instance, for chaining setter calls
-
getAutoDeriveContentsType
public boolean getAutoDeriveContentsType()IfContentsType
is not explicitly specified, should it be automatically derived?If set to true, this component will use
isPageHTML()
to determine whether the contents are a standalone HTML page which should be rendered into an embedded IFRAME rather than written directly into the component's handle in the DOM.Note that this property will auto derive the appropriate contents type for both explicitly specified
contents
and for HTML loaded from thecontentsURL
See
ContentsType
for further information on displaying complete HTML pages in an IFRAME.- Returns:
- Current autoDeriveContentsType value. Default value is false
-
setCanSelectText
Text selection for copy and paste is enabled by default in the HTMLFlow class. Note that this setting has no impact ifContentsType
is set toContentsType.PAGE
. In this case contents is loaded from a target URL via an IFRAME element, and text selection behavior will be dictated by the loaded HTML.- Overrides:
setCanSelectText
in classCanvas
- Parameters:
canSelectText
- New canSelectText value. Default value is true- Returns:
HTMLFlow
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getCanSelectText
Text selection for copy and paste is enabled by default in the HTMLFlow class. Note that this setting has no impact ifContentsType
is set toContentsType.PAGE
. In this case contents is loaded from a target URL via an IFRAME element, and text selection behavior will be dictated by the loaded HTML.- Overrides:
getCanSelectText
in classCanvas
- Returns:
- Current canSelectText value. Default value is true
-
setCaptureSCComponents
If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.Only applies when contentsType is not "page".
- Parameters:
captureSCComponents
- New captureSCComponents value. Default value is true- Returns:
HTMLFlow
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getCaptureSCComponents
If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.Only applies when contentsType is not "page".
- Returns:
- Current captureSCComponents value. Default value is true
-
setContents
String of HTML contents for this component - may be a fragment of HTML to display or a complete HTML page. SeecontentsType
andsupportsContentsAsPage
.To load HTML contents from a URL, use
contentsURL
instead of this property. IfcontentsURL
is non-null,contents
will be ignored.
If this method is called after the component has been drawn/initialized: Changes the contents of a widget to newContents, an HTML string.- Overrides:
setContents
in classCanvas
- Parameters:
contents
- an HTML string to be set as the contents of this widget. Default value is " "- Returns:
HTMLFlow
instance, for chaining setter calls- See Also:
-
getContents
String of HTML contents for this component - may be a fragment of HTML to display or a complete HTML page. SeecontentsType
andsupportsContentsAsPage
.To load HTML contents from a URL, use
contentsURL
instead of this property. IfcontentsURL
is non-null,contents
will be ignored.- Overrides:
getContents
in classCanvas
- Returns:
- Current contents value. Default value is " "
- See Also:
-
setContentsType
ThecontentsType
attribute governs whether the contents of this htmlFlow are a fragment of HTML to inserted directly into the DOM, or a complete HTML page to be displayed in an IFRAME. If not explicitly specified,autoDeriveContentsType
may be set to automatically determine the appropriate contents type by analyzing the contents of the component. IfautoDeriveContentsType
is false andcontentsType
is not explicitly specified, contents will always be assumed to be"fragment"
.HTMLFlow contents may be
directly specified
or loaded from aspecified URL
. Note that ifsupportsContentsAsPage
is false and nocontentsURL
is specified, the contents string will always be assumed to be a fragment, even ifContentsType
is explicitly set to"page"
.Note that an HTMLFlow with contentsType:"page" should not be used to load and display a page containing a set of Smart GWT components into the application. To dynamically load Smart GWT components, use
ViewLoader
, never this mechanism (clickhere
for why).Scripting, CSS and scoping considerations for HTMLFlow contents
The following considerations apply to HTMLFlow contents, whether directly specified or loaded from a contentsURL.When contentsType is
"page"
, the HTML content will be rendered as a standalone document using an IFRAME. UseiframeSandbox
to specify IFRAME restrictions using the native sandbox attribute. Note that any script (if allowed) will be executed in the scope of the embedded IFRAME window, not the main application window. Similarly, other features like css stylesheets loaded by the HTMLFlow will apply to the IFRAME window only, and the IFRAME will not pick up css style from the main application by default.When contentsType is
"fragment"
, if script is encountered within the HTML fragment it will be evaluated in the scope of the main application ifevalScriptBlocks
is enabled. Developers should be aware that this evaluation occurs as part of the draw/redraw process, but unlike script embedded directly in a static HTML page, it is not processed by the browser while the elements are being written into the DOM anddocument.write(...)
can not be used to modify the HTML as it is being rendered. In this mode, since the contents is written directly into the DOM, standard css styling for the page will be applied.Note that if
autoDeriveContentsType
is enabled, the default set of recognizedstructuralHTMLTags
include<script>
, so HTML contents including script will display ascontentsType:"page"
. The list ofstructuralHTMLTags
can be modified to exclude script tags if desired.- Parameters:
contentsType
- New contentsType value. Default value is null- Returns:
HTMLFlow
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getContentsType
ThecontentsType
attribute governs whether the contents of this htmlFlow are a fragment of HTML to inserted directly into the DOM, or a complete HTML page to be displayed in an IFRAME. If not explicitly specified,autoDeriveContentsType
may be set to automatically determine the appropriate contents type by analyzing the contents of the component. IfautoDeriveContentsType
is false andcontentsType
is not explicitly specified, contents will always be assumed to be"fragment"
.HTMLFlow contents may be
directly specified
or loaded from aspecified URL
. Note that ifsupportsContentsAsPage
is false and nocontentsURL
is specified, the contents string will always be assumed to be a fragment, even ifContentsType
is explicitly set to"page"
.Note that an HTMLFlow with contentsType:"page" should not be used to load and display a page containing a set of Smart GWT components into the application. To dynamically load Smart GWT components, use
ViewLoader
, never this mechanism (clickhere
for why).Scripting, CSS and scoping considerations for HTMLFlow contents
The following considerations apply to HTMLFlow contents, whether directly specified or loaded from a contentsURL.When contentsType is
"page"
, the HTML content will be rendered as a standalone document using an IFRAME. UseiframeSandbox
to specify IFRAME restrictions using the native sandbox attribute. Note that any script (if allowed) will be executed in the scope of the embedded IFRAME window, not the main application window. Similarly, other features like css stylesheets loaded by the HTMLFlow will apply to the IFRAME window only, and the IFRAME will not pick up css style from the main application by default.When contentsType is
"fragment"
, if script is encountered within the HTML fragment it will be evaluated in the scope of the main application ifevalScriptBlocks
is enabled. Developers should be aware that this evaluation occurs as part of the draw/redraw process, but unlike script embedded directly in a static HTML page, it is not processed by the browser while the elements are being written into the DOM anddocument.write(...)
can not be used to modify the HTML as it is being rendered. In this mode, since the contents is written directly into the DOM, standard css styling for the page will be applied.Note that if
autoDeriveContentsType
is enabled, the default set of recognizedstructuralHTMLTags
include<script>
, so HTML contents including script will display ascontentsType:"page"
. The list ofstructuralHTMLTags
can be modified to exclude script tags if desired.- Returns:
- Current contentsType value. Default value is null
-
setContentsURL
If specified the HTMLFlow will load its contents from this URL instead of displayingthis.contents
. May be combined with parameters ifcontentsURLParams
were specified.The HTML retrieved from the target URL may be a complete standalone page to be rendered into its own scope using an IFRAME, or a fragment of HTML to display within this component's handle. See
ContentsType
andautoDeriveContentsType
for more information.Note that the link{loadingMessage} and
httpMethod
features only apply if contentsURL was set and contentsType was not explicitly set to"page"
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
. -
getContentsURL
If specified the HTMLFlow will load its contents from this URL instead of displayingthis.contents
. May be combined with parameters ifcontentsURLParams
were specified.The HTML retrieved from the target URL may be a complete standalone page to be rendered into its own scope using an IFRAME, or a fragment of HTML to display within this component's handle. See
ContentsType
andautoDeriveContentsType
for more information.Note that the link{loadingMessage} and
httpMethod
features only apply if contentsURL was set and contentsType was not explicitly set to"page"
- Returns:
- Current contentsURL value. Default value is null
- See Also:
-
setContentsURLParams
Parameters to be sent to the contentsURL when fetching content.- Parameters:
contentsURLParams
- New contentsURLParams value. Default value is null- Returns:
HTMLFlow
instance, for chaining setter calls
-
setDefaultHeight
HTMLFlow defaultHeight is set to1
which, together withoverflow:"visible"
causes the HTMLFlow to size to its content HTML.Note that if
ContentsType
is"page"
,overflow:"visible"
is not supported - for this usage an explicit larger height should be specified. You may want to use the preconfiguredHTMLPane
class instead of HTMLFlow for this usage.- Overrides:
setDefaultHeight
in classCanvas
- Parameters:
defaultHeight
- New defaultHeight value. Default value is 1- Returns:
HTMLFlow
instance, for chaining setter calls- See Also:
-
getDefaultHeight
public int getDefaultHeight()HTMLFlow defaultHeight is set to1
which, together withoverflow:"visible"
causes the HTMLFlow to size to its content HTML.Note that if
ContentsType
is"page"
,overflow:"visible"
is not supported - for this usage an explicit larger height should be specified. You may want to use the preconfiguredHTMLPane
class instead of HTMLFlow for this usage.- Overrides:
getDefaultHeight
in classCanvas
- Returns:
- Current defaultHeight value. Default value is 1
- See Also:
-
setDefaultWidth
For custom components, establishes a default width for the component.For a component that should potentially be sized automatically by a Layout, set this property rather than
width
directly, because Layouts regard a width setting as an explicit size that shouldn't be changed.- Overrides:
setDefaultWidth
in classCanvas
- Parameters:
defaultWidth
- New defaultWidth value. Default value is 200- Returns:
HTMLFlow
instance, for chaining setter calls- See Also:
-
getDefaultWidth
public int getDefaultWidth()For custom components, establishes a default width for the component.For a component that should potentially be sized automatically by a Layout, set this property rather than
width
directly, because Layouts regard a width setting as an explicit size that shouldn't be changed.- Overrides:
getDefaultWidth
in classCanvas
- Returns:
- Current defaultWidth value. Default value is 200
- See Also:
-
setDynamicContents
Dynamic string of HTML contents for this component. As withcontents
, this may be a fragment of HTML to display or a complete HTML page. SeecontentsType
andsupportsContentsAsPage
.See
Canvas.dynamicContents
for details on how dynamicContents are resolved to a final string value.Note : This is an advanced setting
- Overrides:
setDynamicContents
in classCanvas
- Parameters:
dynamicContents
- New dynamicContents value. Default value is false- Returns:
HTMLFlow
instance, for chaining setter calls- See Also:
-
Canvas.setContents(java.lang.String)
com.smartgwt.client.widgets.Canvas#setDynamicContentsVars
-
getDynamicContents
Dynamic string of HTML contents for this component. As withcontents
, this may be a fragment of HTML to display or a complete HTML page. SeecontentsType
andsupportsContentsAsPage
.See
Canvas.dynamicContents
for details on how dynamicContents are resolved to a final string value.- Overrides:
getDynamicContents
in classCanvas
- Returns:
- Current dynamicContents value. Default value is false
- See Also:
-
Canvas.getContents()
com.smartgwt.client.widgets.Canvas#getDynamicContentsVars
-
setEvalScriptBlocks
IfevalScriptBlocks
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 (viacontentsURL
) and disabled by default for content supplied viasetContents()
.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".
- Parameters:
evalScriptBlocks
- New evalScriptBlocks value. Default value is null- Returns:
HTMLFlow
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getEvalScriptBlocks
IfevalScriptBlocks
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 (viacontentsURL
) and disabled by default for content supplied viasetContents()
.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".
- Returns:
- Current evalScriptBlocks value. Default value is null
-
setHttpMethod
Selects the HTTP method that will be used when fetching content. Valid values are "POST" and "GET".- Parameters:
httpMethod
- New httpMethod value. Default value is "GET"- Returns:
HTMLFlow
instance, for chaining setter calls
-
getHttpMethod
Selects the HTTP method that will be used when fetching content. Valid values are "POST" and "GET".- Returns:
- Current httpMethod value. Default value is "GET"
-
setIframeSandbox
When usingcontentsType
ContentsType.PAGE
, sets the <iframe>sandbox
attribute to the provided value.Use the value "*ALL*" to cause the "sandbox" attribute to be output with no value (which causes full sandboxing).
See any HTML reference for other legal values of the "sandbox" attribute, which allow you to remove individual restrictions on the loaded content.
Note that Smart GWT simply applies the provided value to the generated <iframe> element and cannot fix bugs or differences in sandbox behavior across different browsers.
- Parameters:
iframeSandbox
- New iframeSandbox value. Default value is null- Returns:
HTMLFlow
instance, for chaining setter calls- Throws:
IllegalStateException
- this property cannot be changed after the component has been created
-
getIframeSandbox
When usingcontentsType
ContentsType.PAGE
, sets the <iframe>sandbox
attribute to the provided value.Use the value "*ALL*" to cause the "sandbox" attribute to be output with no value (which causes full sandboxing).
See any HTML reference for other legal values of the "sandbox" attribute, which allow you to remove individual restrictions on the loaded content.
Note that Smart GWT simply applies the provided value to the generated <iframe> element and cannot fix bugs or differences in sandbox behavior across different browsers.
- Returns:
- Current iframeSandbox value. Default value is null
-
setLoadingMessage
HTML to show while content is being fetched, active only if thecontentsURL
property has been set. Use"${loadingImage}"
to includea 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 whencontentsType
was explicitly specified as"page"
.- Parameters:
loadingMessage
- New loadingMessage value. Default value is " ${loadingImage}"- Returns:
HTMLFlow
instance, for chaining setter calls- See Also:
-
getLoadingMessage
HTML to show while content is being fetched, active only if thecontentsURL
property has been set. Use"${loadingImage}"
to includea 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 whencontentsType
was explicitly specified as"page"
.- Returns:
- Current loadingMessage value. Default value is " ${loadingImage}"
- See Also:
-
setOverflow
HTMLFlows areoverflow:"visible"
by default, allowing them to fit their HTML content.Note that if
ContentsType
is"page"
,overflow:"visible"
is not supported and the overflow will default to"auto"
instead- Overrides:
setOverflow
in classCanvas
- Parameters:
overflow
- New overflow value. Default value is Canvas.VISIBLE- Returns:
HTMLFlow
instance, for chaining setter calls- See Also:
-
getOverflow
HTMLFlows areoverflow:"visible"
by default, allowing them to fit their HTML content.Note that if
ContentsType
is"page"
,overflow:"visible"
is not supported and the overflow will default to"auto"
instead- Overrides:
getOverflow
in classCanvas
- Returns:
- Current overflow value. Default value is Canvas.VISIBLE
- See Also:
-
setSelectContentOnSelectAll
When thisHTMLFlow
is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed to all content on the screen becoming selected. ThisHTMLFlow
must befocusable
in order for this setting to have an effect.Not valid with
contentsType
ContentsType.PAGE
.- Parameters:
selectContentOnSelectAll
- New selectContentOnSelectAll value. Default value is null- Returns:
HTMLFlow
instance, for chaining setter calls- See Also:
-
getSelectContentOnSelectAll
When thisHTMLFlow
is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed to all content on the screen becoming selected. ThisHTMLFlow
must befocusable
in order for this setting to have an effect.Not valid with
contentsType
ContentsType.PAGE
.- Returns:
- Current selectContentOnSelectAll value. Default value is null
- See Also:
-
setStructuralHTMLTags
List of tags used to determine whether the HTML contents of an HTMLFlow should be rendered withcontentsType:"page"
.If an HTML string contains any of these tags not enclosed in either
<pre> ... </pre>
tags or comments (<!-- ... -->
),isPageHTML()
will return true.The default list of tags are as follows:
- "!doctype"
- "html"
- "head"
- "body"
- "style"
- "link"
- "script"
Note : This is an advanced setting
- Parameters:
structuralHTMLTags
- New structuralHTMLTags value. Default value is ["!doctype","html","head","body","style","link","script"]- Returns:
HTMLFlow
instance, for chaining setter calls
-
getStructuralHTMLTags
List of tags used to determine whether the HTML contents of an HTMLFlow should be rendered withcontentsType:"page"
.If an HTML string contains any of these tags not enclosed in either
<pre> ... </pre>
tags or comments (<!-- ... -->
),isPageHTML()
will return true.The default list of tags are as follows:
- "!doctype"
- "html"
- "head"
- "body"
- "style"
- "link"
- "script"
- Returns:
- Current structuralHTMLTags value. Default value is ["!doctype","html","head","body","style","link","script"]
-
setSupportsContentsAsPage
Can this component have itscontents
specified as a complete standalone HTML page to be rendered into an embedded IFRAME?If true, if
ContentsType
is specified as, orderived to be
"page", the contents will be rendered into an embedded IFRAME using thesrcdoc
attribute rather than written directly into the component handle.If false, contentsType has no effect unless contents are being loaded from an explicitly specified
contentsURL
- Parameters:
supportsContentsAsPage
- New supportsContentsAsPage value. Default value is true- Returns:
HTMLFlow
instance, for chaining setter calls
-
getSupportsContentsAsPage
public boolean getSupportsContentsAsPage()Can this component have itscontents
specified as a complete standalone HTML page to be rendered into an embedded IFRAME?If true, if
ContentsType
is specified as, orderived to be
"page", the contents will be rendered into an embedded IFRAME using thesrcdoc
attribute rather than written directly into the component handle.If false, contentsType has no effect unless contents are being loaded from an explicitly specified
contentsURL
- Returns:
- Current supportsContentsAsPage value. Default value is true
-
addContentLoadedHandler
Add a contentLoaded handler.StringMethod fired when content is completely loaded in this htmlFlow. Has no default implementation. Add a notification to fire custom logic when loading completes.
Notes:
- A call to
this.setContents()
will cause this notification to be fired when the contents have been set. IfHTMLFlow.evalScriptBlocks
is true, and the HTML passed intosetContents()
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 updated - When using
HTMLFlow.contentsURL
, this does not apply to htmlFlows withcontentsType
set to"page"
- Specified by:
addContentLoadedHandler
in interfaceHasContentLoadedHandlers
- Parameters:
handler
- the contentLoaded handler- Returns:
HandlerRegistration
used to remove this handler
- A call to
-
fetchRelatedData
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.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
.- Parameters:
record
- DataSource recordschema
- schema of the DataSource record, or DataBoundComponent already bound to that schema- See Also:
-
fetchRelatedData
-
fetchRelatedData
public 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.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
.- Parameters:
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 issued- See Also:
-
isPageHTML
Determines whether the html string passed in is source for a standalone HTML page as opposed to an HTML fragment to be added to the DOM.Returns true if any
structuralHTMLTags
are found in the HTML string, outside of HTML comment or<pre> ... </pre>
blocks.This method is used by
autoDeriveContentsType
to determine whether the widget contents should be rendered inside an embedded IFRAME.- Parameters:
html
- HTML string to test- Returns:
- true if the HTML string contains any structural HTML page elements.
-
loadingContent
Returns true if this htmlFlow is currently loading content from the server.
Note: Does not apply to htmlFlows withcontentsType
set to"page"
- Returns:
- whether content is currently being loaded
- See Also:
-
transformHTML
Override to modify the loaded HTML before it is rendered.- Parameters:
html
- the html as loaded from the server return (HTML) html to be rendered. SeeHTMLString
- See Also:
-
setDefaultProperties
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 set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. 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:
hTMLFlowProperties
- properties that should be used as new defaults when instances of this class are created- See Also:
-
setLogicalStructure
Setter implementing theLogicalStructure
interface, which supports Eclipse's logical structure debugging facility. -
getLogicalStructure
Getter implementing theLogicalStructure
interface, which supports Eclipse's logical structure debugging facility.- Specified by:
getLogicalStructure
in interfaceLogicalStructure
- Overrides:
getLogicalStructure
in classCanvas
-