Module: Booties::DropdownHelper

Includes:
Utils
Defined in:
app/helpers/booties/dropdown_helper.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods included from Utils

merge_classes

Instance Method Details

#button_to_dropdown(context: :default, class: nil, &block) ⇒ Object

Renders a button to toggle a dropdown menu.

Examples:

<%= button_to_dropdown do %>
  Foo
<% end %>

<%= button_to_dropdown context: :primary, class: 'btn-xs' do %>
  Foo
<% end %>


41
42
43
44
45
46
47
48
49
50
# File 'app/helpers/booties/dropdown_helper.rb', line 41

def button_to_dropdown(context: :default, class: nil, &block)
  classes = merge_classes binding.local_variable_get(:class),
                          %W[btn btn-#{context} dropdown-toggle]
  text = capture(&block) + caret
  button_tag text,
             name: nil,
             class: classes,
             data: { toggle: 'dropdown' },
             type: 'button'
end

#caretObject

Renders caret for dropdown menu.



67
68
69
# File 'app/helpers/booties/dropdown_helper.rb', line 67

def caret
   :span, '', class: 'caret'
end

Wraps a block in a dropdown menu list.

Examples:

<%= dropdown_menu do %>
  <li><%= link_to 'Foo', foos_path %></li>
  <li><%= link_to 'Bar', bars_path %></li>
<% end %>


61
62
63
# File 'app/helpers/booties/dropdown_helper.rb', line 61

def dropdown_menu(&block)
   :ul, class: 'dropdown-menu', &block
end

Renders a link to toggle a dropdown menu.

Examples:

<%= link_to_dropdown do %>
  Foo
<% end %>

<%= link_to_dropdown class: 'foo' do %>
  Foo
<% end %>


19
20
21
22
23
24
25
26
27
# File 'app/helpers/booties/dropdown_helper.rb', line 19

def link_to_dropdown(class: nil, &block)
  classes = merge_classes binding.local_variable_get(:class),
                          'dropdown-toggle'
  text = capture(&block) + caret
  link_to text, '#',
          class: classes,
          data: { toggle: 'dropdown' },
          role: 'button'
end