---
title: "Live Demos"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Live Demos}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE, purl = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
eval = FALSE,
purl = FALSE
)
```
## Community Gallery
Browse dashboards built with dashboardr by the community: **[View the Gallery →](https://favstats.github.io/dashboardr/gallery/)**
Built something with dashboardr? **[Submit your dashboard](https://github.com/favstats/dashboardr/issues/new?labels=gallery-submission&title=%5BGallery%5D+My+Dashboard)** to the gallery and share it with the community!
## Overview
`dashboardr` includes several live demo dashboards that showcase its capabilities. Each demo comes with complete code documentation showing the exact R code used.
### Main Demos
- **Tutorial Dashboard** - Beginner-friendly introduction to dashboardr. [Code & Docs](tutorial_dashboard_code.html) | [Live Demo](../live-demos/tutorial/index.html)
- **Showcase Dashboard** - Advanced dashboard with multiple pages and tabsets. [Code & Docs](showcase_dashboard_code.html) | [Live Demo](../live-demos/showcase/index.html)
- **Interactive Inputs** - Gallery of input types (select, slider, switch, checkbox). [View Demo](../live-demos/inputs/index.html)
- **Sidebar Demo** - Page sidebars with filters (checkbox, dropdown, slider). [View Demo](../live-demos/sidebar/index.html)
### Advanced Demos
- **GSS Explorer (Sidebar)** - Full sidebar dashboard with cross-tab filtering, conditional visibility, dynamic titles, and consistent colors. [Code](../pkgdown/build-sidebar-gss-demo.R) | [View Demo](../live-demos/sidebar-gss/index.html) | [Documentation](advanced-features.html#cross-tab-filtering-dynamic-titles)
### Real-World Dashboards
- **DigIQ Monitor** - A comprehensive digital competence monitor for Dutch citizens (ages 10-100), featuring 11 dimension pages, multilingual support (Dutch/English), paginated visualizations, and interactive modals. [View Live →](https://www.digiqmonitor.nl/)
### Tabset Theme Demos
Each tabset theme has its own demo dashboard showing 1, 2, and 3-level nested tabs:
- **Pills** - Rounded pill-shaped tabs. [View](../live-demos/tabsets/pills/index.html)
- **Modern** - Clean contemporary styling. [View](../live-demos/tabsets/modern/index.html)
- **Minimal** - Subtle, understated tabs. [View](../live-demos/tabsets/minimal/index.html)
- **Classic** - Traditional tab appearance. [View](../live-demos/tabsets/classic/index.html)
- **Underline** - Underlined active tab. [View](../live-demos/tabsets/underline/index.html)
- **Segmented** - iOS-style segmented controls. [View](../live-demos/tabsets/segmented/index.html)
### Loading Overlays
Demo of animated loading overlays with different themes (light, dark, glass, accent). [View Demo](../live-demos/overlay/index.html)
## Tutorial Dashboard
The tutorial dashboard is perfect for learning the basics:
- Stacked bar charts with custom colors and ordering
- Heatmaps showing relationships between variables
- Tabset grouping for organizing visualizations
- Text-only pages for documentation
- **Collapsible code blocks** showing exact R code for each visualization
**[View Complete Code Documentation →](tutorial_dashboard_code.html)**
```{r, purl = FALSE}
library(dashboardr)
# Generate and open the tutorial dashboard
tutorial_dashboard()
```
## Showcase Dashboard
The showcase dashboard demonstrates advanced features:
- Multiple tabset groups (Demographics, Politics, Social Issues)
- Complex visualizations with custom styling
- Mixed content pages (text + visualizations)
- Card layouts with images
- **Bidirectional links** between code documentation and live visualizations
**[View Complete Code Documentation →](showcase_dashboard_code.html)**
```{r, purl = FALSE}
# Generate and open the showcase dashboard
showcase_dashboard()
```
## Setting a Tabset Theme
```{r, purl = FALSE}
# Set theme at dashboard level
create_dashboard(
title = "My Dashboard",
output_dir = "my_dashboard",
tabset_theme = "pills"
)
```
Available themes: `pills`, `modern`, `minimal`, `classic`, `underline`, `segmented`.
## Creating Nested Tabs
```{r, purl = FALSE}
# 1 Level - Different tabgroup names create separate tabs
create_viz() %>%
add_viz(type = "bar", x_var = "age", tabgroup = "age") %>%
add_viz(type = "bar", x_var = "education", tabgroup = "education") %>%
add_viz(type = "bar", x_var = "region", tabgroup = "region")
# 2 Levels - Use "/" to create parent > child hierarchy
create_viz() %>%
add_viz(type = "bar", x_var = "age", tabgroup = "satisfaction/by_age") %>%
add_viz(type = "bar", x_var = "education", tabgroup = "satisfaction/by_education")
# 3 Levels - Add more "/" for deeper nesting
create_viz() %>%
add_viz(type = "bar", x_var = "age", tabgroup = "survey/satisfaction/age") %>%
add_viz(type = "bar", x_var = "education", tabgroup = "survey/demographics/education")
```
## Page Sidebars
Sidebars provide a dedicated space for filters that stays visible as users scroll:
```{r, purl = FALSE}
create_content(data = my_data) %>%
add_sidebar(width = "280px", title = "Filters") %>%
add_text("Filter the data:") %>%
add_input(
input_id = "country",
label = "Countries:",
type = "checkbox",
filter_var = "country",
options = c("USA", "UK", "Germany"),
columns = 2 # 2-column grid layout
) %>%
end_sidebar() %>%
add_viz(type = "bar", x_var = "country")
```
Features:
- Left or right positioning (`position = "right"`)
- Multiple input types (checkbox, radio, dropdown, slider)
- Multi-column layouts for checkboxes (`columns = 2, 3, 4`)
- Mobile-responsive (stacks on small screens)
See the [Sidebar Demo](../live-demos/sidebar/index.html) for live examples.
## Loading Overlays
```{r, purl = FALSE}
# Add overlay to a page
add_page(
name = "Analysis",
data = my_data,
visualizations = my_viz,
overlay = TRUE,
overlay_theme = "glass",
overlay_text = "Loading charts...",
overlay_duration = 2000
)
```
Available overlay themes: `light`, `dark`, `glass`, `accent`.
## Requirements
All demos require:
1. **Quarto CLI** installed on your system
2. **gssr package** for GSS data (for tutorial/showcase):
```{r, purl = FALSE}
install.packages("gssr")
```
## Next Steps
After exploring the demos:
1. Run `tutorial_dashboard()` to see basic features
2. Run `showcase_dashboard()` to see advanced capabilities
3. Check out `vignette("getting-started")` for detailed guides
4. Browse the [Community Gallery](https://favstats.github.io/dashboardr/gallery/) for inspiration
5. Use the demos as templates for your own projects
6. [Submit your dashboard](https://github.com/favstats/dashboardr/issues/new?labels=gallery-submission&title=%5BGallery%5D+My+Dashboard) to the gallery!