Class Cascader<E>

java.lang.Object
org.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.HtmlBasedComponent
org.zkoss.zkmax.zul.Cascader<E>
Type Parameters:
E - Element type in model
All Implemented Interfaces:
Serializable, Cloneable, org.zkoss.zk.ui.Component, org.zkoss.zk.ui.ext.Disable, org.zkoss.zk.ui.ext.Scope, org.zkoss.zk.ui.sys.ComponentCtrl

public class Cascader<E> extends org.zkoss.zk.ui.HtmlBasedComponent implements org.zkoss.zk.ui.ext.Disable
A Cascader is a dropdown list in tree structure, and it supports TreeModel. It does not create child widgets for each data, so the memory usage is much lower at the server.

Available in ZK EE.

Default getZclass(): z-cascader.

Since:
9.0.0
Author:
jameschu
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent

    org.zkoss.zk.ui.HtmlBasedComponent.ExtraCtrl

    Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent

    org.zkoss.zk.ui.AbstractComponent.Children, org.zkoss.zk.ui.AbstractComponent.ForwardInfo, org.zkoss.zk.ui.AbstractComponent.TargetInfo
  • Field Summary

    Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent

    _zclass

    Fields inherited from interface org.zkoss.zk.ui.Component

    APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE

    Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl

    AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_CLONED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    org.zkoss.util.Converter<Collection<E>,String>
    Returns the converter that generates the label text shown in the cascader from selected items, or null to use the default implementation.
    org.zkoss.zul.ItemRenderer<E>
    Returns the renderer to render each item, or null if the default renderer is used.
    org.zkoss.zul.TreeModel<E>
    Returns the model associated with this cascader, or null if this cascader is not associated with any tree data model.
    Returns the placeholder text.
    Returns the selected item.
    Returns all selected items.
     
    void
     
    boolean
     
    boolean
    Returns whether this cascader is open.
    void
    Handles a private event, onInitRender.
    void
    onPageAttached(org.zkoss.zk.ui.Page newpage, org.zkoss.zk.ui.Page oldpage)
     
    void
    onPageDetached(org.zkoss.zk.ui.Page page)
     
    protected void
    renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer)
     
    void
    service(org.zkoss.zk.au.AuRequest request, boolean everError)
     
    void
    sessionDidActivate(org.zkoss.zk.ui.Page page)
     
    void
    sessionWillPassivate(org.zkoss.zk.ui.Page page)
     
    void
    setDisabled(boolean disabled)
     
    void
    Sets the converter by use of a class name.
    void
    setItemConverter(org.zkoss.util.Converter<Collection<E>,String> converter)
    Sets the converter that generates the label text shown in the cascader from selected items.
    void
    Sets the renderer by use of a class name.
    void
    setItemRenderer(org.zkoss.zul.ItemRenderer<E> renderer)
    Sets the renderer which is used to render each item if getModel() is not null.
    void
    setModel(org.zkoss.zul.TreeModel model)
    Sets the tree model associated with this cascader.
    void
    setOpen(boolean open)
    Drops down or closes the list of items.
    void
    setPlaceholder(String placeholder)
    Sets the placeholder text that is displayed when the selected item is empty.
    void
    Deselects selected item and selects the given item.

    Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent

    addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getPropertyAccess, getRenderdefer, getSclass, getSkeleton, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setSkeleton, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly

    Methods inherited from class org.zkoss.zk.ui.AbstractComponent

    addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getStubonlyDescendants, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setStubonlyDescendants, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Cascader

      public Cascader()
  • Method Details

    • getModel

      public org.zkoss.zul.TreeModel<E> getModel()
      Returns the model associated with this cascader, or null if this cascader is not associated with any tree data model.
    • setModel

      public void setModel(org.zkoss.zul.TreeModel model)
      Sets the tree model associated with this cascader.
      Parameters:
      model - the list model to associate, or null to dis-associate any previous model. If not null, it must implement Selectable.
      Throws:
      org.zkoss.zk.ui.UiException - if failed to initialize with the model
    • onInitRender

      public void onInitRender()
      Handles a private event, onInitRender. It is used only for implementation, and you rarely need to invoke it explicitly.
    • getItemRenderer

      public org.zkoss.zul.ItemRenderer<E> getItemRenderer()
      Returns the renderer to render each item, or null if the default renderer is used.
    • setItemRenderer

      public void setItemRenderer(org.zkoss.zul.ItemRenderer<E> renderer)
      Sets the renderer which is used to render each item if getModel() is not null.

      Note: changing a render will cause the cascader to re-render.

      Parameters:
      renderer - the renderer, or null to use the default.
    • setItemRenderer

      public void setItemRenderer(String clsnm) throws ReflectiveOperationException
      Sets the renderer by use of a class name. It creates an instance automatically.
      Parameters:
      clsnm - The class name
      Throws:
      ReflectiveOperationException - if failed to initialize the renderer
    • getItemConverter

      public org.zkoss.util.Converter<Collection<E>,String> getItemConverter()
      Returns the converter that generates the label text shown in the cascader from selected items, or null to use the default implementation. (joining by slashes, i.g. "A/B/C")
    • setItemConverter

      public void setItemConverter(org.zkoss.util.Converter<Collection<E>,String> converter)
      Sets the converter that generates the label text shown in the cascader from selected items.
      Parameters:
      converter - the converter, or null to use the default implementation.
    • setItemConverter

      public void setItemConverter(String clsnm) throws ReflectiveOperationException
      Sets the converter by use of a class name. It creates an instance automatically.
      Parameters:
      clsnm - The class name
      Throws:
      ReflectiveOperationException - if failed to initialize the converter
    • getPlaceholder

      public String getPlaceholder()
      Returns the placeholder text.
    • setPlaceholder

      public void setPlaceholder(String placeholder)
      Sets the placeholder text that is displayed when the selected item is empty.
    • isOpen

      public boolean isOpen()
      Returns whether this cascader is open.

      Default: false.

    • setOpen

      public void setOpen(boolean open)
      Drops down or closes the list of items.
    • isDisabled

      public boolean isDisabled()
      Specified by:
      isDisabled in interface org.zkoss.zk.ui.ext.Disable
    • setDisabled

      public void setDisabled(boolean disabled)
      Specified by:
      setDisabled in interface org.zkoss.zk.ui.ext.Disable
    • getSelectedItems

      public Set<E> getSelectedItems()
      Returns all selected items.
    • getSelectedItem

      public E getSelectedItem()
      Returns the selected item.
    • setSelectedItem

      public void setSelectedItem(E item)
      Deselects selected item and selects the given item.
    • renderProperties

      protected void renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer) throws IOException
      Overrides:
      renderProperties in class org.zkoss.zk.ui.HtmlBasedComponent
      Throws:
      IOException
    • service

      public void service(org.zkoss.zk.au.AuRequest request, boolean everError)
      Specified by:
      service in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      service in class org.zkoss.zk.ui.HtmlBasedComponent
    • onPageAttached

      public void onPageAttached(org.zkoss.zk.ui.Page newpage, org.zkoss.zk.ui.Page oldpage)
      Specified by:
      onPageAttached in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      onPageAttached in class org.zkoss.zk.ui.AbstractComponent
    • onPageDetached

      public void onPageDetached(org.zkoss.zk.ui.Page page)
      Specified by:
      onPageDetached in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      onPageDetached in class org.zkoss.zk.ui.AbstractComponent
    • invalidate

      public void invalidate()
      Specified by:
      invalidate in interface org.zkoss.zk.ui.Component
      Overrides:
      invalidate in class org.zkoss.zk.ui.AbstractComponent
    • clone

      public Object clone()
      Specified by:
      clone in interface org.zkoss.zk.ui.Component
      Overrides:
      clone in class org.zkoss.zk.ui.HtmlBasedComponent
    • sessionWillPassivate

      public void sessionWillPassivate(org.zkoss.zk.ui.Page page)
      Specified by:
      sessionWillPassivate in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      sessionWillPassivate in class org.zkoss.zk.ui.AbstractComponent
    • sessionDidActivate

      public void sessionDidActivate(org.zkoss.zk.ui.Page page)
      Specified by:
      sessionDidActivate in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      sessionDidActivate in class org.zkoss.zk.ui.AbstractComponent
    • getZclass

      public String getZclass()
      Overrides:
      getZclass in class org.zkoss.zk.ui.HtmlBasedComponent