insertF7Tab | R Documentation |
insertF7Tab
inserts an f7Tab in an f7Tabs.
insertF7Tab(
id,
tab,
target = NULL,
position = c("before", "after"),
select = FALSE,
session = shiny::getDefaultReactiveDomain()
)
id |
f7Tabs id. |
tab |
f7Tab to insert. |
target |
f7Tab 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()) {
# Insert after
library(shiny)
library(shinyMobile)
shinyApp(
ui = f7Page(
title = "Insert a tab Before the target",
f7TabLayout(
navbar = f7Navbar(
title = "insertF7Tab",
hairline = FALSE,
shadow = TRUE,
leftPanel = TRUE,
rightPanel = TRUE
),
f7Tabs(
animated = TRUE,
id = "tabs",
f7Tab(
tabName = "Tab1",
icon = f7Icon("airplane"),
active = TRUE,
"Tab 1",
f7Button(inputId = "add", label = "Add tabs")
),
f7Tab(
tabName = "Tab2",
icon = f7Icon("today"),
active = FALSE,
f7Button(inputId="stay", label = "Stay"),
"Tab 2"
)
)
)
),
server = function(input, output, session) {
observeEvent(input$stay, {
f7Toast("Please stay")
})
observeEvent(input$add, {
insertF7Tab(
id = "tabs",
position = "after",
target = "Tab1",
tab = f7Tab (
# Use multiple elements to test for accessor function
f7Text(inputId = "my_text", label ="Enter something", placeholder = "What?"),
f7Text(inputId = "my_other", label ="Else:", placeholder = "Else ?"),
tabName = paste0("tabx_", input$go),
"Test2",
icon = f7Icon("app_badge")
),
select = TRUE
)
})
}
)
# Insert in an empty tabsetpanel
library(shiny)
ui <- f7Page(
f7SingleLayout(
navbar = f7Navbar(),
f7Button("add", "Add 'Dynamic' tab"),
br(),
f7Tabs(id = "tabs"),
)
)
server <- function(input, output, session) {
observeEvent(input$add, {
insertF7Tab(
id = "tabs",
f7Tab(title = "Dynamic", tabName = "Dynamic", "This a dynamically-added tab"),
target = NULL
)
})
}
shinyApp(ui, server)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.