Class MenuStyles::VerticalDropdownMenuStyle
In: lib/webgen/plugins/menustyles/vertical_dropdown.rb
Parent: MenuStyles::DefaultMenuStyle
DefaultMenuStyle HorizontalDropdownMenuStyle SectionMenuStyle VerticalDropdownMenuStyle HorizontalMenuStyle VerticalMenuStyle Webgen::HandlerPlugin lib/webgen/plugins/menustyles/section.rb lib/webgen/plugins/menustyles/horizontal.rb lib/webgen/plugins/menustyles/default.rb lib/webgen/plugins/menustyles/vertical_dropdown.rb lib/webgen/plugins/menustyles/vertical.rb lib/webgen/plugins/menustyles/horizontal_dropdown.rb MenuStyles dot/m_36_0.png

Methods

Public Class methods

[Source]

    # 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

Public Instance methods

[Source]

    # 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

Private Instance methods

[Source]

    # 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

[Validate]