Class HtmlBasedComponent
- All Implemented Interfaces:
Serializable,Cloneable,Component,Scope,ComponentCtrl
- Direct Known Subclasses:
HtmlMacroComponent
Events:
onClick, onDoubleClick, onRightClick, onDrop,
onMouseOver, onMouseOut, onOK, onCancel, onCtrlKey and onSwipe.
It supports
- Since:
- 5.0.0 supports onOK event., 5.0.0 supports onCancel event., 5.0.0 supports onCtrlKey event., 6.5.0 supports onSwipe event for tablet.
- Author:
- tomyeh
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent
AbstractComponent.Children, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo -
Field Summary
FieldsFields inherited from interface org.zkoss.zk.ui.Component
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPEFields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_CLONED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd the CSS class(es) to a component's sclass property if the component doesn't have this cssClass.clone()Clones the component.booleanGet whether css flex is enabled or notvoidfocus()Sets focus to this element.Deprecated.Returns the client-side action (CSA).Returns the identifier of a draggable type of objects, or "false" if not draggable (never null nor empty).Returns the identifier, or a list of identifiers of a droppable type of objects, or "false" if not droppable (never null nor empty).Returns the client control for this component.Returns the height.getHflex()Returns horizontal flex hint of this component.getLeft()Returns the left position.getPropertyAccess(String prop) Returns the corresponding property access object from the given property name, if any.intReturns the number of milliseconds before rendering this component at the client.Returns the CSS class(es).Returns the skeleton placeholder mode, or null when skeleton mode is off.getStyle()Returns the CSS style.intReturns the tab order of this component.Returns null if not set.Returns the text as the tooltip.getTop()Returns the top position.getVflex()Return vertical flex hint of this component.getWidth()Returns the width.Returns the ZK Cascading Style class for this component.intReturns the Z index.intReturns the Z index.voidRemove all CSS classes from a component's sclass property.voidremoveSclass(String cssClass) Remove the CSS class(es) from a component's sclass property if the component has this cssClass.protected voidrenderProperties(ContentRenderer renderer) Renders the content of this component, excluding the enclosing tags and children.voidProcesses an AU request.voidDeprecated.As of release 10.0.0, usingsetClientAction(String)instead.voidSets the CSS class.voidsetClientAction(String action) Sets the client-side action (CSA).voidsetDraggable(String draggable) Sets "true" or "false" to denote whether a component is draggable, or an identifier of a draggable type of objects.voidsetDroppable(String droppable) Sets "true" or "false" to denote whether a component is droppable, or a list of identifiers of draggable types of objects that could be dropped to this component.voidsetFocus(boolean focus) Sets focus to this element.voidSets the height.protected voidsetHeight0(String height) Internal Use Only.protected voidsetHeightDirectly(String height) Sets the height directly without sending back the result (smart update) to the clientvoidSets horizontal flex hint of this component.protected voidInternal Use Only.protected voidsetHflexDirectly(String hflex) Sets the hflex directly without sending back the result (smart update) to the clientvoidSets the left position.protected voidsetLeftDirectly(String left) Sets the left directly without sending back the result (smart update) to the clientvoidsetRenderdefer(int ms) Sets the number of milliseconds before rendering this component at the client.voidSets the CSS class(es).voidsetSkeleton(String skeleton) Sets the skeleton placeholder mode.voidSets the CSS style.voidsetTabindex(int tabindex) Sets the tab order of this component.voidsetTabindex(Integer tabindex) Sets the tab order of this component.voidsetTooltiptext(String tooltiptext) Sets the text as the tooltip.voidSets the top position.protected voidsetTopDirectly(String top) Sets the top directly without sending back the result (smart update) to the clientvoidSets vertical flexibility hint of this component.protected voidInternal Use Only.protected voidsetVflexDirectly(String vflex) Sets the vflex directly without sending back the result (smart update) to the clientvoidSets the width.protected voidInternal Use Only.protected voidsetWidthDirectly(String width) Sets the width directly without sending back the result (smart update) to the clientvoidSets the ZK Cascading Style class for this component.voidsetZindex(int zIndex) Sets the Z index.voidsetZIndex(int zIndex) Sets the Z index.protected voidsetZIndexDirectly(int zIndex) Sets the z-index directly without sending back the result (smart update) to the clientMethods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getStubonlyDescendants, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setStubonlyDescendants, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
Field Details
-
_zclass
The ZK CSS class.
-
-
Constructor Details
-
HtmlBasedComponent
protected HtmlBasedComponent()
-
-
Method Details
-
getLeft
Returns the left position. -
setLeft
Sets the left position.If you want to specify
right, usesetStyle(java.lang.String)instead. For example,setStyle("right: 0px");- Parameters:
left- the left position. Remember to specifypx,ptor%.
-
getTop
Returns the top position. -
setTop
Sets the top position.If you want to specify
bottom, usesetStyle(java.lang.String)instead. For example,setStyle("bottom: 0px");- Parameters:
top- the top position. Remember to specifypx,ptor%.
-
getZIndex
public int getZIndex()Returns the Z index.Default: -1 (means system default;
-
setZIndex
public void setZIndex(int zIndex) Sets the Z index. -
getZindex
public int getZindex()Returns the Z index. It is the same asgetZIndex().- Since:
- 3.5.2
-
setZindex
public void setZindex(int zIndex) Sets the Z index. It is the same assetZIndex(int).- Since:
- 3.5.2
-
getHeight
Returns the height. If null, the best fit is used.Default: null.
-
setHeight
Sets the height. If null, the best fit is used. -
setHeight0
Internal Use Only. -
getWidth
Returns the width. If null, the best fit is used.Default: null.
-
setWidth
Sets the width. If null, the best fit is used. -
setWidth0
Internal Use Only. -
setWidthDirectly
Sets the width directly without sending back the result (smart update) to the client- Since:
- 5.0.4
-
setHeightDirectly
Sets the height directly without sending back the result (smart update) to the client- Since:
- 5.0.4
-
setLeftDirectly
Sets the left directly without sending back the result (smart update) to the client- Since:
- 5.0.4
-
setTopDirectly
Sets the top directly without sending back the result (smart update) to the client- Since:
- 5.0.4
-
setZIndexDirectly
protected void setZIndexDirectly(int zIndex) Sets the z-index directly without sending back the result (smart update) to the client- Since:
- 5.0.4
-
setHflexDirectly
Sets the hflex directly without sending back the result (smart update) to the client- Since:
- 5.0.6
-
setVflexDirectly
Sets the vflex directly without sending back the result (smart update) to the client- Since:
- 8.0.1
-
getTooltiptext
Returns the text as the tooltip.Default: null.
-
setTooltiptext
Sets the text as the tooltip. -
getZclass
Returns the ZK Cascading Style class for this component. It usually depends on the implementation of the mold (AbstractComponent.getMold()).Default: null (the default value depends on element).
setZclass(java.lang.String)) will completely replace the default style of a component. In other words, the default style of a component is associated with the default value ofgetZclass(). Once it is changed, the default style won't be applied at all. If you want to perform small adjustments, usesetSclass(java.lang.String)instead.- Since:
- 3.5.1
- See Also:
-
setZclass
Sets the ZK Cascading Style class for this component. It usually depends on the implementation of the mold (AbstractComponent.getMold()).- Parameters:
zclass- the style class used to apply to the whole widget.- Since:
- 3.5.0
- See Also:
-
getSclass
Returns the CSS class(es).Default: null.
The default styles of ZK components doesn't depend on the value of
getSclass(). Rather,setSclass(java.lang.String)is provided to perform small adjustment, e.g., only changing the font size. In other words, the default style is still applied if you change the value ofgetSclass(), unless you override it. To replace the default style completely, usesetZclass(java.lang.String)instead.- See Also:
-
setSclass
Sets the CSS class(es).- See Also:
-
setClass
Sets the CSS class. This method is a bit confused with Java's class, but we provide it for XUL compatibility. The same assetSclass(java.lang.String). -
addSclass
Add the CSS class(es) to a component's sclass property if the component doesn't have this cssClass.- Parameters:
cssClass- One or more space-separated CSS className to be added to the component's sclass property.- Since:
- 8.6.1
-
removeSclass
Remove the CSS class(es) from a component's sclass property if the component has this cssClass. If the component doesn't have the CSS class sclass, do nothing. If no class names are specified in the parameter, all classes will be removed.- Parameters:
cssClass- One or more space-separated CSS className to be removed from a component's sclass property.- Since:
- 8.6.1
-
removeSclass
public void removeSclass()Remove all CSS classes from a component's sclass property.- Since:
- 8.6.1
-
getStyle
Returns the CSS style.Default: null.
-
setStyle
Sets the CSS style. -
setDraggable
Sets "true" or "false" to denote whether a component is draggable, or an identifier of a draggable type of objects.The simplest way to make a component draggable is to set this attribute to true. To disable it, set this to false.
If there are several types of draggable objects, you could assign an identifier for each type of draggable object. The identifier could be anything but empty.
- Parameters:
draggable- "false", "" or null to denote non-draggable; "true" for draggable with anonymous identifier; others for an identifier of draggable.
Notice that if the parent isDragControland draggable is null, then it means draggable.
-
getDraggable
Returns the identifier of a draggable type of objects, or "false" if not draggable (never null nor empty). -
setDroppable
Sets "true" or "false" to denote whether a component is droppable, or a list of identifiers of draggable types of objects that could be dropped to this component.The simplest way to make a component droppable is to set this attribute to true. To disable it, set this to false.
If there are several types of draggable objects and this component accepts only some of them, you could assign a list of identifiers that this component accepts, separated by comma. For example, if this component accepts dg1 and dg2, then assign "dg1, dg2" to this attribute.
- Parameters:
droppable- "false", null or "" to denote not-droppable; "true" for accepting any draggable types; a list of identifiers, separated by comma for identifiers of draggables this component accept (to be dropped in).
-
getDroppable
Returns the identifier, or a list of identifiers of a droppable type of objects, or "false" if not droppable (never null nor empty). -
focus
public void focus()Sets focus to this element. If an element does not accept focus, this method has no effect. -
setFocus
public void setFocus(boolean focus) Sets focus to this element. It is same asfocus(), but used to allow ZUML to set focus to particular component.<textbox focus="true"/>- Parameters:
focus- whether to set focus. If false, this method has no effect.- Since:
- 3.0.5
-
setVflex
Sets vertical flexibility hint of this component.Number flex indicates how this component's container distributes remaining empty space among its children vertically. Flexible component grow and shrink to fit their given space. Flexible components with larger flex values will be made larger than components with lower flex values, at the ratio determined by all flexible components. The actual flex value is not relevant unless there are other flexible components within the same container. Once the default sizes of components in a container are calculated, the remaining space in the container is divided among the flexible components, according to their flex ratios.
Specify a flex value of negative value, 0, or "false" has the same effect as leaving the flex attribute out entirely. Specify a flex value of "true" has the same effect as a flex value of 1.
Special flex hint, "min", indicates that the minimum space shall be given to this flexible component to enclose all of its children components. That is, the flexible component grow and shrink to fit its children components.
- Parameters:
flex- the vertical flex hint.- Since:
- 5.0.0
- See Also:
-
setVflex0
Internal Use Only. -
getVflex
Return vertical flex hint of this component.Default: null
- Returns:
- vertical flex hint of this component.
- Since:
- 5.0.0
- See Also:
-
setHflex
Sets horizontal flex hint of this component.Number flex indicates how this component's container distributes remaining empty space among its children horizontally. Flexible component grow and shrink to fit their given space. Flexible components with larger flex values will be made larger than components with lower flex values, at the ratio determined by all flexible components. The actual flex value is not relevant unless there are other flexible components within the same container. Once the default sizes of components in a container are calculated, the remaining space in the container is divided among the flexible components, according to their flex ratios.
Specify a flex value of negative value, 0, or "false" has the same effect as leaving the flex attribute out entirely. Specify a flex value of "true" has the same effect as a flex value of 1.
Special flex hint, "min", indicates that the minimum space shall be given to this flexible component to enclose all of its children components. That is, the flexible component grow and shrink to fit its children components.
- Parameters:
flex- horizontal flex hint of this component.- Since:
- 5.0.0
- See Also:
-
setHflex0
Internal Use Only. -
getHflex
Returns horizontal flex hint of this component.Default: null
- Returns:
- horizontal flex hint of this component.
- Since:
- 5.0.0
- See Also:
-
getRenderdefer
public int getRenderdefer()Returns the number of milliseconds before rendering this component at the client.Default: -1 (don't wait).
- Since:
- 5.0.2
-
setRenderdefer
public void setRenderdefer(int ms) Sets the number of milliseconds before rendering this component at the client.Default: -1 (don't wait).
This method is useful if you have a sophisticated page that takes long to render at a slow client. You can specify a non-negative value as the render-defer delay such that the other part of the UI can appear earlier. The styling of the render-deferred widget is controlled by a CSS class called
z-renderdefer.Notice that it has no effect if the component has been rendered at the client.
- Parameters:
ms- time to wait in milliseconds before rendering. Notice: 0 also implies deferring the rendering (just right after all others are rendered).- Since:
- 5.0.2
-
getAction
Deprecated.As of release 10.0.0, usingsetClientAction(String)instead.Returns the client-side action (CSA).Default: null (no CSA at all)
- Since:
- 5.0.6
-
getClientAction
Returns the client-side action (CSA).Default: null (no CSA at all)
- Since:
- 10.0.0
-
setAction
Deprecated.As of release 10.0.0, usingsetClientAction(String)instead.Sets the client-side action (CSA).Default: null (no CSA at all)
The format:
action1: action-effect1; action2: action-effect2
Currently, only two actions are
showandhide. They are called when the widget is becoming visible (show) and invisible (hide).The action effect (
action-effect1) is the name of a method defined in zk.eff.Actions, such asshow: slideDown; hide: slideUpYou could specify the effects as follows:
show: slideDown({duration:1000})Security Tips: the action is not encoded and it is OK to embed JavaScript, so, if you want to allow users to specify the action, you have to encode it.
Note for developers upgraded from ZK 3: CSA's format is different and limited. In additions, it is part of
HtmlBasedComponent.- Since:
- 5.0.6
-
setClientAction
Sets the client-side action (CSA).Default: null (no CSA at all)
The format:
action1: action-effect1; action2: action-effect2
Currently, only two actions are
showandhide. They are called when the widget is becoming visible (show) and invisible (hide).The action effect (
action-effect1) is the name of a method defined in zk.eff.Actions, such asshow: slideDown; hide: slideUpYou could specify the effects as follows:
show: slideDown({duration:1000})Security Tips: the action is not encoded and it is OK to embed JavaScript, so, if you want to allow users to specify the action, you have to encode it.
Note for developers upgraded from ZK 3: CSA's format is different and limited. In additions, it is part of
HtmlBasedComponent.- Since:
- 10.0.0
-
getTabindex
public int getTabindex()Returns the tab order of this component.Default: 0
-
getTabindexInteger
Returns null if not set.- Returns:
- the tab order of this component
- Since:
- 8.0.2
-
setTabindex
Sets the tab order of this component.- Throws:
WrongValueException
-
setTabindex
Sets the tab order of this component. Removes the tabindex attribute if it's set to null.- Parameters:
tabindex-
-
getSkeleton
Returns the skeleton placeholder mode, or null when skeleton mode is off.Default: null.
- Since:
- 11.0.0
-
setSkeleton
Sets the skeleton placeholder mode. When non-null, the component is rendered as a muted, animated placeholder block of the given shape until skeleton mode is cleared.The animated placeholder is drawn by ZK PE (zkex); on CE the value is stored and sent to the client, but no placeholder is rendered.
- Parameters:
skeleton- one of "rect", "circle", "text" (case-sensitive); null or an empty string disables skeleton mode.- Throws:
WrongValueException- Since:
- 11.0.0
-
evalCSSFlex
public boolean evalCSSFlex()Get whether css flex is enabled or not- Returns:
- css flex is enabled
-
renderProperties
Renders the content of this component, excluding the enclosing tags and children.- Overrides:
renderPropertiesin classAbstractComponent- Throws:
IOException- Since:
- 5.0.0
-
getPropertyAccess
Description copied from interface:ComponentCtrlReturns the corresponding property access object from the given property name, if any.- Specified by:
getPropertyAccessin interfaceComponentCtrl- Overrides:
getPropertyAccessin classAbstractComponent- Parameters:
prop- the name of the property- Returns:
- null it means not to support for the property name.
-
service
Processes an AU request.Default: it handles onClick, onDoubleClick, onRightClick onMove, onSize, onZIndex.
- Specified by:
servicein interfaceComponentCtrl- Overrides:
servicein classAbstractComponenteverError- whether any error ever occurred before processing this request.- Since:
- 5.0.0
- See Also:
-
getExtraCtrl
Returns the client control for this component. It is used only by component developers.Default: creates an instance of
HtmlBasedComponent.ExtraCtrl.- Specified by:
getExtraCtrlin interfaceComponentCtrl- Overrides:
getExtraCtrlin classAbstractComponent- Returns:
- null if no special handling required. If the component
requires some special controls, it could return an object that
implements one or several interfaces in the org.zkoss.zk.ui.ext.render
package.
For example,
Cropper. - See Also:
-
clone
Description copied from interface:ComponentClones the component. All of its children and descendants are cloned. Also, ID are preserved.- Specified by:
clonein interfaceComponent- Overrides:
clonein classAbstractComponent- Returns:
- the new component. Notice that it doesn't belong to any page, nor desktop. It doesn't have a parent, either.
-
setClientAction(String)instead.