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$
id
in your server logic to determine which of the current tabs is active. The value will correspond to thevalue
argument 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})
}
)
}