| 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