| Class | MenuStyles::DefaultMenuStyle |
| In: |
lib/webgen/plugins/menustyles/default.rb
|
| Parent: | Webgen::HandlerPlugin |
# File lib/webgen/plugins/menustyles/default.rb, line 38
38: def build_menu( src_node, menu_tree, options )
39: @options = options
40: internal_build_menu( src_node, menu_tree )
41: end
# File lib/webgen/plugins/menustyles/default.rb, line 43
43: def internal_build_menu( src_node, menu_tree )
44: raise NotImplementedErorr
45: end
# File lib/webgen/plugins/menustyles/default.rb, line 47
47: def param( name, plugin = nil )
48: if defined?( @options ) && !@options.nil? && @options.kind_of?( Hash ) && @options.has_key?( name ) &&
49: self.class.ancestor_classes.any? {|klass| klass.config.params.has_key?( name )}
50: @options[name]
51: else
52: super
53: end
54: end
Returns style information (node is selected, …) and a link from src_node to node.
# File lib/webgen/plugins/menustyles/default.rb, line 61
61: def menu_item_details( src_node, node )
62: styles = []
63: styles << param( 'submenuClass' ) if node.is_directory?
64: styles << param( 'submenuInHierarchyClass' ) if node.is_directory? && src_node.in_subtree_of?( node )
65: styles << param( 'selectedMenuitemClass' ) if node == src_node
66:
67: style = "class=\"#{styles.join(' ')}\"" if styles.length > 0
68: link = node.link_from( src_node, :context => {
69: :caller => self.class.plugin_name,
70: :selected => (node == src_node),
71: :directory => node.is_directory?,
72: :inHierarchy => node.is_directory? && src_node.in_subtree_of?( node )
73: } )
74:
75: return style, link
76: end