Method: Cmtool::ApplicationHelper#collapsible_content

Defined in:
app/helpers/cmtool/application_helper.rb

#collapsible_content(options = {}, &blk) ⇒ Object

This is a wrapper to create collapsible content.



107
108
109
110
111
112
113
114
115
# File 'app/helpers/cmtool/application_helper.rb', line 107

def collapsible_content(options = {}, &blk)
  options = {title: options} if options.is_a?(String) # Single argument is title
  content = capture(&blk) if blk.present?
  content ||= options[:content]
  options[:collapsed] = true unless options.has_key?(:collapsed)
  classes = Array.wrap(options[:class]) | ["collapsible-container", options[:collapsed] ? 'collapsed' : nil]
  title_tag = (:div, "<span></span>#{options[:title]}".html_safe, class: 'collapsible-title')
  (:div, title_tag + (:div, content, class: 'collapsible-content'), class: classes)
end