Class Combobox

A combobox.

Non-XUL extension. It is used to replace XUL menulist. This class is more flexible than menulist, such as setAutocomplete setAutodrop.

Default Value

{@link getZclass}: z-combobox.

<p>Like {@link zul.db.Datebox},
the value of a read-only comobobox ({@link isReadonly}) can be changed
by dropping down the list and selecting an combo item
(though users cannot type anything in the input box).

See

Comboitem

Hierarchy (view full)

Constructors

Properties

Accessors

Methods

$afterCommand $binder $f $init $instanceof $n $o $s $service $super $supers afterInit appendChild bind bindMissingAncestors canActivate clear clearCache clearErrorMessage close detach fire fireOnChange fireX focus forcerender fromPageCoord get get$Class getAction getCaveNode getChildAt getChildIndex getCols getConstraint getContext getCssflex getCtrlKeys getDragNode getDraggable getDroppable getEmptySearchMessage getErrorMessage getErrorMesssage getErrorboxIconSclass getErrorboxSclass getHeight getHflex getIconSclass getId getInplaceCSS getInputAttributes getInputNode getLeft getMaxlength getMold getName getPage getPlaceholder getPopup getPopupWidth getRenderdefer getSclass getScrollLeft getScrollTop getSelectedItem getStyle getTabindex getText getTextNode getTooltip getTooltiptext getTop getTopWidget getType getValue getVflex getWidth getZIndex getZclass getZindex hide inRoundedMold insertBefore isAutocomplete isAutodrop isBinding isButtonVisible isCssflex isDisabled isFocus isHflex isInplace isInstant isInstantSelect isListen isMultiline isOpen isReadonly isRealElement isRealVisible isVflex isVisible listen onAfterSize onFloatUp onResponse onScroll onShow onSize open proxy redraw removeChild replaceHTML replaceWidget rerender scrollIntoView select set setAction setAutocomplete setAutodrop setButtonVisible setChildren setCols setConstraint setContext setCssflex setCtrlKeys setDisabled setDraggable setDroppable setEmptySearchMessage setErrorMessage setErrorboxIconSclass setErrorboxSclass setFocus setHeight setHflex setIconSclass setId setInplace setInputAttributes setInsertedText setInstant setInstantSelect setLeft setListener setListener0 setListeners setListeners0 setMaxlength setMold setName setOpen setOverride setOverrides setPlaceholder setPopup setPopupWidth setReadonly setRenderdefer setRepos setSclass setScrollLeft setScrollTop setStyle setTabindex setText setTooltip setTooltiptext setTop setTopmost setType setValue setVflex setVisible setWidth setZIndex setZclass setZindex set_value show smartUpdate toJSON unbind unlisten validateStrict zsync $ disableChildCallback enableChildCallback getClass getElementsById getElementsByName getOpenTooltip getWidgetByUuid isAssignableFrom isAutoId isInstance newInstance nextUuid register uuid

Constructors

Properties

$ZKBINDER$?: boolean
$ZKMATCHMEDIA$?: string[]
$button?: boolean
$inputWidget?: boolean
$oid: number = 0

The object ID. Each object has its own unique $oid. It is mainly used for debugging purpose.

Trick: you can test if a JavaScript object is a ZK object by examining this property, such as `if (o.$oid) alert('o is a ZK object');`

Notice: zk.Class extends from zk.Object (so a class also has $oid)

$weave?: object = undefined

The weave controller that is used by ZK Weaver. It is not null if it is created and controlled by ZK Weaver. In other words, it is called in the Design Mode if Widget.$weave is not null.

_afterComposed: boolean
_beforeAfterComposeCallbacks: CallableFunction[]
_disabledShadowAdjustment: boolean
autag?: string

The AU tag of this widget. The AU tag tag is used to tag the AU requests sent by the peer widget. For instance, if the AU tag is xxx,yyy and the desktop's request path (Desktop#requestPath) is /foo.zul, then the URL of the AU request will contain /_/foo.zul/xxx,yyy,.

Default Value

null

Since

6.0.0

bindLevel: number = -1

The bind level (integer).

The level in the widget tree after this widget is bound to a DOM tree (bind_). For example, a widget's bind level is one plus the parent widget's

It starts at 0 if it is the root of the widget tree (a desktop, zk.Desktop), then 1 if a child of the root widget, and son on. Notice that it is -1 if not bound.

It is mainly useful if you want to maintain a list that parent widgets is in front of (or after) child widgets. bind level.

blankPreserved?: boolean
className: string

The class name of the widget. For example, zk.Widget's class name is "zk.Widget", while zul.wnd.Window's "zul.wnd.Window".

Notice that it is available if a widget class is loaded by WPD loader (i.e., specified in zk.wpd). If you create a widget class dynamically, you have to invoke register to make this member available. On the other hand, zk.Object.$class is available for all objects extending from zk.Object.

See

widgetName

desktop?: Desktop

The desktop that this widget belongs to.

It is set when it is bound to the DOM tree.

Notice it is always non-null if bound to the DOM tree, while Widget.$n is always non-null if bound. For example, zul.utl.Timer.

It is readonly, and set automatically when bind_ is called.

doAfterProcessRerenderArgs: undefined | unknown[]
domExtraAttrs?: Record<string, string>
firstChild: undefined | Comboitem

The first child, or null if no child at all.

See

getChildAt

id?: string

The identifier of this widget, or null if not assigned.

It is the same as getId.

To change the value, use setId.

inServer: boolean = false

Whether this widget has a peer component.

It is set if a widget is created automatically to represent a component at the server. On the other hand, it is false if a widget is created by the client application (by calling, say, new zul.inp.Textox()).

lastChild: undefined | Comboitem

The last child, or null if no child at all.

See

getChildAt

nChildren: number = 0

The number of children (integer).

nextSibling?: Widget<HTMLElement>

The next sibling, or null if this widget is the last child.

offsetHeight?: any
offsetWidth?: any
parent?: Widget<HTMLElement>

The parent, or null if this widget has no parent.

previousSibling?: Widget<HTMLElement>

The previous sibling, or null if this widget is the first child.

prolog?: string
rawId: any
uuid: string = ''

The UUID. Don't change it if it is bound to the DOM tree, or inServer is true. Developers rarely need to modify it since it is generated automatically.

widgetName: string

The widget name of the widget. It is the same as this.className.substring(this.className.lastIndexOf('.') + 1).toLowerCase(). For example, if className is zul.wnd.Window, then widgetName is window.

Notice that className is unique while widgetName is not necessary unique.

See

className

Since

5.0.2

z$display?: string
z$rod?: boolean
z$rod0?: false
z_isDataHandlerBound: any
z_rod?: number | boolean
z_virnd?: boolean
$oid: any
$redraw: {} = ComboWidget.prototype.redraw_

Type declaration

    auDelay: number = 38

    The default delay before sending an AU request when fire is called (and the server has an ARAP event listener registered).

    Default Value

    38 (Unit: miliseconds).

    Since

    5.0.8

    molds: {
        default(out): void;
    }

    Type declaration

    • default:function
      • Parameters

        • out: string[]

        Returns void

    onChangingDelay: number = 350

    The delay for sending the onChanging event (unit: milliseconds). The onChanging event will be sent after the specified delay once the user pressed a keystroke (and changed the value).

    Default Value

    350

    Since

    5.0.1

    onChangingForced: boolean = true

    Whether to send at least one the onChanging event if it is listened and the content is ever changed.

    Default Value

    true

    Since

    5.0.1

    Accessors

    • get $class(): typeof ZKObject
    • The class that this object belongs to.

      Returns typeof ZKObject

    Methods

    • Parameters

      • command: string
      • Optional args: unknown[]

      Returns void

    • Returns undefined | Record<string, Widget<HTMLElement>>

      the map of all fellows of this widget.

      wgt.$f().main.setTitle("foo");
      

      Since

      5.0.2

    • Type Parameters

      Parameters

      • id: string

        the widget's ID (id)

      • Optional global: boolean

        whether to search all ID spaces of this desktop. If true, it first search its own ID space, and then the other Id spaces in this browser window (might have one or multiple desktops). If omitted, it won't search all ID spaces.

      Returns undefined | T

      the fellow (Widget) of the specified ID of the ID space that this widget belongs to. It returns undefined if not found.

    • The constructor.

      Parameters

      • Optional props: Record<string, unknown> | (() => void)

      Returns void

      Default Value

      it does nothing so the subclass needs not to copy back
      (also harmless to call back).

      See

      afterInit

      Deprecated

      as of 10.0 released. Using ES6 constructor instead.

    • Determines if this object is an instance of the class represented by the specified Class parameter. Example:

      if (obj.$instanceof(zul.wgt.Label, zul.wgt.Image)) {
      }

      Parameters

      • Rest ...klass: any[]

        the Class object to be checked. Any number of arguments can be specified.

      Returns boolean

      true if this object is an instance of the class

    • Returns undefined | HTMLInputElement

      the DOM element that this widget is bound to. It is null if it is not bound to the DOM tree, or it doesn't have the associated DOM node (for example, zul.utl.Timer).

      Notice that desktop is always non-null if it is bound to the DOM tree. In additions, this method is much faster than invoking jq() (see _global_.jq, since it caches the result (and clean up at the unbind_). ```ts var n = wgt.$n(); ```

      See

      #$n(String)

    • Type Parameters

      • T extends HTMLElement = HTMLElement

      Parameters

      • Optional subId: string

        the sub ID of the child element

      Returns undefined | T

      the child element of the DOM element(s) that this widget is bound to. This method assumes the ID of the child element the concatenation of uuid, -, and subId. For example,

      var cave = wgt.$n('cave'); //the same as jq('#' + wgt.uuid + '-' + 'cave')[0]
      

      Like Widget.$n, this method caches the result so the performance is much better than invoking jq() directly.

    • Type Parameters

      Returns undefined | T

      the owner of the ID space that this widget belongs to, or null if it doesn't belong to any ID space.

      Notice that, if this widget is an ID space owner, this method returns itself.

    • Parameters

      • Optional subclass: string

      Returns string

      the sub zclass name that cache for this widget. It returns the zclass if the subclass is empty or null, since it caches the result (and clean up at the setZclass).

      var subzcls = wgt.$s('hover'); // z-xxx-hover will be return
      

      See

      getZclass

      Since

      7.0.0

    • Invokes a method defined in the superclass with any number of arguments. It is like Function's call() that takes any number of arguments.

      Example: ```ts multiply: function (n) { return this.$super('multiply', n + 2); } ```

      Type Parameters

      • M extends "$init" | "$supers" | "_$ais" | "_$supers" | "_$proxies" | "_$super" | "_importantEvts" | "afterCreated_" | "afterInit" | "$class" | "get$Class" | "$oid" | "$instanceof" | "$super" | "proxy" | "desktop" | "fire" | "onFloatUp" | "onResponse" | "onScroll" | "onSize" | "onShow" | "$n" | "hide" | "_value" | "toJSON" | "$weave" | "isVisible" | "scrollIntoView" | "$n_" | "z$rod" | "_rodopen" | "z_virnd" | "$button" | "$inputWidget" | "_uplder" | "_autodisable_self" | "_uploading" | "offsetWidth" | "offsetHeight" | "blankPreserved" | "getInputNode" | "z_rod" | "_z$rd" | "z$display" | "prolog" | "_rodKid" | "_node" | "_nodeSolved" | "_rmAftAnm" | "_$evproxs" | "_fellows" | "_norenderdefer" | "_rerendering" | "domExtraAttrs" | "_flexListened" | "_cssFlexApplied" | "_beforeSizeHasScroll" | "doAfterProcessRerenderArgs" | "_vflex" | "_hflex" | "_flexFixed" | "_nvflex" | "_nhflex" | "_hflexsz" | "_vflexsz" | "_binding" | "rawId" | "_$service" | "childReplacing_" | "_userZIndex" | "_zIndex" | "z_isDataHandlerBound" | "_drag" | "_preWidth" | "_preHeight" | "_action" | "_tabindex" | "_draggable" | "_asaps" | "_lsns" | "_bklsns" | "_subnodes" | "_subzcls" | "_sclass" | "_zclass" | "_width" | "_height" | "_left" | "_top" | "_tooltiptext" | "_droppable" | "_dropTypes" | "_fitSizeListened" | "_focus" | "_visible" | "_mold" | "_style" | "_renderdefer" | "_cssflex" | "actions_" | "nChildren" | "bindLevel" | "className" | "widgetName" | "autag" | "_floating" | "firstChild" | "lastChild" | "parent" | "nextSibling" | "previousSibling" | "id" | "inServer" | "uuid" | "insertingBefore_" | "effects_" | "setMold" | "getMold" | "setStyle" | "getStyle" | "setSclass" | "getSclass" | "setZclass" | "getZclass" | "setWidth" | "getWidth" | "setHeight" | "getHeight" | "setLeft" | "getLeft" | "setTop" | "getTop" | "setTooltiptext" | "getTooltiptext" | "setDroppable" | "getDroppable" | "setVflex" | "getVflex" | "isVflex" | "setHflex" | "getHflex" | "isHflex" | "getRenderdefer" | "setRenderdefer" | "getAction" | "setAction" | "getTabindex" | "setTabindex" | "getCssflex" | "isCssflex" | "setCssflex" | "setHflex_" | "setVflex_" | "afterAnima_" | "setDraggable" | "getDraggable" | "$o" | "$f" | "getId" | "setId" | "set" | "_setServerListener" | "get" | "getChildAt" | "getChildIndex" | "setChildren" | "appendChild" | "shallChildROD_" | "insertBefore" | "beforeChildRemoved_" | "triggerBeforeHostChildRemoved_" | "removeChild" | "detach" | "clear" | "replaceWidget" | "replaceCavedChildren_" | "beforeParentChanged_" | "triggerBeforeHostParentChanged_" | "afterParentChanged_" | "isRealVisible" | "setVisible" | "isFocus" | "setFocus" | "zsync" | "show" | "setDomVisible_" | "beforeChildAdded_" | "triggerBeforeHostChildAdded_" | "onChildAdded_" | "triggerAfterHostChildAdded_" | "onChildRemoved_" | "triggerAfterHostChildRemoved_" | "onChildReplaced_" | "onChildVisible_" | "onChildRenderDefer_" | "setTopmost" | "setFloatZIndex_" | "getFloatZIndex_" | "getTopWidget" | "isFloating_" | "setFloating_" | "getZIndex" | "getZindex" | "setZIndex" | "setZindex" | "getScrollTop" | "getScrollLeft" | "setScrollTop" | "setScrollLeft" | "redraw" | "deferRedraw_" | "deferRedrawHTML_" | "forcerender" | "updateDomClass_" | "updateDomStyle_" | "_domTextStyle" | "getTextNode" | "domStyle_" | "domClass_" | "domAttrs_" | "domExtraAttrs_" | "domTooltiptext_" | "domTextStyleAttr_" | "replaceHTML" | "getOldWidget_" | "redrawHTML_" | "rerender" | "rerenderLater_" | "replaceChildHTML_" | "insertChildHTML_" | "getCaveNode" | "getFirstNode_" | "removeChildHTML_" | "removeHTML_" | "$service" | "$afterCommand" | "isRealElement" | "inRerendering_" | "$s" | "clearCache" | "unbindRod_" | "getPage" | "isBinding" | "rerenderNow_" | "bindMissingAncestors" | "bind" | "unbind" | "bind_" | "bindChildren_" | "unbind_" | "unbindChildren_" | "extraBind_" | "setFlexSize_" | "setFlexSizeH_" | "setFlexSizeW_" | "beforeChildReplaced_" | "beforeChildrenFlex_" | "afterChildrenFlex_" | "afterChildMinFlexChanged_" | "ignoreFlexSize_" | "ignoreChildNodeOffset_" | "beforeMinFlex_" | "beforeParentMinFlex_" | "afterChildrenMinFlex_" | "afterResetChildSize_" | "isExcludedHflex_" | "isExcludedVflex_" | "getChildMinSize_" | "getParentSize_" | "getMarginSize_" | "getContentEdgeHeight_" | "getContentEdgeWidth_" | "fixFlex_" | "fixMinFlex_" | "clearCachedSize_" | "resetSize_" | "getFlexContainer_" | "getFlexDirection_" | "afterClearFlex_" | "initDrag_" | "cleanDrag_" | "getDragNode" | "getDragOptions_" | "ignoreDrag_" | "getDrop_" | "dropEffect_" | "getDragMessage_" | "onDrop_" | "cloneDrag_" | "uncloneDrag_" | "onAfterSize" | "bindSwipe_" | "unbindSwipe_" | "bindDoubleTap_" | "unbindDoubleTap_" | "bindTapHold_" | "unbindTapHold_" | "focus" | "focus_" | "canActivate" | "smartUpdate" | "fireX" | "beforeSendAU_" | "sendAU_" | "shallIgnoreClick_" | "listen" | "unlisten" | "isListen" | "setListeners" | "setListeners0" | "setListener" | "setListener0" | "setOverride" | "setOverrides" | "doSelect_" | "doTooltipOver_" | "doTooltipOut_" | "doClick_" | "doDoubleClick_" | "doRightClick_" | "doMouseOver_" | "doMouseOut_" | "doMouseDown_" | "doMouseUp_" | "doMouseMove_" | "doKeyDown_" | "doKeyUp_" | "doKeyPress_" | "doPaste_" | "doSwipe_" | "doFocus_" | "doBlur_" | "doResizeScroll_" | "domListen_" | "domUnlisten_" | "listenOnFitSize_" | "unlistenOnFitSize_" | "fromPageCoord" | "isWatchable_" | "ignoreDescendantFloatUp_" | "getDomEvtInf_" | "shallFireSizedLaterWhenAddChd_" | "afterCompose_" | "_$binder" | "$ZKBINDER$" | "$ZKMATCHMEDIA$" | "$binder" | "z$rod0" | "_afterComposed" | "_beforeAfterComposeCallbacks" | "_disabledShadowAdjustment" | "clearErrorMessage" | "open" | "_context" | "_popup" | "_doScrollableSyncScroll" | "_tooltip" | "_ctrlKeys" | "_parsedCtlKeys" | "getContext" | "setContext" | "getPopup" | "setPopup" | "getTooltip" | "setTooltip" | "getCtrlKeys" | "setCtrlKeys" | "_parsePopParams" | "_smartFellow" | "afterKeyDown_" | "beforeCtrlKeys_" | "_open" | "_shallClose" | "setOpen" | "isOpen" | "_fixsz" | "_buttonVisible" | "isButtonVisible" | "setButtonVisible" | "setConstraint" | "getConstraint" | "inRoundedMold" | "setValue" | "coerceToString_" | "coerceFromString_" | "updateChange_" | "_maxlength" | "_cols" | "_type" | "_placeholder" | "_inputAttributes" | "_lastinputAttributes" | "_inplaceTimerId" | "_inplaceTimeout" | "_inplaceIgnore" | "_name" | "_cst" | "_reVald" | "valueEnter_" | "valueSel_" | "_lastChg" | "_errbox" | "__ebox" | "_tidChg" | "_multiline" | "_disabled" | "_readonly" | "_errmsg" | "_defRawVal" | "_lastKeyDown" | "_tabbable" | "_instant" | "_errorboxSclass" | "_errorboxIconSclass" | "_inplace" | "getName" | "setName" | "isDisabled" | "setDisabled" | "isReadonly" | "setReadonly" | "getCols" | "setCols" | "getMaxlength" | "setMaxlength" | "isInplace" | "setInplace" | "getPlaceholder" | "setPlaceholder" | "getInputAttributes" | "setInputAttributes" | "isInstant" | "setInstant" | "getErrorboxSclass" | "setErrorboxSclass" | "getErrorboxIconSclass" | "setErrorboxIconSclass" | "getInplaceCSS" | "select" | "getType" | "isMultiline" | "getText" | "setText" | "getValue" | "set_value" | "textAttrs_" | "_onChanging" | "_areaText" | "_doTouch" | "_doSelect" | "_doMouseOver" | "_doMouseOut" | "shallUpdate_" | "getErrorMesssage" | "getErrorMessage" | "setErrorMessage" | "_markError" | "validate_" | "_validate" | "_sendClearingErrorEvent" | "_shallIgnore" | "showError_" | "_equalValue" | "marshall_" | "unmarshall_" | "fireOnChange" | "_resetForm" | "doInput_" | "_updateValue" | "_startOnChanging" | "setInsertedText" | "getIconSclass" | "_doKeyDown" | "enterPressed_" | "escPressed_" | "_doBtnClick" | "_doBtnMouseDown" | "redrawpp_" | "_shadow" | "close" | "setType" | "_iconSclass" | "setIconSclass" | "_autodrop" | "_popupWidth" | "_shallFixPopupDimension" | "_repos" | "_shallSyncPopupPosition" | "_windowX" | "_windowY" | "isAutodrop" | "setAutodrop" | "getPopupWidth" | "setPopupWidth" | "setRepos" | "fixPopupDimension_" | "_getPopupSize" | "_checkPopupSpaceAndPosition" | "_fixFfWhileBothScrollbar" | "_checkPopupPosition" | "presize_" | "slideDown_" | "slideUp_" | "_afterSlideDown" | "getPopupNode_" | "dnPressed_" | "upPressed_" | "otherPressed_" | "getPopupSize_" | "_dnInputOpen" | "redraw_" | "_autocomplete" | "_instantSelect" | "_emptySearchMessage" | "_shallRedoCss" | "_isOnChanging" | "_initSelIndex" | "_sel" | "_lastsel" | "_autoCompleteSuppressed" | "_bDel" | "_initSelUuid" | "isAutocomplete" | "setAutocomplete" | "getEmptySearchMessage" | "setEmptySearchMessage" | "isInstantSelect" | "setInstantSelect" | "getSelectedItem" | "setSelectedItemUuid_" | "setSelectedIndex_" | "_reIndex" | "validateStrict" | "_findItem" | "_findItem0" | "_hilite" | "_hilite2" | "_hiliteOpt" | "_isStrict" | "_updnSel" | "_next" | "_select" | "_typeahead" | "_doCompositionstart" | "_doCompositionend" | "_fixEmptySearchMessage"

      • F extends any

      Parameters

      • mtd: M

        the method name to invoke

      • Rest ...args: Parameters<F>

        any number of arguments

      Returns ReturnType<F>

      the object being returned by the method of the superclass.

    • Invokes a method defined in the superclass with any number of arguments. It is like Function's call() that takes any number of arguments.

      It is similar to ZKObject.$super, but this method works even if the superclass calls back the same member method. In short, it is tedious but safer.

      Example: ```ts foo.MyClass = zk.$extends(foo.MySuper, { multiply: function (n) { return this.$super(foo.MyClass, 'multiply', n + 2); } ```

      Notice that the class specified in the first argument is not the super class having the method. Rather, it is the class that invokes this method.

      Type Parameters

      • M extends "$init" | "$supers" | "_$ais" | "_$supers" | "_$proxies" | "_$super" | "_importantEvts" | "afterCreated_" | "afterInit" | "$class" | "get$Class" | "$oid" | "$instanceof" | "$super" | "proxy" | "desktop" | "fire" | "onFloatUp" | "onResponse" | "onScroll" | "onSize" | "onShow" | "$n" | "hide" | "_value" | "toJSON" | "$weave" | "isVisible" | "scrollIntoView" | "$n_" | "z$rod" | "_rodopen" | "z_virnd" | "$button" | "$inputWidget" | "_uplder" | "_autodisable_self" | "_uploading" | "offsetWidth" | "offsetHeight" | "blankPreserved" | "getInputNode" | "z_rod" | "_z$rd" | "z$display" | "prolog" | "_rodKid" | "_node" | "_nodeSolved" | "_rmAftAnm" | "_$evproxs" | "_fellows" | "_norenderdefer" | "_rerendering" | "domExtraAttrs" | "_flexListened" | "_cssFlexApplied" | "_beforeSizeHasScroll" | "doAfterProcessRerenderArgs" | "_vflex" | "_hflex" | "_flexFixed" | "_nvflex" | "_nhflex" | "_hflexsz" | "_vflexsz" | "_binding" | "rawId" | "_$service" | "childReplacing_" | "_userZIndex" | "_zIndex" | "z_isDataHandlerBound" | "_drag" | "_preWidth" | "_preHeight" | "_action" | "_tabindex" | "_draggable" | "_asaps" | "_lsns" | "_bklsns" | "_subnodes" | "_subzcls" | "_sclass" | "_zclass" | "_width" | "_height" | "_left" | "_top" | "_tooltiptext" | "_droppable" | "_dropTypes" | "_fitSizeListened" | "_focus" | "_visible" | "_mold" | "_style" | "_renderdefer" | "_cssflex" | "actions_" | "nChildren" | "bindLevel" | "className" | "widgetName" | "autag" | "_floating" | "firstChild" | "lastChild" | "parent" | "nextSibling" | "previousSibling" | "id" | "inServer" | "uuid" | "insertingBefore_" | "effects_" | "setMold" | "getMold" | "setStyle" | "getStyle" | "setSclass" | "getSclass" | "setZclass" | "getZclass" | "setWidth" | "getWidth" | "setHeight" | "getHeight" | "setLeft" | "getLeft" | "setTop" | "getTop" | "setTooltiptext" | "getTooltiptext" | "setDroppable" | "getDroppable" | "setVflex" | "getVflex" | "isVflex" | "setHflex" | "getHflex" | "isHflex" | "getRenderdefer" | "setRenderdefer" | "getAction" | "setAction" | "getTabindex" | "setTabindex" | "getCssflex" | "isCssflex" | "setCssflex" | "setHflex_" | "setVflex_" | "afterAnima_" | "setDraggable" | "getDraggable" | "$o" | "$f" | "getId" | "setId" | "set" | "_setServerListener" | "get" | "getChildAt" | "getChildIndex" | "setChildren" | "appendChild" | "shallChildROD_" | "insertBefore" | "beforeChildRemoved_" | "triggerBeforeHostChildRemoved_" | "removeChild" | "detach" | "clear" | "replaceWidget" | "replaceCavedChildren_" | "beforeParentChanged_" | "triggerBeforeHostParentChanged_" | "afterParentChanged_" | "isRealVisible" | "setVisible" | "isFocus" | "setFocus" | "zsync" | "show" | "setDomVisible_" | "beforeChildAdded_" | "triggerBeforeHostChildAdded_" | "onChildAdded_" | "triggerAfterHostChildAdded_" | "onChildRemoved_" | "triggerAfterHostChildRemoved_" | "onChildReplaced_" | "onChildVisible_" | "onChildRenderDefer_" | "setTopmost" | "setFloatZIndex_" | "getFloatZIndex_" | "getTopWidget" | "isFloating_" | "setFloating_" | "getZIndex" | "getZindex" | "setZIndex" | "setZindex" | "getScrollTop" | "getScrollLeft" | "setScrollTop" | "setScrollLeft" | "redraw" | "deferRedraw_" | "deferRedrawHTML_" | "forcerender" | "updateDomClass_" | "updateDomStyle_" | "_domTextStyle" | "getTextNode" | "domStyle_" | "domClass_" | "domAttrs_" | "domExtraAttrs_" | "domTooltiptext_" | "domTextStyleAttr_" | "replaceHTML" | "getOldWidget_" | "redrawHTML_" | "rerender" | "rerenderLater_" | "replaceChildHTML_" | "insertChildHTML_" | "getCaveNode" | "getFirstNode_" | "removeChildHTML_" | "removeHTML_" | "$service" | "$afterCommand" | "isRealElement" | "inRerendering_" | "$s" | "clearCache" | "unbindRod_" | "getPage" | "isBinding" | "rerenderNow_" | "bindMissingAncestors" | "bind" | "unbind" | "bind_" | "bindChildren_" | "unbind_" | "unbindChildren_" | "extraBind_" | "setFlexSize_" | "setFlexSizeH_" | "setFlexSizeW_" | "beforeChildReplaced_" | "beforeChildrenFlex_" | "afterChildrenFlex_" | "afterChildMinFlexChanged_" | "ignoreFlexSize_" | "ignoreChildNodeOffset_" | "beforeMinFlex_" | "beforeParentMinFlex_" | "afterChildrenMinFlex_" | "afterResetChildSize_" | "isExcludedHflex_" | "isExcludedVflex_" | "getChildMinSize_" | "getParentSize_" | "getMarginSize_" | "getContentEdgeHeight_" | "getContentEdgeWidth_" | "fixFlex_" | "fixMinFlex_" | "clearCachedSize_" | "resetSize_" | "getFlexContainer_" | "getFlexDirection_" | "afterClearFlex_" | "initDrag_" | "cleanDrag_" | "getDragNode" | "getDragOptions_" | "ignoreDrag_" | "getDrop_" | "dropEffect_" | "getDragMessage_" | "onDrop_" | "cloneDrag_" | "uncloneDrag_" | "onAfterSize" | "bindSwipe_" | "unbindSwipe_" | "bindDoubleTap_" | "unbindDoubleTap_" | "bindTapHold_" | "unbindTapHold_" | "focus" | "focus_" | "canActivate" | "smartUpdate" | "fireX" | "beforeSendAU_" | "sendAU_" | "shallIgnoreClick_" | "listen" | "unlisten" | "isListen" | "setListeners" | "setListeners0" | "setListener" | "setListener0" | "setOverride" | "setOverrides" | "doSelect_" | "doTooltipOver_" | "doTooltipOut_" | "doClick_" | "doDoubleClick_" | "doRightClick_" | "doMouseOver_" | "doMouseOut_" | "doMouseDown_" | "doMouseUp_" | "doMouseMove_" | "doKeyDown_" | "doKeyUp_" | "doKeyPress_" | "doPaste_" | "doSwipe_" | "doFocus_" | "doBlur_" | "doResizeScroll_" | "domListen_" | "domUnlisten_" | "listenOnFitSize_" | "unlistenOnFitSize_" | "fromPageCoord" | "isWatchable_" | "ignoreDescendantFloatUp_" | "getDomEvtInf_" | "shallFireSizedLaterWhenAddChd_" | "afterCompose_" | "_$binder" | "$ZKBINDER$" | "$ZKMATCHMEDIA$" | "$binder" | "z$rod0" | "_afterComposed" | "_beforeAfterComposeCallbacks" | "_disabledShadowAdjustment" | "clearErrorMessage" | "open" | "_context" | "_popup" | "_doScrollableSyncScroll" | "_tooltip" | "_ctrlKeys" | "_parsedCtlKeys" | "getContext" | "setContext" | "getPopup" | "setPopup" | "getTooltip" | "setTooltip" | "getCtrlKeys" | "setCtrlKeys" | "_parsePopParams" | "_smartFellow" | "afterKeyDown_" | "beforeCtrlKeys_" | "_open" | "_shallClose" | "setOpen" | "isOpen" | "_fixsz" | "_buttonVisible" | "isButtonVisible" | "setButtonVisible" | "setConstraint" | "getConstraint" | "inRoundedMold" | "setValue" | "coerceToString_" | "coerceFromString_" | "updateChange_" | "_maxlength" | "_cols" | "_type" | "_placeholder" | "_inputAttributes" | "_lastinputAttributes" | "_inplaceTimerId" | "_inplaceTimeout" | "_inplaceIgnore" | "_name" | "_cst" | "_reVald" | "valueEnter_" | "valueSel_" | "_lastChg" | "_errbox" | "__ebox" | "_tidChg" | "_multiline" | "_disabled" | "_readonly" | "_errmsg" | "_defRawVal" | "_lastKeyDown" | "_tabbable" | "_instant" | "_errorboxSclass" | "_errorboxIconSclass" | "_inplace" | "getName" | "setName" | "isDisabled" | "setDisabled" | "isReadonly" | "setReadonly" | "getCols" | "setCols" | "getMaxlength" | "setMaxlength" | "isInplace" | "setInplace" | "getPlaceholder" | "setPlaceholder" | "getInputAttributes" | "setInputAttributes" | "isInstant" | "setInstant" | "getErrorboxSclass" | "setErrorboxSclass" | "getErrorboxIconSclass" | "setErrorboxIconSclass" | "getInplaceCSS" | "select" | "getType" | "isMultiline" | "getText" | "setText" | "getValue" | "set_value" | "textAttrs_" | "_onChanging" | "_areaText" | "_doTouch" | "_doSelect" | "_doMouseOver" | "_doMouseOut" | "shallUpdate_" | "getErrorMesssage" | "getErrorMessage" | "setErrorMessage" | "_markError" | "validate_" | "_validate" | "_sendClearingErrorEvent" | "_shallIgnore" | "showError_" | "_equalValue" | "marshall_" | "unmarshall_" | "fireOnChange" | "_resetForm" | "doInput_" | "_updateValue" | "_startOnChanging" | "setInsertedText" | "getIconSclass" | "_doKeyDown" | "enterPressed_" | "escPressed_" | "_doBtnClick" | "_doBtnMouseDown" | "redrawpp_" | "_shadow" | "close" | "setType" | "_iconSclass" | "setIconSclass" | "_autodrop" | "_popupWidth" | "_shallFixPopupDimension" | "_repos" | "_shallSyncPopupPosition" | "_windowX" | "_windowY" | "isAutodrop" | "setAutodrop" | "getPopupWidth" | "setPopupWidth" | "setRepos" | "fixPopupDimension_" | "_getPopupSize" | "_checkPopupSpaceAndPosition" | "_fixFfWhileBothScrollbar" | "_checkPopupPosition" | "presize_" | "slideDown_" | "slideUp_" | "_afterSlideDown" | "getPopupNode_" | "dnPressed_" | "upPressed_" | "otherPressed_" | "getPopupSize_" | "_dnInputOpen" | "redraw_" | "_autocomplete" | "_instantSelect" | "_emptySearchMessage" | "_shallRedoCss" | "_isOnChanging" | "_initSelIndex" | "_sel" | "_lastsel" | "_autoCompleteSuppressed" | "_bDel" | "_initSelUuid" | "isAutocomplete" | "setAutocomplete" | "getEmptySearchMessage" | "setEmptySearchMessage" | "isInstantSelect" | "setInstantSelect" | "getSelectedItem" | "setSelectedItemUuid_" | "setSelectedIndex_" | "_reIndex" | "validateStrict" | "_findItem" | "_findItem0" | "_hilite" | "_hilite2" | "_hiliteOpt" | "_isStrict" | "_updnSel" | "_next" | "_select" | "_typeahead" | "_doCompositionstart" | "_doCompositionend" | "_fixEmptySearchMessage"

      • F extends any

      Parameters

      • klass: typeof ZKObject

        the class that invokes this method.

      • mtd: M

        the method name to invoke

      • Rest ...args: Parameters<F>

        any number of arguments

      Returns ReturnType<F>

      the object being returned by the method of the superclass.

      See

      zk.Object.$supers

      Since

      5.0.2

    • Invokes a method defined in the superclass with an array of arguments. It is like Function's apply() that takes an array of arguments.

      Example: ```ts multiply: function () { return this.$supers('multiply', arguments); } ```

      Type Parameters

      • M extends "$init" | "$supers" | "_$ais" | "_$supers" | "_$proxies" | "_$super" | "_importantEvts" | "afterCreated_" | "afterInit" | "$class" | "get$Class" | "$oid" | "$instanceof" | "$super" | "proxy" | "desktop" | "fire" | "onFloatUp" | "onResponse" | "onScroll" | "onSize" | "onShow" | "$n" | "hide" | "_value" | "toJSON" | "$weave" | "isVisible" | "scrollIntoView" | "$n_" | "z$rod" | "_rodopen" | "z_virnd" | "$button" | "$inputWidget" | "_uplder" | "_autodisable_self" | "_uploading" | "offsetWidth" | "offsetHeight" | "blankPreserved" | "getInputNode" | "z_rod" | "_z$rd" | "z$display" | "prolog" | "_rodKid" | "_node" | "_nodeSolved" | "_rmAftAnm" | "_$evproxs" | "_fellows" | "_norenderdefer" | "_rerendering" | "domExtraAttrs" | "_flexListened" | "_cssFlexApplied" | "_beforeSizeHasScroll" | "doAfterProcessRerenderArgs" | "_vflex" | "_hflex" | "_flexFixed" | "_nvflex" | "_nhflex" | "_hflexsz" | "_vflexsz" | "_binding" | "rawId" | "_$service" | "childReplacing_" | "_userZIndex" | "_zIndex" | "z_isDataHandlerBound" | "_drag" | "_preWidth" | "_preHeight" | "_action" | "_tabindex" | "_draggable" | "_asaps" | "_lsns" | "_bklsns" | "_subnodes" | "_subzcls" | "_sclass" | "_zclass" | "_width" | "_height" | "_left" | "_top" | "_tooltiptext" | "_droppable" | "_dropTypes" | "_fitSizeListened" | "_focus" | "_visible" | "_mold" | "_style" | "_renderdefer" | "_cssflex" | "actions_" | "nChildren" | "bindLevel" | "className" | "widgetName" | "autag" | "_floating" | "firstChild" | "lastChild" | "parent" | "nextSibling" | "previousSibling" | "id" | "inServer" | "uuid" | "insertingBefore_" | "effects_" | "setMold" | "getMold" | "setStyle" | "getStyle" | "setSclass" | "getSclass" | "setZclass" | "getZclass" | "setWidth" | "getWidth" | "setHeight" | "getHeight" | "setLeft" | "getLeft" | "setTop" | "getTop" | "setTooltiptext" | "getTooltiptext" | "setDroppable" | "getDroppable" | "setVflex" | "getVflex" | "isVflex" | "setHflex" | "getHflex" | "isHflex" | "getRenderdefer" | "setRenderdefer" | "getAction" | "setAction" | "getTabindex" | "setTabindex" | "getCssflex" | "isCssflex" | "setCssflex" | "setHflex_" | "setVflex_" | "afterAnima_" | "setDraggable" | "getDraggable" | "$o" | "$f" | "getId" | "setId" | "set" | "_setServerListener" | "get" | "getChildAt" | "getChildIndex" | "setChildren" | "appendChild" | "shallChildROD_" | "insertBefore" | "beforeChildRemoved_" | "triggerBeforeHostChildRemoved_" | "removeChild" | "detach" | "clear" | "replaceWidget" | "replaceCavedChildren_" | "beforeParentChanged_" | "triggerBeforeHostParentChanged_" | "afterParentChanged_" | "isRealVisible" | "setVisible" | "isFocus" | "setFocus" | "zsync" | "show" | "setDomVisible_" | "beforeChildAdded_" | "triggerBeforeHostChildAdded_" | "onChildAdded_" | "triggerAfterHostChildAdded_" | "onChildRemoved_" | "triggerAfterHostChildRemoved_" | "onChildReplaced_" | "onChildVisible_" | "onChildRenderDefer_" | "setTopmost" | "setFloatZIndex_" | "getFloatZIndex_" | "getTopWidget" | "isFloating_" | "setFloating_" | "getZIndex" | "getZindex" | "setZIndex" | "setZindex" | "getScrollTop" | "getScrollLeft" | "setScrollTop" | "setScrollLeft" | "redraw" | "deferRedraw_" | "deferRedrawHTML_" | "forcerender" | "updateDomClass_" | "updateDomStyle_" | "_domTextStyle" | "getTextNode" | "domStyle_" | "domClass_" | "domAttrs_" | "domExtraAttrs_" | "domTooltiptext_" | "domTextStyleAttr_" | "replaceHTML" | "getOldWidget_" | "redrawHTML_" | "rerender" | "rerenderLater_" | "replaceChildHTML_" | "insertChildHTML_" | "getCaveNode" | "getFirstNode_" | "removeChildHTML_" | "removeHTML_" | "$service" | "$afterCommand" | "isRealElement" | "inRerendering_" | "$s" | "clearCache" | "unbindRod_" | "getPage" | "isBinding" | "rerenderNow_" | "bindMissingAncestors" | "bind" | "unbind" | "bind_" | "bindChildren_" | "unbind_" | "unbindChildren_" | "extraBind_" | "setFlexSize_" | "setFlexSizeH_" | "setFlexSizeW_" | "beforeChildReplaced_" | "beforeChildrenFlex_" | "afterChildrenFlex_" | "afterChildMinFlexChanged_" | "ignoreFlexSize_" | "ignoreChildNodeOffset_" | "beforeMinFlex_" | "beforeParentMinFlex_" | "afterChildrenMinFlex_" | "afterResetChildSize_" | "isExcludedHflex_" | "isExcludedVflex_" | "getChildMinSize_" | "getParentSize_" | "getMarginSize_" | "getContentEdgeHeight_" | "getContentEdgeWidth_" | "fixFlex_" | "fixMinFlex_" | "clearCachedSize_" | "resetSize_" | "getFlexContainer_" | "getFlexDirection_" | "afterClearFlex_" | "initDrag_" | "cleanDrag_" | "getDragNode" | "getDragOptions_" | "ignoreDrag_" | "getDrop_" | "dropEffect_" | "getDragMessage_" | "onDrop_" | "cloneDrag_" | "uncloneDrag_" | "onAfterSize" | "bindSwipe_" | "unbindSwipe_" | "bindDoubleTap_" | "unbindDoubleTap_" | "bindTapHold_" | "unbindTapHold_" | "focus" | "focus_" | "canActivate" | "smartUpdate" | "fireX" | "beforeSendAU_" | "sendAU_" | "shallIgnoreClick_" | "listen" | "unlisten" | "isListen" | "setListeners" | "setListeners0" | "setListener" | "setListener0" | "setOverride" | "setOverrides" | "doSelect_" | "doTooltipOver_" | "doTooltipOut_" | "doClick_" | "doDoubleClick_" | "doRightClick_" | "doMouseOver_" | "doMouseOut_" | "doMouseDown_" | "doMouseUp_" | "doMouseMove_" | "doKeyDown_" | "doKeyUp_" | "doKeyPress_" | "doPaste_" | "doSwipe_" | "doFocus_" | "doBlur_" | "doResizeScroll_" | "domListen_" | "domUnlisten_" | "listenOnFitSize_" | "unlistenOnFitSize_" | "fromPageCoord" | "isWatchable_" | "ignoreDescendantFloatUp_" | "getDomEvtInf_" | "shallFireSizedLaterWhenAddChd_" | "afterCompose_" | "_$binder" | "$ZKBINDER$" | "$ZKMATCHMEDIA$" | "$binder" | "z$rod0" | "_afterComposed" | "_beforeAfterComposeCallbacks" | "_disabledShadowAdjustment" | "clearErrorMessage" | "open" | "_context" | "_popup" | "_doScrollableSyncScroll" | "_tooltip" | "_ctrlKeys" | "_parsedCtlKeys" | "getContext" | "setContext" | "getPopup" | "setPopup" | "getTooltip" | "setTooltip" | "getCtrlKeys" | "setCtrlKeys" | "_parsePopParams" | "_smartFellow" | "afterKeyDown_" | "beforeCtrlKeys_" | "_open" | "_shallClose" | "setOpen" | "isOpen" | "_fixsz" | "_buttonVisible" | "isButtonVisible" | "setButtonVisible" | "setConstraint" | "getConstraint" | "inRoundedMold" | "setValue" | "coerceToString_" | "coerceFromString_" | "updateChange_" | "_maxlength" | "_cols" | "_type" | "_placeholder" | "_inputAttributes" | "_lastinputAttributes" | "_inplaceTimerId" | "_inplaceTimeout" | "_inplaceIgnore" | "_name" | "_cst" | "_reVald" | "valueEnter_" | "valueSel_" | "_lastChg" | "_errbox" | "__ebox" | "_tidChg" | "_multiline" | "_disabled" | "_readonly" | "_errmsg" | "_defRawVal" | "_lastKeyDown" | "_tabbable" | "_instant" | "_errorboxSclass" | "_errorboxIconSclass" | "_inplace" | "getName" | "setName" | "isDisabled" | "setDisabled" | "isReadonly" | "setReadonly" | "getCols" | "setCols" | "getMaxlength" | "setMaxlength" | "isInplace" | "setInplace" | "getPlaceholder" | "setPlaceholder" | "getInputAttributes" | "setInputAttributes" | "isInstant" | "setInstant" | "getErrorboxSclass" | "setErrorboxSclass" | "getErrorboxIconSclass" | "setErrorboxIconSclass" | "getInplaceCSS" | "select" | "getType" | "isMultiline" | "getText" | "setText" | "getValue" | "set_value" | "textAttrs_" | "_onChanging" | "_areaText" | "_doTouch" | "_doSelect" | "_doMouseOver" | "_doMouseOut" | "shallUpdate_" | "getErrorMesssage" | "getErrorMessage" | "setErrorMessage" | "_markError" | "validate_" | "_validate" | "_sendClearingErrorEvent" | "_shallIgnore" | "showError_" | "_equalValue" | "marshall_" | "unmarshall_" | "fireOnChange" | "_resetForm" | "doInput_" | "_updateValue" | "_startOnChanging" | "setInsertedText" | "getIconSclass" | "_doKeyDown" | "enterPressed_" | "escPressed_" | "_doBtnClick" | "_doBtnMouseDown" | "redrawpp_" | "_shadow" | "close" | "setType" | "_iconSclass" | "setIconSclass" | "_autodrop" | "_popupWidth" | "_shallFixPopupDimension" | "_repos" | "_shallSyncPopupPosition" | "_windowX" | "_windowY" | "isAutodrop" | "setAutodrop" | "getPopupWidth" | "setPopupWidth" | "setRepos" | "fixPopupDimension_" | "_getPopupSize" | "_checkPopupSpaceAndPosition" | "_fixFfWhileBothScrollbar" | "_checkPopupPosition" | "presize_" | "slideDown_" | "slideUp_" | "_afterSlideDown" | "getPopupNode_" | "dnPressed_" | "upPressed_" | "otherPressed_" | "getPopupSize_" | "_dnInputOpen" | "redraw_" | "_autocomplete" | "_instantSelect" | "_emptySearchMessage" | "_shallRedoCss" | "_isOnChanging" | "_initSelIndex" | "_sel" | "_lastsel" | "_autoCompleteSuppressed" | "_bDel" | "_initSelUuid" | "isAutocomplete" | "setAutocomplete" | "getEmptySearchMessage" | "setEmptySearchMessage" | "isInstantSelect" | "setInstantSelect" | "getSelectedItem" | "setSelectedItemUuid_" | "setSelectedIndex_" | "_reIndex" | "validateStrict" | "_findItem" | "_findItem0" | "_hilite" | "_hilite2" | "_hiliteOpt" | "_isStrict" | "_updnSel" | "_next" | "_select" | "_typeahead" | "_doCompositionstart" | "_doCompositionend" | "_fixEmptySearchMessage"

      • F extends any

      Parameters

      • name: M

        the method name to invoke

      • args: Parameters<F>

        an array of arguments. In most case, you just pass arguments (the built-in variable).

      Returns ReturnType<F>

      the object being returned by the method of the superclass.

    • Invokes a method defined in the superclass with an array of arguments. It is like Function's apply() that takes an array of arguments.

      It is similar to zk.Object.$supers, but this method works even if the superclass calls back the same member method. In short, it is tedious but safer.

      Example: ```ts foo.MyClass = zk.$extends(foo.MySuper, { multiply: function () { return this.$supers(foo.MyClass, 'multiply', arguments); } ```

      Notice that the class specified in the first argument is not the super class having the method. Rather, it is the class that invokes this method.

      Type Parameters

      • M extends "$init" | "$supers" | "_$ais" | "_$supers" | "_$proxies" | "_$super" | "_importantEvts" | "afterCreated_" | "afterInit" | "$class" | "get$Class" | "$oid" | "$instanceof" | "$super" | "proxy" | "desktop" | "fire" | "onFloatUp" | "onResponse" | "onScroll" | "onSize" | "onShow" | "$n" | "hide" | "_value" | "toJSON" | "$weave" | "isVisible" | "scrollIntoView" | "$n_" | "z$rod" | "_rodopen" | "z_virnd" | "$button" | "$inputWidget" | "_uplder" | "_autodisable_self" | "_uploading" | "offsetWidth" | "offsetHeight" | "blankPreserved" | "getInputNode" | "z_rod" | "_z$rd" | "z$display" | "prolog" | "_rodKid" | "_node" | "_nodeSolved" | "_rmAftAnm" | "_$evproxs" | "_fellows" | "_norenderdefer" | "_rerendering" | "domExtraAttrs" | "_flexListened" | "_cssFlexApplied" | "_beforeSizeHasScroll" | "doAfterProcessRerenderArgs" | "_vflex" | "_hflex" | "_flexFixed" | "_nvflex" | "_nhflex" | "_hflexsz" | "_vflexsz" | "_binding" | "rawId" | "_$service" | "childReplacing_" | "_userZIndex" | "_zIndex" | "z_isDataHandlerBound" | "_drag" | "_preWidth" | "_preHeight" | "_action" | "_tabindex" | "_draggable" | "_asaps" | "_lsns" | "_bklsns" | "_subnodes" | "_subzcls" | "_sclass" | "_zclass" | "_width" | "_height" | "_left" | "_top" | "_tooltiptext" | "_droppable" | "_dropTypes" | "_fitSizeListened" | "_focus" | "_visible" | "_mold" | "_style" | "_renderdefer" | "_cssflex" | "actions_" | "nChildren" | "bindLevel" | "className" | "widgetName" | "autag" | "_floating" | "firstChild" | "lastChild" | "parent" | "nextSibling" | "previousSibling" | "id" | "inServer" | "uuid" | "insertingBefore_" | "effects_" | "setMold" | "getMold" | "setStyle" | "getStyle" | "setSclass" | "getSclass" | "setZclass" | "getZclass" | "setWidth" | "getWidth" | "setHeight" | "getHeight" | "setLeft" | "getLeft" | "setTop" | "getTop" | "setTooltiptext" | "getTooltiptext" | "setDroppable" | "getDroppable" | "setVflex" | "getVflex" | "isVflex" | "setHflex" | "getHflex" | "isHflex" | "getRenderdefer" | "setRenderdefer" | "getAction" | "setAction" | "getTabindex" | "setTabindex" | "getCssflex" | "isCssflex" | "setCssflex" | "setHflex_" | "setVflex_" | "afterAnima_" | "setDraggable" | "getDraggable" | "$o" | "$f" | "getId" | "setId" | "set" | "_setServerListener" | "get" | "getChildAt" | "getChildIndex" | "setChildren" | "appendChild" | "shallChildROD_" | "insertBefore" | "beforeChildRemoved_" | "triggerBeforeHostChildRemoved_" | "removeChild" | "detach" | "clear" | "replaceWidget" | "replaceCavedChildren_" | "beforeParentChanged_" | "triggerBeforeHostParentChanged_" | "afterParentChanged_" | "isRealVisible" | "setVisible" | "isFocus" | "setFocus" | "zsync" | "show" | "setDomVisible_" | "beforeChildAdded_" | "triggerBeforeHostChildAdded_" | "onChildAdded_" | "triggerAfterHostChildAdded_" | "onChildRemoved_" | "triggerAfterHostChildRemoved_" | "onChildReplaced_" | "onChildVisible_" | "onChildRenderDefer_" | "setTopmost" | "setFloatZIndex_" | "getFloatZIndex_" | "getTopWidget" | "isFloating_" | "setFloating_" | "getZIndex" | "getZindex" | "setZIndex" | "setZindex" | "getScrollTop" | "getScrollLeft" | "setScrollTop" | "setScrollLeft" | "redraw" | "deferRedraw_" | "deferRedrawHTML_" | "forcerender" | "updateDomClass_" | "updateDomStyle_" | "_domTextStyle" | "getTextNode" | "domStyle_" | "domClass_" | "domAttrs_" | "domExtraAttrs_" | "domTooltiptext_" | "domTextStyleAttr_" | "replaceHTML" | "getOldWidget_" | "redrawHTML_" | "rerender" | "rerenderLater_" | "replaceChildHTML_" | "insertChildHTML_" | "getCaveNode" | "getFirstNode_" | "removeChildHTML_" | "removeHTML_" | "$service" | "$afterCommand" | "isRealElement" | "inRerendering_" | "$s" | "clearCache" | "unbindRod_" | "getPage" | "isBinding" | "rerenderNow_" | "bindMissingAncestors" | "bind" | "unbind" | "bind_" | "bindChildren_" | "unbind_" | "unbindChildren_" | "extraBind_" | "setFlexSize_" | "setFlexSizeH_" | "setFlexSizeW_" | "beforeChildReplaced_" | "beforeChildrenFlex_" | "afterChildrenFlex_" | "afterChildMinFlexChanged_" | "ignoreFlexSize_" | "ignoreChildNodeOffset_" | "beforeMinFlex_" | "beforeParentMinFlex_" | "afterChildrenMinFlex_" | "afterResetChildSize_" | "isExcludedHflex_" | "isExcludedVflex_" | "getChildMinSize_" | "getParentSize_" | "getMarginSize_" | "getContentEdgeHeight_" | "getContentEdgeWidth_" | "fixFlex_" | "fixMinFlex_" | "clearCachedSize_" | "resetSize_" | "getFlexContainer_" | "getFlexDirection_" | "afterClearFlex_" | "initDrag_" | "cleanDrag_" | "getDragNode" | "getDragOptions_" | "ignoreDrag_" | "getDrop_" | "dropEffect_" | "getDragMessage_" | "onDrop_" | "cloneDrag_" | "uncloneDrag_" | "onAfterSize" | "bindSwipe_" | "unbindSwipe_" | "bindDoubleTap_" | "unbindDoubleTap_" | "bindTapHold_" | "unbindTapHold_" | "focus" | "focus_" | "canActivate" | "smartUpdate" | "fireX" | "beforeSendAU_" | "sendAU_" | "shallIgnoreClick_" | "listen" | "unlisten" | "isListen" | "setListeners" | "setListeners0" | "setListener" | "setListener0" | "setOverride" | "setOverrides" | "doSelect_" | "doTooltipOver_" | "doTooltipOut_" | "doClick_" | "doDoubleClick_" | "doRightClick_" | "doMouseOver_" | "doMouseOut_" | "doMouseDown_" | "doMouseUp_" | "doMouseMove_" | "doKeyDown_" | "doKeyUp_" | "doKeyPress_" | "doPaste_" | "doSwipe_" | "doFocus_" | "doBlur_" | "doResizeScroll_" | "domListen_" | "domUnlisten_" | "listenOnFitSize_" | "unlistenOnFitSize_" | "fromPageCoord" | "isWatchable_" | "ignoreDescendantFloatUp_" | "getDomEvtInf_" | "shallFireSizedLaterWhenAddChd_" | "afterCompose_" | "_$binder" | "$ZKBINDER$" | "$ZKMATCHMEDIA$" | "$binder" | "z$rod0" | "_afterComposed" | "_beforeAfterComposeCallbacks" | "_disabledShadowAdjustment" | "clearErrorMessage" | "open" | "_context" | "_popup" | "_doScrollableSyncScroll" | "_tooltip" | "_ctrlKeys" | "_parsedCtlKeys" | "getContext" | "setContext" | "getPopup" | "setPopup" | "getTooltip" | "setTooltip" | "getCtrlKeys" | "setCtrlKeys" | "_parsePopParams" | "_smartFellow" | "afterKeyDown_" | "beforeCtrlKeys_" | "_open" | "_shallClose" | "setOpen" | "isOpen" | "_fixsz" | "_buttonVisible" | "isButtonVisible" | "setButtonVisible" | "setConstraint" | "getConstraint" | "inRoundedMold" | "setValue" | "coerceToString_" | "coerceFromString_" | "updateChange_" | "_maxlength" | "_cols" | "_type" | "_placeholder" | "_inputAttributes" | "_lastinputAttributes" | "_inplaceTimerId" | "_inplaceTimeout" | "_inplaceIgnore" | "_name" | "_cst" | "_reVald" | "valueEnter_" | "valueSel_" | "_lastChg" | "_errbox" | "__ebox" | "_tidChg" | "_multiline" | "_disabled" | "_readonly" | "_errmsg" | "_defRawVal" | "_lastKeyDown" | "_tabbable" | "_instant" | "_errorboxSclass" | "_errorboxIconSclass" | "_inplace" | "getName" | "setName" | "isDisabled" | "setDisabled" | "isReadonly" | "setReadonly" | "getCols" | "setCols" | "getMaxlength" | "setMaxlength" | "isInplace" | "setInplace" | "getPlaceholder" | "setPlaceholder" | "getInputAttributes" | "setInputAttributes" | "isInstant" | "setInstant" | "getErrorboxSclass" | "setErrorboxSclass" | "getErrorboxIconSclass" | "setErrorboxIconSclass" | "getInplaceCSS" | "select" | "getType" | "isMultiline" | "getText" | "setText" | "getValue" | "set_value" | "textAttrs_" | "_onChanging" | "_areaText" | "_doTouch" | "_doSelect" | "_doMouseOver" | "_doMouseOut" | "shallUpdate_" | "getErrorMesssage" | "getErrorMessage" | "setErrorMessage" | "_markError" | "validate_" | "_validate" | "_sendClearingErrorEvent" | "_shallIgnore" | "showError_" | "_equalValue" | "marshall_" | "unmarshall_" | "fireOnChange" | "_resetForm" | "doInput_" | "_updateValue" | "_startOnChanging" | "setInsertedText" | "getIconSclass" | "_doKeyDown" | "enterPressed_" | "escPressed_" | "_doBtnClick" | "_doBtnMouseDown" | "redrawpp_" | "_shadow" | "close" | "setType" | "_iconSclass" | "setIconSclass" | "_autodrop" | "_popupWidth" | "_shallFixPopupDimension" | "_repos" | "_shallSyncPopupPosition" | "_windowX" | "_windowY" | "isAutodrop" | "setAutodrop" | "getPopupWidth" | "setPopupWidth" | "setRepos" | "fixPopupDimension_" | "_getPopupSize" | "_checkPopupSpaceAndPosition" | "_fixFfWhileBothScrollbar" | "_checkPopupPosition" | "presize_" | "slideDown_" | "slideUp_" | "_afterSlideDown" | "getPopupNode_" | "dnPressed_" | "upPressed_" | "otherPressed_" | "getPopupSize_" | "_dnInputOpen" | "redraw_" | "_autocomplete" | "_instantSelect" | "_emptySearchMessage" | "_shallRedoCss" | "_isOnChanging" | "_initSelIndex" | "_sel" | "_lastsel" | "_autoCompleteSuppressed" | "_bDel" | "_initSelUuid" | "isAutocomplete" | "setAutocomplete" | "getEmptySearchMessage" | "setEmptySearchMessage" | "isInstantSelect" | "setInstantSelect" | "getSelectedItem" | "setSelectedItemUuid_" | "setSelectedIndex_" | "_reIndex" | "validateStrict" | "_findItem" | "_findItem0" | "_hilite" | "_hilite2" | "_hiliteOpt" | "_isStrict" | "_updnSel" | "_next" | "_select" | "_typeahead" | "_doCompositionstart" | "_doCompositionend" | "_fixEmptySearchMessage"

      • F extends any

      Parameters

      • klass: typeof ZKObject

        the class that invokes this method.

      • name: M

        the method name to invoke

      • args: Parameters<F>

        an array of arguments. In most case, you just pass arguments (the built-in variable).

      Returns ReturnType<F>

      the object being returned by the method of the superclass.

      See

      zk.Object.$super

      Since

      5.0.2

    • Specifies a function that shall be called after the object is initialized, i.e., after zk.Object.$init is called. This method can be called only during the execution of zk.Object.$init.

      It is an advance feature that is used to allow a base class to do something that needs to wait for all deriving classes have been initialized.

      Invocation Sequence:

      • The most derived class's $init (subclass)
      • The based class's $init (if the derived class's $init invokes this.$supers('$init', arguments))
      • The first function, if any, be added with afterInit, then the second (in the same order that afterInit was called)...

      Parameters

      • func: CallableFunction

        the function to register for execution later

      Returns void

      See

      zk.Object.$init

      Deprecated

      as of 10.0 released. Using afterCreated_ instead.

    • Append a child widget. The child widget will be attached to the DOM tree automatically, if this widget has been attached to the DOM tree, unless this widget is zk.Desktop. In other words, you have to attach child widgets of zk.Desktop manually (by use of, say, replaceHTML).

      Subclass Note

      • If this widget is bound to the DOM tree, this method invoke insertChildHTML_ to insert the DOM content of the child to the DOM tree. Thus, override insertChildHTML_ if you want to insert more than the DOM content generated by redraw.
      • If a widget wants to do something when the parent is changed, overrides beforeParentChanged_ (which is called by insertBefore, removeChild and appendChild).
      • insertBefore might invoke this method (if the widget shall be the last child). To know if it is the case you can check insertingBefore_.

      Parameters

      • child: Widget<HTMLElement>

        the child widget to add

      • Optional ignoreDom: boolean

        whether not to generate DOM elements could prevent it from generating DOM element. It is usually used with rerender.

      Returns boolean

      whether the widget was added successfully. It returns false if the child is always the last child (lastChild).

    • Binds this widget. It is called to associate (aka., attach) the widget with the DOM tree.

      Notice that you rarely need to invoke this method, since it is called automatically (such as replaceHTML and appendChild).

      Notice that you rarely need to override this method, either. Rather, override bind_ instead.

      Parameters

      • Optional desktop: Desktop

        the desktop the DOM element belongs to. If not specified, ZK will decide it automatically.

      • Optional skipper: Skipper

        used if rerender is called with a non-null skipper.

      • Optional bindSelfOnly: boolean

        set to true if one doesn't want to recursively bind descendents.

      Returns this

      See

    • Recursively bind ancestors that are currently unbound (i.e., desktop is falsy). Used by ROD. Introduced by ZK-5368.

      Parameters

      • Optional desktop: Desktop

        the desktop the DOM element belongs to. If not specified, ZK will decide it automatically.

      • Optional skipper: Skipper

        used if rerender is called with a non-null skipper.

      Returns this

      Since

      9.6.4

    • Checks if this widget can be activated (gaining focus and so on).

      Parameters

      • Optional opts: Partial<{
            checkOnly: boolean;
        }>

        the options. Allowed values:

        • checkOnly: not to change focus back to modal dialog if unable to activate. If not specified, the focus will be changed back to _global_.zk#currentModal. In additions, if specified, it will ignore zk#busy, which is set if zk.AuCmd0#showBusy is called. This flag is usually set by focus, and not set if it is caused by user's activity, such as clicking.
        The reason to ignore busy is that we allow application to change focus even if busy, while the user cannot.

      Returns boolean

      Default Value

      return false if it is not a descendant of
      {@link _global_.zk#currentModal}.
    • Clears the error message and the error status.

      It is also called by zk.AuCmd0#clearWrongValue (from the server).

      Parameters

      • revalidate: boolean

        whether to re-validate the value next time onblur occurs

      • Optional remainError: boolean

        whether the input widget remains in the error status, if any, after the invocation.

      Returns void

    • Closes the list of combo items (Comboitem if it was dropped down. It is the same as setOpen(false).

      Parameters

      • Optional opts: Record<string, unknown>

        the options.

      Returns void

    • Removes this widget (from its parent). If it was attached to a DOM tree, the associated DOM elements will be removed, too.

      Returns void

    • Fire a widget event. An instance of zk.Event is created to represent the event.

      The event listeners for this event will be called one-by-one unless zk.Event#stop is called.

      If the event propagation is not stopped (i.e., zk.Event#stop not called) and inServer is true, the event will be converted to an AU request and sent to the server. Refer to ZK Client-side Reference: AU Requests: Client-side Firing for more information.

      Parameters

      • evtnm: string

        the event name, such as onClick

      • Optional data: unknown

        the data depending on the event (zk.Event).

      • Optional opts: EventOptions

        the options. Refer to zk.Event#opts

      • Optional timeout: number

        the delay before sending the non-deferrable AU request (if necessary). If not specified or negative, it is decided automatically. It is ignored if no non-deferrable listener is registered at the server.

      Returns Event<unknown>

      the event being fired.

    • Fires the onChange event. If the widget is created at the server, the event will be sent to the server too.

      Parameters

      Returns void

      Since

      5.0.5

    • Fire a widget event.

      Parameters

      • evt: Event<unknown>

        the event to fire

      • Optional timeout: number

        the delay before sending the non-deferrable AU request (if necessary). If not specified or negative, it is decided automatically. It is ignored if no non-deferrable listener is registered at the server.

      Returns Event<unknown>

      the event being fired, i.e., evt.

    • Sets the focus to this widget. This method will check if this widget can be activated by invoking canActivate first.

      Notice: don't override this method. Rather, override focus_, which this method depends on.

      Parameters

      • Optional timeout: number

        how many milliseconds before changing the focus. If not specified or negative, the focus is changed immediately,

      Returns boolean

      whether the focus is gained to this widget.

    • Forces the rendering if it is deferred. A typical way to defer the render is to specify setRenderdefer with a non-negative value. The other example is some widget might be optimized for the performance by not rendering some or the whole part of the widget. If the rendering is deferred, the corresponding DOM elements (Widget.$n) are not available. If it is important to you, you can force it to be rendered.

      Notice that this method only forces this widget to render. It doesn't force any of its children. If you want, you have invoke forcerender one-by-one

      The derived class shall override this method, if it implements the render deferring (other than setRenderdefer).

      Returns void

      Since

      5.0.2

    • Converts a coordinate related to the browser window into the coordinate related to this widget.

      Parameters

      • x: number

        the X coordinate related to the browser window

      • y: number

        the Y coordinate related to the browser window

      Returns Offset

      the coordinate related to this widget (i.e., [0, 0] is the left-top corner of the widget).

      Since

      5.0.2

    • Parameters

      • name: string

        the name of property.

      Returns unknown

      a value from the specified property.

      Since

      5.0.2

    • Type Parameters

      Returns T

      the class of the subsclass which extends from zk.Class.

      Since

      10.0.0

    • Returns undefined | string

      the client-side action.

      Since

      5.0.6

    • Called by insertChildHTML_ to find the location to place the DOM element of the child. More precisely, the node returned by getCaveNode is the parent DOM element of the child's DOM element.

      Returns undefined | HTMLElement

      Default Value

      this.$n('cave') || this.$n() You can override it to return whatever DOM element you want.

      See

      insertChildHTML_

    • Type Parameters

      Parameters

      • j: number

        the index of the child widget to return. 0 means the first child, 1 for the second and so on.

      • Optional skipHidden: boolean

        whether to skip hidden child widgets, defaults to false.

      Returns undefined | T

      the child widget at the specified index or null if no such index.

      Notice this method is not good if there are a lot of children since it iterates all children one by one.

    • Returns number

      the child index of this widget. By child index we mean the order of the child list of the parent. For example, if this widget is the parent's first child, then 0 is returned.

      Notice that getChildAt is called against the parent, while this method called against the child. In other words, `w.parent.getChildAt(w.getChildIndex())` returns `w`.

      Notice this method is not good if there are a lot of children since it iterates all children one by one.

    • Returns number

      the cols.

      Default Value

      0 (non-positive means the same as browser's default).

    • Returns undefined | string

      the ID of the popup (zul.wgt.Popup) that should appear when the user right-clicks on the element (aka., context menu).

      Default Value

      null (no context menu).

    • Returns boolean

      whether using css flex in this component or not.

      Since

      9.0.0

    • Returns undefined | string

      what keystrokes to intercept.

      Default Value

      null.

    • Returns HTMLElement

      the DOM element of this widget that can be dragged.

      Default Value

      it returns {@link Widget.$n}, i.e., the user can drag the widget anywhere.
      

      See

      ignoreDrag_

    • Returns string | boolean

      the identifier of a draggable type for this widget, or null if not draggable.

    • Returns undefined | string | boolean

      the identifier, or a list of identifiers of a droppable type for this widget, or null if not droppable.

    • Returns undefined | string

      the message to display when no matching results was found

      Since

      8.5.1

    • Returns undefined | string

      the error message that is caused when user entered invalid value, or null if no error at all.

      The error message is set when user has entered a wrong value, or setValue is called with a wrong value. It is cleared once a correct value is assigned.

      If the error message is set, we say this input is in the error mode.

    • Returns undefined | string

      the error message that is caused when user entered invalid value, or null if no error at all.

      The error message is set when user has entered a wrong value, or setValue is called with a wrong value. It is cleared once a correct value is assigned.

      If the error message is set, we say this input is in the error mode.

      Deprecated

      use getErrorMessage() instead.

    • Returns undefined | string

      the custom style icon class name applied to the errorbox, if any.

      Default Value

      null.

      Since

      8.0.1

    • Returns undefined | string

      the custom style class name applied to the errorbox, if any.

      Default Value

      null.

      Since

      8.0.1

    • Returns undefined | string

      the height of this widget.

      See

      getWidth

    • Returns undefined | string | boolean

      horizontal flex hint of this widget.

      See

      setHflex

    • Returns undefined | string

      the iconSclass name of this ComboWidget.

    • Returns undefined | string

      the identifier of this widget, or null if not assigned. It is the same as id.

    • Returns string

      the CSS style of inplace if inplace is not null

    • Returns undefined | Record<string, string>

      the additional attributes which is set by setinputAttributes(inputAttributes).

      Since

      8.6.1

    • Returns undefined | HTMLInputElement

      the input node of this widget

    • Returns undefined | string

      the left of this widget.

      See

      getTop

    • Returns number

      the maxlength.

      Default Value

      0 (non-postive means unlimited).

    • Returns string

      this widget's mold. A mold is a template to render a widget. In other words, a mold represents a visual presentation of a widget. Depending on implementation, a widget can have multiple molds.

    • Returns undefined | string

      the name of this component.

      Default Value

      null.

      Don't use this method if your application is purely based on ZK's event-driven model.

      The name is used only to work with "legacy" Web application that handles user's request by servlets. It works only with HTTP/HTML-based browsers. It doesn't work with other kind of clients.

    • Returns undefined | Page

      the page that this widget belongs to, or null if there is no page available.

    • Returns undefined | string

      the placeholder text

      Since

      6.5.0

    • Returns undefined | string

      the ID of the popup (zul.wgt.Popup) that should appear when the user clicks on the element.

      Default Value

      null (no popup).

    • Returns undefined | string

      the width of the popup of this component.

      Since

      8.0.3

    • Returns number

      the number of milliseconds before rendering this component at the client.

      Default Value

      -1 (don't wait).

      Since

      5.0.2

    • Returns undefined | string

      the CSS class of this widget.

      See

      • setSclass
      • getZclass
      • getStyle
    • Returns number

      the scroll left of the associated DOM element of this widget. 0 is always returned if this widget is not bound to a DOM element yet.

    • Returns number

      the scroll top of the associated DOM element of this widget. 0 is always returned if this widget is not bound to a DOM element yet.

    • Returns the selected item if any.

      Returns undefined | Comboitem

      Since

      10.0.0

    • Returns undefined | string

      the CSS style of this widget

      See

      • setStyle
      • getSclass
      • getZclass
    • Returns undefined | number

      the tab order of this component.

      Default Value

      0 (means the same as browser's default).

    • Returns string

      the text representing the value in the given format, or an empty etring if value is null

      Since

      5.0.5

    • Returns undefined | HTMLInputElement

      the DOM element that is used to hold the text, or null if this widget doesn't show any text.

      Default Value

      return null (no text node).
      <p>For example, {@link updateDomStyle_} will change the style
      of the text node, if any, to make sure the text is displayed correctly.
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Component_Development/Client-side/Text_Styles_and_Inner_Tags">ZK Client-side Reference: Text Styles and Inner Tags</a>.

      See

      • domTextStyleAttr_
      • updateDomStyle_
    • Returns undefined | string

      the ID of the popup (zul.wgt.Popup) that should be used as a tooltip window when the mouse hovers over the element for a moment. The tooltip will automatically disappear when the mouse is moved away.

      Default Value

      null (no tooltip).

    • Returns undefined | string

      the tooltip text of this widget.

    • Returns undefined | string

      the top of this widget.

      See

      getLeft

    • Returns undefined | Widget<HTMLElement>

      the top widget, which is the first floating ancestor, or null if no floating ancestor.

      See

      isFloating_

    • Returns string

      the type.

      Default Value

      text.
      
    • Returns undefined | string

      the value in the String format.

    • Returns undefined | string | boolean

      vertical flex hint of this widget.

      See

      setVflex

    • Returns undefined | string

      the width of this widget.

      See

      getHeight

    • Returns string | number

      the Z index.

    • Returns string

      the ZK Cascading Style class(es) for this widget.

      See

      • setZclass
      • getSclass
      • getStyle
    • Makes this widget invisible. It is a shortcut of setVisible(false)

      Returns this

    • Returns boolean

      whether is in rounded mold or not.

      Default Value

      false, only combo component are true

      Since

      7.0.0

    • Inserts a child widget before the reference widget (the sibling argument).

      Subclass Note

      • If this widget is bound to the DOM tree, this method invoke insertChildHTML_ to insert the DOM content of the child to the DOM tree. Thus, override insertChildHTML_ if you want to insert more than the DOM content generated by redraw.
      • If a widget wants to do something when the parent is changed, overrides beforeParentChanged_ (which is called by insertBefore, removeChild and appendChild).

      Parameters

      • child: Widget<HTMLElement>

        the child widget

      • Optional sibling: Widget<HTMLElement>

        the sibling widget (the 'insert' point where the new widget will be placed before). If null or omitted, it is the same as appendChild

      • Optional ignoreDom: boolean

      Returns boolean

      whether the widget was added successfully. It returns false if the child is always the last child (lastChild).

    • Returns boolean

      whether to automatically complete this text box by matching the nearest item (Comboitem. It is also known as auto-type-ahead.

      Default Value

      true

      If true, the nearest item will be searched and the text box is updated automatically. If false, user has to click the item or use the DOWN or UP keys to select it back.

      Don't confuse it with the auto-completion feature mentioned by other framework. Such kind of auto-completion is supported well by listening to the onChanging event.

    • Returns boolean

      whether to automatically drop the list if users is changing this text box.

      Default Value

      false.

    • Returns boolean

      whether this widget is being bound to DOM. In other words, it returns true if bind is called against this widget or any of its ancestors.

      Since

      5.0.8

    • Returns boolean

      whether the button (on the right of the textbox) is visible.

      Default Value

      true.

    • Returns boolean

      whether it is disabled.

      Default Value

      false.

    • Returns boolean

      the focus set by setFocus.

      Note: it simply returns what is passed to setFocus.

      Default Value

      false

      Since

      10.0.0

    • Returns undefined | string | boolean

    • Returns boolean

      whether enable the inplace-editing.

      Default Value

      false.

    • Returns boolean

      whether to send onChange event as soon as user types in the input.

      Default Value

      false.

      Since

      6.0.0

    • Returns boolean

      true if onSelect event is sent as soon as user selects using keyboard navigation.

      Default Value

      true

      Since

      8.6.1

    • Parameters

      • evt: string
      • Optional opts: Partial<{
            any: boolean;
            asapOnly: boolean;
        }>

        the options. If omitted, it checks only if the server registers any non-deferrable listener, and if the client register any listener. Allowed values:

        • any - in addition to the server's non-deferrable listener and client's listener, it also checks deferrable listener, and the so-called important events
        • asapOnly - it checks only if the server registers a non-deferrable listener, and if any non-deferrable important event. Use this option, if you want to know whether an AU request will be sent.

      Returns boolean

      if a listener is registered for the specified event.

    • Returns boolean

      whether it is multiline.

      Default Value

      false.

    • Returns boolean

      whether the list of combo items is open

    • Returns boolean

      whether it is readonly.

      Default Value

      false.

    • Returns boolean

      whether the widget has its own element bound to HTML DOM tree.

      Since

      7.0.0

    • Parameters

      • Optional opts: RealVisibleOptions

        the options. Allowed values:

        • dom - whether to check DOM element instead of isVisible
        • until - specifies the ancestor to search up to (included). If not specified, this method searches all ancestors. If specified, this method searches only this widget and ancestors up to the specified one (included).
        • strict - whether to check DOM element's style.visibility. It is used only if `dom` is also specified.
        • cache - a map of cached result (since 5.0.8). Ignored if null. If specified, the result will be stored and used to speed up the processing.

      Returns boolean

      if this widget is really visible, i.e., all ancestor widget and itself are visible.

    • Returns undefined | string | boolean

    • Parameters

      • Optional strict: boolean

        whether to check the visibility of the associated DOM element. If true, this widget and the associated DOM element must be both visible.

      Returns boolean

      if this widget is visible

    • Registers listener(s) to the specified event. For example,

      wgt.listen({
      onClick: wgt,
      onOpen: wgt._onOpen,
      onMove: [o, o._onMove]
      });

      As shown above, you can register multiple listeners at the same time, and echo value in infos can be a target, a function, or a two-element array, where the first element is a target and the second the function. A target can be any object that this will reference to when the event listener is called. Notice it is not zk.Event#target. Rather, it is `this` when the listener is called.

      If the function is not specified, the target must have a method having the same name as the event. For example, if `wgt.listen({onChange: target})` was called, then target.onChange(evt) will be called when onChange event is fired (by fire). On the other hand, if the target is not specified, the widget is assumed to be the target.

      Parameters

      • infs: Record<string, unknown>
      • Optional priority: number

        the higher the number, the earlier it is called. If omitted, 0 is assumed. If a widget needs to register a listener as the default behavior (such as zul.wnd.Window's onClose), -1000 is suggested

      Returns this

    • Called to fire the onAfterSize event.

      Returns void

      Since

      6.5.2

    • Drops down the list of combo items (Comboitem. It is the same as setOpen(true).

      Parameters

      Returns void

    • Proxies a member function such that it can be called with this object in a context that this object is not available. It sounds a bit strange at beginning but useful when passing a member of an object that will be executed as a global function.

      Example: Let us say if you want a member function to be called periodically, you can do as follows. ```ts setInterval(wgt.proxy(wgt.doIt), 1000); //assume doIt is a member function of wgt ```

      With proxy, when doIt is called, this references to wgt. On the other hand, the following won't work since this doesn't reference to wgt, when doIt is called. ```ts setInterval(wgt.doIt, 1000); //WRONG! doIt will not be called with wgt ```

      Notice that this method caches the result so that it will return the same proxied function, if you pass the same function again.

      Type Parameters

      • A extends unknown[]

      • R

      Parameters

      • func: ((...args) => R)

        a method member of this object

          • (...args): R
          • Parameters

            • Rest ...args: A

            Returns R

      Returns ((...args) => R)

      a function that can be called as a global function (that actually have this referencing to this object).

        • (...args): R
        • Parameters

          • Rest ...args: A

          Returns R

    • Type Parameters

      • A0

      • A extends unknown[]

      • R

      Parameters

      • func: ((arg0, ...args) => R)
          • (arg0, ...args): R
          • Parameters

            • arg0: A0
            • Rest ...args: A

            Returns R

      Returns ((arg0, ...args) => R)

        • (arg0, ...args): R
        • Parameters

          • arg0: A0
          • Rest ...args: A

          Returns R

    • Type Parameters

      • A0

      • A1

      • A extends unknown[]

      • R

      Parameters

      • func: ((arg0, arg1, ...args) => R)
          • (arg0, arg1, ...args): R
          • Parameters

            • arg0: A0
            • arg1: A1
            • Rest ...args: A

            Returns R

      Returns ((arg0, arg1, ...args) => R)

        • (arg0, arg1, ...args): R
        • Parameters

          • arg0: A0
          • arg1: A1
          • Rest ...args: A

          Returns R

    • Type Parameters

      • A0

      • A1

      • A2

      • A extends unknown[]

      • R

      Parameters

      • func: ((arg0, arg1, arg2, ...args) => R)
          • (arg0, arg1, arg2, ...args): R
          • Parameters

            • arg0: A0
            • arg1: A1
            • arg2: A2
            • Rest ...args: A

            Returns R

      Returns ((arg0, arg1, arg2, ...args) => R)

        • (arg0, arg1, arg2, ...args): R
        • Parameters

          • arg0: A0
          • arg1: A1
          • arg2: A2
          • Rest ...args: A

          Returns R

    • Type Parameters

      • A0

      • A1

      • A2

      • A3

      • A extends unknown[]

      • R

      Parameters

      • func: ((arg0, arg1, arg2, arg3, ...args) => R)
          • (arg0, arg1, arg2, arg3, ...args): R
          • Parameters

            • arg0: A0
            • arg1: A1
            • arg2: A2
            • arg3: A3
            • Rest ...args: A

            Returns R

      Returns ((arg0, arg1, arg2, arg3, ...args) => R)

        • (arg0, arg1, arg2, arg3, ...args): R
        • Parameters

          • arg0: A0
          • arg1: A1
          • arg2: A2
          • arg3: A3
          • Rest ...args: A

          Returns R

    • Generates the HTML fragment for this widget. The HTML fragment shall be pushed to out. For example,

      out.push('<div', this.domAttrs_(), '>');
      for (var w = this.firstChild; w; w = w.nextSibling)
      w.redraw(out);
      out.push('</div>');

      Parameters

      • out: string[]

        an array to output HTML fragments. Technically it can be anything that has the method called push

      • Optional skipper: Skipper

      Returns void

      Default Value

      it retrieves the redraw function associated with
      the mold ({@link getMold}) and then invoke it.
      The redraw function must have the same signature as this method.
    • Removes a child with more control. It is similar to removeChild except the caller could prevent it from removing the DOM element.

      Notice that the associated DOM elements and unbind_ is called first (i.e., called before beforeParentChanged_, modifying the widget tree, ID space, and onChildRemoved_).

      Parameters

      • child: Widget<HTMLElement>

        the child to remove.

      • Optional ignoreDom: boolean

        whether to remove the DOM element

      Returns boolean

      whether it is removed successfully.

    • Replaces the specified DOM element with the HTML content generated this widget. It is the same as jq(n).replaceWith(wgt, desktop, skipper).

      The DOM element to be replaced can be Widget.$n or any independent DOM element. For example, you can replace a DIV element (and all its descendants) with this widget (and its descendants).

      This method is usually used to replace a DOM element with a root widget (though, with care, it is OK for non-root widgets). Non-root widgets usually use appendChild and insertBefore to attach to the DOM tree[1]

      If the DOM element doesn't exist, you can use jq.before or jq.after instead.

      Notice that, both replaceHTML fires the beforeSize and onSize watch events (refer to zWatch).

      If skipper is null. It implies the caller has to fire these two events if it specifies a skipper (that is how rerender is implemented).

      Subclass Note

      This method actually forwards the invocation to its parent by invoking parent's replaceChildHTML_ to really replace the DOM element. Thus, override replaceChildHTML_ if you want to do something special for particular child widgets.

      Parameters

      • n: string | HTMLElement

        the DOM element (DOMElement) or anything Widget.$ allowed.

      • Optional desktop: Desktop

        the desktop that this widget shall belong to. If omitted, it is retrieve from the current desktop. If null, it is decided automatically ( such as the current value of desktop or the first desktop)

      • Optional skipper: Skipper

        it is used only if it is called by rerender

      • Optional _trim_: boolean
      • Optional _callback_: CallableFunction[]

      Returns void

      See

    • Replaces this widget with the specified one. The parent and siblings of this widget will become the parent and siblings of the specified one.

      Notice that replaceHTML is used to replace a DOM element that usually doesn't not belong to any widget. And, replaceWidget is used to replace the widget, and it maintains both the widget tree and the DOM tree.

      Parameters

      • newwgt: Widget<HTMLElement>

        the new widget that will replace this widget.

      • Optional skipper: Skipper

        the skipper used to skip a portion of DOM nodes.

      Returns void

      See

      replaceHTML

      Since

      5.0.1

    • Re-renders the DOM element(s) of this widget. By re-rendering we mean to generate HTML again (redraw) and then replace the DOM elements with the new generated HTML code snippet.

      It is equivalent to replaceHTML(this.node, null, skipper).

      It is usually used to implement a setter of this widget. For example, if a setter (such as `setBorder`) has to modify the visual appearance, it can update the DOM tree directly, or it can call this method to re-render all DOM elements associated with is widget and its descendants.

      It is convenient to synchronize the widget's state with the DOM tree with this method. However, it shall be avoided if the HTML code snippet is complex (otherwise, the performance won't be good).

      If re-rendering is required, you can improve the performance by passing an instance of zk.Skipper that is used to re-render some or all descendant widgets of this widget.

      Parameters

      • Optional skipper: Skipper

        skip some portion of this widget to speed up the re-rendering. If not specified, rerender(0) is assumed (since ZK 6).

      Returns this

    • Re-renders after the specified time (milliseconds).

      Notice that, to have the best performance, we use the single timer to handle all pending rerenders for all widgets. In other words, if the previous timer is not expired (and called), the second call will reset the expiration time to the value given in the second call.

      Parameters

      • Optional timeout: number

        the number milliseconds (non-negative) to wait before rerender. If negative, it means rerender shall take place immediately. If not specified, 0 is assumed (since ZK 6).

      Returns this

      Since

      5.0.4

    • Makes this widget visible in the browser window by scrolling ancestors up or down, if necessary.

      Returns this

      Default Value

      invoke zk(this).scrollIntoView();
      

      See

      zk.JQZK.scrollIntoView

    • Selects the whole text in this input.

      Parameters

      • start: number

        the starting index of the selection range

      • end: number

        the ending index of the selection range (excluding). In other words, the text between start and (end-1) is selected.

      Returns void

    • Sets a property. The property updates sent from the server, including renderProperties and smartUpdate, will invoke this method.

      Special Names

      `onXxx`

      If the name starts with `on`, it is assumed to be an event listener and setListener will be called.

      `$onXxx`

      If the name starts with `$on`, the value is assumed to be a boolean indicating if the server registers a listener.

      `$$onXxx`

      If the name starts with `$$on`, it indicates the event is an important event that the client must send it back to the server. In additions, the value is assumed to be a boolean indicating if the server registers a listener.

      Special Value

      `{$u: uuid}`

      If the value is in this format, it indicates `$u`'s value is UUID of a widget, and it will be resolved to a widget before calling the real method.

      However, since we cannot resolve a widget by its UUID until the widget is bound (to DOM). Thus, ZK sets property after mounted. For example, `wgt.set("radiogroup", {$u: uuid})` is equivalent to the following. ```js zk.afterMount(function () { wgt.set("radiogroup", zk.Widget.$(uuid)) }); ```

      Parameters

      • name: string

        the name of property.

      • value: string

        the value

      Returns Widget<HTMLElement>

    • Sets a property. The property updates sent from the server, including renderProperties and smartUpdate, will invoke this method.

      Parameters

      • name: string

        the name of property. Refer to (set:TWO_PARAMS) for special names.

      • value: string

        the value

      • extra: unknown

        the extra argument. It could be anything.

      Returns Widget<HTMLElement>

    • Sets the client-side action.

      Parameters

      • Optional action: string

        the client-side action

      Returns this

      Default Value

      null (no CSA at all)

      The format:
      `action1: action-effect1; action2: action-effect2`

      Currently, only two actions are `show` and `hide`. 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 as `show: slideDown; hide: slideUp`

      Since

      5.0.6

    • Sets whether to automatically complete this text box by matching the nearest item (Comboitem.

      Parameters

      • autocomplete: boolean

      Returns this

    • Sets whether to automatically drop the list if users is changing this text box.

      Parameters

      • autodrop: boolean

      Returns this

    • Sets whether the button (on the right of the textbox) is visible.

      Parameters

      • buttonVisible: boolean
      • Optional opts: Record<string, boolean>

      Returns this

    • Appends an array of children. Notice this method does NOT remove any existent child widget.

      Parameters

      Returns this

    • Sets the cols.

      Parameters

      • cols: number
      • Optional opts: Record<string, boolean>

      Returns this

    • Sets the constraint.

      Parameters

      Returns this

      Default Value

      null (means no constraint all all).

    • Sets the ID of the popup (zul.wgt.Popup) that should appear when the user right-clicks on the element (aka., context menu).

      Parameters

      • context: string

        the ID of the popup widget.

      Returns this

    • Sets the ID of the popup (zul.wgt.Popup) that should appear when the user right-clicks on the element (aka., context menu).

      An onOpen event is sent to the context menu if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.

      Note: To simplify the use, it not only searches its ID space, but also all ID spaces in the desktop. It first searches its own ID space, and then the other Id spaces in the same browser window (might have one or multiple desktops).

      If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
      `uuid(comp_uuid)`

      Example:
      ```ts wgt.setContext('an_id'); wgt.setContext('uuid(an_uuid)'); wgt.setContext(a_wgt); ``` Both reference a component whose ID is "some". But, if there are several components with the same ID, the first one can reference to any of them. And, the second one reference to the component in the same ID space (of the label component).

      The context menu can be shown by a position from zul.wgt.Popup.open or the location of `x` and `y`, you can specify the following format:

      • `id, position`
      • `id, position=before_start`
      • `id, x=15, y=20`
      • `uuid(comp_uuid), position`
      • `uuid(comp_uuid), x=15, y=20`
      For example, ```ts wgt.setContext('an_id', 'start_before'); ``` Since 6.5.2, the context menu can also be shown on customized location of `x` and `y` by adding parentheses"()", for example, ```ts wgt.setContext('an_id', 'x=(zk.currentPointer[0] + 10), y=(zk.currentPointer[1] - 10)'); ```

      Parameters

      • context: Popup

        the popup widget.

      Returns this

    • Sets whether to use css flex in this component or not.

      Parameters

      • cssflex: boolean

        enable css flex or not

      Returns this

      Since

      9.0.0

    • Sets what keystrokes to intercept.

      The string could be a combination of the following:

      ^k
      A control key, i.e., Ctrl+k, where k could be a~z, 0~9, #n
      @k
      A alt key, i.e., Alt+k, where k could be a~z, 0~9, #n
      $n
      A shift key, i.e., Shift+n, where n could be #n. Note: $a ~ $z are not supported.
      #home
      Home
      #end
      End
      #ins
      Insert
      #del
      Delete
      #bak
      Backspace
      #left
      Left arrow
      #right
      Right arrow
      #up
      Up arrow
      #down
      Down arrow
      #pgup
      PageUp
      #pgdn
      PageDn
      #f1 #f2 ... #f12
      Function keys representing F1, F2, ... F12

      For example,

      ^a^d@c#f10#left#right
      It means you want to intercept Ctrl+A, Ctrl+D, Alt+C, F10, Left and Right.
      ^#left
      It means Ctrl+Left.
      ^#f1
      It means Ctrl+F1.
      @#f3
      It means Alt+F3.

      Parameters

      • ctrlKeys: string

      Returns this

    • Sets whether it is disabled.

      Parameters

      • disabled: boolean
      • Optional opts: Record<string, boolean>

      Returns this

    • Sets the identifier of a draggable type for this widget.

      Parameters

      • Optional draggable: string | boolean

        "false", "" or null to denote non-draggable; "true" for draggable with anonymous identifier; others for an identifier of draggable.

      Returns this

      Default Value

      null

      The simplest way to make a widget draggable is to set this property to "true". To disable it, set this to "false" (or null). 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 and "false".

    • Sets the identifier, or a list of identifiers of a droppable type for this widget.

      Parameters

      • Optional droppable: string | boolean

        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 widget accept (to be dropped in).

      Returns this

      Default Value

      null

      The simplest way to make a component droppable is to set this attribute to `true`. To disable it, set this to `false` (or `null`).

      If there are several types of draggable objects and this widget accepts only some of them, you could assign a list of identifiers that this widget accepts, separated by comma.

      For example, if this component accepts dg1 and dg2, then assign "dg1, dg2" to this attribute.

    • Sets the message to display when no matching results was found

      Parameters

      • emptySearchMessage: string
      • Optional opts: Record<string, boolean>

      Returns this

      Since

      8.5.1

    • Marks this widget's value is wrong and show the error message.

      It is usually called by zk.AuCmd0#wrongValue (from the sever)

      Parameters

      • errorMessage: string

      Returns this

    • Sets the custom style icon class name to be applied to the errorbox.

      Parameters

      • errorboxIconSclass: string

      Returns this

      Since

      8.0.1

    • Sets the custom style class name to be applied to the errorbox.

      Parameters

      • errorboxSclass: string

      Returns this

      Since

      8.0.1

    • Sets the focus on this widget.

      Parameters

      • focus: boolean

        True to focus on this widget.

      Returns this

      Since

      10.0.0

    • Sets the height of this widget.

      Parameters

      • Optional height: string

        the height. Remember to specify 'px', 'pt' or '%'. An empty or null value means "auto"

      Returns this

    • Sets horizontal flexibility hint of this widget.

      The parameter flex is a number in String type indicating how this widget's parent container distributes remaining empty space among its children widget horizontally. Flexible widget grow and shrink to fit their given space. Flexible widget with larger flex values will be made larger than widget with lower flex values, at the ratio determined by all flexible widgets. The actual flex value is not relevant unless there are other flexible widget within the same parent container. Once the default sizes of widget in a parent container are calculated, the remaining space in the parent container is divided among the flexible widgets, according to their flex ratios.

      Specify a flex value of negative value, 0, or "false" has the same effect as leaving this 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 widget to enclose all of its children widgets. That is, the flexible widget grow and shrink to fit its children widgets.

      Parameters

      • Optional hflex: string | boolean

        the horizontal flex hint.

      Returns this

      See

      • setVflex
      • getHflex
    • Sets the iconSclass name of this ComboWidget.

      Parameters

      • iconSclass: string
      • Optional opts: Record<string, boolean>

      Returns this

      Since

      8.6.2

    • Sets the identifier of this widget.

      Parameters

      • Optional id: string

        the identifier to assigned to.

      Returns this

    • Sets to enable the inplace-editing function that the look and feel is like a label.

      Parameters

      • inplace: boolean
      • Optional opts: Record<string, boolean>

      Returns this

    • Sets some additional attributes to the input html tag in the component. this will only reset the additional attributes that are set by this method.

      Parameters

      • inputAttributes: Record<string, string>
      • Optional opts: Record<string, boolean>

      Returns this

      Since

      8.6.1

    • Inserts the text at the current cursor position. It would trigger focus and change event.

      Parameters

      • insertedText: string

        the text to be inserted

      Returns this

      Since

      8.5.1

    • Sets whether to send onChange event as soon as user types in the input.

      Parameters

      • instant: boolean

      Returns this

      Since

      6.0.0

    • Sets the instantSelect attribute. When the attribute is true, onSelect event will be fired as soon as user selects using keyboard navigation.

      If the attribute is false, user needs to press Enter key to finish the selection using keyboard navigation.

      Parameters

      • instantSelect: boolean

      Returns this

      Since

      8.6.1

    • Sets the left of this widget.

      Parameters

      • left: string

        the left. Remember to specify 'px', 'pt' or '%'. An empty or null value means "auto"

      Returns this

    • Sets a listener that can be unlistened easily. It is designed to be called from server. For client-side programming, it is suggested to use listen.

      It is based listen, but, unlike listen, the second invocation for the same event will unlisten the previous one automatically.

      In additions, if the function (specified in the second element of inf) is null, it unlistens the previous invocation.

      Parameters

      • listener: [string, unknown]

      Returns this

    • Sets a listener It is designed to be called from server. For client-side programming, it is suggested to use listen. Use it only if you want to unlisten the listener registered at the server (by use of the client namespace).

      It is based listen, but, unlike listen, the second invocation for the same event will unlisten the previous one automatically.

      In additions, if fn is null, it unlistens the previous invocation.

      Parameters

      • listener: string
      • fn: unknown

        the listener function. If null, it means unlisten.

      Returns this

    • Parameters

      • listener0: string | [string, unknown]
      • fn: unknown

      Returns this

    • Sets the listener a map of listeners. It is similar to listen, except

      • It will 'remember' what the listeners are, such that it can unlisten by specifying null as the value of the `infs` argument
      • The function can be a string and it will be converted to Function automatically.

      This method is mainly designed to be called by the application running at the server.

      Example: ```ts wgt.setListeners({ onChange: function (event) {this.doSomething();}, onFocus: 'this.doMore();', onBlur: null //unlisten }); ```

      Parameters

      • listeners: Record<string, {
            priority: number;
        }[]>

      Returns this

    • Parameters

      • listeners0: Record<string, {
            priority: number;
        }[]>

      Returns this

    • Sets the maxlength.

      Parameters

      • maxlength: number
      • Optional opts: Record<string, boolean>

      Returns this

    • Sets this widget's mold. A mold is a template to render a widget. In other words, a mold represents a visual presentation of a widget. Depending on implementation, a widget can have multiple molds.

      Parameters

      • mold: string

        the mold

      Returns this

      Default Value

      default

    • Sets the name of this component.

      Don't use this method if your application is purely based on ZK's event-driven model.

      The name is used only to work with "legacy" Web application that handles user's request by servlets. It works only with HTTP/HTML-based browsers. It doesn't work with other kind of clients.

      Parameters

      • name: string

        the name of this component.

      • Optional opts: Record<string, boolean>

      Returns this

    • Drops down or closes the list of combo items (Comboitem.

      Parameters

      • open: boolean
      • Optional opts: Record<string, unknown>

        the options.

      Returns this

      See

    • Parameters

      • override: string | [string, unknown]
      • val: unknown

      Returns this

    • Parameters

      • overrides: Record<string, unknown>

      Returns this

    • Sets the placeholder text that is displayed when input is empty. Only works for browsers supporting HTML5.

      Parameters

      • placeholder: string
      • Optional opts: Record<string, boolean>

      Returns this

      Since

      6.5.0

    • Sets the ID of the popup (zul.wgt.Popup) that should appear when the user clicks on the element.

      Parameters

      • popup: string

        the ID of the popup widget.

      Returns this

    • Sets the ID of the popup (zul.wgt.Popup) that should appear when the user clicks on the element.

      An onOpen event is sent to the popup menu if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.

      Note: To simplify the use, it not only searches its ID space, but also all ID spaces in the desktop. It first searches its own ID space, and then the other Id spaces in the same browser window (might have one or multiple desktops).

      If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
      `uuid(comp_uuid)`

      Example:
      ```ts wgt.setPopup('an_id'); wgt.setPopup('uuid(an_uuid)'); wgt.setPopup(a_wgt); ``` Both reference a component whose ID is "some". But, if there are several components with the same ID, the first one can reference to any of them. And, the second one reference to the component in the same ID space (of the label component).

      The popup menu can be shown by a position from zul.wgt.Popup.open or the location of `x` and `y`, you can specify the following format:

      • `id, position`
      • `id, position=before_start`
      • `id, x=15, y=20`
      • `uuid(comp_uuid), position`
      • `uuid(comp_uuid), x=15, y=20`
      For example, ```ts wgt.setPopup('an_id', 'start_before'); ``` Since 6.5.2, the popup can also be shown on customized location of `x` and `y` by adding parentheses"()", for example, ```ts wgt.setPopup('an_id', 'x=(zk.currentPointer[0] + 10), y=(zk.currentPointer[1] - 10)'); ```

      Parameters

      • popup: Popup

        the popup widget.

      Returns this

    • Sets the width of the popup of this component If the input is a percentage, the popup width will be calculated by multiplying the width of this component with the percentage. (e.g. if the input string is 130%, and the width of this component is 300px, the popup width will be 390px = 300px * 130%) Others will be set directly.

      Parameters

      • popupWidth: string

        of the popup of this component

      • Optional opts: Record<string, boolean>

      Returns this

      Since

      8.0.3

    • Sets whether it is readonly.

      Parameters

      • readonly: boolean
      • Optional opts: Record<string, boolean>

      Returns this

    • Sets the number of milliseconds before rendering this component at the client.

      Parameters

      • renderdefer: number

        time to wait in milliseconds before rendering. Notice: 0 also implies deferring the rendering (just right after all others are rendered).

      Returns this

      Default Value

      -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-render-defer`.

      Notice that it has no effect if the component has been rendered at the client.

      Since

      5.0.2

    • For internal use only. Update the value of the input element in this component

      Parameters

      • repos: boolean

      Returns this

    • Sets the CSS class of this widget.

      Parameters

      • sclass: string

        the style class

      Returns this

      Default Value

      null

      The default styles of ZK components doesn't depend on sclass at all. Rather, setSclass is provided to perform small adjustment, e.g., changing only the font size. In other words, the default style is still applied if you change sclass.

      To replace the default style completely, use setZclass instead.

      The real CSS class is a concatenation of getZclass and getSclass.

      See

      • getSclass
      • setZclass
      • setStyle
    • Sets the scroll left of the associated DOM element of this widget. This method does nothing if this widget is not bound to a DOM element yet.

      Parameters

      • scrollLeft: number

      Returns this

    • Sets the scroll top of the associated DOM element of this widget. This method does nothing if this widget is not bound to a DOM element yet.

      Parameters

      • scrollTop: number

      Returns this

    • Sets the CSS style of this widget.

      Parameters

      • style: string

        the CSS style

      Returns this

      Default Value

      null

      See

      • getStyle
      • setSclass
      • setZclass
    • Sets the tab order of this component.

      Parameters

      • tabindex: number
      • Optional opts: Record<string, boolean>

      Returns this

    • Sets the text representing the value in the given format.

      Parameters

      • text: string

        the text

      Returns this

      Since

      5.0.5

    • Sets the ID of the popup (zul.wgt.Popup) that should be used as a tooltip window when the mouse hovers over the element for a moment.

      Parameters

      • tooltip: string

        the ID of the popup widget.

      Returns this

    • Sets the ID of the popup (zul.wgt.Popup) that should be used as a tooltip window when the mouse hovers over the element for a moment.

      An onOpen event is sent to the tooltip if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.

      Note: To simplify the use, it not only searches its ID space, but also all ID spaces in the desktop. It first searches its own ID space, and then the other Id spaces in the same browser window (might have one or multiple desktops).

      If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
      `uuid(comp_uuid)`

      Example:
      ```ts wgt.setTooltip('an_id'); wgt.setTooltip('uuid(an_uuid)'); wgt.setTooltip(a_wgt); ``` Both reference a component whose ID is "some". But, if there are several components with the same ID, the first one can reference to any of them. And, the second one reference to the component in the same ID space (of the label component).

      The tooltip can be shown by a position from zul.wgt.Popup.open or the location of `x` and `y`, and can be specified with a delay time (in millisecond), you can specify the following format:

      • `id, position`
      • `id, position=before_start, delay=500`
      • `id, x=15, y=20`
      • `uuid(comp_uuid), position`
      • `uuid(comp_uuid), x=15, y=20`
      For example, ```ts wgt.setTooltip('an_id', 'start_before'); ``` Since 6.5.2, the tooltip can also be shown on customized location of `x` and `y` by adding parentheses"()", for example, ```ts wgt.setPopup('an_id', 'x=(zk.currentPointer[0] + 10), y=(zk.currentPointer[1] - 10)'); ```

      Parameters

      Returns this

    • Sets the tooltip text of this widget.

      Parameters

      • tooltiptext: string

      Returns this

      Default Value

      implementation of setTooltiptext: update the title attribute of {@link Widget.$n}
      
    • Sets the top of this widget. If you want to specify bottom, use setStyle instead. For example, setStyle("bottom: 0px");

      Parameters

      • top: string

        the top. Remember to specify 'px', 'pt' or '%'. An empty or null value means "auto"

      Returns this

    • Makes this widget as topmost.

      If this widget is not floating, this method will look for its ancestors for the first ancestor who is floating. In other words, this method makes the floating containing this widget as topmost. To make a widget floating, use setFloating_.

      This method has no effect if it is not bound to the DOM tree, or none of the widget and its ancestors is floating.

      Notice that it does not fire onFloatUp so it is caller's job if it is necessary to close other popups.

      Returns number

      the new value of z-index of the topmost floating window, -1 if this widget and none of its ancestors is floating or not bound to the DOM tree.

      See

      setFloating_

    • Sets the type.

      Parameters

      • type: string

        the type. Acceptable values are "text" and "password". Unlike XUL, "timed" is redudant because it is enabled as long as onChanging is added.

      • Optional opts: Record<string, boolean>

      Returns this

      Since

      8.5.0

    • Sets the value in the String format(assumes no locale issue).

      Notice that the invocation of getValue won't fire the onChange event. To fire it, you have to invoke fireOnChange explicitly.

      Parameters

      • value: string

        the value.

      • Optional fromServer: boolean

        whether it is called from the server. The error message will be cleared if true

      Returns this

    • Sets vertical flexibility hint of this widget.

      The parameter flex is a number in String type indicating how this widget's parent container distributes remaining empty space among its children widget vertically. Flexible widget grow and shrink to fit their given space. Flexible widget with larger flex values will be made larger than widget with lower flex values, at the ratio determined by all flexible widgets. The actual flex value is not relevant unless there are other flexible widget within the same parent container. Once the default sizes of widget in a parent container are calculated, the remaining space in the parent container is divided among the flexible widgets, 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 widget to enclose all of its children widgets. That is, the flexible widget grow and shrink to fit its children widgets.

      Parameters

      • Optional vflex: string | boolean

        the vertical flex hint.

      Returns this

      See

      • setHflex
      • getVflex
    • Sets whether this widget is visible.

      Subclass Notes

      • setVisible invokes the parent's onChildVisible_, so you can override onChildVisible_ to change the related DOM element. For example, updating the additional enclosing tags (such as zul.box.Box).
      • setVisible invokes setDomVisible_ to change the visibility of a child DOM element, so override it if necessary.

      Parameters

      • visible: boolean

        whether to be visible

      Returns this

    • Sets the width of this widget.

      Parameters

      • Optional width: string

        the width. Remember to specify 'px', 'pt' or '%'. An empty or null value means "auto"

      Returns this

    • Sets the Z index.

      Parameters

      • zIndex: string | number

        the Z index to assign to

      • opts: Partial<{
            fire: boolean;
            floatZIndex: boolean;
        }>

        if opts.fire is specified the onZIndex event will be triggered. If opts.floatZIndex is false, represent it is not from setFloatZIndex, so the userZIndex may be true.

      Returns this

    • Sets the ZK Cascading Style class(es) for this widget. It is the CSS class used to implement a mold of this widget. n implementation It usually depends on the implementation of the mold (getMold).

      Parameters

      • zclass: string

        the style class used to apply the whole widget.

      Returns this

      Default Value

      null but an implementation usually provides a default class, such as z-button.

      Calling setZclass with a different value will completely replace the default style of a widget. Once you change it, all default styles are gone. If you want to perform small adjustments, use setSclass instead.

      The real CSS class is a concatenation of getZclass and getSclass.

      See

      • getZclass
      • setSclass
      • setStyle
    • Parameters

      • zindex: number
      • opts: Partial<{
            fire: boolean;
            floatZIndex: boolean;
        }>

      Returns this

    • Parameters

      • value: string | number
      • Optional fromServer: boolean

      Returns void

    • Makes this widget visible. It is a shortcut of setVisible(true)

      Returns this

    • Smart-updates a property of the peer component associated with this widget, running at the server, with the specified value.

      It is actually fired an AU request named `setAttr`, and it is handled by the `updateByClient` method in `org.zkoss.zk.ui.AbstractComponent` (at the server).

      By default, it is controlled by a component attribute called `org.zkoss.zk.ui.updateByClient`. And, it is default to false. Thus, the component developer has to override `updateByClient` at the server (in Java) and then update it rather than calling back superclass. For example, ```ts void updateByClient(String name, Object value) { if ("disabled".equals(name)) setDisabled(value instanceof Boolean && ((Boolean)value).booleanValue()); else super.updateByClient(name, value); } ```

      Parameters

      • name: string

        the property name

      • value: unknown

        the property value

      • Optional timeout: number

        the delay before sending out the AU request. It is optional. If omitted, -1 is assumed (i.e., it will be sent with next non-deferrable request).

      Returns void

    • Unbinds this widget. It is called to remove the association (aka., detach) the widget from the DOM tree.

      Notice that you rarely need to invoke this method, since it is called automatically (such as replaceHTML).

      Notice that you rarely need to override this method, either. Rather, override unbind_ instead.

      Parameters

      • Optional skipper: Skipper

        used if rerender is called with a non-null skipper.

      • Optional keepRod: boolean

        used if the ROD flag needs to be kept.

      Returns this

      See

    • Removes a listener from the specified event.

      wgt.unlisten({
      onClick: wgt,
      onOpen: wgt._onOpen,
      onMove: [o, o._onMove]
      });

      Parameters

      • infos: Record<string, unknown>

        a map of event listeners. Each key is the event name, and each value can be the target, the listener function, or a two-element array, where the first element is the target and the second the listener function.

      Returns this

    • Called by SimpleConstraint

      Parameters

      • val: string

        the name of flag, such as "no positive".

      Returns undefined | string

    • Synchronizes a map of objects that are associated with this widget, and they shall be resized when the size of this widget is changed.

      It is useful to sync the layout, such as shadow, mask and error message, that is tightly associated with a widget.

      Parameters

      • Optional opts: ZKObject

        the options, or undefined if none of them specified. Allowed values:

      Returns void

    • Retrieves the widget.

      Type Parameters

      Parameters

      • Optional n: null | string | Node | JQuery<HTMLElement> | Event | Event<unknown> | T

        the object to look for. If it is a string, it is assumed to be UUID, unless it starts with '$'. For example, zk.Widget.$('uuid') is the same as zk.Widget.$('#uuid'), and both look for a widget whose ID is 'uuid'. On the other hand, zk.Widget.$('$id') looks for a widget whose ID is 'id'.
        and zk.Widget.$('.className') looks for a widget whose CSS selector is 'className'. (since zk 8.0)
        If it is an DOM element (DOMElement), it will look up which widget it belongs to.
        If the object is not a DOM element and has a property called target, then target is assumed. Thus, you can pass an instance of jq.Event or zk.Event, and the target widget will be returned.

      • Optional opts: Partial<{
            child: boolean;
            exact: boolean;
            strict: boolean;
        }>

        the options. Allowed values:

        • exact - id must exactly match uuid (i.e., uuid-xx ignored). It also implies strict (since 5.0.2)
        • strict - whether not to look up the parent node.(since 5.0.2) If omitted, false is assumed (and it will look up parent).
        • child - whether to ensure the given element is a child element of the widget's main element (Widget.$n). In most cases, if ID of an element is xxx-yyy, the the element must be a child of the element whose ID is xxx. However, there is some exception such as the shadow of a window.

      Returns undefined | T

    • Parameters

      • wgtnm: string

        the widget name, such as textbox.

      Returns typeof Widget

      the class of the specified widget's name. For example,

      zk.Widget.getClass('combobox');
      

      Notice that null is returned if the widget is not loaded (or not exist) yet.

    • Parameters

      • id: string

        the id of a widget, id.

      Returns HTMLElement[]

      all DOMElement with the given ID.

      Since

      5.0.2

    • Parameters

      Returns HTMLElement[]

      all DOMElement with the given widget name.

      Since

      5.0.2

    • Determines if the class by this Class object is either the same as, or is a superclass of, the class represented by the specified Class parameter. Example:

      if (klass1.isAssignableFrom(klass2)) {
      }

      Parameters

      • cls: typeof ZKObject

        the Class object to be checked, such as zk.Widget.

      Returns boolean

      true if assignable

    • Parameters

      • id: string

      Returns boolean

      Deprecated

      we cannot really detect at the client if UUID is generated automatically.

    • Determines if the specified Object is assignment-compatible with this Class. This method is equivalent to [[zk.Object#$instanceof]. Example:

      if (klass.isInstance(obj)) {
      }

      Type Parameters

      Parameters

      • this: T
      • o: unknown

        the object to check

      Returns o is InstanceType<T>

      true if the object is an instance

    • Creates a widget by specifying the widget name. The widget name is the last part of the class name of a widget (and converting the first letter to lower case). For example, if a widget's class name is zul.inp.Textbox, then the widget name is textbox.

      This method is usually used by tools, such as zk.zuml.Parser, rather than developers, since developers can create the widget directly if he knows the class name.

      Type Parameters

      Parameters

      • wgtnm: string

        the widget name, such as textbox.

      • Optional props: Record<string, unknown>

        the properties that will be passed to Widget.$init.

      Returns InstanceType<T>

    • Returns string

      the next unique UUID for a widget. The UUID is unique in the whole browser window and does not conflict with the peer component's UUID.

      This method is called automatically if Widget.$init is called without uuid.

    • Registers a widget class. It is called automatically if the widget is loaded by WPD loader, so you rarely need to invoke this method. However, if you create a widget class at run time, you have to call this method explicitly. Otherwise, className, getClass, and newInstance won't be applicable.

      Notice that the class must be declared before calling this method. In other words, zk.$import(clsnm) must return the class of the specified class name. ```ts zk.Widget.register('foo.Cool'); //class name zk.Widget.getClass('cool'); //widget name ```

      Parameters

      • clsnm: string

        the class name, such as zul.wnd.Window

      • blankprev: boolean

      Returns void

    • Converts an ID of a DOM element to UUID. It actually removes '-*'. For example, zk.Widget.uuid('z_aa-box') returns 'z_aa'.

      Parameters

      • id: string | HTMLElement

      Returns string

      the uuid of the widget (notice that the widget might not exist)