CSS preloaders

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

How to set up a preloader?

Pass the argument preloader to the dashboardPage() function. It expects a list containing all parameters necessary to waiter::waiterShowOnLoad. The duration is automatically handled by listening to the shiny:idle event. Please have a look to the {waiter} documentation for more details.

That's all!

library(shiny)
library(bs4Dash)
library(waiter)
shinyApp(
  ui = dashboardPage(
    preloader = list(html = tagList(spin_1(), "Loading ..."), color = "#3c8dbc"),
    header = dashboardHeader(),
    sidebar = dashboardSidebar(),
    body = dashboardBody(
      actionButton("reload", "Reload")
    ),
    title = "Preloader"
  ),
  server = function(input, output, session) {
    # fake reload
    observeEvent(input$reload, {
      session$reload()
    })
  }
)
bs4Dash:::app_container("https://dgranjon.shinyapps.io/bs4Dash-preloader/", TRUE)


Try the bs4Dash package in your browser

Any scripts or data that you put into this service are public.

bs4Dash documentation built on July 9, 2023, 7:49 p.m.