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
maincontent 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)
}
