class SimpleNavigationRenderers::RenderedItem
Attributes
bootstrap_version[R]
divider[R]
header[R]
item[R]
level[R]
link_options[R]
options[R]
renderer[R]
split[R]
Public Class Methods
new( renderer, item, level, bootstrap_version )
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 11 def initialize( renderer, item, level, bootstrap_version ) @renderer = renderer @item = item @level = level @bootstrap_version = bootstrap_version @options = item.html_options @navbar_text = options.delete(:navbar_text) @divider = options.delete(:divider) @header = options.delete(:header) @link_options = options.delete(:link) || {} @split = options.delete(:split) end
Public Instance Methods
to_s()
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 25 def to_s if navbar_text li_text elsif divider li_divider elsif header && (level != 1) li_header else li_link end end
Private Instance Methods
caret()
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 96 def caret content_tag(:b, '', class: "caret") end
dropdown_part( name )
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 86 def dropdown_part( name ) options[:class] = [ options[:class], "dropdown" ].flatten.compact.join(' ') link_options[:class] = [ link_options[:class], "dropdown-toggle" ].flatten.compact.join(' ') link_options[:"data-toggle"] = "dropdown" link_options[:"data-target"] = "#" content = link_to( name, "#", link_options ) + render_sub_navigation_for(item) content_tag(:li, content, options) end
li_divider()
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 46 def li_divider options[:class] = [ options[:class], ((level == 1) ? "divider-vertical" : "divider") ].flatten.compact.join(' ') content_tag(:li, '', options) end
li_header()
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 51 def li_header options[:class] = [ options[:class], ((bootstrap_version == 3) ? "dropdown-header" : "nav-header") ].flatten.compact.join(' ') content_tag(:li, item.name, options) end
li_link()
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 56 def li_link if include_sub_navigation?(item) if level == 1 if split splitted_simple_part + splitted_dropdown_part else dropdown_part( item.name + ' ' + caret ) end else content_tag(:li, dropdown_submenu_link, options) end else content_tag(:li, simple_link, options) end end
li_text()
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 42 def li_text content_tag(:li, content_tag(:p, item.name, {class: 'navbar-text'}), options) end
simple_link()
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 105 def simple_link link_options[:method] ||= item.method link_to(item.name, (item.url || "#"), link_options) end
splitted_dropdown_part()
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 78 def splitted_dropdown_part item.sub_navigation.dom_class = [ item.sub_navigation.dom_class, "pull-right" ].flatten.compact.join(' ') link_options = {} options[:id] = nil options[:class] = [ options[:class], "dropdown-split-right" ].flatten.compact.join(' ') dropdown_part( caret ) end
splitted_simple_part()
click to toggle source
# File lib/simple_navigation_renderers/rendered_item.rb, line 72 def splitted_simple_part main_li_options = options.dup main_li_options[:class] = [ main_li_options[:class], "dropdown-split-left" ].flatten.compact.join(' ') content_tag(:li, simple_link, main_li_options) end