Sha256: e16883637841f0ca2fbe123d301f56a8bfd38a75dfd12636d19897ff619a0a99
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
module Bootstrap::AccordionHelper def accordion(options={}) options = ensure_accordion_id(options) @accordion_id = options[:id] options = ensure_class(options, 'accordion') content_tag(:div, options) do yield end end def accordion_group(text, options={}) options = ensure_accordion_group_id(options) @accordion_group_id = options[:id] open = options.delete(:open) content_tag(:div, class: 'accordion-group') do accordion_group_heading(text) + accordion_group_body(open) { yield } end end private def accordion_group_heading(text) content_tag(:div, class: 'accordion-heading') do content_tag(:a, text, class: %(accordion-toggle), href: "##{@accordion_group_id}", data: {toggle: 'collapse', parent: "##{@accordion_id}" }) end end def accordion_group_body(open) classes = %w(accordion-body collapse) classes << 'in' if open content_tag(:div, id: @accordion_group_id, class: classes) do content_tag(:div, class: 'accordion-inner') do yield end end end def ensure_accordion_id(options) if options.has_key?(:id) options else @accordion_number = @accordion_number.to_i + 1 options.dup.tap do |h| h[:id] = "accordion-#{@accordion_number}" end end end def ensure_accordion_group_id(options) if options.has_key?(:id) options else @accordion_group_number = @accordion_group_number.to_i + 1 options.dup.tap do |h| h[:id] = "#{@accordion_id}-group-#{@accordion_group_number}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bootstrap-view-helpers-0.0.3 | app/helpers/bootstrap/accordion_helper.rb |
bootstrap-view-helpers-0.0.1 | app/helpers/bootstrap/accordion_helper.rb |