Learn R Programming

bsplus (version 0.1.0)

bs_accordion: Accordion panel-group

Description

An accordion is a set of collapsible panels where, at most, one panel-body is visible.

Usage

bs_accordion(id)

# S3 method for bsplus_accordion bs_append(tag, title, content, ...)

# S3 method for bsplus_accordion bs_set_opts(tag, panel_type = "primary", use_heading_link = TRUE, ...)

Arguments

id

character, unique id for accordion <div/>, also serves as root id for panels appended using bs_append()

tag

htmltools::tag, accordion <div/> to which to append a panel

title

character (HTML) or htmltools::tagList, title for the panel heading

content

character (HTML) or htmltools::tagList, content for the panel body

...

other args (not used)

panel_type

character, one of the standard Bootstrap types c("default", "primary", "success", "info", "warning", "danger")

use_heading_link

logical, indicates whether to make the entire panel heading clickable.

Value

bsplus_accordion object (htmltools::tag, <div/>)

Details

All of these functions return a bsplus_accordion object (which is also an htmltools::tag, <div/>), so you can compose an accordion by piping. There are three parts to this system:

  1. A constructor function for the accordion, bs_accordion()

  2. A function to set options for subsequent panels, bs_set_opts()

  3. A function to append a panel to the group, bs_append()

The verb append is used to signify that you can append an arbitrary number of panels to an accordion.

For the constructor, bs_accordion(), it is your responsibility to ensure that id is unique among HTML elements in your page. If you have non-unique id's, strange things may happen to your page.

See Also

http://getbootstrap.com/javascript/#collapse-example-accordion

Examples

Run this code
# NOT RUN {
bs_accordion(id = "meet_the_beatles") %>%
  bs_set_opts(panel_type = "success", use_heading_link = TRUE) %>%
  bs_append(title = "John Lennon", content = "Rhythm guitar, vocals") %>%
  bs_set_opts(panel_type = "info") %>%
  bs_append(title = "Paul McCartney", content = "Bass guitar, vocals")

# }

Run the code above in your browser using DataLab