Class Cascader<E>

  • Type Parameters:
    E - Element type in model
    All Implemented Interfaces:
    java.io.Serializable, java.lang.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:
    Serialized Form
    • 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
      Cascader()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object clone()  
      org.zkoss.util.Converter<java.util.Collection<E>,​java.lang.String> getItemConverter()
      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> getItemRenderer()
      Returns the renderer to render each item, or null if the default renderer is used.
      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.
      java.lang.String getPlaceholder()
      Returns the placeholder text.
      E getSelectedItem()
      Returns the selected item.
      java.util.Set<E> getSelectedItems()
      Returns all selected items.
      java.lang.String getZclass()  
      void invalidate()  
      boolean isDisabled()  
      boolean isOpen()
      Returns whether this cascader is open.
      void onInitRender()
      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 setItemConverter​(java.lang.String clsnm)
      Sets the converter by use of a class name.
      void setItemConverter​(org.zkoss.util.Converter<java.util.Collection<E>,​java.lang.String> converter)
      Sets the converter that generates the label text shown in the cascader from selected items.
      void setItemRenderer​(java.lang.String clsnm)
      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​(java.lang.String placeholder)
      Sets the placeholder text that is displayed when the selected item is empty.
      void setSelectedItem​(E item)
      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, 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, 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, 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, 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 Detail

      • Cascader

        public Cascader()
    • Method Detail

      • 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​(java.lang.String clsnm)
                             throws java.lang.ReflectiveOperationException
        Sets the renderer by use of a class name. It creates an instance automatically.
        Parameters:
        clsnm - The class name
        Throws:
        java.lang.ReflectiveOperationException - if failed to initialize the renderer
      • getItemConverter

        public org.zkoss.util.Converter<java.util.Collection<E>,​java.lang.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<java.util.Collection<E>,​java.lang.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​(java.lang.String clsnm)
                              throws java.lang.ReflectiveOperationException
        Sets the converter by use of a class name. It creates an instance automatically.
        Parameters:
        clsnm - The class name
        Throws:
        java.lang.ReflectiveOperationException - if failed to initialize the converter
      • getPlaceholder

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

        public void setPlaceholder​(java.lang.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 java.util.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 java.io.IOException
        Overrides:
        renderProperties in class org.zkoss.zk.ui.HtmlBasedComponent
        Throws:
        java.io.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 java.lang.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 java.lang.String getZclass()
        Overrides:
        getZclass in class org.zkoss.zk.ui.HtmlBasedComponent