I'm looking for a good approach to realize a tree-like JSF widget with the following requirements:
- means to expand and collapse tree branches
- ajax navigation through clicking on a tree node
- multi-selection of nodes / branches via tri-state checkboxes
- the former three features must work independent from each other
- the solution must be compatible with PrimeFaces
- I don't want to fork the framework in terms of writing a custom component
What I've come across:
- PrimeFaces
p:tree
andp:treeTable
- built-in selection feature provides a nice implementation with tri-state checkboxes but is tightly coupled to clicking on a node, which makes it unusable in terms of navigation (the selection also changes)
- alternatively a custom implementation of the checkbox-column must reinvent the whole tri-state checkbox logic even with
pe:triStateCheckbox
(PrimeFaces Extensions)
- OmniFaces
o:tree
seems to offer a high level of customization, but also leaves a lot of needle crafting remaining
Any hints, experiences are welcome.