Collapses {shinyBS} | R Documentation |
Collapses
Description
Collapse panels allow you to reduce clutter in your Shiny app by making panels of information that open and close with a user's click. Any type of content can go in a collapse panel. Standard Bootstrap styling options are available.
Details
Collapses are designed to mimic tabsetPanel
in their implementation.
Start with bsCollapse
to create a panel group, then fill it with panels
using bsCollapsePanel
.
bsCollapse
acts as an input, so you can retrieve which panels are open
from the input object passed to the function in shinyServer
.
updateCollapse
can be used within your server logic to open/close
collapse panels or to change their style.
Components
bsCollapse
A container for holder the individual panels created by
bsCollapsePanel
.bsCollapsePanel
Creates an individual Collapse Panel that resides within a
bsCollapse
.updateCollapse
Used within your server logic to open/close collapse panels or change their style.
Changes
style
is a new option that wasn't available in previous versions of
shinyBS.
Note
Run bsExample("Collapses")
for an example
of Collapses
functionality.
See Also
Other Collapses: bsCollapsePanel
;
bsCollapse
; updateCollapse
Examples
library(shiny)
library(shinyBS)
app = shinyApp(
ui =
fluidPage(
sidebarLayout(
sidebarPanel(HTML("This button will open Panel 1 using <code>updateCollapse</code>."),
actionButton("p1Button", "Push Me!"),
selectInput("styleSelect", "Select style for Panel 1",
c("default", "primary", "danger", "warning", "info", "success"))
),
mainPanel(
bsCollapse(id = "collapseExample", open = "Panel 2",
bsCollapsePanel("Panel 1", "This is a panel with just text ",
"and has the default style. You can change the style in ",
"the sidebar.", style = "info"),
bsCollapsePanel("Panel 2", "This panel has a generic plot. ",
"and a 'success' style.", plotOutput("genericPlot"), style = "success")
)
)
)
),
server =
function(input, output, session) {
output$genericPlot <- renderPlot(plot(rnorm(100)))
observeEvent(input$p1Button, ({
updateCollapse(session, "collapseExample", open = "Panel 1")
}))
observeEvent(input$styleSelect, ({
updateCollapse(session, "collapseExample", style = list("Panel 1" = input$styleSelect))
}))
}
)
## Not run:
runApp(app)
## End(Not run)