| Class | MenuStyles::VerticalDropdownMenuStyle |
| In: |
lib/webgen/plugins/menustyles/vertical_dropdown.rb
|
| Parent: | MenuStyles::DefaultMenuStyle |
# File lib/webgen/plugins/menustyles/vertical_dropdown.rb, line 36
36: def initialize( plugin_manager )
37: super
38: @css = "
39: /* START webgen vertical dropdown menu style */
40: .webgen-menu-vert-dd ul {
41: list-style-type: none;
42: margin: 0;
43: padding: 0;
44: width: 15em;
45: }
46: .webgen-menu-vert-dd ul ul {
47: border: 1px solid black;
48: position: absolute;
49: z-index: 500;
50: left: 100%;
51: top: 0;
52: }
53: .webgen-menu-vert-dd a {
54: display: block;
55: margin: 0px;
56: padding: 3px 3px;
57: background-color: white;
58: }
59: .webgen-menu-vert-dd li { position: relative; }
60: .webgen-menu-vert-dd ul ul { display: none; }
61: .webgen-menu-vert-dd ul li:hover > ul > ul { display: none; }
62: .webgen-menu-vert-dd ul li:hover > ul { display: block; }
63: /* STOP webgen vertical dropdown menu style */
64: "
65: end
# File lib/webgen/plugins/menustyles/vertical_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-vert-dd #{param('divClass')}\">#{submenu( src_node, menu_tree, 1 )}</div>"
73: end
# File lib/webgen/plugins/menustyles/vertical_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