Create a tabset that contains shiny::tabPanel elements. The tabs are
sortable by drag and drop. In addition to the activated tab title stored in
input$<id>, the server will also receive the order of tabs in
input$<id>_order.
Usage
sortableTabsetPanel(
...,
id = NULL,
selected = NULL,
type = c("tabs", "pills", "hidden"),
header = NULL,
footer = NULL
)Arguments
- ...
tabPanel()elements to include in the tabset- id
If provided, you can use
input$idin your server logic to determine which of the current tabs is active. The value will correspond to thevalueargument that is passed totabPanel().- selected
The
value(or, if none was supplied, thetitle) of the tab that should be selected by default. IfNULL, the first tab will be selected.- type
"tabs"Standard tab look
"pills"Selected tabs use the background fill color
"hidden"Hides the selectable tabs. Use
type = "hidden"in conjunction withtabPanelBody()andupdateTabsetPanel()to control the active tab via other input controls. (See example below)
- header
Tag or list of tags to display as a common header above all tabPanels.
- footer
Tag or list of tags to display as a common footer below all tabPanels
Value
A tabset that can be passed to shiny::mainPanel
Examples
## Only run this example in interactive R sessions
if (interactive()) {
shinyApp(
ui = fluidPage(
sortableTabsetPanel(
id = "tabs",
tabPanel(title = "A", "AAA"),
tabPanel(title = "B", "BBB"),
tabPanel(title = "C", "CCC")
),
verbatimTextOutput("order")
),
server = function(input, output) {
output$order <- renderPrint({input$tabs_order})
}
)
}