Build a navbar layout element to insert in f7SingleLayout, f7TabLayout or f7SplitLayout.
updateF7Navbar
toggles an f7Navbar component from the server.
Usage
f7Navbar(
...,
subNavbar = NULL,
title = NULL,
subtitle = deprecated(),
hairline = TRUE,
shadow = deprecated(),
bigger = FALSE,
transparent = FALSE,
leftPanel = FALSE,
rightPanel = FALSE
)
updateF7Navbar(
animate = TRUE,
hideStatusbar = FALSE,
session = shiny::getDefaultReactiveDomain()
)
Arguments
- ...
Slot for f7SearchbarTrigger. Not compatible with f7Panel.
f7SubNavbar slot, if any.
- title
Navbar title.
- subtitle
- hairline
Whether to display a thin border on the top of the navbar. TRUE by default, for ios.
- shadow
- bigger
Whether to display bigger title. FALSE by default. Title becomes smaller when scrolling down the page.
- transparent
Whether the navbar should be transparent. FALSE by default. Only works if bigger is TRUE.
- leftPanel
Whether to enable the left panel. FALSE by default. You can also pass a list of shiny tag with
shiny::tagList
, such as an icon or text. This is useful when using the yet experimental routable API with f7MultiLayout.- rightPanel
Whether to enable the right panel. FALSE by default. You can also pass a list of shiny tags with
shiny::tagList
, such as an icon or text. This is useful when using the yet experimental routable API with f7MultiLayout.- animate
Whether it should be hidden with animation or not. By default is TRUE.
- hideStatusbar
When FALSE (default) it hides navbar partially keeping space required to cover statusbar area. Otherwise, navbar will be fully hidden.
- session
Shiny session object.
Author
David Granjon, dgranjon@ymail.com
Examples
library(shiny)
library(shinyMobile)
app <- shinyApp(
ui = f7Page(
title = "Sub Navbar",
options = list(
dark = FALSE,
navbar = list(
hideOnPageScroll = TRUE,
mdCenterTitle = TRUE
)
),
f7SingleLayout(
panels = tagList(
f7Panel(
title = "Left Panel",
side = "left",
f7Block("Blabla"),
effect = "cover"
),
f7Panel(
title = "Right Panel",
side = "right",
f7Block("Blabla"),
effect = "cover"
)
),
navbar = f7Navbar(
subNavbar = f7SubNavbar(
f7Button(label = "My button"),
f7Button(label = "My button"),
f7Button(label = "My button")
),
title = "Title",
leftPanel = TRUE,
rightPanel = TRUE
),
f7Block(f7Button(inputId = "toggle", "Toggle navbar")),
f7Block(
lapply(1:20, f7Card)
)
)
),
server = function(input, output, session) {
observeEvent(input$toggle, {
updateF7Navbar()
})
}
)
if (interactive() || identical(Sys.getenv("TESTTHAT"), "true")) app