By default filter out nodes that are not selectable and not folderish.

This can be overridden on the widget by setting show_all_nodes to True.
This commit is contained in:
Maurits van Rees 2012-03-02 10:04:19 +01:00
parent 5163112c72
commit fbf56d5154
3 changed files with 16 additions and 2 deletions

View File

@ -4,6 +4,10 @@ Changelog
1.0.6 (unreleased)
------------------
* By default filter out nodes that are not selectable and not folderish.
This can be overridden on the widget by setting show_all_nodes to True.
[maurits]
* Added Dutch translation.
[maurits]

View File

@ -100,8 +100,14 @@ class NavtreeStrategy(SitemapNavtreeStrategy):
return True
def nodeFilter(self, node):
# Don't filter any nodes.
return True
# Returns True when the node should not be filtered.
if self.widget.show_all_nodes:
return True
# Show folderish nodes.
if getattr(node['item'], 'is_folderish', False):
return True
# Show selectable nodes.
return self.widget.bound_source.isBrainSelectable(node['item'])
def decoratorFactory(self, node):
new_node = super(NavtreeStrategy, self).decoratorFactory(node)

View File

@ -130,6 +130,10 @@ class ContentTreeBase(Explicit):
formatItem = ('function(row, idx, count, value) {'
' return row[1] + " (" + row[0] + ")"; }')
# By default, only show 'interesting' nodes, that is: nodes that
# are selectable or that are folders.
show_all_nodes = False
def getTermByBrain(self,brain):
return self.bound_source.getTermByBrain(brain)