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