Overview
This document will describe the migration of tree component.
information from 3.3.x:
references:
http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/rich_tree.html
tld:
http://docs.jboss.org/richfaces/latest_3_3_X/en/tlddoc/rich/tree.html
svn
Related requests and jiras:
Removed features
- Tree state advisors
- Caching of tree nodes/models
Base functionality - to be implemented in M4
- Three modes for nodes toggling: ajax/server/client
- Two modes for nodes selection: ajax/client
- Visual presentation of the node customizable via rich:treeNode component
- Data types defined as "value":
- javax.swing.tree.TreeNode
- Several root nodes supported
- Events
- Server-side
- Node toggling (not in M4 completely)
- Node selection (not in M4 completely)
- Server-side
Additional features - for M5
- Data types defined as "value":
- org.richfaces.model.TreeDataModel (new for 4.x)
- org.richfaces.model.TreeNode
- Tree node customization attributes
- Default rich:treeNode
- Support for 'execute'/'render' attributes
- Toggle types
- toggleNodeEvent attribute specifies additional event on node itself which will trigger expansion.
- Events
- Client-side
- Cancelable & non-cancelable for node toggling
- Cancelable & non-cancelable for node selection
- Server-side
- treeToggleListener tag & component attributes
- treeSelectionChangeListener tag & component attributes
- Client-side
- Built-in converters for complex row keys
- Improved support for lazy loading
- Support for arbitrary data structures (via adaptors) (for M5)
- treeModelAdaptor
- treeModelRecursiveAdaptor
Questionnable/LT - important
- DnD
- "disabled" attribute
- "loading" facet for tree
- Keyboard navigation
- Nodes toggling
- Node selection/deselection
- Client-side API
- Server-side API
- Expand all nodes
- Collapse all nodes
- Expand particular node with all parents
- Collapse particular node with all subnodes
- Collapse particular node
- Selection control
- Reset visual state for:
- Node
- Subtree
Questionnable/LT
- Distinct operation (ajax/server/etc) modes for different types of tree nodes
- Pagination support
- Insertion of nodes in arbitrary order
- TBD
- TBD
- ...
- Multi selection
- External partial updates
- subtree
- node
Issues
- Full node selection
- Scrollable containers/scrolled page
- Persistent row keys
- DB models support
- What is satisfiable performance?
Comments