Module: Card::Set::All::Bootstrap::Accordion::HtmlFormat
- Extended by:
- Card::Set::AbstractFormat
- Defined in:
- tmpsets/set/mod026-bootstrap/all/bootstrap/accordion.rb
Instance Method Summary collapse
- #accordion(title, content, collapse_id = card.name.safe_key) ⇒ Object
- #accordion_group(list, collapse_id = nil, args = {}) ⇒ Object
- #accordion_panel(title, body, collapse_id, _panel_heading_link = false) ⇒ Object
Instance Method Details
#accordion(title, content, collapse_id = card.name.safe_key) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'tmpsets/set/mod026-bootstrap/all/bootstrap/accordion.rb', line 29 def accordion title, content, collapse_id=card.name.safe_key accordion_content = case content when Hash then accordion_group content, collapse_id when Array then content.present? && list_group(content) when String then content end " <div class=\"card\">\n \#{accordion_panel(title, accordion_content, collapse_id)}\n </div>\n HTML\nend\n".html_safe |
#accordion_group(list, collapse_id = nil, args = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'tmpsets/set/mod026-bootstrap/all/bootstrap/accordion.rb', line 9 def accordion_group list, collapse_id=nil, args={} collapse_id ||= card.name.safe_key accordions = "" index = 1 case list when Array then accordions = list.join when String then accordions = list else list.each_pair do |title, content| accordions << accordion(title, content, "#{collapse_id}-#{index}") index += 1 end end add_class args, "act-accordion-group w-100" wrap_with :div, class: args[:class], id: "accordion-#{collapse_id}", role: "tablist", "aria-multiselectable" => "true" do accordions end end |
#accordion_panel(title, body, collapse_id, _panel_heading_link = false) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'tmpsets/set/mod026-bootstrap/all/bootstrap/accordion.rb', line 43 def accordion_panel title, body, collapse_id, _panel_heading_link=false if body " <div class=\"card-header\" role=\"tab\" id=\"heading-\#{collapse_id}\">\n <h5 class=\"mb-0\">\n <a data-toggle=\"collapse\" data-parent=\"#accordion-\#{collapse_id}\" \\\n href=\"#\#{collapse_id}\" aria-expanded=\"true\" \\\n aria-controls=\"\#{collapse_id}\">\n \#{title}\n </a>\n </h5>\n </div>\n <div id=\"\#{collapse_id}\" class=\"collapse\" \\\n role=\"tabpanel\" aria-labelledby=\"heading-\#{collapse_id}\">\n <div class=\"card-body\">\n \#{body}\n </div>\n </div>\n HTML\n else\n <<-HTML\n <li class=\"list-group-item\">\n <h4 class=\"card-header\">\#{title}</h4>\n </li>\n HTML\n end\nend\n" |