Class | MenuStyles::HorizontalDropdownMenuStyle |
In: |
lib/webgen/plugins/menustyles/horizontal_dropdown.rb
|
Parent: | MenuStyles::DefaultMenuStyle |
# File lib/webgen/plugins/menustyles/horizontal_dropdown.rb, line 36 36: def initialize( plugin_manager ) 37: super 38: @css = " 39: /* START webgen horizontal dropdown menu style */ 40: .webgen-menu-horiz-dd ul { 41: list-style-type: none; 42: margin: 0; 43: padding: 0; 44: float: left; 45: } 46: .webgen-menu-horiz-dd ul ul { 47: width: 15em; 48: border: 1px solid black; 49: position: absolute; 50: z-index: 500; 51: } 52: .webgen-menu-horiz-dd a { 53: display: block; 54: margin: 0px; 55: padding: 3px 3px; 56: background-color: white; 57: } 58: .webgen-menu-horiz-dd li { position: relative; } 59: .webgen-menu-horiz-dd ul ul ul { position: absolute; top: 0; left: 100%; } 60: .webgen-menu-horiz-dd ul ul { display: none; } 61: .webgen-menu-horiz-dd ul li:hover > ul > ul { display: none; } 62: .webgen-menu-horiz-dd ul li:hover > ul { display: block; } 63: /* STOP webgen horizontal dropdown menu style */ 64: " 65: end
# File lib/webgen/plugins/menustyles/horizontal_dropdown.rb, line 67 67: def internal_build_menu( src_node, menu_tree ) 68: unless defined?( @css_added ) 69: @plugin_manager['Core/ResourceManager'].append_data( 'webgen-css', @css ) 70: @css_added = true 71: end 72: "<div class=\"webgen-menu-horiz-dd #{param('divClass')}\">#{submenu( src_node, menu_tree, 1 )}</div>" 73: end
# File lib/webgen/plugins/menustyles/horizontal_dropdown.rb, line 79 79: def submenu( src_node, menu_node, level ) 80: out = '' 81: out = "<ul>" if level > 1 82: menu_node.each do |child| 83: menu = (child.has_children? ? submenu( src_node, child, level + 1 ) : '') 84: style, link = menu_item_details( src_node, child.node_info[:node] ) 85: 86: out << "<ul>" if level == 1 87: out << "<li #{style}>#{link}" 88: out << menu 89: out << "</li>" 90: out << "</ul>" if level == 1 91: end 92: out << "</ul>" if level > 1 93: 94: return out 95: end