Class MenuStyles::HorizontalMenuStyle
In: lib/webgen/plugins/menustyles/horizontal.rb
Parent: 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_46_0.png

Methods

Public Instance methods

[Source]

    # File lib/webgen/plugins/menustyles/horizontal.rb, line 41
41:     def internal_build_menu( src_node, menu_tree )
42:       unless defined?( @css_added )
43:         @plugin_manager['Core/ResourceManager'].append_data( 'webgen-css', "
44: /* START webgen horizontal menu style */
45: .webgen-menu-horiz ul { display: block; }
46: .webgen-menu-horiz li { display: inline; }
47: /* STOP webgen horizontal menu style */
48: " )
49:         @css_added = true
50:       end
51:       "<div class=\"webgen-menu-horiz #{param('divClass')}\">#{submenu( src_node, menu_tree, 1 )}</div>"
52:     end

Private Instance methods

[Source]

    # File lib/webgen/plugins/menustyles/horizontal.rb, line 58
58:     def submenu( src_node, menu_node, level )
59:       if menu_node.nil? \
60:         || level > param( 'maxLevels' ) + param( 'startLevel' ) - 1 \
61:         || src_node.level < param( 'startLevel' ) \
62:         || !src_node.in_subtree_of?( menu_node.node_info[:node] )
63:         return ''
64:       end
65: 
66:       submenu = ''
67:       out = "<ul>"
68:       menu_node.each do |child|
69:         submenu << (child.has_children? ? submenu( src_node, child, level + 1 ) : '')
70:         style, link = menu_item_details( src_node, child.node_info[:node] )
71:         out << "<li#{style.to_s.empty? ? '' : ' ' + style}>#{link}</li>"
72:       end
73:       out << "</ul>"
74:       out << submenu
75: 
76:       if level < param( 'startLevel' )
77:         '' + submenu
78:       else
79:         out
80:       end
81:     end

[Validate]