Insert a bs4TabPanel in a bs4TabSetPanel
Insert a bs4TabPanel in a bs4TabSetPanel
bs4InsertTab(
inputId,
tab,
target,
position = c("before", "after"),
select = FALSE,
session = shiny::getDefaultReactiveDomain()
)inputId |
bs4TabSetPanel id. |
tab |
bs4TabPanel to insert. |
target |
bs4TabPanel after of before which the new tab will be inserted. |
position |
Insert before or after: |
select |
Whether to select the newly inserted tab. FALSE by default. |
session |
Shiny session object. |
if (interactive()) {
library(shiny)
library(bs4Dash)
ui <- bs4DashPage(
sidebar_collapsed = T,
sidebar = bs4DashSidebar(),
bs4DashFooter(),
body = bs4DashBody(
actionButton("add1","ADD tabset 1"),
bs4TabSetPanel(
id = "tabset1",
side = "left",
bs4TabPanel(
tabName = "Tab 1",
active = TRUE,
p("Text 1"),
),
bs4TabPanel(
tabName = "Tab 2",
active = FALSE,
p("Text 2"),
)
),
actionButton("add2","ADD tabset 2"),
bs4TabSetPanel(
id = "tabset2",
side = "left",
bs4TabPanel(
tabName = "Tab 1",
active = TRUE,
p("Text 1"),
),
bs4TabPanel(
tabName = "Tab 2",
active = FALSE,
p("Text 2"),
)
)
)
)
server <- function(input, output, session) {
observeEvent(input$add1, {
bs4InsertTab(
inputId = "tabset1",
bs4TabPanel(tabName = "Dynamic", "I am inserted"),
target = "Tab 1",
position = "after",
select = FALSE
)
})
observeEvent(input$add2, {
bs4InsertTab(
inputId = "tabset2",
bs4TabPanel(tabName = "Dynamic", "I am inserted and active"),
target = "Tab 1",
position = "before",
select = TRUE
)
})
}
shinyApp(ui, server)
}Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.