class SimpleNavigationBootstrap::RenderedItem

Attributes

bootstrap_version[R]
divider[R]
header[R]
item[R]
level[R]
navbar_text[R]
options[R]
renderer[R]
skip_caret[R]
split[R]

Public Class Methods

new(renderer, item, level, bootstrap_version) click to toggle source
# File lib/simple_navigation_bootstrap/rendered_item.rb, line 10
def initialize(renderer, item, level, bootstrap_version)
  @renderer = renderer
  @item     = item
  @level    = level
  @bootstrap_version = bootstrap_version

  @options      = item.html_options
  @navbar_text  = options.fetch(:navbar_text) { nil }
  @divider      = options.fetch(:divider) { false }
  @header       = options.fetch(:header) { false }
  @split        = options.fetch(:split) { false }
  @skip_caret   = options.fetch(:skip_caret) { false }
  @link_options = @item.link_html_options || {}
end

Public Instance Methods

to_s() click to toggle source
# File lib/simple_navigation_bootstrap/rendered_item.rb, line 26
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_bootstrap/rendered_item.rb, line 110
def caret
  content_tag(:b, '', class: 'caret')
end
dropdown_part(name) click to toggle source
li_divider() click to toggle source
# File lib/simple_navigation_bootstrap/rendered_item.rb, line 49
def li_divider
  css_class = level == 1 ? 'divider-vertical' : 'divider'
  options[:class] = [options[:class], css_class].flatten.compact.join(' ')
  content_tag(:li, '', options)
end
li_header() click to toggle source
# File lib/simple_navigation_bootstrap/rendered_item.rb, line 56
def li_header
  css_class = bootstrap_version == 3 ? 'dropdown-header' : 'nav-header'
  options[:class] = [options[:class], css_class].flatten.compact.join(' ')
  content_tag(:li, item.name, options)
end
li_text() click to toggle source
# File lib/simple_navigation_bootstrap/rendered_item.rb, line 44
def li_text
  content_tag(:li, content_tag(:p, item.name, class: 'navbar-text'), options)
end
splitted_dropdown_part() click to toggle source
# File lib/simple_navigation_bootstrap/rendered_item.rb, line 90
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_bootstrap/rendered_item.rb, line 83
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