Create a dashboard layout with a full-width header (title
) and sidebar()
.
Usage
page_sidebar(
...,
sidebar = NULL,
title = NULL,
fillable = TRUE,
fillable_mobile = FALSE,
theme = bs_theme(),
window_title = NA,
lang = NULL
)
Arguments
- ...
UI elements to display in the 'main' content area (i.e., next to the
sidebar
). These arguments are passed tolayout_sidebar()
, which has more details.A
sidebar()
object.- title
A string, number, or
htmltools::tag()
child to display as the title (just above thesidebar
).- fillable
Whether or not the
main
content area should be considered a fillable (i.e., flexbox) container.- fillable_mobile
Whether or not the page should fill the viewport's height on mobile devices (i.e., narrow windows).
- theme
A
bs_theme()
object.- window_title
the browser window title. The default value,
NA
, means to use any character strings that appear intitle
(if none are found, the host URL of the page is displayed by default).- lang
ISO 639-1 language code for the HTML page, such as "en" or "ko". This will be used as the lang in the
<html>
tag, as in<html lang="en">
. The default (NULL) results in an empty string.
References
Getting Started with Dashboards on the bslib website.
See also
layout_columns()
and layout_column_wrap()
for laying out content
into rows and columns.
accordion()
for grouping related input controls in the sidebar
.
card()
for wrapping outputs in the 'main' content area.
value_box()
for highlighting values.
Other Dashboard page layouts:
page_fillable()
,
page_navbar()
Examples
if (FALSE) { # rlang::is_interactive()
library(shiny)
library(ggplot2)
ui <- page_sidebar(
title = "Example dashboard",
sidebar = sidebar(
varSelectInput("var", "Select variable", mtcars)
),
card(
full_screen = TRUE,
card_header("My plot"),
plotOutput("p")
)
)
server <- function(input, output) {
output$p <- renderPlot({
ggplot(mtcars) + geom_histogram(aes(!!input$var))
})
}
shinyApp(ui, server)
}