Description Details Components Changes Note See Also Examples
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.
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.
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.
style
is a new option that wasn't available in previous versions of
shinyBS.
Run bsExample("Collapses")
for an example
of Collapses
functionality.
Other Collapses: bsCollapsePanel
;
bsCollapse
; updateCollapse
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.